{"_id":"multis","_rev":"31-a14ad8ce4d08460f0e7e8be3dbe2e710","name":"multis","dist-tags":{"latest":"0.22.3"},"versions":{"0.1.0":{"name":"multis","version":"0.1.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":"","license":"MIT","_id":"multis@0.1.0","maintainers":[{"name":"amrhas82","email":"avoidaccess@msn.com"}],"dist":{"shasum":"6e52d39b422d1485e0c2c7e5cd7d14ea9743557c","tarball":"https://registry.npmjs.org/multis/-/multis-0.1.0.tgz","fileCount":33,"integrity":"sha512-Z+HFkj5vRz0QBoogr2Nms+psJU3wdeuRzfwsIQKmbo8GM1Xj2DteoE/wrwWnBI4JbaveC2DSrh7kGXEHndMWKg==","signatures":[{"sig":"MEYCIQDookjLkuMB+XFHQhb5l/Ko9422imiBCaROFs4+Bd5w3wIhAN32oo5NxdjF0f0pGTNTM6TqdxqBO4GwHhZF5gAhkfsb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122305},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"56a64f8052c782e6af0e91c4068bbdd9179a0c6f","scripts":{"dev":"node --watch src/index.js","test":"node --test test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"amrhas82","email":"avoidaccess@msn.com"},"_npmVersion":"10.9.3","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.20.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","pdf-parse":"^1.1.1","better-sqlite3":"^11.7.0","matrix-bot-sdk":"^0.8.0","@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multis_0.1.0_1770721657337_0.8214128103216656","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"multis","version":"0.1.1","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.1.1","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"afbf7e75eeb6348ba1af4bd949065b102461c231","tarball":"https://registry.npmjs.org/multis/-/multis-0.1.1.tgz","fileCount":52,"integrity":"sha512-w9VNHw28//irWIy2PrCNHJ+LqM3LrrWp1HDDHgyQTKFh64URmsbfufK+3bEfrTgz8hAHbPE5Ustj/QlWSOhRxw==","signatures":[{"sig":"MEYCIQCR8d2M8lPPnuRUJSg5r9UEcWOfv98wIw/EIv5B/k3pawIhAPIjU03hQ3wK8hastlhHo0qDNL8hSrIM4sEaZQdHTupo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2635190},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"166c79080caefca523e578f0b831c9321c42dda7","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.4","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","matrix-bot-sdk":"^0.8.0","@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multis_0.1.1_1771003093976_0.018736083466955877","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"multis","version":"0.9.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.9.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"305151698994a0c7aab5e758fffbfb4c7d07bc76","tarball":"https://registry.npmjs.org/multis/-/multis-0.9.0.tgz","fileCount":53,"integrity":"sha512-u/AsdJ1o4mX1y8Ps8TRapLgPAZj2pgzSRKyCedoXCnXSzenU8fARY12xl+MFWEOZndNcirv/uRsfMx2h8YTJNw==","signatures":[{"sig":"MEYCIQDVzRgzshTvzQKSjbB2vdXNC+WONJ5PTV0UWzjqAOIQJQIhAN1xPCesN9PzTOUBdGQ4R0P6Ar9UVCiu7c3vBlRhWc3P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438089},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"310abcf20e16b02acc707c329e55df3ff3aa0601","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.4","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bare-agent":"^0.3.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multis_0.9.0_1771699627789_0.5384606144192072","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"multis","version":"0.10.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.10.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"6b0118a4195a2af5140e2f9af82a94f588e6f396","tarball":"https://registry.npmjs.org/multis/-/multis-0.10.0.tgz","fileCount":40,"integrity":"sha512-uu5+9oWgMuVKxwyEMFGzmaDC3FBA+tzMvXlyzJbk4QaBfcGKcluqFL3ZBMgEimDR8alRHdEgmMOPUSuRHCtZxQ==","signatures":[{"sig":"MEYCIQCynJdPZEEEePrh1lggwVEAgt4jZgGTbKw5UK9fk/xLQgIhALpv0lqDu91ReAs90i8Mg/LzhAi/pyokiF/W3/qkXqsj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283338},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"50ab65fce8e7c75d61fac6685bd1b2b1946fc206","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.4","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bare-agent":"^0.3.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multis_0.10.0_1771871555360_0.33571472645164113","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"multis","version":"0.11.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.11.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"72de24c9d346cdf8274bea4cd2402a2c876c4a25","tarball":"https://registry.npmjs.org/multis/-/multis-0.11.0.tgz","fileCount":40,"integrity":"sha512-LSPsakwAPwhWmhxFARkCv8zPJlSj9bwAonOPI61FP4/BOtolR8AbCt/IcxlwoMVXcB4BdfCoFHQK3NgJ2sPvvg==","signatures":[{"sig":"MEYCIQCrzn2Z4LDNPKetbh4/4iuUXAptWdTEysTUwTUmwWh0jQIhALKJk4G66xB8v6HbVv2gMk3SrF5IHoxyFlEtVihXg1Pq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292169},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"81a08558cd1140654a9d8b37c2a13079717e06f4","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.4","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bare-agent":"^0.3.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multis_0.11.0_1771881136705_0.994561502869397","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"multis","version":"0.11.1","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.11.1","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"f00d89cbc4b566880429be79dba163720f804111","tarball":"https://registry.npmjs.org/multis/-/multis-0.11.1.tgz","fileCount":40,"integrity":"sha512-/gz280DS/RGi9KFGWO+1to9MSdQXMoSkQA29JrWidUAYJQdZotbK4emcosdrrFKV/IzYVSnrU9bR2EdCPtPR+Q==","signatures":[{"sig":"MEYCIQDrgxdoi5BBayKCOXu4KtPHpzQ14IVEGEYm21xXxUF4kwIhAPmdqIOH4fWZQ9voeKiRKXNjWGFXf1K5EHyAC2FfGZ1a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293322},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"0deb5d1a54b9e87fbab902bff9556d554a84fb3e","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.4","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bare-agent":"^0.3.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multis_0.11.1_1772207465978_0.9215071343448344","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"multis","version":"0.12.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.12.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"b88ab3c6d47865ec08c00e811bb61c810f5849c1","tarball":"https://registry.npmjs.org/multis/-/multis-0.12.0.tgz","fileCount":42,"integrity":"sha512-4eGYkSTXxu/iZzca4pCUpQ9WX/vM0Hfu4qSCvBCOBz0YAAXRBtdBqhrDbwVjiiBtWIns+gk4K9Mi22nx04LquA==","signatures":[{"sig":"MEYCIQCXVb8Z9Ut8PsAXhEqz+DLfOxz4If/+b6wOoa95jUpBjgIhAIgGisaCAEwTvAnAhoVpxvrM0peuL/I1sGb0tIjUIgm4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343335},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"d9b6d183781ab0c22b27abfeb2540684088e775d","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.4","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.0","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bare-agent":"^0.7.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.12.0_1776494646515_0.17490064796096405","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"multis","version":"0.14.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"MIT","_id":"multis@0.14.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"77bb29fb4dab9848fbb9a2ceb250de3adb4fe2e1","tarball":"https://registry.npmjs.org/multis/-/multis-0.14.0.tgz","fileCount":45,"integrity":"sha512-ipc9ykHSvM9vieHl3ZZglwzozRxN4peHZbPsIYYv6KV9MMAips+hooJzV+Zz7lQD9gp8o7WYRwL9XldwxXWE7A==","signatures":[{"sig":"MEYCIQCfpOhLddJcblJkYDZ5aV5mpwn9Noxus2Gar3gH+4tgGgIhAL65F/N1OwWBXsuVRWe4SQyJk3rCL9SLRWIavVtb8bXC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380525},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"a8a1263b37079851b222480ad68c351e17fc1532","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"hamr0","email":"avoidaccess@msn.com"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"10.9.7","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.2","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.4.2","bare-agent":"^0.10.2","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.14.0_1778571879448_0.3827669330416299","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"multis","version":"0.16.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.16.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"05d4b6384b96f6c512e2158e450c68f92e870f62","tarball":"https://registry.npmjs.org/multis/-/multis-0.16.0.tgz","fileCount":43,"integrity":"sha512-xNuxcKJDK8zn4o/b/5UZWg4NwXprO17jb6QiqzIHcla85Krr4GhUbUy7s8AIohh6CQXjJmb7m9Y1+nVZMzn2Fg==","signatures":[{"sig":"MEUCIQDDzbo6BJ33v9R4S3E+wx1CWTyLn7AiXwc6SXniDKTUeQIgVMvfww6J4z+9ACuGTt9+jmSiMon44VaKEsNvo/qn+nA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402786},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"bce4ccfcae73470c8b30f47d36dd118eaf23a63f","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.16.0_1781632626003_0.45886523012975755","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"multis","version":"0.17.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"1f9bfcdb27d14d98a6e615a09af84a24967086df","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.0.tgz","fileCount":41,"integrity":"sha512-GF0uNXLVMsIJODbpgzNy8BF77dY40UruhejPIRzoopGnzuqA9odefTfDegVmiAQqkm4ytvJvl7PfWQjNKhS97g==","signatures":[{"sig":"MEQCIB+ejrns6Rc9Std+5d1rMb4veSWFLo6fE9s2jxo1qn7/AiBAFBCqKTZPcxT2hr7/yqyEh2vVJCqiKAA6brC7q+MNHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":406275},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"869e1011bca9ab43234df5fb2aa190733d666557","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.0_1781859250930_0.11436298191320438","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"multis","version":"0.17.1","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.1","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"691ae2b07e31f156129402311f63245c2deea7f1","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.1.tgz","fileCount":44,"integrity":"sha512-Jkx490dVqpG3XqS39WyGVa7BtuaYd+GJ19wIOK7qCh8VB9/JnEpra9iKV1UqP/AbLbVRWJlurVw1Owr/sHnK0Q==","signatures":[{"sig":"MEQCIAluA8srq3GWbTmWWk1l3jafre+F5P5uN0K2f9eHli4aAiBbYMWpM9HtfES5pZlICoS9ABVd7X4SzhMzhR8rTqNjVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":449139},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"265b78b16692bb8f451bacef91309f827ae38f0b","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.1_1782123558070_0.8827886960595319","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"multis","version":"0.17.2","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.2","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"fab69b271c499ec3bdaaad569a3dd1b060d10108","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.2.tgz","fileCount":44,"integrity":"sha512-A4gOvuMszGQFDbiyFMeg1ENf6iMaF36O35dQoOKe08LGAsriKwhUU3kXYWooswNomyuIlskKoweoKH9fL0cU+A==","signatures":[{"sig":"MEQCIFyXSadsctejv915KkfDH50oYb7+EW+i2nXXRS9wMWQvAiBz2dO9a2auKXIO7XYFdEjBVmqDcJQpvcl3Cwh3JftU6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":455400},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"5681d7e97bba6bcf0c120c77e7c5cc730b49353e","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.2_1782138779003_0.42673205284000937","host":"s3://npm-registry-packages-npm-production"}},"0.17.3":{"name":"multis","version":"0.17.3","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.3","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"f6e7b4005daa5ccb4076a60bc405e8693e50648e","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.3.tgz","fileCount":44,"integrity":"sha512-uw9dvuPKaqmjBDPwvigqQxNsHJ2mOPiBcSqsY/IwXuu7UG+xSs8I1gSesXXJQy7LazLE6A29H/oD10zAfG+O2g==","signatures":[{"sig":"MEYCIQD37XlE7mtEJfglUAS4i64U/wZTx6zRuZbxG+LJOCXl8gIhAJoQhfaf/hG98u9cATfcL9JAL3DSywTKOHDg3F6c3qVl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461807},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"c89adfde5bee51d4fb213dbcd86e45731c48f862","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.3_1782151733727_0.5254142603257144","host":"s3://npm-registry-packages-npm-production"}},"0.17.4":{"name":"multis","version":"0.17.4","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.4","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"2ad5511717abf959a28359e228ee384dd485de09","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.4.tgz","fileCount":44,"integrity":"sha512-SOaxJ5iBlp44ZRauzNma6hh+LOJ0bhb/kEi7YrKuT+15WXKWPQBj1XB3N1EGheRAuIAU6cPDvTAVOXp4MpOftQ==","signatures":[{"sig":"MEYCIQCTw8oPE9JHi9TEBBtnB+uRbdzPVfYEbMTWGSghEg6LwAIhALLNTU+B7lppYqeAvJGSVpk7X0m7CCt/pVMfEUNtxHnL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474040},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"6780b3beda7026c9012a4f507b6bbc7ec9f7e5a0","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.4_1782206873254_0.29624662442399585","host":"s3://npm-registry-packages-npm-production"}},"0.17.6":{"name":"multis","version":"0.17.6","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.6","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"93f3033bdc758eadd2ca4f00700e8dfd77521c0a","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.6.tgz","fileCount":44,"integrity":"sha512-8Fc6rCQQSbdP+c1Mu+K1LaT9YapQRo7FxBYrf+UKgAz+7H2aGpgZOz4eIhUpe/EKxrJgydPd9JBEz4HXO0MiPQ==","signatures":[{"sig":"MEYCIQDETTMFdcWjMz111Y9NRS7BiIMxuEckM4JU8nFjD4BdXAIhAIZ2fLyhr758Y57AU/3cc9O574d76wUr/bClzQhn4dcH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":479225},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"6ade5ef1ff0170a4a838b447604b75fa159fc39d","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.22.3","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.6_1782210916816_0.011869695836192573","host":"s3://npm-registry-packages-npm-production"}},"0.17.7":{"name":"multis","version":"0.17.7","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.7","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"8eb7adbb4195b10d890aa994d1bfa2be231d03b2","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.7.tgz","fileCount":45,"integrity":"sha512-ACIkV2/xEZG/I2Z2pheTnXBsJnWjlpP91nRMc9MEhrvcdVVZ9AlhYJqjfALGqMHAf84rNLfETHwhqwadMQTCIA==","signatures":[{"sig":"MEUCIEQIDxNJLDBjyfaApuTJIAKEz0g1TsKIgDy1zD2GGZdiAiEA3/72YuTQTCk3MdsPAIqd7C3uUJsMG9Q5CA0YE4t+b7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":499526},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"2c6b01f273b47dcc0633cfd31aaf8d4a589284b6","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.0","dependencies":{"litectx":"^0.18.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.7.0","bare-agent":"^0.16.1","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.7_1782367612101_0.07879129504147508","host":"s3://npm-registry-packages-npm-production"}},"0.17.8":{"name":"multis","version":"0.17.8","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.17.8","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"fbf4135bf345919de1017d4bf7a30e31fe1b6d20","tarball":"https://registry.npmjs.org/multis/-/multis-0.17.8.tgz","fileCount":44,"integrity":"sha512-mFQ0nIGorkAiqmIcXw49M3mBwro0htzoqGHXiOHF0/CLNzOzFCZ0MqoO839ts+AOVa+orJX0STBQqwptLNMikQ==","signatures":[{"sig":"MEUCIGyEpHV3YbuocCHlTdac27ao2DyXsl7PRRO12YA699+YAiEAuntqPH05HUjy7PB1vqiya8W7KVhdDMiVhegoP0M+eyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.17.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500862},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"bf7c1065fd2cc03a9b0bd44aa91173f4a1ecbae8","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.0","dependencies":{"litectx":"^0.20.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.17.8_1782382719150_0.9373503693542409","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"multis","version":"0.18.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.18.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"1a304155d3d7bd78484c022dfb7fd974cfce57a6","tarball":"https://registry.npmjs.org/multis/-/multis-0.18.0.tgz","fileCount":47,"integrity":"sha512-zjS+dGxi9tXexqH9wUhg2CwThSsDNZzJvErYbPbjB20Zql5K8NrRyD9T4GNmEy81biM7BJoFpOlZ7Gik5Qo8hg==","signatures":[{"sig":"MEUCIC/XKmQj+j/dPXFQ5o265ec2AMkHFz1N3SqgdMtNfEVeAiEAr7M/aV+BwuNCwwUg+B916NvFtDgQqDez5QCj/zHZW8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":549381},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"93d14b2a0372adeb88b4130a219df119976b5c01","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.17.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.0","dependencies":{"litectx":"^0.25.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.18.0_1782643049593_0.3880099950540168","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"multis","version":"0.19.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.19.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"2d33b57d04b75107ba125bf8153e52143c03229e","tarball":"https://registry.npmjs.org/multis/-/multis-0.19.0.tgz","fileCount":47,"integrity":"sha512-K6/TA6Vclh5ALTN83GWNFId1OF7veBkNeGUZ1qyUvoG0875hOS3zavlipz4x4Bfa1IvLTOgd4TTLW3K0sT/Bww==","signatures":[{"sig":"MEUCIE3PGzTrSAtid8fXkF91LAtj2xU1lbE9woKM54UFTscbAiEAwRyURZBWWjZUu4bV/pg1BiWfpa2sVjaUB+a49nL/T5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557285},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"95f92d82b32d315ce434f4c942852ebfd1978a15","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.25.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.19.0_1783200628798_0.2863978347967844","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"multis","version":"0.19.1","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.19.1","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"c4dfe10aca0e070d8c2a806c4ec18102ad74f995","tarball":"https://registry.npmjs.org/multis/-/multis-0.19.1.tgz","fileCount":50,"integrity":"sha512-KR2kOCLBMjxE4Gh0GzITi7EO9MKlslYchCO/zvXtY0ExUzgvs/QrRQ4M+U6Bpop1KuOe1bTBIIRIiXJDixNxGw==","signatures":[{"sig":"MEQCIDe0axGTpKcdy0WUyEBIPcrSQ7aM1fOqRthFsriuXuLsAiBi5KrX1Mmy7Fq/691ByMs+BOz/zFqZN6PLXjfz88q6TA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":563132},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"ab93e1ec3f969deb895fbdf235b88944d467c10d","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.25.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.19.1_1783201254810_0.05480013817184304","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"multis","version":"0.19.2","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.19.2","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"a5f648901a6f30b6cbcf8edcebea8a66ec1270d3","tarball":"https://registry.npmjs.org/multis/-/multis-0.19.2.tgz","fileCount":44,"integrity":"sha512-6V5m7HBU/6Wa6xG/DyyA0YFaIKMB8EkAkxhsgArayrrfr8hrcvvVB3ybgbZS3h+t8d4ADLD9ND00ORBGhKI5vQ==","signatures":[{"sig":"MEUCIGlTMWYSveHyh83De+QwBXStlLEdhMpYPV9RRiBX2FnLAiEAlRsRYXvHInnkbsaw8LYfGhZgmCa7H6CwpTxiU4vRsac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":519480},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"8b7cce1dcb70e7cb1ab98ab8a7bc3f595bb94b67","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.25.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.19.2_1783236345309_0.5300983215413899","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"name":"multis","version":"0.19.3","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.19.3","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"794a3e0e0ca4ac5bee843b5b2e10bc2395ff49b7","tarball":"https://registry.npmjs.org/multis/-/multis-0.19.3.tgz","fileCount":44,"integrity":"sha512-dM6hdzXR4UMSojjFy8CTYTYNJKvlWivPnXZDtVBRkEHuL6u9UZUaMY+/NWMTayButlhPzgTtpBf8nsrS7bKnhQ==","signatures":[{"sig":"MEUCIEdCa60WSSAG2EqfVLL3N3/k+aa9vuMRGE/n2JsdUQE/AiEAvKSWMb5DM3Sman+nIqHTKUk2Vm4TldV2YCudM8d8q1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":536361},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"a672d6c55557cf9cca98e14595f4daa45215d68c","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.25.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.19.3_1783263223151_0.9982230639007419","host":"s3://npm-registry-packages-npm-production"}},"0.19.4":{"name":"multis","version":"0.19.4","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.19.4","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"1d047259b839b6a26801c96a155e7d16824a8d8e","tarball":"https://registry.npmjs.org/multis/-/multis-0.19.4.tgz","fileCount":44,"integrity":"sha512-0WJXfhhIX0HMcQMI3BhuCInrYrLdOtu+LFbj+uSaD+zAQpLSCqRrb0Zn2s2DrA41hmVc+6wFibnW0FaUE0XITw==","signatures":[{"sig":"MEQCIETyQc2wJDvSKOXN+z59pdZfDUy/XUG5PAVz5l8loeWmAiApsviCqRH8E3CMph5ULKKbnECMwWcJVZAbneuqvS7+mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.19.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":536293},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"e4c0403c2d382bf718bbec1b55d5cc14e8ffcfbb","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.27.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.19.4_1783351012008_0.3331548787657921","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"multis","version":"0.20.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.20.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"98395956461e226505dab4b12d63ceffccf71ec6","tarball":"https://registry.npmjs.org/multis/-/multis-0.20.0.tgz","fileCount":45,"integrity":"sha512-8rL82EWUQGPaSBX/zJsE9EuOLEkLE196r7vgsgYW4awlEV1NKIAcqt/htw2XCEBFSMyORlbs8DbFRvvO0RKQag==","signatures":[{"sig":"MEUCIQDe/jsYNDLjo+NRTf5X31Qn7mWRdbaW/8ssIBO2hbNs8QIgSd9HxKqk84XdFN+TYqg8Np6twif6dkoemFaLweYUvfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552809},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"729cad61ed2df80c2524456e7c060d801eb567c4","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.27.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.9.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.20.0_1783372525213_0.5921503905859522","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"multis","version":"0.21.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.21.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"30bbd6a99dfa14a50f3d00bb0313c4193534152e","tarball":"https://registry.npmjs.org/multis/-/multis-0.21.0.tgz","fileCount":45,"integrity":"sha512-7oO+VuH0lsQLf6/SswffkSccdRkekquwn5SDeWISUSznuPju5eB3QGHFPImQWateP/kxuBOLDek2yq7d2oWV2Q==","signatures":[{"sig":"MEUCICrIbZAADzWlpWIA34jvCtcIw4evWCSVomjCnS7/nFSRAiEAg+Fwzt7nz6StUQKY9SLQSDrBT0pLKNi1UY78POCt0SQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557563},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"348874990267fcb335fb16a85d7e738190c98fa0","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.27.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.12.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.21.0_1783410574267_0.30765181831274657","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"multis","version":"0.22.0","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.22.0","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"6b8d56c02e9f4dddfd96907d49fec8c2567be171","tarball":"https://registry.npmjs.org/multis/-/multis-0.22.0.tgz","fileCount":46,"integrity":"sha512-doFYDvrFK4aRTD9myJovdQlJhsEXkTo1EIjnQJGFI/YG9SvEYu2+hc45Sfqni7UkcnxZejnHBoI44OGwggp0nA==","signatures":[{"sig":"MEQCIAF3H8l6JFVZTnCBfPSo1z+i/Jr16ofhoU9wK66Ehb1LAiBlknQjtjzrGydEhHKeH9D2epnCreygJ6UxH3ZENb5Nhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":563805},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"3bb7017a6b7c72e561e07f03083cd5ce793a8667","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.27.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.12.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.22.0_1783533967332_0.006805214083905442","host":"s3://npm-registry-packages-npm-production"}},"0.22.1":{"name":"multis","version":"0.22.1","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.22.1","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"4ba9961459e17c6d3ddfe51145672b177fd379b6","tarball":"https://registry.npmjs.org/multis/-/multis-0.22.1.tgz","fileCount":46,"integrity":"sha512-6UiibT5CXIe/00iRBlqULDr6dQ0v4Wj/79qcmscDHtnC20A5H9H9GC5wIORhVSVuMd/Tid/I8anrVUhV/h+PRw==","signatures":[{"sig":"MEYCIQDbm3G6O5/YBRUABRDK8Hx8KPnjWS+tTGBSc/z22xC7CwIhAJfOazWAJbf+OluDTdrMged95VieS0FHdBYa/uBaPsxS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565716},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"6754b613bdf0ade8132b15a45f0d6d73db2a935a","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","dependencies":{"litectx":"^0.27.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.12.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.22.1_1783612480575_0.1427220817003123","host":"s3://npm-registry-packages-npm-production"}},"0.22.2":{"name":"multis","version":"0.22.2","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","_id":"multis@0.22.2","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"bin":{"multis":"bin/multis.js"},"dist":{"shasum":"c9094a8591994b55cbabbf4e3bf73dd6ccd3d90a","tarball":"https://registry.npmjs.org/multis/-/multis-0.22.2.tgz","fileCount":46,"integrity":"sha512-+15gKRBMDpS9bwdeHgU9s4/kBEbwmdLJD2pRJB0zzjyBBf2KHs33FyamilRY//4X4tEJO52OK3QyquqT1MG8mw==","signatures":[{"sig":"MEUCIQDNIsRiYoiX69hT3RLn7lJfgezkJropea2fcI6UL4SoGwIgbYWoy11rgODyv+cARnudlALKtKl9gGD63YHm+ff72F0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.22.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568559},"main":"src/index.js","engines":{"node":">=20.0.0"},"gitHead":"705e38be1dd243cce0c6f8e30c377234cefbf1f5","scripts":{"dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream.","allowScripts":"npm 12 blocks dependency install-scripts by default; this allowlist (generated via `npm approve-scripts`, name-only so routine dep bumps don't re-prompt) permits the native-addon builds multis needs — better-sqlite3 (litectx store) and onnxruntime-node (semantic recall) are required; sharp/protobufjs are their transitive build deps; matrix-sdk-crypto is optional. All five already ran under npm <=11, so this preserves prior install behavior. Governs multis's OWN `npm ci` (repo root); it does NOT carry to end-user `npm install -g multis` on npm 12 — those users pass `--allow-scripts=...` (see README). CI uses `npm ci --strict-allow-scripts` so a newly-blocked script fails loudly instead of silently shipping a broken native module."},"overrides":{"underscore":"^1.13.8","@xmldom/xmldom":"^0.8.13"},"repository":{"url":"git+https://github.com/hamr0/multis.git","type":"git"},"_npmVersion":"11.18.0","description":"A personal chatbot and assistant that runs on your computer","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"sharp":true,"protobufjs":true,"better-sqlite3":true,"onnxruntime-node":true,"@matrix-org/matrix-sdk-crypto-nodejs":true},"dependencies":{"litectx":"^0.27.0","mammoth":"^1.8.0","telegraf":"^4.16.3","bareguard":"^0.12.0","bare-agent":"^0.19.0","pdfjs-dist":"^5.4.624","better-sqlite3":"^11.7.0","@huggingface/transformers":"^4.2.0"},"_hasShrinkwrap":false,"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/multis_0.22.2_1783622566849_0.2263525243861424","host":"s3://npm-registry-packages-npm-production"}},"0.22.3":{"name":"multis","version":"0.22.3","description":"A personal chatbot and assistant that runs on your computer","main":"src/index.js","bin":{"multis":"bin/multis.js"},"scripts":{"start":"node src/index.js","dev":"node --watch src/index.js","test":"node --test test/*.test.js test/**/*.test.js"},"keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"author":{"name":"hamr0"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/hamr0/multis.git"},"homepage":"https://github.com/hamr0/multis#readme","bugs":{"url":"https://github.com/hamr0/multis/issues"},"engines":{"node":">=20.0.0"},"dependencies":{"@huggingface/transformers":"^4.2.0","bare-agent":"^0.29.0","bareguard":"^0.12.0","better-sqlite3":"^11.7.0","litectx":"^0.30.0","mammoth":"^1.8.0","pdfjs-dist":"^5.4.624","telegraf":"^4.16.3"},"optionalDependencies":{"@matrix-org/matrix-sdk-crypto-nodejs":"^0.4.0"},"allowScripts":{"@matrix-org/matrix-sdk-crypto-nodejs":true,"better-sqlite3":true,"onnxruntime-node":true,"protobufjs":true,"sharp":true},"comments":{"overrides":"Pin patched transitive deps of mammoth (the DOCX->md parser multis supplies as litectx's peerOptional). @xmldom/xmldom <=0.8.12 (XML injection/DoS) and underscore <=1.13.7 (recursion DoS) are reachable via a malicious uploaded DOCX. Both patched versions are within mammoth's declared ranges (^0.8.6, ^1.13.1), so this is a non-breaking security pin, durable against lockfile regen. Drop once mammoth bumps them upstream.","allowScripts":"npm 12 blocks dependency install-scripts by default; this allowlist (generated via `npm approve-scripts`, name-only so routine dep bumps don't re-prompt) permits the native-addon builds multis needs — better-sqlite3 (litectx store) and onnxruntime-node (semantic recall) are required; sharp/protobufjs are their transitive build deps; matrix-sdk-crypto is optional. All five already ran under npm <=11, so this preserves prior install behavior. Governs multis's OWN `npm ci` (repo root); it does NOT carry to end-user `npm install -g multis` on npm 12 — those users pass `--allow-scripts=...` (see README). CI uses `npm ci --strict-allow-scripts` so a newly-blocked script fails loudly instead of silently shipping a broken native module."},"overrides":{"@xmldom/xmldom":"^0.8.13","underscore":"^1.13.8"},"gitHead":"2983af371fd517a7baf0922bae9ddcf9cf690932","_id":"multis@0.22.3","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-sPimRs7CvzcFqNlaUV4nu2ZUKoCD9HQKMeUahDluCL0Ld5iKEwjewPF5rFrs6Gbjf7ZCUR6NtGwbaY2zN7ifKg==","shasum":"4fa8bde92790ccece5fb55fd6acd3f40e3bf4539","tarball":"https://registry.npmjs.org/multis/-/multis-0.22.3.tgz","fileCount":46,"unpackedSize":573326,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/multis@0.22.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGiVcucsGrfKamlFT77Yl8kUn0Au0Q6uU77OY+n5YezWAiAHq8l5sLrWbD0MrD4w8mwl2Ld3A1tyFn4sBzq3BJPfug=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb55c844-7b07-443c-b5b3-ec43f6315ce4"}},"directories":{},"maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/multis_0.22.3_1784144851131_0.5079289788903982"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-10T11:07:37.265Z","modified":"2026-07-15T19:47:31.521Z","0.1.0":"2026-02-10T11:07:37.474Z","0.1.1":"2026-02-13T17:18:14.228Z","0.9.0":"2026-02-21T18:47:07.941Z","0.10.0":"2026-02-23T18:32:35.500Z","0.11.0":"2026-02-23T21:12:16.883Z","0.11.1":"2026-02-27T15:51:06.129Z","0.12.0":"2026-04-18T06:44:06.675Z","0.14.0":"2026-05-12T07:44:39.581Z","0.16.0":"2026-06-16T17:57:06.163Z","0.17.0":"2026-06-19T08:54:11.078Z","0.17.1":"2026-06-22T10:19:18.207Z","0.17.2":"2026-06-22T14:32:59.179Z","0.17.3":"2026-06-22T18:08:53.912Z","0.17.4":"2026-06-23T09:27:53.401Z","0.17.6":"2026-06-23T10:35:16.982Z","0.17.7":"2026-06-25T06:06:52.299Z","0.17.8":"2026-06-25T10:18:39.362Z","0.18.0":"2026-06-28T10:37:29.758Z","0.19.0":"2026-07-04T21:30:28.960Z","0.19.1":"2026-07-04T21:40:54.970Z","0.19.2":"2026-07-05T07:25:45.486Z","0.19.3":"2026-07-05T14:53:43.346Z","0.19.4":"2026-07-06T15:16:52.149Z","0.20.0":"2026-07-06T21:15:25.418Z","0.21.0":"2026-07-07T07:49:34.423Z","0.22.0":"2026-07-08T18:06:07.517Z","0.22.1":"2026-07-09T15:54:40.753Z","0.22.2":"2026-07-09T18:42:47.037Z","0.22.3":"2026-07-15T19:47:31.263Z"},"bugs":{"url":"https://github.com/hamr0/multis/issues"},"author":{"name":"hamr0"},"license":"Apache-2.0","homepage":"https://github.com/hamr0/multis#readme","keywords":["chatbot","personal-assistant","telegram","llm","rag","local-first"],"repository":{"type":"git","url":"git+https://github.com/hamr0/multis.git"},"description":"A personal chatbot and assistant that runs on your computer","maintainers":[{"name":"hamr0","email":"avoidaccess@msn.com"}],"readme":"\n```\n                                  ╭────────────────────╮\n                                  │  ╔╦╗╦ ╦╦ ╔╦╗╦╔═╗   │\n                                  │  ║║║║ ║║  ║ ║╚═╗   │\n                                  │  ╩ ╩╚═╝╩═╝╩ ╩╚═╝   │\n                                  ╰──╮─────────────────╯\n                                     ╰── your AI, your machine, every chat.\n```\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/github/package-json/v/hamr0/multis?label=version&color=2a4f8c\" alt=\"version (auto from package.json)\">\n  <img src=\"https://img.shields.io/badge/license-Apache%202.0-2a4f8c\" alt=\"license: Apache 2.0\">\n</p>\n\n**A local-first chatbot and assistant for personal and small-business use.** Run it as your own *personal assistant* — ask it about your documents, let it run things on your machine — or point it at a *customer-facing chat* and let it answer on your behalf from your knowledge base. Either way it lives in the chat apps you already use, runs on *your* computer so your conversations and files never leave home, and puts a single governance gate between the AI and anything that matters.\n\nThink of it as a private assistant with your laptop's keys — but one that always asks before it does anything you'd want to be asked about.\n\n**Connects to:**\n- **Today** — Telegram (native bot), plus WhatsApp · Signal · Discord · iMessage · Instagram · Messenger and 50+ networks through [Beeper](#connection-modes). (Prefer no Beeper at all? [Self-host Matrix](#no-beeper-self-host-matrix).)\n- **Planned** — the live web (via [barebrowse](https://npmjs.com/package/barebrowse)) and Android / iOS device control (via [baremobile](https://npmjs.com/package/baremobile)).\n\n## Three ways to run it\n\nYou pick one at `multis init` — it's the single choice that shapes everything else:\n\n- **Personal bot** — just Telegram and your own laptop. A private, owner-only assistant to organize your life: ask about your documents, have it find files and run things on your machine. Zero infrastructure.\n- **Personal assistant** — everything the personal bot does, **plus the social side**: one connection (through Beeper) to *all* your messengers — WhatsApp, Signal, iMessage, Discord, 50+ networks — in one place. Call it by name in a chat and it answers for you, scoped to that contact and your public knowledge base.\n- **Business** — one chatbot across every channel you have, through a single Beeper connection. It auto-answers your customers from your knowledge base and escalates to you the moment a human is actually needed.\n\nAll three run on *your* machine, keep your conversations and files on disk, and put the same governance gate between the AI and anything that matters.\n\n## Why multis\n\n- **It's already where you are.** No new app to check. Talk to it in Telegram, or through Beeper to reach WhatsApp, Signal, Discord, iMessage, and 50+ other networks — one setup, every chat.\n- **Your machine, your data.** multis runs locally. Documents are indexed on disk, conversations are remembered on disk, and nothing is shipped to a third party you didn't choose.\n- **It can actually *do* things.** Run a command, read a file, search your documents and answer with citations — not just chat. The reach is real, which is exactly why the guardrails are too.\n- **It won't go rogue.** Every privileged action passes through one gate that can allow, deny, or **ask you first** — with a full audit trail and a spend cap. You stay in the loop on anything that touches your machine or your money.\n- **Answer customers while you sleep.** Point it at a business chat and it replies in your voice from your knowledge base, escalating to you the moment a human is actually needed.\n- **Bring your own brain.** Anthropic, OpenAI, or a fully local Ollama model — swap providers in config, no code changes.\n\n## Connection modes\n\nThese modes are about **how chats reach multis** — pick one, or run several at once.\n\n| Mode | What you get | What it needs | Best for |\n|------|--------------|---------------|----------|\n| **Telegram** | A private bot, working in minutes | A bot token. Nothing else. | Getting started, zero infrastructure |\n| **beeperbox — local** | WhatsApp/Signal/Discord/… 50+ networks via Beeper, on the same machine as multis | Beeper Desktop + beeperbox alongside multis (your laptop, or a GUI home server) | When Beeper Desktop already runs next to multis |\n| **beeperbox — remote** | The same 50+ networks, bridge living elsewhere | beeperbox (container) on a Pi or VPS, reachable over the network | When the bridge should stay off the machine multis runs on |\n\n> **Where you run multis decides what it can touch — separate from the role you pick and the connection mode.** On a machine you own (your laptop, or a GUI home server) it can act on *that* machine (`/exec`, `/read`, find your files) — the full personal reach. On a VPS it's always-on but controls only the VPS, not your personal files. So a **personal bot / assistant** wants to live where your life is; an always-on **business** chatbot is happiest on a VPS. (A GUI home server gives you both: personal reach **and** always-on.)\n\nTelegram is always available and needs no extra moving parts. Both beeperbox modes are the **same component** — [beeperbox](https://github.com/hamr0/beeperbox) — just running locally or on another box; the only thing that changes is the `mcp_url` you point at. It exposes Beeper's *watch / send / fetch* capabilities as a small set of MCP verbs, and multis is a **pure MCP client** that never touches Beeper's raw API:\n\n```jsonc\n// ~/.multis/config.json\n\"platforms\": {\n  \"beeper\": {\n    \"mcp_url\": \"http://localhost:23375\",     // beeperbox endpoint — localhost, or a remote box's address\n    \"mcp_token\": \"<token, if you set one>\"    // optional on loopback, required over a network\n  }\n}\n```\n\nDocument indexing from chats (drop a PDF in a Beeper conversation → your KB) rides the same beeperbox verb surface, so it works even against a remote, MCP-only box. Requires beeperbox ≥ 0.8.0. Full per-mode setup is in the **[Customer Guide → Platforms](docs/01-product/customer-guide.md#6-platforms)**.\n\n## Quick start\n\n**Install globally** (recommended — no clone needed; requires Node ≥ 20):\n\n```bash\nnpm install -g multis\nmultis init             # interactive setup wizard — platforms, LLM, PIN\nmultis start            # run as a background daemon\n```\n\n> **On npm 12+** (Node 22+): npm now blocks dependency install-scripts by default, so multis's native modules (the SQLite store + the semantic-recall engine) won't build on a plain global install. Allow them explicitly:\n>\n> ```bash\n> npm install -g --allow-scripts=better-sqlite3,onnxruntime-node,sharp,protobufjs,@matrix-org/matrix-sdk-crypto-nodejs multis\n> ```\n>\n> Or allow them once for all your global installs: `npm config set allow-scripts=better-sqlite3,onnxruntime-node,sharp,protobufjs,@matrix-org/matrix-sdk-crypto-nodejs --location=user`. On npm ≤ 11 (bundled with Node 20) the plain install above just works.\n\n**Or from source** (for development):\n\n```bash\ngit clone https://github.com/hamr0/multis && cd multis\nnpm install\nnpx multis init         # interactive setup wizard — platforms, LLM, PIN\nnpx multis start        # run as a background daemon\n```\n\nThen message your bot `/help`. Full walkthrough — setup wizard, every command, troubleshooting — in the **[Customer Guide](docs/01-product/customer-guide.md)**.\n\n## What you can do\n\nThe map, not the manual — every command and its full options live in the **[Commands Reference](docs/01-product/commands.md)**.\n\n| You say… | multis… |\n|----------|---------|\n| *plain text*, or `/ask` | Drives the full tool-using agent — searches your indexed documents (answering **with citations**), and when you ask it to *find a file, read something, or run a command* it uses its tools and does it rather than telling you to do it yourself |\n| `/index <path> public\\|admin` | Ingests a PDF / DOCX / Markdown file (parsed + chunked via litectx), scoped to the public KB or your own private (owner-only) knowledge |\n| `/exec`, `/read` | Runs a shell command or reads a file **on your machine** — gated, PIN-protected, owner-only |\n| `/mode business` on a chat | Turns that chat into an auto-responder that answers from your KB and **escalates to you** when a human is needed |\n| `/mode` (no target) | Lists your recent chats with their current mode to pick from — same-named chats are tagged with their last-active date so you set the right one |\n| `/name [new name]` | Names the assistant — in personal mode it replies only when called by that name, and every reply to a contact is prefixed `[Name]` so they know it's a bot, not you |\n| `/remember`, `/memory` | Keeps durable notes per chat; recent context stays hot and old context fades, so it remembers what matters |\n| `/remind`, `/cron` | Schedules one-shot reminders and recurring tasks that survive restarts |\n\nSingle-owner by design: the **owner** is one identity that can span any number of trusted devices sharing the account and can do everything; a **customer** in a business chat just gets answers and never reaches a host tool. Host actions resolve through one governed core (intent → declared capability → ceremony), so there's no raw-shell front door.\n\n## Built on the bare ecosystem\n\nmultis is mostly *wiring* — the hard parts are vendored from a family of small, local-first, single-purpose libraries. The value each one buys you, in plain terms (the engineering detail lives behind the links):\n\n**What powers multis today**\n\n- **[bare-agent](https://npmjs.com/package/bare-agent)** — the think → act → observe brain. It's what lets multis *use tools* instead of only talking: call the LLM, run a tool, look at the result, repeat until done — with retries and a circuit breaker so a flaky provider doesn't take the assistant down, and a scheduler so reminders fire on time.\n- **[bareguard](https://npmjs.com/package/bareguard)** — the single gate every privileged action passes through. One place that decides *allow / deny / ask-a-human*, keeps an append-only audit log, enforces a USD budget cap, and confines commands and file paths to what you've allowed. This is what makes \"it can run things on my machine\" a feature instead of a liability.\n- **[beeperbox](https://github.com/hamr0/beeperbox)** — 50+ messaging networks behind one clean interface. multis never speaks WhatsApp or Signal directly; it asks beeperbox to *watch*, *send*, and *fetch attachments*, and beeperbox handles the bridges. That's what turns \"a Telegram bot\" into \"an assistant in every chat you have.\"\n- **[litectx](https://npmjs.com/package/litectx)** — ranked, on-disk memory and document store. It indexes your PDFs/DOCX (parsed, chunked, citable), remembers conversations (recent context hot, old context fading via activation decay), and keeps every tenant's data fenced from every other's. The homegrown store is zero — multis only shapes policy on litectx's primitives.\n\n**The wider family it can reach into**\n\nThese are siblings multis can grow toward — same design DNA, drop-in when the need arrives:\n\n- **[barebrowse](https://npmjs.com/package/barebrowse)** — a real browser for the agent, so it can read and act on the live web.\n- **[baremobile](https://npmjs.com/package/baremobile)** — Android + iOS device control.\n\n> The bare philosophy: small libraries that each do one thing, run locally, and compose — no 200MB framework, no vendor lock-in. multis is one of the first products built from them.\n\n> **Under the hood** — message router, skills, LLM layer, and the bareguard Gate, with documents + memory stored and recalled through **litectx** (a thin policy wrapper in `src/context`). The full architecture diagram and source map live in **[system-state.md](docs/00-context/system-state.md)**.\n\n## No Beeper? Self-host Matrix\n\nIf you'd rather not route through Beeper at all, you can start from scratch: run your own **Synapse + mautrix bridges** and point multis at them. It's the maximum-sovereignty path — no third party in the chat path — at the cost of more setup. See **[multi-platform docs](docs/02-features/multi-platform.md)**.\n\n## License\n\nApache License, Version 2.0 — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}