{"_id":"@lazyingart/agent-web","_rev":"28-7daea4cd093ba260f3b876a850389853","name":"@lazyingart/agent-web","dist-tags":{"latest":"0.1.77"},"versions":{"0.1.40":{"name":"@lazyingart/agent-web","version":"0.1.40","license":"MIT","_id":"@lazyingart/agent-web@0.1.40","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"b92579ea8e7f931b5fb32606ecbab542c8db44c8","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.40.tgz","fileCount":42,"integrity":"sha512-OB7tmmxZe8tuutIUlzTZaWbUO4/JteZLKFRsSMKjDF5aiatLtlucy7xEH6EjoRYapHimqiGHsKjIzqkSkGmz5Q==","signatures":[{"sig":"MEYCIQCuvq86k0fnRQUwPZp2beHH21oHGCV+VOOPaket8yKEqQIhAMCBiwQcJQG5al2C+7EWN+RkSk84QcqtZqyd96jvZlHS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1175631},"type":"module","_from":"file:/tmp/lazying-agent-web-v0140.rgpeaLMA/lazyingart-agent-web-0.1.40.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"lachlanchen","email":"lach@lazying.art"},"_resolved":"/tmp/lazying-agent-web-v0140.rgpeaLMA/lazyingart-agent-web-0.1.40.tgz","_integrity":"sha512-OB7tmmxZe8tuutIUlzTZaWbUO4/JteZLKFRsSMKjDF5aiatLtlucy7xEH6EjoRYapHimqiGHsKjIzqkSkGmz5Q==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"10.9.4","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.40_1787749033056_0.08985998737356038","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"@lazyingart/agent-web","version":"0.1.41","license":"MIT","_id":"@lazyingart/agent-web@0.1.41","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"843ff32808373e2a4df70c35b6e654027753c024","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.41.tgz","fileCount":42,"integrity":"sha512-lmWm98LA21ItJ8pDlpWWd2SlywzCHZfF7zfpWDjEod2VHoaILf8jGiwHJdFv9Q/R1m5h3RChEXFdtZo3hQt2Yw==","signatures":[{"sig":"MEUCIQDTIAOUqrsFc2fBICpeSC/8zn6tlgk2+G7SwB1BPR1auQIgS0O1wIo18+YidFSdPEvJMhaSLvOeur39sm1LKc/IN+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1175631},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.41.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.41.tgz","_integrity":"sha512-lmWm98LA21ItJ8pDlpWWd2SlywzCHZfF7zfpWDjEod2VHoaILf8jGiwHJdFv9Q/R1m5h3RChEXFdtZo3hQt2Yw==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.41_1787755961460_0.20878981456145307","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"@lazyingart/agent-web","version":"0.1.43","license":"MIT","_id":"@lazyingart/agent-web@0.1.43","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"2f8d358b6b3230d451e3649b94a6c05ff1d56870","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.43.tgz","fileCount":42,"integrity":"sha512-KU5epD1GIi4idaZZ61Z68bGK1Zk3IVRcCSuSasRsjq5qq0acrHyn/ZnZ4qXLhURKwP3O0VBUGv3/UPDGzHzWYQ==","signatures":[{"sig":"MEUCIQCjQwbqiywkuYtjA3e/YMsHdSCCTYGY5Eiz3CBMjGg6tQIgZqptoCVtUkiEnYiDpW3/eb1Ko3WODmt69yq8aayWA4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1178198},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.43.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.43.tgz","_integrity":"sha512-KU5epD1GIi4idaZZ61Z68bGK1Zk3IVRcCSuSasRsjq5qq0acrHyn/ZnZ4qXLhURKwP3O0VBUGv3/UPDGzHzWYQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.43_1787760534653_0.03284309925119455","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"@lazyingart/agent-web","version":"0.1.44","license":"MIT","_id":"@lazyingart/agent-web@0.1.44","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"4fadb3c98957285b3d012f1787670647597d321b","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.44.tgz","fileCount":42,"integrity":"sha512-Ab1NhHDJnckr5BmJ72wCCePvtZj3TEavBwiDVo16lQqLjSEYmLBEYB9I09nvZtdkdH+wQx2rBCRuIB4OJB4mAg==","signatures":[{"sig":"MEUCIGgT/Er8U4EvkxjcwOieftgxYutQYoAZF+7E9efv9C3OAiEAp1/h7eMHoiuf5I1Rj6cUhCFEZPWSMcDMG6OA7bx0aRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1181349},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.44.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.44.tgz","_integrity":"sha512-Ab1NhHDJnckr5BmJ72wCCePvtZj3TEavBwiDVo16lQqLjSEYmLBEYB9I09nvZtdkdH+wQx2rBCRuIB4OJB4mAg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.44_1787777453122_0.4749708241966635","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"@lazyingart/agent-web","version":"0.1.45","license":"MIT","_id":"@lazyingart/agent-web@0.1.45","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"2713b18e888c755f785281bdf11746edc34f9a5e","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.45.tgz","fileCount":42,"integrity":"sha512-9yvlFlfmZocg16NldufQ0BFWH7Rwy/RJro/Y0zcsL2/pU7nanwybUCZDzA79Ewcn48lPlKZ3Nzf2pEP/FjkssQ==","signatures":[{"sig":"MEUCIEOUcz3uGY5GlITmDeYp5Q43zhwR+h+zl6zkaNEiwThcAiEAubGSwrzY9dPlHTeFdvRx2Z/WQoTxTkFwxLQfJttpav0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1181349},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.45.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.45.tgz","_integrity":"sha512-9yvlFlfmZocg16NldufQ0BFWH7Rwy/RJro/Y0zcsL2/pU7nanwybUCZDzA79Ewcn48lPlKZ3Nzf2pEP/FjkssQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.45_1787779819473_0.8845766179129024","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"@lazyingart/agent-web","version":"0.1.46","license":"MIT","_id":"@lazyingart/agent-web@0.1.46","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"3ff89b2c3566220d98d0faf76b637e11799e041e","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.46.tgz","fileCount":42,"integrity":"sha512-2DoJTB//0ws7jOZ9mRY8Vabv8izHaObsYr+SILE/Pf3wx1Yx5HzGOprq6Uc7nBPI3xF9xNtnpb29LVzV1+CdyA==","signatures":[{"sig":"MEQCIGjNuuJfjyq/BLK6e9hfFnU4KyU8fQMIUFx5CixvkPc9AiBfaz/qB5OAHd6krTfNk/pfxMfg3fAfg7iM6OGMx/SLrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1188944},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.46.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.46.tgz","_integrity":"sha512-2DoJTB//0ws7jOZ9mRY8Vabv8izHaObsYr+SILE/Pf3wx1Yx5HzGOprq6Uc7nBPI3xF9xNtnpb29LVzV1+CdyA==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.46_1787787452896_0.5819159761575006","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"@lazyingart/agent-web","version":"0.1.47","license":"MIT","_id":"@lazyingart/agent-web@0.1.47","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"aaca8474d174fcf17d780437591dffb5e3d5ff8d","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.47.tgz","fileCount":42,"integrity":"sha512-nBCTtBF9RSVnvbIdlzD6MeumTHY9Z1A+QRkCwOZGRYbEpQe6Six0STQp2ZikhBu0D5DP48PqaO/uHTWQG9tnyg==","signatures":[{"sig":"MEUCIQCyTlJvi2zCKPwQ0aQoUhBEg6TcKKmX/dzvvfcpvIsNhAIgdD9F5+x2Hx2P2nPMvn61sCKVHwnLan1MzMf3nRqhFbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1188919},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.47.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.47.tgz","_integrity":"sha512-nBCTtBF9RSVnvbIdlzD6MeumTHY9Z1A+QRkCwOZGRYbEpQe6Six0STQp2ZikhBu0D5DP48PqaO/uHTWQG9tnyg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.47_1787821226528_0.750367139349776","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"@lazyingart/agent-web","version":"0.1.48","license":"MIT","_id":"@lazyingart/agent-web@0.1.48","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"480c122dcf4d282873e36840ba91608d7911461b","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.48.tgz","fileCount":42,"integrity":"sha512-iq9sqjuZT9UCpRA27LjGgR7tLOS9RZ5fdeofsAzg64NnuXfcZcdd1mNYtjZruKyO92zR6AqFAWXcOGT3uPwNnQ==","signatures":[{"sig":"MEUCIDwGH9jDpUNfQWu21DaOLYanxlPFppLONdI9RnNuAUTAAiEAozFakSTTRF7AtMjKJkwYxdy8qcz3iH21i9v7J/lgANo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1191782},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.48.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.48.tgz","_integrity":"sha512-iq9sqjuZT9UCpRA27LjGgR7tLOS9RZ5fdeofsAzg64NnuXfcZcdd1mNYtjZruKyO92zR6AqFAWXcOGT3uPwNnQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.48_1787824119990_0.14898841117531525","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"@lazyingart/agent-web","version":"0.1.49","license":"MIT","_id":"@lazyingart/agent-web@0.1.49","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"8d40988c0047231a763027320b059d0e3928f37a","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.49.tgz","fileCount":42,"integrity":"sha512-enD6cfs6lkIL1dXFwbDljSRebWS5FqLs/FaP8OVeUdrnZMsgdF/ijiIIhzybOQiMokau+K2wWSQI1SaAMegKpg==","signatures":[{"sig":"MEQCIFoocMN8bYQU6PUsZqoVtsB/5VxCknup1KpycAYlGF6bAiBRlHq80lxbU94CkpKxNaofFdcZmFTaKwdumc3mGSNMdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1192044},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.49.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.49.tgz","_integrity":"sha512-enD6cfs6lkIL1dXFwbDljSRebWS5FqLs/FaP8OVeUdrnZMsgdF/ijiIIhzybOQiMokau+K2wWSQI1SaAMegKpg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.49_1787834947329_0.7932013627860814","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"@lazyingart/agent-web","version":"0.1.50","license":"MIT","_id":"@lazyingart/agent-web@0.1.50","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"e9b50aab5ecbceec843fc6b19c0d75410103b692","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.50.tgz","fileCount":42,"integrity":"sha512-5gAv+APTsok7+Rkb6m/4FIDuBU+GPQTWYp/48yGnYyEnBkcGQz/cly28eBST0/WeZ9wa3mhWUGKMnlfECvPkpg==","signatures":[{"sig":"MEYCIQC3JEGAsCJadKf2ycHNXYhljXTwbmEqpPqTuGfr5EnuawIhANCatYE00/AFbPTuXVWe7GmdYrcAR0xkMf2pPeh9/rcP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1209830},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.50.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.50.tgz","_integrity":"sha512-5gAv+APTsok7+Rkb6m/4FIDuBU+GPQTWYp/48yGnYyEnBkcGQz/cly28eBST0/WeZ9wa3mhWUGKMnlfECvPkpg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.50_1787917861242_0.5285165582823708","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"@lazyingart/agent-web","version":"0.1.51","license":"MIT","_id":"@lazyingart/agent-web@0.1.51","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"7f5f9dcfa31d082ea1fd0245ceda9235a47eddd7","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.51.tgz","fileCount":42,"integrity":"sha512-hV47TCumAufV7InEC9KpAIgaOMiBRu+FIUz523N3JIWsU2tA28oGLLSaS3WrZMuhXWYjy1lrWMAAj8aqJCWBTQ==","signatures":[{"sig":"MEYCIQC1OMHtLFIXD9jnp80c0BUkqS8DdpKa42kiI8WHavmM+AIhALRoMXvgrlWAZHCBOzdcYrJdA67xGPHyyb4pRBwjvXw4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1209742},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.51.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.51.tgz","_integrity":"sha512-hV47TCumAufV7InEC9KpAIgaOMiBRu+FIUz523N3JIWsU2tA28oGLLSaS3WrZMuhXWYjy1lrWMAAj8aqJCWBTQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.51_1787950427850_0.7832130458172777","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"@lazyingart/agent-web","version":"0.1.52","license":"MIT","_id":"@lazyingart/agent-web@0.1.52","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"54e9aa6ca25e0fe953e758eaf9498fc927db3205","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.52.tgz","fileCount":43,"integrity":"sha512-9yMAHrCnvmk9FuWVIWaA9xg8LkLFMkfNyy1Yuoyz6tydczue0JGFaZrgFLdEkSIYfuY5IYkKApC8fK+HrWJN0w==","signatures":[{"sig":"MEUCIDVNOeCkqxc4aW/xgoA1cB7jLLE650fzMWDJ/G1heiTHAiEAk896wfocOt/47wBtmgWcIMsRjpBimDnIDYFQM9SCPe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1253008},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.52.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.52.tgz","_integrity":"sha512-9yMAHrCnvmk9FuWVIWaA9xg8LkLFMkfNyy1Yuoyz6tydczue0JGFaZrgFLdEkSIYfuY5IYkKApC8fK+HrWJN0w==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.52_1787959905066_0.7627775572701418","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"@lazyingart/agent-web","version":"0.1.53","license":"MIT","_id":"@lazyingart/agent-web@0.1.53","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"eed9cd6a7fff37be3648c8cdff870a33346b4f45","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.53.tgz","fileCount":43,"integrity":"sha512-QAvqEnQN9PBP+tPt7ACBDAfqk+x0pjIO1r59E28QEmtkbiPNdOU39544hHMFoHFyjyr/Z0hjmye97gb7L1Vz4Q==","signatures":[{"sig":"MEYCIQDvN0ANxBqcfmc0B2GeP9xWiz8HHnWK1F9HrL2P6rqTvgIhAMjI7sxuAhh8DNmBqroMOdBHTiHTE+VEJsjFj3gN2U4H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1253296},"type":"module","_from":"file:/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.53.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/LazyingAgentWeb/LazyingAgentWeb/lazyingart-agent-web-0.1.53.tgz","_integrity":"sha512-QAvqEnQN9PBP+tPt7ACBDAfqk+x0pjIO1r59E28QEmtkbiPNdOU39544hHMFoHFyjyr/Z0hjmye97gb7L1Vz4Q==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.53_1787967683181_0.9042452706568211","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"@lazyingart/agent-web","version":"0.1.54","license":"MIT","_id":"@lazyingart/agent-web@0.1.54","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"80bc8efd50c5b6776c03baf1eb621999bc9d28ff","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.54.tgz","fileCount":44,"integrity":"sha512-CSJul3kit2v+mDykd5GVGxRiku2dujrwdYGB6UWrQw9KZwSOfU6kTK885NEyATgMAcWYvyWoOYvBu+faM1IqPQ==","signatures":[{"sig":"MEUCIQCqZ4mGuF2NMi7i8y2uKPJvkEZNXsKHiNIX/kzZpvXusgIgQB41xbc+u70Vedy72uNIiQ5tGw/aLzuniAOaTVB8JW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1283839},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.54.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.54.tgz","_integrity":"sha512-CSJul3kit2v+mDykd5GVGxRiku2dujrwdYGB6UWrQw9KZwSOfU6kTK885NEyATgMAcWYvyWoOYvBu+faM1IqPQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.54_1787979128094_0.46677800567258965","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"@lazyingart/agent-web","version":"0.1.55","license":"MIT","_id":"@lazyingart/agent-web@0.1.55","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"87b393b40cb1b98aad19e4c40b725a06aa8137c6","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.55.tgz","fileCount":44,"integrity":"sha512-ULzGWKorMzrt/Ua0arw+UbzC+n8GHUyphWIPUqTAU4hswaV/DMBbraF4+/WhkbeA4A4asYAR2kqT2CFF8l2jQw==","signatures":[{"sig":"MEYCIQDNJ445s/BYC32yuTEcTHUDP1c/i57f7ryaQ8Ee3ctLyAIhALPlUTftOgiMgiILTFA7j8aLyY66Cs6tdSbBGvoZMtNc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1285905},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.55.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.55.tgz","_integrity":"sha512-ULzGWKorMzrt/Ua0arw+UbzC+n8GHUyphWIPUqTAU4hswaV/DMBbraF4+/WhkbeA4A4asYAR2kqT2CFF8l2jQw==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.55_1788047617512_0.9320630611006218","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"@lazyingart/agent-web","version":"0.1.56","license":"MIT","_id":"@lazyingart/agent-web@0.1.56","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"8cbbe46894fb0fb3432078f6d7f539bc0a0917a1","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.56.tgz","fileCount":44,"integrity":"sha512-eGXUosNrTxK6LlvyLxtvmnj2BGhLB06kHI+7kfWAZKZ4wKT9QTssU4KLaWp7tQDNPrA09Hu4EBRXmDmHL/J3VQ==","signatures":[{"sig":"MEUCIBKt07Rn5zahTFqdMO9g5nu9qarruyLUI8BCoWpWMS+mAiEAzGI5Hp2YuyMezQ7Z6nsBHTQ86FpdV7+mEQFoFK+uyWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1309009},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.56.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.56.tgz","_integrity":"sha512-eGXUosNrTxK6LlvyLxtvmnj2BGhLB06kHI+7kfWAZKZ4wKT9QTssU4KLaWp7tQDNPrA09Hu4EBRXmDmHL/J3VQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.56_1788052506661_0.5194188738677479","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"name":"@lazyingart/agent-web","version":"0.1.57","license":"MIT","_id":"@lazyingart/agent-web@0.1.57","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"a1a12b5c622ca58a74fd4e9e9e9c38081def4afd","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.57.tgz","fileCount":44,"integrity":"sha512-2ODbBMsZWmS1PcJJcCUKxkGs0OJQ2jemPqZl857p0PCFR76u2zVeU4CpkQ2VfREEwPXMGldy/RPBo4rKWrNicA==","signatures":[{"sig":"MEUCIFPoXxe6TESewi+NNA3PdXJ1jTVkYCZQGZ/F3+xkA6TaAiEAiAZhollA2KD3hoPfLVcUoTWcKWP3Li4UDLJiLB0CN1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1309494},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.57.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.57.tgz","_integrity":"sha512-2ODbBMsZWmS1PcJJcCUKxkGs0OJQ2jemPqZl857p0PCFR76u2zVeU4CpkQ2VfREEwPXMGldy/RPBo4rKWrNicA==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.57_1788055835426_0.3636467567098216","host":"s3://npm-registry-packages-npm-production"}},"0.1.58":{"name":"@lazyingart/agent-web","version":"0.1.58","license":"MIT","_id":"@lazyingart/agent-web@0.1.58","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"639422d895ab7aead69763fa3ecc0b9e0c7e6649","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.58.tgz","fileCount":44,"integrity":"sha512-kgu69bDh0L3OUjm1FxeY7Fhix6owshEyEjg7DEll4lH4fM/JLCjr7P0LOl4nILmzQ61D70X5zHRq7tJcueNBYQ==","signatures":[{"sig":"MEYCIQDutSBQ9Rnol6rMYjQJJa6rPxwRADa4IvysI1ziGFvQ+wIhAKMZLGt9lbZGFPJgT0xo1abjpQmjCmTr/Fsgm9ms6Uc3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1318965},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.58.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.58.tgz","_integrity":"sha512-kgu69bDh0L3OUjm1FxeY7Fhix6owshEyEjg7DEll4lH4fM/JLCjr7P0LOl4nILmzQ61D70X5zHRq7tJcueNBYQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.58_1788062830367_0.5187803640229522","host":"s3://npm-registry-packages-npm-production"}},"0.1.59":{"name":"@lazyingart/agent-web","version":"0.1.59","license":"MIT","_id":"@lazyingart/agent-web@0.1.59","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"d6ddce2cd0e56adb6a0fd009423e83a512af36d8","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.59.tgz","fileCount":44,"integrity":"sha512-uHSWVDdB+QXH2b478o4b9AHWhuiRulcQJqGbKMnvfYUrqLNLdQi51c3BBoeL4Q7jTY2uXVQxxSeBwJ+m2Gf95g==","signatures":[{"sig":"MEYCIQCUPSCNvZIf+ouf/7JxJtUOxFVn2a6wxjmD4m75WhZySQIhAOdaoFgKCyo61bpZyTWcjbgWzyeddIn4JLzEDGPSZUFH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1323470},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.59.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.59.tgz","_integrity":"sha512-uHSWVDdB+QXH2b478o4b9AHWhuiRulcQJqGbKMnvfYUrqLNLdQi51c3BBoeL4Q7jTY2uXVQxxSeBwJ+m2Gf95g==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.59_1788075836656_0.6117505101370635","host":"s3://npm-registry-packages-npm-production"}},"0.1.67":{"name":"@lazyingart/agent-web","version":"0.1.67","license":"MIT","_id":"@lazyingart/agent-web@0.1.67","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"459b143d2b24a6620341e6f8b3793d032f6cb0f9","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.67.tgz","fileCount":45,"integrity":"sha512-XaUNuHk8wvhrdtVh9XZLUgins7k7nJpFDv83mg574kwS1qAUwm4ha7aMC9uhBA6G+R/rFI27qZ+yT9tMr5u1Eg==","signatures":[{"sig":"MEYCIQDfrylU5Uey4JXGXzrQOLY+erlyTXeuTexXsI16gNsvIAIhALhvFx8Pai1VE0NUyihLpkIRwTPFqarPKtOBSg/zmrdZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1330810},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.67.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.67.tgz","_integrity":"sha512-XaUNuHk8wvhrdtVh9XZLUgins7k7nJpFDv83mg574kwS1qAUwm4ha7aMC9uhBA6G+R/rFI27qZ+yT9tMr5u1Eg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.67_1788234134188_0.1557550619815644","host":"s3://npm-registry-packages-npm-production"}},"0.1.68":{"name":"@lazyingart/agent-web","version":"0.1.68","license":"MIT","_id":"@lazyingart/agent-web@0.1.68","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"420035e727a4fbc231f8173939a924baf06b5576","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.68.tgz","fileCount":48,"integrity":"sha512-BRfiBbczhMYFlHsDWAiKNE/ug/Ai4B/rmHbZ5T2LEyV/sYljKNGpmlWkyl39Qoq0sL3vnsOAf3XOOrndrHl0+w==","signatures":[{"sig":"MEQCIDHcJQW3WVPVS/IDFEVYOGGNV0AbwxuSRL776H6BCkY5AiBLiomGnJKOWZSZwYCRP2MIh3RBn6tFLT1R9WQxwjuTxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.68","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1381450},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.68.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.68.tgz","_integrity":"sha512-BRfiBbczhMYFlHsDWAiKNE/ug/Ai4B/rmHbZ5T2LEyV/sYljKNGpmlWkyl39Qoq0sL3vnsOAf3XOOrndrHl0+w==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.68_1788247431408_0.9250630494726073","host":"s3://npm-registry-packages-npm-production"}},"0.1.70":{"name":"@lazyingart/agent-web","version":"0.1.70","license":"MIT","_id":"@lazyingart/agent-web@0.1.70","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"f8c007e2e56311125820b90d8306f4f65efb827f","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.70.tgz","fileCount":48,"integrity":"sha512-gaMJOXWiZUE5vre0hUVzZNAzA/W55ijImUh/kDwK5v81ahK3yXedv8tU3eqLH3nzBW4qcf23XiW/lxOAZxFcUg==","signatures":[{"sig":"MEQCIHUqceuO6RZ3uDyqgjRV3Fs/18oqPUvValw0dP0cBknPAiAn09/4uxPjGJljBGHjZmC441AMYlikUH3mLpTbNpX33A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.70","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1382272},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.70.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.70.tgz","_integrity":"sha512-gaMJOXWiZUE5vre0hUVzZNAzA/W55ijImUh/kDwK5v81ahK3yXedv8tU3eqLH3nzBW4qcf23XiW/lxOAZxFcUg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.70_1788252496998_0.715004518031205","host":"s3://npm-registry-packages-npm-production"}},"0.1.71":{"name":"@lazyingart/agent-web","version":"0.1.71","license":"MIT","_id":"@lazyingart/agent-web@0.1.71","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"745a2cfc5abb2459f156eb7c739fc7eac44760da","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.71.tgz","fileCount":48,"integrity":"sha512-9KKLnxzCWap66VaLrJXsl3UkK5LbDxtvisRl0G35J2oVf2tggI4jhm5CWJzM0+tQHKLki3BAQx7SoXBS7cE8RA==","signatures":[{"sig":"MEYCIQCsJK4FLPuz87iTKVxMDsrG2jzkED9f5gAT/W0tzRptNwIhAOHLLsSUMA4XOOwiAQmtZTu6C+ztSpJEiCeWJwTIVE7r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.71","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1384313},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.71.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.71.tgz","_integrity":"sha512-9KKLnxzCWap66VaLrJXsl3UkK5LbDxtvisRl0G35J2oVf2tggI4jhm5CWJzM0+tQHKLki3BAQx7SoXBS7cE8RA==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.71_1788255074509_0.192316936609344","host":"s3://npm-registry-packages-npm-production"}},"0.1.72":{"name":"@lazyingart/agent-web","version":"0.1.72","license":"MIT","_id":"@lazyingart/agent-web@0.1.72","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"7082aac2469c723b72fdf39504101928e3ae49ba","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.72.tgz","fileCount":48,"integrity":"sha512-ie26mDILTxUwjfJMoofNjYoy+fSF0nRxu3K6OXaOFYEsNR0LlDWyFIhJJ3PaSGqZmviDcCuADGj65WYZDau8UQ==","signatures":[{"sig":"MEQCIDR/a9HA10LfgwfzthvDsXliV3R58mnvhF6Om5S7pd2KAiBwjajew3/foGyV1mKzSfxKUUtorKn/Y2jXR5L4AKoUSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1386236},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.72.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.72.tgz","_integrity":"sha512-ie26mDILTxUwjfJMoofNjYoy+fSF0nRxu3K6OXaOFYEsNR0LlDWyFIhJJ3PaSGqZmviDcCuADGj65WYZDau8UQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.72_1788257904377_0.57103009916071","host":"s3://npm-registry-packages-npm-production"}},"0.1.73":{"name":"@lazyingart/agent-web","version":"0.1.73","license":"MIT","_id":"@lazyingart/agent-web@0.1.73","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"6d2fe9b711c9bb26d11a15b1d4c6141991697f17","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.73.tgz","fileCount":48,"integrity":"sha512-P/y3MnGJl0gUyY2R6nTxCIO+JAQugMELrs+v00nnBabggpoK8LkIfErj4CmvFmNvWqesC3Zips09/Jqc14slzg==","signatures":[{"sig":"MEQCIGLFAIdYg8O83zX/aS1nfPuPmPVfQhJvSsWEdOAMyGV+AiAlMAyKVt5rgIogF1lx7yPA2b+lFrV5wvZ2vhalB5JZqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.73","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1388046},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.73.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.73.tgz","_integrity":"sha512-P/y3MnGJl0gUyY2R6nTxCIO+JAQugMELrs+v00nnBabggpoK8LkIfErj4CmvFmNvWqesC3Zips09/Jqc14slzg==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.73_1788265135307_0.9498327797632677","host":"s3://npm-registry-packages-npm-production"}},"0.1.75":{"name":"@lazyingart/agent-web","version":"0.1.75","license":"MIT","_id":"@lazyingart/agent-web@0.1.75","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"373ab9c2768874405031c84f3de583a2282e81d8","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.75.tgz","fileCount":48,"integrity":"sha512-vkyswhZcarUMhY4+E3nw3DTrisDNr6Qf/JbNVBBHmvmxw0ain/b8ynAD3Bm1lyPp6oMHYtogBI35XRzPzKlHlA==","signatures":[{"sig":"MEUCIHrnHk9pk5rSxcLD3i4LG441YfYOjuu97k6/LJ2v3F5LAiEAldfoyRXxCNAtyQbSMLfpShfipofyNoh9Ck5vUKa13Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.75","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1391102},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.75.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.75.tgz","_integrity":"sha512-vkyswhZcarUMhY4+E3nw3DTrisDNr6Qf/JbNVBBHmvmxw0ain/b8ynAD3Bm1lyPp6oMHYtogBI35XRzPzKlHlA==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.75_1788280020944_0.26255154795776736","host":"s3://npm-registry-packages-npm-production"}},"0.1.76":{"name":"@lazyingart/agent-web","version":"0.1.76","license":"MIT","_id":"@lazyingart/agent-web@0.1.76","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"bin":{"lazying-agent-web":"src/cli.js"},"dist":{"shasum":"b3d39440e4066169d614731b9cb9265a9571ddb9","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.76.tgz","fileCount":48,"integrity":"sha512-qwxnW0P3QzUEnosAI791oMbu1gIpuomx6au7KrnzZEmSqwiGbL9GHOLd1Me3LyAUDgx3WMnAPWeM0mNxn363OQ==","signatures":[{"sig":"MEUCIG1WnfFh8XgF0+Ho8UzyDc+5H36ZY9ZUyqyfDpcoVjyLAiEA3fTb1rVjgPfgruBqQF5z7P4xjiyDWkb7Bu0COJnX1kM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1391678},"type":"module","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.76.tgz","engines":{"node":">=22.21.0"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"test":"node --test --test-concurrency=1 test/*.test.js","check":"node scripts/check-syntax.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.76.tgz","_integrity":"sha512-qwxnW0P3QzUEnosAI791oMbu1gIpuomx6au7KrnzZEmSqwiGbL9GHOLd1Me3LyAUDgx3WMnAPWeM0mNxn363OQ==","repository":{"url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git","type":"git"},"_npmVersion":"12.0.2","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"katex":"0.16.47","es-module-lexer":"2.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-web_0.1.76_1788607995585_0.3074608944916981","host":"s3://npm-registry-packages-npm-production"}},"0.1.77":{"name":"@lazyingart/agent-web","version":"0.1.77","description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","repository":{"type":"git","url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git"},"homepage":"https://llm.lazying.art","bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"type":"module","engines":{"node":">=22.21.0"},"bin":{"lazying-agent-web":"src/cli.js"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"scripts":{"check":"node scripts/check-syntax.js","test":"node --test --test-concurrency=1 test/*.test.js"},"sideEffects":false,"license":"MIT","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"dependencies":{"es-module-lexer":"2.3.1","katex":"0.16.47"},"_id":"@lazyingart/agent-web@0.1.77","_integrity":"sha512-qSiEfDamfG8gBkj1yq2JT4EO8SsOJd/PkA6bcVumeXJoR6Qolw4GXrFNbIK5UCBdn8bwqtHzZcWtdHzxXbU5kg==","_resolved":"/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.77.tgz","_from":"file:/home/runner/work/_temp/release-asset/lazyingart-agent-web-0.1.77.tgz","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-qSiEfDamfG8gBkj1yq2JT4EO8SsOJd/PkA6bcVumeXJoR6Qolw4GXrFNbIK5UCBdn8bwqtHzZcWtdHzxXbU5kg==","shasum":"e141da4967bd5410ecfac984612678e02adc7cbd","tarball":"https://registry.npmjs.org/@lazyingart/agent-web/-/agent-web-0.1.77.tgz","fileCount":48,"unpackedSize":1391915,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lazyingart%2fagent-web@0.1.77","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQClAfm9nmcLnBp91xOzGFbw4NktPcafplaVym7bMbK/rAIhALC+FD4xIcKpfx53FLPIH2Q6sgvrXjvdWDchTjwroTwR"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66db4163-9b1a-4d04-a528-caf8f5b338ef"}},"directories":{},"maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-web_0.1.77_1788997781935_0.7417546689973131"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-26T12:57:12.684Z","modified":"2026-09-09T23:49:42.445Z","0.1.40":"2026-08-26T12:57:13.204Z","0.1.41":"2026-08-26T14:52:41.612Z","0.1.43":"2026-08-26T16:08:54.841Z","0.1.44":"2026-08-26T20:50:53.336Z","0.1.45":"2026-08-26T21:30:19.676Z","0.1.46":"2026-08-26T23:37:33.037Z","0.1.47":"2026-08-27T09:00:26.694Z","0.1.48":"2026-08-27T09:48:40.153Z","0.1.49":"2026-08-27T12:49:07.484Z","0.1.50":"2026-08-28T11:51:01.478Z","0.1.51":"2026-08-28T20:53:48.054Z","0.1.52":"2026-08-28T23:31:45.222Z","0.1.53":"2026-08-29T01:41:23.342Z","0.1.54":"2026-08-29T04:52:08.232Z","0.1.55":"2026-08-29T23:53:37.674Z","0.1.56":"2026-08-30T01:15:06.832Z","0.1.57":"2026-08-30T02:10:35.604Z","0.1.58":"2026-08-30T04:07:10.514Z","0.1.59":"2026-08-30T07:43:56.839Z","0.1.67":"2026-09-01T03:42:14.343Z","0.1.68":"2026-09-01T07:23:51.583Z","0.1.70":"2026-09-01T08:48:17.143Z","0.1.71":"2026-09-01T09:31:14.671Z","0.1.72":"2026-09-01T10:18:24.528Z","0.1.73":"2026-09-01T12:18:55.466Z","0.1.75":"2026-09-01T16:27:01.128Z","0.1.76":"2026-09-05T11:33:15.738Z","0.1.77":"2026-09-09T23:49:42.093Z"},"bugs":{"url":"https://github.com/lachlanchen/LazyingAgentWeb/issues"},"license":"MIT","homepage":"https://llm.lazying.art","repository":{"type":"git","url":"git+https://github.com/lachlanchen/LazyingAgentWeb.git"},"description":"Cloud presentation and delivery-index foundation for the LazyingArt agent web application","maintainers":[{"name":"lachlanchen","email":"lach@lazying.art"}],"readme":"# LazyingAgentWeb\n\n`@lazyingart/agent-web` is the standalone cloud PWA and HTTP/BFF for\n`llm.lazying.art`. It provides a usable browser chat surface while keeping\nAgInTi, LocalLLM, and LazyEdge independently replaceable.\n\n> **Deployment status (v0.1.57 production):** `llm.lazying.art`\n> currently serves\n> `release-4bd06beda0b15b6655f772ff39ee38dd75e42380c9d19ae055cf1ddb249199a6`.\n> Production is promoted\n> independently from repository commits, with immutable acceptance receipts and\n> a verified rollback release. The current deployment enables AgInTi Agent only\n> through the accepted native AgInTi capability proof; if that proof is absent\n> or disabled, the BFF fails closed and Agent is unavailable. Direct Chat stays\n> separate and does not enable or authorize Agent. Current accepted Agent\n> requests can execute one exact fenced `python` block without model planning,\n> retain public failure reasons across reload, and follow exact idempotent Resume\n> successor runs with an optional corrected prompt. The accepted production release makes\n> completed Agent conversations truly multi-turn: later prompts resume the exact\n> terminal predecessor, retry an uncertain mutation once with the same idempotency\n> key, and keep any rejected prompt editable without an optimistic duplicate.\n> The accepted v0.1.56 release keeps the verified Agent thread immediately usable after\n> a definitive pre-run rejection, while ambiguous transport failures remain\n> fenced for reconciliation. It also removes redundant full-image validation\n> passes immediately before an iPhone upload without weakening validation of\n> caller-supplied or cloned requests.\n> v0.1.56 adds capability-gated Agent input for one to four ordered\n> PNG/JPEG images, a slow-upload deadline that does not slow ordinary messages,\n> exact same-idempotency image retry, and current-thread image-context proof so\n> image questions can continue after reload without leaking context to another\n> conversation. Production Agent images remain disabled until the matching\n> retained-image backend and its durable-state floor are separately accepted.\n> The accepted v0.1.57 release also keeps the attachment capability as a browser\n> creation gate instead of a receipt-transport gate. An exact idempotent image\n> request can therefore reach the attachment-aware backend after vision is\n> disabled and resolve a response-loss ambiguity, while the backend rejects a\n> genuinely new key before mutation.\n> The v0.1.58 candidate refetches both Agent and Direct Chat capabilities after\n> PWA foreground and online transitions. It applies results only to the exact\n> owning session and client pair, fails closed on a downgrade or outage, and\n> preserves the user's draft plus up to four staged images until capability\n> returns or the user explicitly removes them.\n> The v0.1.59 candidate makes admission-closed deployment starts byte-exact:\n> both durable SQLite stores open read-only, startup migrations, retention, and\n> provisioning are skipped, and the process cannot reopen admission without an\n> offline marker transition followed by a fresh writable restart.\n> Direct Chat remembers the user's non-private workspace-mode preference across\n> a full reload, while\n> confirmed sign-out fences stale history reads. The accepted v0.1.23 release also\n> keeps failed-predecessor and corrected-success messages in chronological\n> order when their verified output and plot artifacts are restored after reload.\n> The baseline accepted artifacts remain declarative plot, table, and Markdown\n> schemas. Responsive plot artifacts in v0.1.25 use the available message width,\n> retain readable axes on DPR3 phones, wrap legends, and cannot be reflowed into\n> the sidebar column by privacy masking. The accepted v0.1.27 release also makes an\n> already-restored Agent-thread selection idempotent: clicking it cannot launch\n> a redundant ledger replay that detaches and rebuilds messages or figures, while\n> an invalid replay or unconfirmed mutation remains explicitly reopenable for\n> authoritative recovery. A brand-new conversation whose creation response is\n> lost retains its exact idempotency ticket for the next Send instead of\n> deadlocking or minting a duplicate. Numeric plot axes choose the shortest\n> distinguishing visible tick labels while retaining exact\n> values in accessible plot metadata. The v0.1.29 candidate also preserves an\n> unsent Agent follow-up across a release-fenced full reload: the encrypted\n> handoff retains its mode and owned thread, replays that thread after reload,\n> derives the authoritative terminal predecessor, and only then enables the\n> restored draft. The next Send therefore resumes the same Agent run instead of\n> silently changing to Direct Chat. v0.1.24 preserves the v0.1.23\n> backward-compatible, default-disabled grounded-search extension: only an exact\n> AgInTi capability may reveal the explicit Search\n> controls, bind `{mode: web|papers|both, limit: 1..20}` to one Agent input, and\n> admit bounded HTTPS-only `sources` artifacts. It also adds an exact-origin,\n> session-and-CSRF-bound fallback for iOS/PWA requests that omit all or part of\n> otherwise-valid Fetch Metadata,\n> retained mobile CSRF state, release-pinned requests with encrypted draft/image\n> refresh handoff, resume-time session validation, and secret-free rejection telemetry.\n> The browser has no direct LocalLLM search route.\n> Voice messages and general artifact uploads remain unavailable. The next\n> capability-gated artifact extension adds local-only PDF/TeX downloads: AgInTi\n> retains the bytes, while the cloud BFF only streams an authenticated bounded\n> response and never stores or caches it.\n\nThe ownership model, Chat/Agent data planes, recovery semantics, artifact\nboundary, and replaceable-node contract are specified in\n[docs/architecture.md](docs/architecture.md).\n\n## Implemented surface\n\n- A bright-by-default installable PWA with persistent theme and workspace-mode preferences,\n  browser-password-manager integration, durable thread restoration, resumable\n  streaming, explicit cancellation, optional one-to-four-image Direct Chat input,\n  Markdown, KaTeX math, and safe declarative plot/table/Markdown rendering,\n  deterministic client-only SVG/CSV downloads for inline plots and tables,\n  plus capability-gated text-only source cards that never fetch automatically\n  and safe Open/Download controls for AgInTi-owned PDF/TeX files. Agent threads\n  have a separately confirmed AgInTi-owned cleanup control; it never calls the\n  Direct Chat deletion route.\n- A root-only Node HTTP/BFF with exact routes, host/origin/fetch-metadata/CSRF\n  enforcement, opaque remembered sessions, bounded request/stream/job\n  admission, owner-safe response projections, graceful job draining, and an\n  owner-only crash-persistent rollout admission latch for new Chat/Agent work.\n- `CloudIndexStore` for cloud accounts, digest-only browser sessions,\n  presentation-only AgInTi thread indexes, delivery cursors, and closed\n  idempotency receipts.\n- `DirectChatStore` for cloud-owned Direct Chat threads and hash-linked message\n  ledgers, atomic user-message/generation start, durable fenced dispatch leases,\n  exact-once assistant finalization, replayable deltas, cancellation, bounded\n  retention, compaction snapshots, private immutable vision attachments, and\n  receipt-authorized Direct Chat thread deletion.\n- `DirectChatContextCoordinator` for bounded LocalLLM context assembly and\n  provenance-bound chat compaction. The standalone service uses a deterministic\n  local summarizer that performs no model or network call, so compaction cannot\n  bypass the single-inference admission fence. Summaries are explicitly\n  labeled untrusted conversation data and never gain system, developer,\n  policy, tool, or Agent authority.\n- `createLocalLlmConnector()` for a fixed set of LocalLLM model aliases over an\n  exact authenticated `127.0.0.1` OpenAI-compatible `/v1` endpoint. It validates\n  models and SSE frames, bounds input/output, rejects redirects and partial\n  redispatch, sends canonical images only through the fixed `localllm-vision`\n  alias, and has no hosted-provider fallback.\n- A fail-closed AgInTi BFF transport and cloud-owned stateless adapter. The\n  browser can call only the frozen public protocol; the server derives\n  identity/session context, validates exact requests and responses, and sends\n  only `x-aginti-principal-id`, `x-aginti-browser-session-id`, and standard\n  `Idempotency-Key` authority to AgInTi. LazyEdge remains an opaque transport;\n  Agent state and decisions never move into this package. Search-bearing run\n  inputs receive a fresh server-side capability preflight, so a disabled or\n  legacy AgInTi never receives the extension field. The exact `file` capability\n  negotiates creation only; a verified file event and receipt remain durable\n  read authority across a read-compatible rollback. File bytes use a separate\n  authenticated release-bound GET/HEAD BFF route that converts one validated\n  browser range into structured AgInTi input, streams with backpressure, and\n  never forwards browser credentials or headers to the local service.\n\n## Component boundaries\n\n| Component | Owns | Must not own |\n| --- | --- | --- |\n| LazyingAgentWeb | Cloud accounts and browser sessions; Direct Chat history, deltas, and chat-only context; AgInTi presentation pointers and delivery cursors; PWA and safe rendering | Agent plans, Agent messages/context/compaction, tools, execution, artifact authority, inference implementation, tunnels |\n| AgInTi | Authoritative Agent threads, runs, plans, context, compaction, tools, event ledger, cancellation, and artifacts | Cloud login/session policy, LocalLLM inference implementation, LazyEdge transport |\n| LocalLLM | Text, coding, embedding, and vision inference | Chat persistence, Agent orchestration, cloud accounts, edge transport |\n| LazyEdge | Authenticated, replaceable transport between the cloud BFF and exact enrolled local services | Chat or Agent semantics, model behavior, cloud presentation state |\n\nDirect Chat is deliberately cloud-owned because LocalLLM inference is\nstateless. Agent mode is only another frontend for AgInTi: the cloud database\nmust not contain AgInTi messages, summaries, plans, tool calls/results,\ncommands, workspace paths, runtime policy, artifact bodies, or sandbox state.\nRemoving a cloud Agent index cannot delete its authoritative AgInTi thread.\nOnly the explicit confirmed Agent cleanup control calls AgInTi's thread-delete\nRPC, and interrupted retries retain one exact idempotency key.\n\n## PWA releases and latest-version reload\n\n`createStandaloneAssetMap()` builds and brands a complete release map. Its\nimmutable release ID is derived from the full shell content and pinned build\ninputs, and every JavaScript module, CSS file, KaTeX module, and icon is placed\nunder `/assets/r/<release>/`. The server accepts only that verified branded map;\nit cannot be paired with a caller-invented release ID.\n\nThe update authority is the stable `/sw.js` route, served with `no-store`,\n`no-cache`, and `must-revalidate`. The browser registers it with\n`updateViaCache: \"none\"`. Controlled pages check at startup and on bounded\nforeground/online transitions, while a fresh uncontrolled install skips a\nredundant immediate update race. A complete successor shell is verified by\nexact URL, MIME type, security headers, byte length, and SHA-256 before it can\nwait for activation.\nThe page proves a waiting worker's release over a one-shot message channel and\nsuppresses the banner only when it exactly matches the loaded shell. The UI\noffers **Update** and **Later** for a verified successor, conservatively falling\nback to the same offer for an unresponsive legacy worker; Update reloads once\nonly after the new worker controls the tab. Activation retains the current and\nimmediately previous verified shell. An offline or failed update leaves the\ncurrent app usable.\n\nIf Update is confirmed while a definitively unsent Direct Chat composer is\neligible, or while an exact Agent composer is idle or follows an authoritative\nterminal run, the page stores one bounded AES-GCM ciphertext in a dedicated\nIndexedDB store. The v0.1.29 inner payload schema v3 preserves the exact mode,\nowned Agent thread when present, explicit Search settings or No Search, draft,\nand bounded images. Its random key exists only in the replacement navigation\nfragment, which browsers never send in HTTP requests. The fragment deliberately\nremains while authenticated take and decryption are pending; only a bounded\nrecovery retry or verified release hop reattaches it, and successful recovery\nthen scrubs it. The exact account, scope, source/target releases, expiry, digest,\nand canonical image contract are revalidated; restoration never dispatches the\ndraft. Expired, malformed, and excess orphan records are pruned. Passwords,\nactive sends or generations, nonterminal Agent work, and ambiguous mutations\nremain reload blockers.\n\nIf a release fence is discovered while same-account sign-in is only restoring\nan already server-owned Agent or Direct Chat conversation, v3 may carry an\nempty exact thread selection as read-recovery metadata. It never carries or\nreplays a mutation ticket. A durable ciphertext can also cross a signed-out\nrelease fence through a key-authenticated opaque hop; account verification\nstill happens only in the successor before any plaintext is shown.\n\nA v0.1.27 handoff has an inner schema-v2 payload that cannot prove its original\nconversation mode or Search choice. v0.1.29 therefore keeps that recovered\ncomposer read-only until the user explicitly chooses its destination and then\nconfirms **Search** or **No Search**; it never guesses and never auto-sends.\n\nThe handoff accepts at most four canonical images and 16 MiB in aggregate. Any\nlarger, active, ambiguous, malformed, expired, or ownership-mismatched draft is\nineligible; the current page stays open rather than discarding it.\n\nOnly immutable public shell assets enter Cache Storage. Login/session, Direct\nChat, Agent, SSE, artifact, and upload traffic always bypasses it. Production\nmust stage the entire immutable namespace before atomically switching the root\nHTML and stable worker response.\n\nAuthenticated history and original attachment bytes remain authoritative in\nthe cloud SQLite stores. The PWA may keep only a disposable, bounded per-tab\nBlob LRU for viewport-near attachment previews; it is never written to browser\nstorage and is purged across authentication, account, and release boundaries.\nHistorical rendered previews have a separate four-image / 64 MiB estimated\ndecoded-pixel limit. Eviction revokes the object URL and leaves a tap-to-reload\nplaceholder, so scrolling through a long image thread cannot retain every\ndecoded surface. Up to four staged or just-sent composer images are transient\nrather than part of this history cache and are revoked at their existing send, view, and\nauthentication boundaries.\nThe server similarly caches only successful integrity-audit state, bounded by\nthread and invalidated by every local write or SQLite `data_version` change.\nIt does not duplicate or relax validation of private message data.\n\n## Public package entry point\n\nThe package root exports the implemented server and storage primitives plus the\nbrowser/PWA protocol:\n\n```js\nimport {\n  CloudIndexStore,\n  DirectChatContextCoordinator,\n  DirectChatStore,\n  createAgintiAgentAdapter,\n  createCloudServer,\n  createLocalLlmConnector,\n  createStandaloneAssetMap,\n  failClosedCapabilities\n} from '@lazyingart/agent-web';\n```\n\nThe three runtime stores/coordinators are intentionally injected into\n`createCloudServer()` rather than hidden behind globals. The LocalLLM connector\nalso receives its transport credential through a server-side provider; neither\nthat credential nor an AgInTi/LazyEdge credential is sent to the browser or\nstored in this repository.\n\n## Standalone service configuration\n\n`lazying-agent-web serve` reads one owner-only JSON configuration and separate\nowner-only `LoadCredential` files. A secret-free shape is:\n\n```json\n{\n  \"schema\": \"lazying-agent-service/v1\",\n  \"listen\": { \"host\": \"127.0.0.1\", \"port\": 18543 },\n  \"publicOrigin\": \"https://llm.lazying.art\",\n  \"account\": {\n    \"username\": \"lachlanchen\",\n    \"principalId\": \"principal_account_one\",\n    \"displayName\": \"Lachlan\"\n  },\n  \"state\": {\n    \"cloudIndexDatabase\": \"/var/lib/lazying-agent-web/cloud/index.sqlite\",\n    \"directChatDatabase\": \"/var/lib/lazying-agent-web/chat/chat.sqlite\"\n  },\n  \"pwa\": {\n    \"versionLabel\": \"release\",\n    \"title\": \"LazyingArt Agent\",\n    \"name\": \"LazyingArt Agent\",\n    \"shortName\": \"Lazying Agent\"\n  },\n  \"localLlm\": {\n    \"baseUrl\": \"http://127.0.0.1:18008/v1\",\n    \"allowedModelAliases\": [\"localllm-deep\", \"localllm-vision\"],\n    \"defaultModelAlias\": \"localllm-deep\",\n    \"vision\": { \"enabled\": false }\n  },\n  \"aginti\": {\n    \"enabled\": true,\n    \"baseUrl\": \"http://127.0.0.1:18009\"\n  },\n  \"credentials\": {\n    \"passwordHash\": \"login-password-hash\",\n    \"localLlmToken\": \"localllm-token\",\n    \"agintiToken\": \"aginti-token\"\n  }\n}\n```\n\nThe filenames identify distinct credential files; raw password verifiers and\nbearer values never appear in the JSON. Credential directories and files may\nbe systemd `LoadCredential` material owned by root (including its read-only\nroot-group delivery modes under `/run/credentials/<unit>/`) or owner-only\nfiles owned by the service account;\nsymlinks, hard links, world access, and any non-owner write access remain\nrejected. The preferred fixed-parameter scrypt verifier uses a 64-byte\nderived key, while the canonical 32-byte verifier used by the current v0.2\nlogin is accepted for a password-preserving migration. Set `aginti` to\n`{ \"enabled\": false }`\nand omit `credentials.agintiToken` when the Agent transport is intentionally\nabsent. Configuring the transport does not claim Agent readiness: capability\ndiscovery stays fail-closed until AgInTi itself proves its native API, policy,\nsandbox, and current resource admission.\n\n`serve` also requires systemd's exact single absolute `RUNTIME_DIRECTORY`.\nWith `RuntimeDirectory=lazying-agent-web`, the service derives only\n`/run/lazying-agent-web/admission.sock`; a missing, relative, root, or\ncolon-separated multi-directory value fails before listening. The runtime\ndirectory is owner-only and the fixed `admission.sock` basename is never read\nfrom JSON configuration or caller input.\n\nBefore switching an edge proxy to a candidate build, derive its exact,\nsecret-free static allowlist from that same installed package and config:\n\n```sh\nlazying-agent-web edge-routes --config /etc/lazying-agent-web/service.json\n```\n\nThe JSON contract contains the candidate content-bound `releaseId`, the exact\n`GET`/`HEAD` paths, and the query-bearing request targets used by the service\nworker. Stage and validate the proxy from this output, switch the proxy and app\nas one release, then verify every request target before retiring the previous\nallowlist. Unknown or foreign release assets must continue to return 404.\n\nOperators can inspect the deployed release and its decoupled runtime state\nwithout adding a public HTTP endpoint:\n\n```sh\nlazying-agent-web health --config /etc/lazying-agent-web/service.json\n```\n\nThe command opens `CloudIndexStore` and `DirectChatStore` state read-only and\nreports them independently. LocalLLM and configured AgInTi probes are bounded;\ntheir errors collapse to fixed reason codes. Paths, origins, account identity,\ncredentials, and raw upstream responses are never emitted. LazyEdge is always\nreported as `not_probed` with `healthClaim: false`; use LazyEdge doctor for\ntransport health. A degraded or unavailable report exits nonzero. This is an\noperator diagnostic, not a public liveness endpoint: `/health` and\n`/api/health` remain default-deny 404s, and dependency health does not gate the\nstatic shell.\n\nDirect Chat vision remains fail-closed when `localLlm.vision` is absent or\ndisabled. Enabling it requires the fixed `localllm-vision` alias while keeping a\ndifferent default text alias. The PWA accepts one to four JPEG, PNG, HEIC, or\nHEIF still images plus a non-empty prompt and accepts each source file up to\n24 MiB. HEIC/HEIF support uses only a feature-detected native browser decoder;\nAVIF, sequences, conflicting brands, and malformed ISO-BMFF framing fail closed.\nThe browser redraws and downscales every accepted source sequentially through a\ncanvas to remove source metadata, and only canonical JPEG/PNG bytes can cross\nthe wire or enter storage. Slow native decoding exposes a visible and accessible\n`Preparing images…` state; timeout, cancellation, session changes, and PWA\ncontroller changes fence late decoder completions. It enforces 4 MiB per\ncanonical image and 16 MiB per message. A separate preview is bounded to 512\npixels and 512 KiB so a visible\nmobile gallery never retains the full upload surfaces.\nThe server independently validates MIME, framing, dimensions, metadata absence,\ndigest, ordering, unique attachment IDs, count, and aggregate bytes before\ncommitting the user message, every private image, and the generation atomically.\n\nA minimal in-process storage-only probe is:\n\n```js\nimport { CloudIndexStore, createCapabilityContract } from '@lazyingart/agent-web';\n\nconst store = new CloudIndexStore({\n  databasePath: '/srv/lazying-agent-web/private/index.sqlite'\n});\n\nconsole.log(createCapabilityContract());\nconsole.log(store.healthCheck()); // DirectChatStore exposes the same safe shape.\nstore.close();\n```\n\n## Runtime\n\n- Node.js 22.21.0 or newer, with the built-in `node:sqlite` module.\n- Exact runtime dependencies `es-module-lexer@2.3.1` and `katex@0.16.47`.\n- A local filesystem with normal POSIX ownership and locking semantics for the\n  private SQLite directories.\n\n`node:sqlite` emits an experimental warning on the tested Node 22.21.0 runtime.\nNo native SQLite addon or browser CDN is used. The pinned parser verifies the\ncomplete immutable module graph, and the pinned KaTeX module provides local\nmath rendering under the release namespace.\n\n## Storage and HTTP safety\n\nBoth SQLite stores require absolute on-disk paths. They create state directories\nwith mode `0700` and databases with mode `0600`, and reject symlinks, foreign\nowners/application IDs, insecure permissions, hard-linked database files,\nfuture schemas, migration checksum drift, integrity failures, and foreign-key\ncorruption. SQLite uses `DELETE` journaling, `FULL` synchronous writes, foreign\nkeys, `trusted_schema=OFF`, disabled extension loading, a bounded busy timeout,\nand `BEGIN IMMEDIATE` mutations.\n\nRaw browser session and CSRF tokens are never stored; `CloudIndexStore` retains\nonly SHA-256 digests. An HTTP adapter derives every `accountId` from the verified\nbrowser session. Browser payloads and public JSON/SSE projections never choose\nor expose that owner identifier.\n\nBrowser-session admission first removes expired rows. At the per-account cap,\na successful new login atomically rotates only that account's oldest-issued\nsession, with a deterministic digest tie-break; token collisions fail before\neviction. This keeps sign-in available without deleting another account's\nsession or temporarily exceeding the cap.\n\nIdempotency rows are bounded closed receipts rather than arbitrary response\ncaches. Direct Chat starts a user message and its pending generation in one\ntransaction. A durable owner digest plus monotonic fence prevents two cloud\nworkers from dispatching the same generation concurrently; a stale worker\ncannot append or finalize after losing its lease.\n\nDirect Chat deletion is a distinct exact mutation:\n`POST /api/chat/threads/delete` requires the authenticated browser session,\nCSRF proof, a caller-generated idempotency key, and the exact current\nrevision/hash cursor. The store refuses an active generation, a stale cursor,\nor a trailing user message whose send acceptance is unresolved. On success it\natomically writes a content-free schema-v5 deletion receipt containing only\nidentity, cursor metadata, and digests before removing the thread and its\nprivate descendants. The receipt is immutable, supports an exact retry without\nretaining the raw key or deleted content, and permanently retires that\naccount/thread identifier. This route deletes only cloud-owned\nDirect Chat state; deleting an Agent presentation index or an authoritative\nAgInTi thread remains a separate contract.\n\nCanonical attachment bytes are durable only in the owner-private Direct Chat\ndatabase. The message ledger and browser API expose a size/dimension/MIME/SHA-256\ndescriptor, never the bytes or base64. Authenticated previews are `no-store`\nresponses, and image data never enters Cache Storage, localStorage, or\nsessionStorage. IndexedDB is used only for the encrypted, expiring, one-shot\nconfirmed-update handoff described above; it is not chat history or a retry\nqueue. Base64 exists only transiently in the browser's exact in-memory retry\nticket and the bounded browser-to-BFF and BFF-to-LocalLLM request bodies. The\nbrowser serializes a prepared image request once before entering the network\nambiguity boundary, reuses those exact bytes only when a status probe proves\nthe generation absent, and releases the raw images and serialized ticket as\nsoon as the server accepts the durable turn.\n\nOrdered attachment responses use an explicit message-list schema request. A\nprevious PWA that omits it receives the first descriptor in the legacy singular\nshape, so a stale open tab keeps its text/history protocol valid until the\ncontent-versioned PWA refresh takes control.\n\nSchema v5 adds the durable authority receipts required for safe Direct Chat\nthread deletion. It is now the common Direct Chat schema whether vision is\nenabled or disabled, so the ordered v4 attachment tables are materialized on\nupgrade while image use remains fail-closed at the application boundary.\nExisting v3 single-image rows still migrate to ordered position zero. A v5-aware\nbuild running with vision disabled can serve authenticated previews and exact\nretries of previously committed image turns, but refuses new image turns and\nfollow-ups that would reuse stored images.\n\nA pre-v5 binary cannot reopen the migrated database. Before activation, block\nevery dynamic API, stop the service, verify sidecar-free SQLite `DELETE`\njournal state, take an offline private database backup, and preflight a copy of\nthat backup with the candidate release. The snapshot may be restored only\nwhile all dynamic APIs remain blocked and before any v5 write authority or the\nv5 deletion API is activated. After that boundary, preserve the live v5\ndatabase and use only a v5-aware rollback release; restoring the older snapshot\ncould discard accepted messages or deletion authority.\n\nThe production server is designed to bind on loopback behind Caddy. It trusts\nthe configured public authority/client-address headers only from that local\nproxy boundary. It does not terminate public TLS, manage a LazyEdge tunnel, or\nlaunch LocalLLM/AgInTi/sandboxes itself.\n\n## Checks\n\nRun the offline checks with:\n\n```sh\nnpm run check\nnpm test\n```\n\nThese checks do not deploy the package or exercise the blocked live\nDocker/model acceptance gate.\n","readmeFilename":"README.md"}