{"_id":"@agentvault/grok-bridge","_rev":"24-b0377030b626aafa10ebce11e138c4ff","name":"@agentvault/grok-bridge","dist-tags":{"latest":"0.4.17"},"versions":{"0.1.0":{"name":"@agentvault/grok-bridge","version":"0.1.0","license":"MIT","_id":"@agentvault/grok-bridge@0.1.0","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"0aa70debb8ebfd9c03eed457d7e92ce7ed288e9c","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.1.0.tgz","fileCount":29,"integrity":"sha512-4wNRfdfXs53kY45Y3WLTCND83ucMcDCXc3dJpDpIu+WCRI2PhYec3Bmui+h7rjooNEZ+Fc9GnJHQZRUcfhrVFg==","signatures":[{"sig":"MEUCIGdiH3GUPUZEQht1KpCk0KjmnqLamJRv7oAHvSB88p1dAiEArmdk198qEtmtSCvI3QdSMkJ/LGsDZIakDY+nZKeJScI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4547706},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"95a34a25ad2e81f1af153f4c7ab899b6edb3a588","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.1.0_1786829275990_0.7324717940802836","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agentvault/grok-bridge","version":"0.2.0","license":"MIT","_id":"@agentvault/grok-bridge@0.2.0","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"5c9c293f55c3ad0c17822a05865cec8fbe497d78","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.2.0.tgz","fileCount":32,"integrity":"sha512-V/ybhTkbYG0MHvTkyR9MXVqsv7Vw6Oe8jaDmHiEIA0be/5RzVM6+wz6wsRCj2bgfV1MfLQYnfAAxE6m9u802dg==","signatures":[{"sig":"MEQCIEB/ubsBXAVHWsY9FZ4pTfzsHzrC+TkZh7xMRqFySmnGAiB6fgLRWrNSCCQ2RhzDbpKYWkRhHQyjTKbQh0l+sHsB/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4568165},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.2.0_1786897841407_0.46504972189059934","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@agentvault/grok-bridge","version":"0.2.1","license":"MIT","_id":"@agentvault/grok-bridge@0.2.1","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"41db5ecbf2ae9dedb3153a74c54b384737f87699","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.2.1.tgz","fileCount":32,"integrity":"sha512-1/EZHWLGTY/gioLCV+3g3VsmrS3iSk0Vpd8uFsbBOkKCa+zexsCWf0WCohNi5+cBsS6nwvTJ9+OCt9tGDK472A==","signatures":[{"sig":"MEUCIQDcyoNm7j3QFJq3ef2rksyR26jIF0qosAMcd0HC3x6KeQIgPsHBrtbR41r3AnQItJOXEmvwb/v/P7DL+Ebl2JvkUWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4572122},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.2.1_1786904587881_0.9208931509813116","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agentvault/grok-bridge","version":"0.3.0","license":"MIT","_id":"@agentvault/grok-bridge@0.3.0","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"c9ccc629c50eef005bd17c3488f5c3eb573d7600","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.3.0.tgz","fileCount":33,"integrity":"sha512-z5zTPmXoMm8DDu2wfeW7jq8Zk3Yn9vAoBMTDZ9JKbNVXQx8YO1dhD4+YNCo00PQZkq+W10cE4v8kZfYHur931Q==","signatures":[{"sig":"MEUCIBd7lfevLUeXWIqph0BYqfhugbz0uM3eCwx6iqCuDhQMAiEAnCV65M05VvIdVd8cUl3p7AZgrXJkUMOi7CrFTG03os8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4575333},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.3.0_1786906175564_0.8135298586795341","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agentvault/grok-bridge","version":"0.3.1","license":"MIT","_id":"@agentvault/grok-bridge@0.3.1","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"6cc4e5a76fe265cec72b32df9232220236763a97","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.3.1.tgz","fileCount":33,"integrity":"sha512-/ijsODnD4qnll8xrUH57646xnHkrXZDfA70CDJBjVJEpUKWeiSO3VD/NfSng51K3BX9xc6k7Jw6//47+E+Tuxg==","signatures":[{"sig":"MEQCIFzY00FEVslcsiMHG3aZd0ICIYUHRhosLB4cVBr8lbYjAiBfDlnmoISBmNt1plQKebWkUqWehqH89rekbjdnOHu3eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4575604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"198e42325b7930f090b9aba10a6e05853c83af5b","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.3.1_1786984936624_0.9864697255589896","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@agentvault/grok-bridge","version":"0.3.2","license":"MIT","_id":"@agentvault/grok-bridge@0.3.2","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"8568f25478e1ba8568582f77b916f27955d0313c","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.3.2.tgz","fileCount":33,"integrity":"sha512-uUtlNjBeJCtJ49zIrrSM9CXZtX6m3PFkzvD+fLVn7poiRyfsOcG9lI3WhfpW5AonwDCfb2G6oaUjGdEV70XiOQ==","signatures":[{"sig":"MEUCIFJX6o5eWuJ1fzVymtgY//2XgW+AnbiiI6DEgWbrKc0dAiEAuApXCgp8HihDcOi+fC3dCDp/vHXiw15M6Y3/5sVwe0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4576958},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"c3c9bbf0546a423610192acb71179039736cde75","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.3.2_1787078410396_0.5247584460963033","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agentvault/grok-bridge","version":"0.4.0","license":"MIT","_id":"@agentvault/grok-bridge@0.4.0","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"a8696a4b1cb66e38e4d88f50a78e7e81d1351bc3","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.0.tgz","fileCount":39,"integrity":"sha512-lghIYeqPb4sGqNiNcbV/hSHkwsPG+MRUGGQxDsdujdVdEMrg1facamBD8UcCrxlyBoIgfRkERVT2tHXwBFaiJg==","signatures":[{"sig":"MEUCIQC1QnqgUceAPIMt//8Vn/O52gVXajPGXv0WeTTA+LRlLQIgWpGcJMyr62VBdEAZsRj1SzN286NqjUYtoYcyA4B3mlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4603395},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6b9881c47367b340af7ffa0583a4fe97296d9362","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.0_1787244833514_0.7506633310307154","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@agentvault/grok-bridge","version":"0.4.1","license":"MIT","_id":"@agentvault/grok-bridge@0.4.1","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"97513a5bce10851fe4bce99134d5ea448869ac57","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.1.tgz","fileCount":39,"integrity":"sha512-V13LueGu56U1gxonenfk4sEmraHNQJu5FEpAidykoGz+HQ6Zd1sohBaA5nBlS+QuXLo2HD9u1tC9RkT0TmOVyg==","signatures":[{"sig":"MEYCIQC5I/2HFsRBBILfERr0dgnLhBQtc/lhpocRyWb7ZRNm9QIhALq/gYrn76qADC60Cb67bID0Xlk4titoTJvq/3QgMm8b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4618924},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6d5320b4f39e58294056f7a06b7186abe6facf9f","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.1_1787853701431_0.954744715701012","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@agentvault/grok-bridge","version":"0.4.2","license":"MIT","_id":"@agentvault/grok-bridge@0.4.2","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"c974841bcb92bcdb533bbef3d171873bdb3e1211","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.2.tgz","fileCount":39,"integrity":"sha512-xm5EowbrIEiNNcN5hXEO/ataqeOgd9DpgB6ff2YBg05MRBbu3UFvb0kPUX03IEAM3A73Vdm/JwfViy7wC0bCpQ==","signatures":[{"sig":"MEYCIQDiqtBtWR6eOM8aBeKRc4h1GJWbKqaEpiwE7162l7yCjgIhAPAYA1WIgoYJ1aNQ3zxmbszQckwY5i9OeABaRRcJFqP9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4628225},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"4f5cba08c81ba2ff521de5a66f7dc34e675291fe","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.2_1788108354858_0.44063578012907834","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@agentvault/grok-bridge","version":"0.4.3","license":"MIT","_id":"@agentvault/grok-bridge@0.4.3","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"496923a9733a3a6f36aec1a1cfc27f965b551b22","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.3.tgz","fileCount":37,"integrity":"sha512-KfC7v4GiQVGdoGM/Msc4868Vt5Tg/D6Ang5l3SthESLZfvRHqLAZDsmNFyMzesL9vgCbApfelSBLQannRnb+Ww==","signatures":[{"sig":"MEUCIBisuTwzK/p1tGp8Abd5s00wdTl4YleCn7kjr+RkcVr1AiEAv2WKcdm26sD3yApDYFxybEJ9UrTEkvf299HF6g+F6cY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4625091},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.3_1788179130635_0.8344229222846644","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@agentvault/grok-bridge","version":"0.4.4","license":"MIT","_id":"@agentvault/grok-bridge@0.4.4","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"866c54e715d462196a14559c4d756a37f8a41732","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.4.tgz","fileCount":37,"integrity":"sha512-0xUU7m26cfW/3hJMX5vXhPFp5gfr5SExf0drp2O8I8EUEPioV468OcarK6VL02xmzyc/ClNrbelq3w2RM0aogg==","signatures":[{"sig":"MEUCIQDVmJYaveipruhQ9mvAYAf8I54g5dSQ5foYSJ+0LVofrgIgL+70OoakWcj6W2PGA2DUShaQjgtjbgfTWn8pLlWExmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4633741},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.4_1788201353844_0.9114510331671337","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@agentvault/grok-bridge","version":"0.4.5","license":"MIT","_id":"@agentvault/grok-bridge@0.4.5","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"ca833dc8905a9c7e5cf5ce3075bea2a075dbb4ac","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.5.tgz","fileCount":39,"integrity":"sha512-mwMUEGrYKnBUIFSHYiHGbuUpa2AtnzLwxaYUnJSDbZ+ZBE/XAkniwK32enH25PpNfYYEiv8h6znOJDb4KP4fzA==","signatures":[{"sig":"MEQCIB5aph8/3tXxTPekni9dIXCa0hb7VKUM9PS5mrF50/hTAiAJGEofu9WkY8J3Kls5reu2ayCCF77DYQv068tZSjK0Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD8+BZrXrtxQ/QVf2XmHXLmbafOLng6Eq6X2+zHfozDyQIgPC8MRLhmqIEOxCLJhaFBHRpGB8ktJO9Udf9ITQTSW9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4638911},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"564f8b150cafe115038d472603bdc18109afab9a","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.5_1788454670055_0.9032838158001344","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@agentvault/grok-bridge","version":"0.4.6","license":"MIT","_id":"@agentvault/grok-bridge@0.4.6","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"d6c2ec77e2a58e167dc01990b2c9052e3e9412a5","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.6.tgz","fileCount":39,"integrity":"sha512-OWzwyMB3T3EBEJH3wHUrLPyKjzR5aGoyvCX9vdVphZoxyuSZGGotvlaPLshwUKp0NrHvJAaGjKRw9LHoG6zyaQ==","signatures":[{"sig":"MEQCIGvpVv55jubSt6JJ9GMFymq4kRP6ZgaI7Qg5nlce1afcAiAZJh5AHp7JQW3T0fypRJ8uHNzth2jlB9uUc1BqO74cpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCwNssQ7TgXT/Qi1fvI6qX9xpAy7YIX9BuhqcbBLJ+khwIgDS6ikFnHyeFE0HWj2vJmdrvhYVr2GRo1ph8cNy4zVnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4640694},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"7b91f2f783921cab96998c8deb5d1b4e82163b1e","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.6_1788524678985_0.7637415015809887","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@agentvault/grok-bridge","version":"0.4.7","license":"MIT","_id":"@agentvault/grok-bridge@0.4.7","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"7f7d6ceb8bfc12d988cb82ad5b7666efb94b93c7","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.7.tgz","fileCount":39,"integrity":"sha512-f1ROc9Dc0j2PjNAuU47t5HbrTtoPpTc/xILczoxW1lZCaylAuRmLTySPjNqqFK4O0do7JzpEKxdC3P6GiCJEXQ==","signatures":[{"sig":"MEYCIQDO53R6N2RrRQsaeukBO7ZNQEmI4eUrQisTJt2dOvwcrAIhALQ7x2zWAmJYWb01T7pwwwCTpHpaYtA0K7ofJtvFszY4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCE9vnSbGvxZV4ejaNpwSXOUgjl14pV40xwqSfMcc699wIgAfX3Urn5NMBq1a/FYjEsbElMlq3Yih//tm1O3YaSjT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4642280},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6b305cacdf34ebee9231532386763a9de2b16136","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.7_1788525780608_0.13175618144008405","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@agentvault/grok-bridge","version":"0.4.8","license":"MIT","_id":"@agentvault/grok-bridge@0.4.8","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"64187a4e8087293f928c20b24e7f0032e66e06ab","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.8.tgz","fileCount":39,"integrity":"sha512-Q6mZ64VVUghmr1zY8tIvkL0BqzbzIpvcCiQ2WFskyZX5VVFOzfXibYx8rTLaRbX0RQTMN1+2nz7X9WvhpViXsw==","signatures":[{"sig":"MEYCIQCDmJDdmpjt0L1+Tm58jZ5ALC1RjjZvwZFs/qIJY9YKRAIhAOZ+hNqbUoJnPsZ7I2JZGevdPYm9p+xPyneauhQNY6hL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQnsAGiH5HPnr9z5ctWMY45m9szoP5RXnKfZXW6EXdQAIgYubXIuxMOacIuabGCsaMnkex6otbVLhnrFeUYgh31xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4642128},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"bcb9297bdb28648cd1ac648fa133725fc338bc54","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.8_1788528450989_0.9675969195748497","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@agentvault/grok-bridge","version":"0.4.9","license":"MIT","_id":"@agentvault/grok-bridge@0.4.9","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"ccb3fab86ad048457dff80e8fe30a9df7187e3fa","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.9.tgz","fileCount":39,"integrity":"sha512-O0RuYflg68UwCp30arxpsiUkNJBZaBWdlFTsu3045er94a9gWxxBU/CmuNjeYIwQXuzmGxF+SraTgGcz33giRw==","signatures":[{"sig":"MEUCIQC+go6LkfqSUyapRs00zSBYbRpdTYFfIdru7biy6zp7UwIgCvlGSOI1eeIms8qACG24smJBDMCKXX0jMDtEtouX/es=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDt7DOq6CxRCq8zUlSyfw+E8w7UQCK+1HT5BmbGVsaOnAIgaDG6TB0YNWhRSvf6SVtvSD8t77KDpP1zGB0WNAAQGjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4644028},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"56c615c13932cb7b870f0e7dfc73dee88a2bf73e","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.9_1788614312692_0.2932239209615899","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@agentvault/grok-bridge","version":"0.4.10","license":"MIT","_id":"@agentvault/grok-bridge@0.4.10","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"6c3453d3b4db74f3cdafef944d21387e2c467102","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.10.tgz","fileCount":39,"integrity":"sha512-C2SPtcwZzTR1orNX3VEiJ3ZM8CFvZ6Uhf4VHqbzLLjOwLUpkxLmyvsrMOfn2fXACSDJJQ877oDw7MatEwYLwhQ==","signatures":[{"sig":"MEUCIQDZyMCqbMt8A0uVOccIz7ISrNTxGhAM6an2bcW8sCR/zgIgApiOz3oYxwoVMOor6+ZXzcYlg0m+P5iDQH2UWlEjdNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH4hc/5W+h1r/emkR+dMr1DSZYLeoGpKAzjZm0gW2p49AiAoqwOHj+WMitQbwGA5/ZejGLFkM/05k0VDf6jyF7H4sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4644093},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"58c552ff553b2c44d2306e3fbb7b980b7090056f","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.10_1788616498387_0.06194685916051057","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@agentvault/grok-bridge","version":"0.4.11","license":"MIT","_id":"@agentvault/grok-bridge@0.4.11","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"4bd0b98c4f76b3168693a6411bcdaf557e716d65","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.11.tgz","fileCount":39,"integrity":"sha512-SqRvHPeKoKSbm3T1+qXO4tGSd5sZU35wPTWJZ340w1vDBCi/h7k481om8ct7w0UtYeWP24Jlo6d7FaRa1zLd6Q==","signatures":[{"sig":"MEQCIBtHIi9tZUW1AjNiZ5ggOxUzNV1kUn36bh32fKjzutXhAiAvQhO4SDWOcFcALouUd/IJu0jsAY03TGa3fgh0xpj76w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCdgHGLXOm7OyAvKURDMn9g+siYxBGRDnm1c4xQu37vmQIgQJu+9dD2sJ3ftmWdc1sngXFyP1wZt4K/EQR59MBr77E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4644324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a6ce36047a3bb0cfe13bc097b0ad4ee915a7547f","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.11_1788618057080_0.6545667116061333","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@agentvault/grok-bridge","version":"0.4.12","license":"MIT","_id":"@agentvault/grok-bridge@0.4.12","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"36ec645be18c2a23090bdcb71afa6d1ba05082dd","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.12.tgz","fileCount":39,"integrity":"sha512-eYny7o9KpcBTVw0Phlk+WWfohYiBwunktgGTqRbT0zE4Fe6dSXq5ae+Z4IRVLGDiU18REG7uE9zxFQesAxVjvQ==","signatures":[{"sig":"MEQCIA2Ep4Me37nojWMt5EKweCLXCd3hmVfmV1rsnVqabRo5AiAhFJk4XBwzUjhBfDb/Hx5sN7SqYj3VCh3VD5mnAu+QKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD23hZ0WogDKNumQhT1Kynf91EOLKCLzRbUt0ZZLgMcrwIgdqMtctZOYgwqCilj24iwxkJuR6yD8tMcAeF6kdD9Kho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4646162},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9982fc8de4b932e6bca0222d23c62375204d13cc","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.12_1788628433218_0.24876538424207428","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@agentvault/grok-bridge","version":"0.4.13","license":"MIT","_id":"@agentvault/grok-bridge@0.4.13","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"86820813826f124654d14871c398dcf46caf6d7b","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.13.tgz","fileCount":39,"integrity":"sha512-CnKfaCvmMup3NfdWbpNLVcu2xEOzwrnmlF1vNoZCEeN5ozr/mbXND3H7RpQXwKq/gnJAhFBERShmvv/c9+hZWg==","signatures":[{"sig":"MEUCIQC7TatqyvvTu9cF9yMlAzX2f/STlSdaW/fWx41P/y7wQQIgUtgURGqXWSY29xmhET9dPiGsTPKDHrDBqaertuScUfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGeZH+N0dB97E6vJhB8csPrrIvk8QdyArYC8w2xrcw5XAiB8fueqGMxNFxhAHTAvlkdUvUykQAjFn38GRUayXzBDJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4665554},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"dbac15dc36923f5bb705d3bb1e47c8fa949d2581","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.13_1788876145335_0.19608390112572316","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@agentvault/grok-bridge","version":"0.4.14","license":"MIT","_id":"@agentvault/grok-bridge@0.4.14","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"323f4e2569108f7db1b737a628275520cf1a48cf","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.14.tgz","fileCount":39,"integrity":"sha512-QQnNAizGoLrtiQNvxNPB6i/E9BPgeJxdERCzWNPFa3idaLBUUtb1uR8U1IMsPzVHmlAFsS/PZxDnLAU2BsqJwg==","signatures":[{"sig":"MEUCIQDzDGhJnlYFUDZnlVOcRcsirLn9Ppi8dxYISVYsIkdM5AIgOsWNIrplTyWSLb50wGJ0GbvavK+2hMhb5JVncDES8zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBR4z6604uRRgzLxJVZ/v5GaoPhTJPq1/pMIfRyXhviwAiBQJosBtoEvJyjh1DYJfn/zcwFQSQrTcGbvPlueZCf9Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4679773},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"916d6c5d0025349401684176ca763c20cdd89cdf","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.14_1788881012714_0.04393305524736779","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@agentvault/grok-bridge","version":"0.4.15","license":"MIT","_id":"@agentvault/grok-bridge@0.4.15","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"225bbd3e31036c77805ca6f2beeb7851e00d21f8","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.15.tgz","fileCount":39,"integrity":"sha512-miFDozeXDPo8GQ4gVi7vp46+qWRfaFesaRYA3xVCiQcG6cfEykQ/S0Hxdsv6AqKnvAgC+9hSxuVyaMhvrLw2uQ==","signatures":[{"sig":"MEUCIQDP7eOvzw8dKgMigtuEp2pTXPn+gv+Iyb13Zc6YiXsgewIgLAjQ/mUG/TQqXwjXxCdCjneGuP32cTF4mKihdugiUow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDQgUzeWBesLuaoZSSI4G2UKx7FTeJmr40jdmGpN6xSoAiEAlzpKjOCOI38nABxnqc+DEsMFJqjv/CWZ47q8Csqust0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4680645},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d9d53a0459b7165ca50f408245c2a29dd99d752d","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.15_1788959400514_0.7201714709063767","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@agentvault/grok-bridge","version":"0.4.16","license":"MIT","_id":"@agentvault/grok-bridge@0.4.16","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"b5fba2a66a0769ba28b86f49a1e182a81818edf2","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.16.tgz","fileCount":39,"integrity":"sha512-gpgfzuXmT3qlnK8JsYJBonMTXE+2vMATNKZdG2FoQsBeipSQJ2uPpPuYER+em4pfVSBfrj3rxjziJ843UPNMNg==","signatures":[{"sig":"MEUCIQDx7d+/FIqG6Vdz/vUUoQjF725iERthf6NurESaCoF/EQIgOHd8pNqZKhWcA0VZBeJyNxmVPabhA0cNbZ74BxOh+/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAjJoF7nUafF1gt55donEcMQrRuW8BFpdaDq53A38ahKAiAn7skyp4m1BNtDa6SiqlzeOY8eENZ8+dPbTS1BBBmctw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4680713},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"07fcc993143f7a3152639821c19a664ba4fe412a","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"tmp":"tmp/grok-bridge_0.4.16_1789302694458_0.9567950299962156","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"_id":"@agentvault/grok-bridge@0.4.17","bin":{"agentvault-grok-bridge":"dist/index.js"},"dist":{"shasum":"c38a7e2318da71fde1c2321972f1698dea873910","tarball":"https://registry.npmjs.org/@agentvault/grok-bridge/-/grok-bridge-0.4.17.tgz","fileCount":39,"integrity":"sha512-g8BTY8MhaU9JQExsa49u1dTpnQMXyWVJtDkQopVBakPxdvhaQeljrHdLJ1z/Q58iZ9v+f+lvRM8T9R8Y/vOIcg==","signatures":[{"sig":"MEQCIEba9cqbzpMg8eipGFEFTQCCD+TW/h27frRxdmj3J/D7AiAcpFILaRai3rwrwtiE5s+ScHv/ZR+uz7JNAB038pC6SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAGvFXpEgqONfGhEtj3RoO6nRPJKd4xxJawq725oEz5VAiBw6h5MX4sE1SEQlCHIKuPMENA+snDq1Qr0NrzOL0nmzg=="}],"unpackedSize":4681120},"main":"dist/index.js","name":"@agentvault/grok-bridge","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"765ae192e18679e9c1bf57332b5b489b801a0c64","license":"MIT","scripts":{"test":"vitest run","build":"npm --prefix ../plugin run build && tsc --emitDeclarationOnly && node build.mjs","start":"node dist/index.js","gate:mac":"RUN_MAC_GATE=1 vitest run src/__tests__/sandbox-gate.mac.test.ts","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"version":"0.4.17","_npmUser":{"name":"motiveflow","email":"eric@motiveflow.io"},"_npmVersion":"11.17.0","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","directories":{},"maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"_nodeVersion":"26.5.0","dependencies":{"ws":"^8.16.0","zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","esbuild":"^0.27.3","typescript":"^5.4.0","@types/node":"^20.0.0","@agentvault/agentvault":"file:../plugin"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/grok-bridge_0.4.17_1789304658072_0.6954280497022078"}}},"time":{"created":"2026-08-15T21:27:55.884Z","modified":"2026-09-13T13:04:18.404Z","0.1.0":"2026-08-15T21:27:56.186Z","0.2.0":"2026-08-16T16:30:41.631Z","0.2.1":"2026-08-16T18:23:08.058Z","0.3.0":"2026-08-16T18:49:35.734Z","0.3.1":"2026-08-17T16:42:16.852Z","0.3.2":"2026-08-18T18:40:10.657Z","0.4.0":"2026-08-20T16:53:53.719Z","0.4.1":"2026-08-27T18:01:41.603Z","0.4.2":"2026-08-30T16:45:55.014Z","0.4.3":"2026-08-31T12:25:30.803Z","0.4.4":"2026-08-31T18:35:54.088Z","0.4.5":"2026-09-03T16:57:50.187Z","0.4.6":"2026-09-04T12:24:39.131Z","0.4.7":"2026-09-04T12:43:00.746Z","0.4.8":"2026-09-04T13:27:31.109Z","0.4.9":"2026-09-05T13:18:32.825Z","0.4.10":"2026-09-05T13:54:58.554Z","0.4.11":"2026-09-05T14:20:57.208Z","0.4.12":"2026-09-05T17:13:53.341Z","0.4.13":"2026-09-08T14:02:25.447Z","0.4.14":"2026-09-08T15:23:32.819Z","0.4.15":"2026-09-09T13:10:00.635Z","0.4.16":"2026-09-13T12:31:34.599Z","0.4.17":"2026-09-13T13:04:18.222Z"},"license":"MIT","description":"AgentVault Grok Bridge — daemon bridging a Grok agent into E2E-encrypted AgentVault direct messages and rooms.","maintainers":[{"name":"motiveflow","email":"eric@motiveflow.io"},{"name":"motiveflow2","email":"chris@motiveflow.io"}],"readme":"# @agentvault/grok-bridge\n\nBridges a Grok agent into E2E-encrypted AgentVault direct messages and rooms.\n\n**This package is a separate entity from `@agentvault/claude-bridge`.** They share\nno runtime code. The only shared dependency is `@agentvault/agentvault`, the\nprotocol and crypto library.\n\n## Usage\n\n**Prerequisite:** install Grok and run `grok login`. The bridge copies that\ncredential into its sandbox once, at first run.\n\n### One paste (recommended) — `--install`\n\n```sh\nnpm i -g @agentvault/grok-bridge\nAV_AGENT_NAME=<agent> AV_INVITE_TOKEN=<token> agentvault-grok-bridge --install\n```\n\nEnrols the agent, waits for you to click **Approve** in the dashboard, installs a\nsupervised OS service (launchd on macOS, systemd on Linux), and **exits** — so\nyour terminal comes back and the agent survives closing it and rebooting.\n\nThree things worth knowing:\n\n- **`npm i -g` is not optional.** The service bakes the running entrypoint into\n  its launcher. Under `npx` that is a package cache the package manager later\n  prunes, so the service would work today and die silently weeks later.\n  `--install` refuses an ephemeral entrypoint at startup, before your single-use\n  invite token is spent.\n- **`XAI_API_KEY` is NOT inherited by the service.** A supervisor does not read\n  your shell environment. Use `grok login`; the bridge refuses to install a\n  service that would have no credential and run mute.\n- **Re-running is safe.** With credentials already saved you can omit the token.\n  If the installed service is current it is restarted, not re-installed, so\n  settings baked at install time are preserved.\n\n### Foreground (no service)\n\n```sh\nAV_AGENT_NAME=<agent> AV_INVITE_TOKEN=<token> npx @agentvault/grok-bridge\n```\n\nRuns in the terminal and stops when you close it. Unchanged by `--install`.\n\n### Managing the service\n\n```sh\nagentvault-grok-bridge status      # is it loaded?\nagentvault-grok-bridge restart     # pick up new credentials / recover\nagentvault-grok-bridge uninstall   # remove it\nagentvault-grok-bridge logs        # where the logs are\n```\n\nUse `restart`, **never `install`**, to restart. `install` rebuilds the service\nfrom your current shell and re-bakes `PATH`, silently discarding environment\nbaked at the original install.\n\nLogs go to `<data-dir>/logs/grok-bridge.error.log` — the bridge writes to stderr,\nso the `.error.log` file is the one with content in it.\n\n## Copied-from ledger — REVIEW PERIODICALLY\n\nThese files were copied once from the Claude bridge and are now owned here. A fix\nthere does NOT reach us.\n\n| File | Copied from `packages/claude-room-bridge` at | Last reviewed |\n|---|---|---|\n| `src/config.ts` | `73a770168a5df33a51f06c8875444f55c9241c07` | `73a770168a5df33a51f06c8875444f55c9241c07` |\n| `src/log.ts` | `9b28a272e87600e78627dbd0f53fcbd192e01e73` | `9b28a272e87600e78627dbd0f53fcbd192e01e73` |\n| `src/bridge.ts` | `f3a7d53f67246e59c471891aee667e002a23b701` | `f3a7d53f67246e59c471891aee667e002a23b701` |\n| `src/service/` | `16c95f46c654a34613aeb2a4ff94eeede9e671ef` | `16c95f46c654a34613aeb2a4ff94eeede9e671ef` |\n\nTo review one:\n\n```bash\ngit log <last-reviewed-sha>..HEAD -- packages/claude-room-bridge/src/<file>\n```\n\nTriage the diff, port anything that applies, then **move the \"Last reviewed\" SHA\nforward whether or not you ported anything**. Recording \"looked, nothing to port\"\nis the point: an unmoved SHA then honestly means nobody looked, instead of being\nindistinguishable from nothing having changed.\n\n⚠️ **Do not port `ActiveTarget.reply()`.** It reads the live target and reopens\nthe DM→room leak. It has no production callers on the Claude side either.\n\n## Ship gates — NOT done yet\n\n| Gate | Status |\n|---|---|\n| HTTP MCP loopback on **macOS/Seatbelt** | ✅ **CLOSED 2026-08-15.** `npm run gate:mac` (`src/__tests__/sandbox-gate.mac.test.ts`). Real grok 1.0.4, real sandbox: asserts `ProfileApplied … enforced: true`, `platform: macos/seatbelt`, `restrict_network: true`, **then** that the loopback listener received `tools/list`. Order matters — a sandbox that failed to apply would otherwise report a false pass. Mutation-verified: pointing the plugin at a dead port fails it with `ConnectionRefused`. Authenticates the way production does (seeded `auth.json`), so it needs **no `XAI_API_KEY`** |\n| HTTP MCP loopback on **Linux/Landlock** | ⏸️ **DEFERRED 2026-08-15** — owner call: Mac first, Linux later. Landlock filters TCP connect and may refuse the loopback that Seatbelt allows, so macOS proves nothing about Linux. The test exists (`landlock-gate.linux.test.ts`) and its workflow is **manual dispatch only**; it cannot pass until someone mints an xAI API key and adds it as the `XAI_API_KEY` repo secret. **No such key exists anywhere today** |\n| **CI runs this suite** | ✅ **CLOSED 2026-08-15.** `.github/workflows/grok-bridge-test.yml` runs `vitest` on every PR touching this package. First real run: 172 passed / 3 skipped. The 3 skips are the live + Landlock + macOS gates, all of which need a real grok and are opt-in by env var |\n| **Fenced fail-closed** | ✅ **CLOSED 2026-08-15.** Verified against the real `grok` 1.0.3, fenced, with a seeded `auth.json`: the agent raised `session/request_permission` twice, `Bash` was refused (`stopReason: \"cancelled\"`, `FENCED_BASH_REACHED` never ran) and `room__say` was allowed. The gate is a real control, not an untested branch. ⚠️ That same run found the gate was **too** closed — see below |\n\n## The fenced-mute bug (2026-08-15)\n\nA blanket `cancelled` on every agent-initiated request made a **fenced agent permanently mute**.\n\nA clean fence loads no permissions, so grok raises `session/request_permission` for *every* tool\ncall — including `room__say`, the agent's only voice. The bridge refused it, and the turn ended with\n`stopReason: \"cancelled\"`, `spoke: false`, and nothing said. The skeleton's entire milestone\n(\"reply in a 1:1 DM, and `room__say` in a room\") was impossible as shipped.\n\nThe design spec predicted it verbatim: *\"clean fence ⇒ everything asks … the bridge must explicitly\nallow it or the agent goes mute.\"*\n\n**Why 156 tests missed it.** `FakeAcpChild` never raises a permission request on its own, so\n`onRequest` was only ever exercised by tests that constructed the request themselves — and none did.\nThe earlier **unfenced** spike could not see it either: unfenced, grok asks for nothing at all, which\nis exactly why that run looked healthy.\n\n`GrokDriver.onAgentRequest` now allows exactly one tool — `GROK_ROOM_SAY_TOOL_NAME`, imported rather\nthan restated so the allowlist cannot drift from the tool actually shipped — by selecting the\nagent's own offered `allow_once` option. Everything else, and any non-permission request, still\nends the turn. If a future grok stops offering `allow_once`, it refuses rather than inventing an id.\n\nFour tests now cover the branch, using the frame shape captured from the real binary.\n\n## Security notes\n\n- 🔐 **Never run grok with `--debug-file`.** It writes the OAuth bearer token in\n  plaintext. Use `RUST_LOG=xai_grok_shell=trace`.\n- The room MCP URL carries an auth token. `.mcp.json` is written `0600` and the\n  URL is never passed in argv. It is still a credential anywhere it is echoed —\n  traces, crash reports, `lsof`. Treat any diagnostic capture as a secret.\n- Daemon auth is `XAI_API_KEY` in the process env (not baked into the\n  launchd/systemd plist) or a seeded `auth.json` inside the fence.\n- The fence (`HOME` + `GROK_HOME`) is required **even with tools off**. Unfenced,\n  grok loads the operator's entire personal MCP fleet.\n\n## Testing\n\n```bash\nnpx vitest run          # the gate — run locally before every commit\nnpm run typecheck       # a BASELINE, not a gate. Observed: 2 errors\n```\n","readmeFilename":"README.md"}