{"_id":"cli-jaw","_rev":"387-d540d6abd91fe19b0ebaf19701166fb3","name":"cli-jaw","dist-tags":{"preview":"2.17.75-preview.20261106212402","latest":"2.17.78"},"versions":{"0.1.0":{"name":"cli-jaw","version":"0.1.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"84fccd1ed172613dd87e4727caee93bdfb1319ac","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.0.tgz","fileCount":845,"integrity":"sha512-Yt1FLkHxgOtEEHTAbwKQFDnbTI23/prlTMNvCEsDlQN33ot7pxWTJrxZ/OHYscDbpgNoEYo5z5mfRAj1uA3Hxw==","signatures":[{"sig":"MEUCIQCdTuonrvnH+1neBOMtBXPGXDzMobKm/bvf1QpTXaRs8wIgHxl78iCo2q2OBxxMpWVRgFzYd8+bGIAl1KA6P3W9acg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12764006},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"4954a1737fa9a6abff12e1f991a13b2d992ff8c2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.0_1772013460848_0.770197469821452","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"cli-jaw","version":"0.1.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9b08544358c20c7db1f18b9c0572a1df8129fcbf","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.1.tgz","fileCount":847,"integrity":"sha512-3L/D6tk4jn9+ldvqNT6RQwoRfrx90n4I49Bijl5Gs1BMpshSeyeaIGUvkyjvMTo/bul9lrAY5fNifRXhd6GX1g==","signatures":[{"sig":"MEUCIAkp4Xv1Kazu8TJiigt+wb1AZcJx1cjdRVeMtKmpVT6VAiEAtbtGvv2A7aostFQifv8x0MQWjxQ/7oX+zF3cEQGcaPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13001566},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"4954a1737fa9a6abff12e1f991a13b2d992ff8c2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.1_1772014153369_0.29976454698774413","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"cli-jaw","version":"0.1.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e9d53de8f316f55842279fea9554dbd93f028474","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.2.tgz","fileCount":849,"integrity":"sha512-Au8hJ/hih63EHs7kiZMClHuaclLYExgUml6vZ9uGrymseDNQgOTS20pf3tmOzzPvLDEVMb/V0Wdk1s7JyB1oyw==","signatures":[{"sig":"MEUCIQDk+60mrlAfyhH72nhGI6IfwOM+zrvU84xl3M2JuV4JFwIgLo8wHPGTZ6mN1aSNhlJYqKk8QmqveED9xXM1HmwKUOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13017766},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"64dfc1b7a01e0a9e063780fb7679e58af790da03","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.2_1772014932770_0.8672023031391587","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"cli-jaw","version":"0.1.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"750366779f5e7fbb6a54d53b5460be3766ad9436","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.3.tgz","fileCount":849,"integrity":"sha512-CSoKsxJw9VPmA9nB2B4WpHSAdxp+s4dB35DZ96OWFVcuBaxiIeXId8muyWRW9fu0jqOlun1jThrDu/4mjj/CwA==","signatures":[{"sig":"MEYCIQCzltaC1nB4NQUCjT3/zouHrTJJifTGSjy4I8cuOTmoaQIhANKWcJ2PP70f8duqFoHUHfxuuTbSi31VgcjNJc7pMeb4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13018398},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"c9ce705c901eba804acd0f139e03973ae13a0023","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.3_1772016487384_0.8136735119713498","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"cli-jaw","version":"0.1.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c3eda3a087b8b91cea8d19f8d688ec180360c703","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.4.tgz","fileCount":849,"integrity":"sha512-ntHSY7BEjHJGDSXsByCfaQLBd5y+aILy7aTaYgEN0DQXFnx4OEx+PLsY7nN8P3Fe4tCKFYWGvwvl1ysNy58LdQ==","signatures":[{"sig":"MEUCIBd2NZZrpVNIbW3qZBDJvYBMmlk+2NaAuxy3YYJCRzVrAiEAoortcJ0FYV7iwSzXOJ9iOvbFCDt4MKFhTI/iAFu+lHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13019229},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"e6efe9d1150b2341e4fe5efe969cf213bd4274d2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.4_1772016888925_0.3707577835857505","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"cli-jaw","version":"0.1.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"42bed7a0cb5196a4cf09279168ea5fdaa16fcf58","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.5.tgz","fileCount":851,"integrity":"sha512-j/mCyzaSjO5sQEqj/DysM02vwdZVQaU+ZUSbyeL5KL5EkHcg8OH0l7VyJhTChAmBnwtc5r4F0s0XT6Msi6fd8w==","signatures":[{"sig":"MEUCIG6wzfGat9P7pxCff7HZwwZfzUmAkwh01psclRlyc/EeAiEArlBWBt1fX3QzYDU0w7s8/LEBJ5oY7+6c46sqXd3ShpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13067205},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"f1806d2475f4471068548ac51251162f1e8f5969","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.5_1772074623495_0.8102257523192227","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"cli-jaw","version":"0.1.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1150c584ecbacff8b6565cd185456e0c3fcd00e4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.6.tgz","fileCount":851,"integrity":"sha512-P4l8+ySOxTuCIxrNGEKpd81DlfER5Er/MUUl4w/zLJksLLBfvMdHXIEDKCAfZL1wwKl5bDn7AslW8ixN91gySg==","signatures":[{"sig":"MEQCIDsvaPCh4EIZB3meDg3sNFlR2nUnSxXJYW2bRo4lBrdBAiAvuOva96/kxzhUCH7tzsL+ZDOvWLkDvxiqO97Yyl6ddQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13065694},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"d00fed3ac24cae818b8bc0644e97fd2aa1c9bb8b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.6_1772075836438_0.008325481637087906","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"cli-jaw","version":"0.1.7","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/bitkyc08-arch/cli-jaw#readme","bugs":{"url":"https://github.com/bitkyc08-arch/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b56f89c4b9eefe9fca21a14107dc07efb16aee0c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.7.tgz","fileCount":851,"integrity":"sha512-2DXxf9JMYw9U1S/k12oKCh9sVfVi8E2hPxwoKO/Vr37k6ztsFu1gBFewzZH1gPAbrP58eqqbA6Qo4xsWghKXcw==","signatures":[{"sig":"MEQCIE6KToRlsJcJFERM0iaL9yAMdmhGJ3GW2YMfvpDqQfRnAiA7+NOQ1mhgf2gsSdRMewWOb5YK5/Mx7mz0ajJklEtQdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13067443},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"9e266eed402a7b38d1aec724abc1c168a6351efe","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/bitkyc08-arch/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.7_1772082844608_0.7492307310601107","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"cli-jaw","version":"0.1.8","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b0aaecc507a463ae64dba363880f4ff8c0a201dd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.8.tgz","fileCount":160,"integrity":"sha512-Z/mkwX7xm85nKiLEX6UiO8YT0Z548hc88mI2hDYpoflqg62SjmHxPipX1qHMq3IX3FcERBh9I7Cw14lXywe2XQ==","signatures":[{"sig":"MEYCIQDwiNQEn6X4xjr4pVx56jd+SQTm76UzaCH7Cw5MscyKnQIhAP8r97PqQYs7zf5SUPcUEPxNM2wPANtmcYHQb4ctu+4O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1381609},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"96e20062958ca77ab6813b6227f4e48c0ab6a84e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.8_1772091165435_0.32156120082210427","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"cli-jaw","version":"0.1.9","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4d605560d2e26163894df755978a43c1d1962e03","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.9.tgz","fileCount":160,"integrity":"sha512-JYAT5EHscq3y/QBg/jhv1HdL8prTulK/w8DadTvcZAoD0pB31w/RFv6N6rcLYbscoZfx5K1vBgV8m0upSkSydg==","signatures":[{"sig":"MEUCIFXa1Tng7t+LS4mp8P3av4EeW3X0EdWoeIdtwvKP9BhmAiEAq9DiaWLE6Y4o0y7vHBGa+Wuv9209YkEyX2R+2aY/iyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1382489},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"7e4d4b2ba49dac68d00d9b0e2bee9236687437cc","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.9_1772092496285_0.21438965077947247","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"cli-jaw","version":"0.1.10","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"cbc6b37cc432bc3e3461f21a4ca748d6dee04cd1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.10.tgz","fileCount":160,"integrity":"sha512-crFuOWvSo8WJijLmd2m3248QTaHkufZspaMfBKBBn9rVBldSNejUwAkMu+e53aYsLxVg/tBFtR0Ikit5xFlrQw==","signatures":[{"sig":"MEUCIFPm+fYahaQ8+VMHDmArHBmSKRR/JSzrBUQFnCTS4nQJAiEAhRiN49OylxUQeeSsdCqncykiJg8xsEW1d3z2CoJnSA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1383572},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"f7749f0db18ef4ce1aafa0c35030c643d3791ebd","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.10_1772092902499_0.773971568907672","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"cli-jaw","version":"0.1.11","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.11","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fbe8a263a1f1ccceb7753f205a1e4cea01833a34","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.11.tgz","fileCount":160,"integrity":"sha512-0yy8i/bJ9n7mLUsgFc+uuxeI81tmEsSNApNQz2ulhIEGfbhwBBNh6G04oHD0+EkEz9dILQEqlOs4UCyPE9dISQ==","signatures":[{"sig":"MEUCIC0MIEfhpcCfbGm9VPYTdhWMfqyZJrhfyu4OwACFYIFdAiEA/3bve3BIb7n8pUag5Np1lwbL2ivxseyw+yQ5ZvGNjUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1384500},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"1091f0d4131157b6cabb06fde82fb080c448843a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"tsc","typecheck":"tsc --noEmit","check:deps":"node scripts/check-deps-offline.mjs","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"tsc && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"node scripts/check-copilot-gap.js","check:deps:online":"bash scripts/check-deps-online.sh"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.11_1772093436324_0.4956929298075239","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"cli-jaw","version":"0.1.12","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@0.1.12","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c99082e33ab0df9c989c24b64bbe51c8a8a11910","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-0.1.12.tgz","fileCount":167,"integrity":"sha512-uvtldGUIF+l+2nbr6Vw2MTyScQzfsNVWVZ3oC76jWRuZG/lHTBthGlHpqeslQ44mCrZFC7VZ6laWijpLJZfM4g==","signatures":[{"sig":"MEYCIQDCzy6zT6wfMDJLYZ5BRgDmUSiEbrf5NzJe4MQ+NwQHWwIhAKgU4ujkWM73GL1vLY5tgHIgaUKgiUPxjgfr0nr4mhdq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1459000},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"d45420b7e5e4adb1d9dc3da561bb44201f9a6755","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_0.1.12_1772100532067_0.7892466062668309","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"cli-jaw","version":"1.0.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.0.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"63b09ecf5ddc8fcd783cd8992df1cfe868842f96","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.0.0.tgz","fileCount":167,"integrity":"sha512-yTHPtykpG/SWBgkG6xDAwkcQ7tKXDVmmPexMRWaW0C+Jp5jNo3BbVIm8lN4kUgLXvEoYDZ4ZGkl1uRB5xblFPQ==","signatures":[{"sig":"MEQCIDosKkOHfU5lerukbxPEqkqpZ0k0my5GnLeICvweMTDDAiB+JBs+tSR4JwYaxA8+rU3/G6kdKwutyhMFiIEP0kUhYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1458999},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"aba99f5de56d83de6cce4e2ea9254b6e41943831","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.0.0_1772100633324_0.7264239980734488","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"cli-jaw","version":"1.0.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.0.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ec922205775156001fa51eda1206b669636fbd92","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.0.2.tgz","fileCount":168,"integrity":"sha512-X0YxCyY5jifp0Z64uGCIGoTVVcyBI/OQXl9jMw2Ir99wIdEbVE796VkxTjpiyrj9Y7ZXnIiQXYd4ttXTLxv+Yw==","signatures":[{"sig":"MEUCIQC4qjZ3nXSfFUHhVToORVXvU853wgX2XopXWyuLZUPUoQIgLteJPijZrmIOM5u4V/c/qkD77I643aamaOoxXte4bYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1466462},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"44d13dd3e5f474e63cec1e7c27e920eb32358bb7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.0.2_1772121750671_0.28289049708926894","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"cli-jaw","version":"1.0.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.0.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f4c165b5babad16cc79aeef9c588668523662f33","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.0.3.tgz","fileCount":168,"integrity":"sha512-87rhMTFSwvJze3t0MV23Zr11R6cqgZsdQUJFI5jO2d62WFYYeFGnW3UCRYBYgeRTVqY1Y8jPgNbXF35JwPoFOQ==","signatures":[{"sig":"MEQCIG9yXA6t3NA4kzCpXqsLbyt+zwVZYWhBIiFQ0gHPxcdUAiBWGJxExoPBFUUFiG1pwunjNh/GcC0O5vgKOJOLgOe9Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1486958},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"45881a3a9c264cb7c13cc82876e0fc56838b5b00","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.0.3_1772129587896_0.7547322274905983","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"cli-jaw","version":"1.0.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.0.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3ee83c98e82b68a0abf287208d65e1ecb691b235","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.0.4.tgz","fileCount":168,"integrity":"sha512-DgDtVKixyGVHjruX++ZlcnumSUDWlX6n9BHlvNhh6aM3E3krelBLDvBK5cDrmj8UUVBY08HnJW7s1m2+gf+/Gw==","signatures":[{"sig":"MEUCIQDgfSWRMwthLEdR+1807d/83gY3sqvGccT9WKlvTxo7cwIgPGjZycqUOtWUDNOKDeOhnzbW2kGcUVGKq1hXqi91rTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1496371},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"b4e51daa33cd4097208fab9ae39a6de2d39f5993","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.0.4_1772131030011_0.014121210643420756","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"cli-jaw","version":"1.0.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.0.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b0a0efdc8ac8cc020240ee5938ec464d6c2314d1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.0.5.tgz","fileCount":169,"integrity":"sha512-YIswvMTSIv8PoEewoIhiT7Jsq7oF96wHeMA7cWRi4q00hf0E8F5mhqL90e5w1c+RlHcnZhB3llNuDbBz1qg3Zg==","signatures":[{"sig":"MEUCIFf0rVx0qE/TtEnQE1WQculjTQHGWALus4viWAE+gLKuAiEAkJO/q2CtiJjudaaTVyZf0h+VdypJ7L5lBnP+GKJIcmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1508048},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"c506f8c7c72441fbe35b3ed96731f4dc28974577","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.0.5_1772179542391_0.5765412718166303","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"cli-jaw","version":"1.1.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.1.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"21616648f401377960296331972ff7e0645ea367","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.1.0.tgz","fileCount":172,"integrity":"sha512-Ey0I+VN6GSOaz4OHUZU7jnhSRUWDKtbHhuX6dDNhqHHuNtpvWVL5iXqASUny1Mhh7fJtBTfld7j6qF0ibUJr1A==","signatures":[{"sig":"MEUCIQDYQTmhGwaN+YiZMlvecC5OCE/JIVXlb0CILhMIfvhsQgIgawn8L5WVVNBjD46ykEFlfdSMlwp9J/GURW4S7tNTIeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1556331},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"95e241e8be4c9da69de19f8865e443c59aff8606","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.1.0_1772201776062_0.17691951347780832","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"cli-jaw","version":"1.2.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"98c779992cda7cfe39cee1ca8b8fc001bd52f4f9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.0.tgz","fileCount":176,"integrity":"sha512-d7+lM+k1uav0ujbQNFsTYX8DnwhidTAEPwp+AGkE6N2ZrU8xJK4LnC7/Ro9e0770IEvETvA8rXize8l113hXLw==","signatures":[{"sig":"MEYCIQDMJmFPxLrADQAFZlMVv6LEymTrJS8Yoi9I+/rWZ5zJBAIhAIXviPr9FauHCXruRScd7DDTj2XEUOcd+Ja+Eer1BKUF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1602589},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"eb7b1fbfc7d9cb95a98389300bdf085368f23734","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.0_1772266388353_0.6126374145149924","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"cli-jaw","version":"1.2.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a5d87a7adc66604c5bfb9f6fde166ed20279b07e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.1.tgz","fileCount":176,"integrity":"sha512-Xl5IS6zhNt5G8v8eHbliZWi3wVx07N3wtYHtpCs+Dxb9VM2FNNrstVK+JA0/+Vrq+7/X12+nDY/42HGfhfnh5Q==","signatures":[{"sig":"MEYCIQClLI4lMwbCZvYCB+dooqxTQAKFYbcCVeLeXZmg2FFrDgIhAKtFG2SNSfBsQfk6g/usxM+azJkxX3zw/4hPhP3IKZd3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1603721},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"9cc8d0e11bfbe7d685b8bac1b1456aa34679aa97","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.4","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.1_1772278729831_0.10970128611212848","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"cli-jaw","version":"1.2.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e48a2eeca7c36df7c3e1f91eb37975cfb5e4a769","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.2.tgz","fileCount":178,"integrity":"sha512-B+34kuwwuSsspcSr+3QAyiLVtq08S30JCkKdP0kD2MUaPc+RvWzlxA2tCg/hzcHvbzmDNTWFsZnL1eAnfaKepQ==","signatures":[{"sig":"MEQCIAmp4iYXEs+29bxy0Y45Jd+GJoHTpQu8xwCBI9baPiivAiBZkT5Fr88DNSqFxbGQJjJZpeuCVAkYEBIQs4tP/OQhvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1632098},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"87558384b296203e7a156dae5543a6905fdc47e2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.2_1772352704383_0.8553357401484507","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"cli-jaw","version":"1.2.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e29ff0828168109d630190c8563570e5eaca82d6","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.3.tgz","fileCount":182,"integrity":"sha512-gKct9sz3qYQ6p8KEZSwtAxtTgE6tZVdhcOa4jv/Qgdd2vpDcFsUF59Kr0erZgshlw7exRg6GwQNw7ZskUsmLqA==","signatures":[{"sig":"MEUCIQCP6Y3oh7zCjIOMkoHj9oyiCnFIM709uGdjeOxtugHw3gIgaz7rduhJui3o4MSsAm1SvriDKtom7tP1W+9UzS/umX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1616258},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"d61e0f72e00f1fc83a2a93de03aed23595d061c3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.3_1772379130027_0.9462543833588151","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"cli-jaw","version":"1.2.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2a4e2765ded2b7d5b11214d05e763826287d7a0e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.4.tgz","fileCount":182,"integrity":"sha512-1jJdApeN8Vp4q7tVtN0jkDxFS5zMbOQAm/PNwRboRK4CEeV7BI7XgrLI6az23ql5hbQW/z48Y/Of7g4Sl5NKiw==","signatures":[{"sig":"MEUCIAI4NsiRYvTPtk+1Mkn3PDl8UcnKAHx4YOah3gvP+SIuAiEA/dC00G5puEA7B4ZBBLaSZ8ieXljiAhf72neW+DZijU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1616258},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"4ac4c1685e68807974a2a736671792cc29901bc7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.4_1772379372821_0.23450861518293564","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"cli-jaw","version":"1.2.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0a4e2cc951f779d21517a3dd5fa03f7ca9a9a644","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.5.tgz","fileCount":182,"integrity":"sha512-PR/lqSQ9oMNVy4bhtCDeXxTuGEvVzrT95kPPFckdzb9Pvf78wu+d57C59FNNWiWLIZLp2MG8D9mA9VZGuy5hQA==","signatures":[{"sig":"MEYCIQDSmtSOzSyyi76j2JaKKTCJ8qoZFSjWKRx9KYmNQ9lrzAIhAMg0JfUJHRlETC3cYM7YH+jDuBOcNSyyIrQLsNKgvKR5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1617371},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"b257aa45eb6a4ce0c8c13dbd2829b349cea1acb4","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.5_1772379792348_0.9911618138719953","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"cli-jaw","version":"1.2.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"cc0afe40d602434270cb4e9837643a5882a59743","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.6.tgz","fileCount":182,"integrity":"sha512-FSNf2HRF+jXmrkXtdDETvbEuPmCAJXZqCOvutsGSY8jfeaGVFZgztR/r+9muCvuMpJpgdtTX5izWiLwiLjMIfg==","signatures":[{"sig":"MEUCIAK13CDzgiBmfS5ESuh4pCIjx2vcc/HtCPAX9gqG1/fzAiEAlBnREe/yO2S0Ewhbr+v59HqcwrY/WLv93C2h/8huV+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1617937},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"9b11b4719c04557d67301461007cbfb039ec58ee","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.6_1772380473859_0.252059500502962","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"cli-jaw","version":"1.2.8","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a44644cf00eb292b0a1cff6024ed8156b172d26b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.8.tgz","fileCount":183,"integrity":"sha512-ZIbc7mahjp5f+K5XxoA/pVOGGGb/WCr0OtADN1Mb71QdrVnPtKQ+6Or2eJnZ9VqP3VCm4uPQT1Ry0pXbizMjeA==","signatures":[{"sig":"MEYCIQDwo/CuXZQ5xF1+wylmbflUzdt8rscYhyE3bimXmvWn7AIhALK7flNdNLlgdFgQoCK62/8gkpaXEavMXjiYsmINa6BG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1628505},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"23378fb7382c3c16f0d7444cb9a3b9c66a7766c9","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.8_1772384217648_0.22225580287118163","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"cli-jaw","version":"1.2.9","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.2.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e3d750b7bc8ea81118d298b9b6b6c476fa4a007f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.2.9.tgz","fileCount":184,"integrity":"sha512-rScd61/lNrj9eD2zOPJggNV8uVO5fN3SaWetbFzQc92wZ9Af9+xr+rZDTfAHBrL37qrDSvVUl+igPkfcxI8I6A==","signatures":[{"sig":"MEUCIQC/wTN8VkYX4iakhoQFwK73UCFPXvSC/XDtYx9fBcU4AgIgXAzF0yi+0nVQQwnhJxdmlS21QeXhl1GgDZXDXwVJ9fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1665389},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"cdad5a51c22ef4a8140a22b1f8c5f34e3417fd50","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.2.9_1772387418253_0.3179355034934037","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.0":{"name":"cli-jaw","version":"1.3.0-preview.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d0086f3a6af06c51e53376aa8df3999577b1d323","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.0.tgz","fileCount":202,"integrity":"sha512-tP+MoejlScFC0awptGyl6ZR3B54VR7xrnI+KDqX1UwreoH5o6uGULcGDQta7MBFr7gNxnLR7Wp5D5eX5XM235w==","signatures":[{"sig":"MEUCIHO3rkeZeEluQJSNZF9vp+xlzyYnScFJaVpLklvQkbVzAiEAg8NX6uYKp4sV4dm0awytF2GVTsXOuRDJR49NIOQRz80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1744119},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"ef70828e98f77246fadf9fb94fe580132ae8d36b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.0_1772671381826_0.03701344109888205","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.1":{"name":"cli-jaw","version":"1.3.0-preview.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ae5654ce6b335cc6f7beabf274fe4b56523b9ecc","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.1.tgz","fileCount":202,"integrity":"sha512-pFkhPYDqCNqwAJETqLPdTugj1BbZbp9Wx6YOz8a5+0qenOqajEwT4rCkbFQ3uN/UkTTu+knqJoXUWCxFmrJtkw==","signatures":[{"sig":"MEYCIQCr2v/ZW9pTbBDzo/+q7k4o5KYaXZylNYK8vxtYA0wOUgIhANOQmtvXkYqmQKofRm6oddB32kTJqhC8mFEmX0h6mD57","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1744119},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"ef70828e98f77246fadf9fb94fe580132ae8d36b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.1_1772672430011_0.572012751428987","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.2":{"name":"cli-jaw","version":"1.3.0-preview.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9241d694d56b8862b4578ba034870b060d3031bf","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.2.tgz","fileCount":202,"integrity":"sha512-i4UWYOlLf0gqcMC3/k3QJ4Pvn32VioWE6riU1VMRZvGqJjULWl1d9vId4g0KgLx+yMKCKjsJ0p4PLLmSS/MX7w==","signatures":[{"sig":"MEUCICFDzN4DuhCknlkT1GSIiNQz5cic98zKnWsC5Ufo+ou6AiEAwa1CRlNw15oZIDbsFwCm0SqaaE8gHDWt2+Etm24MAlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1757092},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"6d222009ec5e06b7bbbe943f272339efb751cb87","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.2_1772677642979_0.12167338778698444","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.3":{"name":"cli-jaw","version":"1.3.0-preview.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"01f28d613099913601bd542343e59ef2fec0f2de","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.3.tgz","fileCount":202,"integrity":"sha512-ruq5wmgma6baG/rkNNJJ7OQE+gRTu+PjG4xTuUVjt2R2PCtl+EENcHQLl6+7BFB2I3yRhUoRWESbkV5ARLnipg==","signatures":[{"sig":"MEUCIE/qXhZurH2g0yRl75QNNAXmufnQAE6hf1ZdsJfjfSr+AiEAoR0q2mWxD2SPjeIYQiPXET1KAmq9EAdlk3YN2Fx/UMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1783669},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"101ce4583a4bec4bc99101651dc04cba2d7a38a2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.3_1772681373058_0.15001755611448409","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.4":{"name":"cli-jaw","version":"1.3.0-preview.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b6c3fa0086141e3f7d9f79e403b65307d92cc5de","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.4.tgz","fileCount":202,"integrity":"sha512-eyl7XDI5AqOKFiYmTAuEpYFEthUanb6OT9rP+10l4KZxgIKaAhlfMLVnteOo5zhhb2L+bMknRZQObTVFFBKA4w==","signatures":[{"sig":"MEUCIQCmItq2R5BnxSmqqrZJJSsJUdbcULEg0k1cHNh+N37A9AIgNGZRJa/XIUzRwxnTL9ct80jZbuPC10HrsX8t/O+gERg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1783749},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"74e3dff1541ef765abf768d5241f58840dc36235","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.4_1772683006124_0.75074319568429","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.5":{"name":"cli-jaw","version":"1.3.0-preview.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"15921a6c55f5bec359128659ecb196e65bd216c9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.5.tgz","fileCount":202,"integrity":"sha512-a5cQ3Vo47sP0ZYQptsk8q6Pi9K32KranJopu+5OZs1geTnA2Inhmg/nFFeQKzaaMvwjrtMrtK0cYm8h97XYQeg==","signatures":[{"sig":"MEUCICpskADaXAmrLRHsMCQnngneiwcwfnXx3S1m3XJGQEH7AiEAmBhsmjnzVSasYLick4MGgKNOVQR6okLWZae5l69Fodw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1786108},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"e3802d12c8e1da9566939558a63779cb212b3d57","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.5_1772683869648_0.13070908189881414","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.6":{"name":"cli-jaw","version":"1.3.0-preview.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4d56214e965c2704a074f7ed73e50b27568f7ba4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.6.tgz","fileCount":203,"integrity":"sha512-6tDrujxH3hiaLHpDoCgwn6EM5X3TkSWhH/3tyuHeu3auDzRVP3noW2vw7GBgkDGaAP+D4JacRPMNwbL1SXWcNw==","signatures":[{"sig":"MEUCIB9y48N9QzAz0h30mk/wke+gp4Z2OqSvs0LhrahtFGHmAiEA4GG3QwcwESbrjb5jNRYFN5/N9RN2upEfh2CqGI9B0nc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1793276},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"19aa5123c309cfb9a9ee05dc675b4de0ff3db908","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.6_1772692926894_0.6903128680234012","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.7":{"name":"cli-jaw","version":"1.3.0-preview.7","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"af9b165ea68a9f82ac81677b2fb9e5cfa7a35d21","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.7.tgz","fileCount":203,"integrity":"sha512-Uzp20ILrp5gEwwU/7GAN+PiozcIYyJrbvmUlCl3l3RD4Mun4R5piUAg8XFfmIfeO6wzXMPGjCchUaD/EsYne5w==","signatures":[{"sig":"MEUCICUhhm19tyrGxHVi64/M1J6p4q+MZ3+o8LtuFn9uCMu8AiEAwWQ6CrH4uAHZwi380Rw6H6qSEvPACthn9nNowB/QGNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1803275},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"31d4e69a4273af654ca677914484272d47b62b8b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.7_1772713293913_0.33523775615539364","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-preview.8":{"name":"cli-jaw","version":"1.3.0-preview.8","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.0-preview.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"30dc88dd311804e323b05d6642258776ee2e8368","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.0-preview.8.tgz","fileCount":203,"integrity":"sha512-eKZKplJkusPc9o18ss1sqZ7OJeqD9u5NDShDwXP7X66jqMvreV9vQFXJOezgComwi+gu4qFKhJ8Ig89xPl+l7A==","signatures":[{"sig":"MEUCIQCvYrJOB3FhHhQGbBShHeeJ8XnI+7Yxz2f5Kwioluj4DwIgLEM7VsMbVWVZY460QdBKSndjUMUWpG0e2U/a9Eco+mU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1811945},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"4d8866223e92e918da76ec5d58c27347ae549ce8","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.0-preview.8_1772736921152_0.4671555600821038","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"cli-jaw","version":"1.3.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7033b8e82aa543da40f4ec385530fd9ff636a420","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.1.tgz","fileCount":203,"integrity":"sha512-f8ceSm1S39uMn9EwSNdBIqZRDMhyxi9eWKEqq9+NjWz80UETYv0aMyfcTm2XDz5iUbvZeclOCZ6rJG08/M8gNQ==","signatures":[{"sig":"MEQCIAsqmQpDlbAV2wUoaB0njLQdMN3eiqwFX2hdVc0Oxu6GAiBY55eiUSKMPYTSNDGcUrt7Xc3UetgE3SN0YmBGCmorRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1811935},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"7f7534c0b1150cf43188d5dacbf12a573e621adf","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.1_1772761825948_0.02759871877492115","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"cli-jaw","version":"1.3.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"406a47b5c2263d922ac71fd50d02ea713b1865ba","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.2.tgz","fileCount":203,"integrity":"sha512-/uOArxJDo/o7yd+2RlPb247cw8cvxrDxfSSVJyRdOWUq73/DK9jSliC7/wbIGYJFiIGjTZy/pB8lZtDPELYaLQ==","signatures":[{"sig":"MEUCIDOA7vbxyDNeBCWWv70bI/4+1QlP7evVExKF9nTgsuRRAiEAyEmaBQskTDlyXARHH1v4Se9pa4sONZ+hlKbypLuKj+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1811947},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"289c1adb338da438f1c0e350b96baa3a06ff40d1","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.2_1772765507169_0.8169585435739606","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"cli-jaw","version":"1.3.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f521163a5225abfa028a9fca6abdf35884286ce2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.3.tgz","fileCount":203,"integrity":"sha512-Bi5ay3t3zdZ2Q0/cXm+cRbc7NUu0kQDBICqhwGwTUcUGgVvH7Kh5OiJyI3HECRyefFY4jdkkW2cKX0ZIHhF20A==","signatures":[{"sig":"MEYCIQDCcYUL6GAR6H38XTJ4GZ2aggfQh9i0vkS5ddBrqfBiSwIhAKuSjzH/zXgkIoNNSkJEEBgWPOLW9J71VahEJDikZ0VA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1813144},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"006f0aaacfc708b5eb0d76749d320b4e2a23c804","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.3_1772774921287_0.4058300794969061","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"cli-jaw","version":"1.3.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"cee6e4f31f45cb059c2a33ddfac033dbc20bf0e3","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.4.tgz","fileCount":205,"integrity":"sha512-2KmYzgetS5DVeJ8CF6Z9gWFYVHHUy++tlETF6yLr6ButNpRaHnx0hlpI2gXZ7QdI5jMhTXBXhMMYWN5j56xyTQ==","signatures":[{"sig":"MEQCIAuw5kadhy76KsCiGIq/AIR7TjTG7bzZeqD91ufG6pdTAiAZaYC9d6mq8DAuaBjlhicJtp4i9UmXBgluzbMirjelQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1828344},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"4cc14dd21784fa63767d372a490f507ad9d59eeb","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.4_1772798336884_0.11759514145860872","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"cli-jaw","version":"1.3.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4edd2f86e9cb1f82c87e5087d473f7da792b0786","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.5.tgz","fileCount":205,"integrity":"sha512-v5RK8/M0XymvRHTz9IC9I575e5sMXotYTvic1y73H/ncmlMC/A8vwVLYZMzbYFXMTnnFZ3u70X9IQpVNbxKpeg==","signatures":[{"sig":"MEUCIEN9/d8DodGfg88jDBKgiivdO3pQtu2GpC3NKKTZ5FNaAiEAl85VdlBSnoWfyAVz1BpyEsvHWlvoH4H8+XwOeKXhoXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1828106},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"a666965e5b1f6782ad1eac53ff338f2dc995721b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.5_1772799003161_0.03381094605382606","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"cli-jaw","version":"1.3.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.3.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"221d8d41b35883b6e024690f69de260363c17f1a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.3.6.tgz","fileCount":205,"integrity":"sha512-kTI3PGugl+0Xid3Uw9nMQfLXDfi0qYUVDvg5+k5T6QDyVg1CZtDusEI0Sy7v+MUbvMPEb+f0gcPO3lwy7oktCQ==","signatures":[{"sig":"MEUCIE0DsD/v26o4eVbgo+GudZeB6STbqjRpqtE29PBoAw5sAiEAwOI7DaXoSJsLTCXBup+J6sGbDYR+pNx/7uf2mXIGgaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1827939},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"1b1307a8530782a6e402ed0e66f855661c22329e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.3.6_1772799657941_0.07478699530188093","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260307160721":{"name":"cli-jaw","version":"1.4.0-preview.20260307160721","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260307160721","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"380702873f69047c69f41804fe9e9a9e3fdc518f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260307160721.tgz","fileCount":213,"integrity":"sha512-bD9VkB/istHL1PiuOQNSzft3hFLQqPVjawPDjqOHx76JrPoPorbHnsKb8m5SiCBuDLAGWmLKk6W+ZYdUtP9E8g==","signatures":[{"sig":"MEYCIQC8i41KqaVTAzLxSY90nHAn7Sufft21TARz1MKdLjcJggIhAMvWRFkMvB96LOJPwoCeKFJ4nR8Hwr38W0pRvlZ2QCnH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2087069},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"38e00cf14090619aa144e9d5180631703801c034","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260307160721_1772867268556_0.5469113458503203","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260307163555":{"name":"cli-jaw","version":"1.4.0-preview.20260307163555","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260307163555","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a9fb895c31c414b49d9f2e6405ca141f90458e29","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260307163555.tgz","fileCount":213,"integrity":"sha512-PVZm0t8GE4XufpUy+FKy04gr/M04ZoqsOl3x0e5nIirXsPvKppe8EHbp5b1Pj7cw+opl6MrH55bGeYgo5/VWlQ==","signatures":[{"sig":"MEUCIChHmGQ0cmvY7+RtfXvHIRC5XroJM8d4t85Sr1WOo1saAiEAgv8tJeWrg34uf7h+FTws1+Ru5NfDFZkWLbbwgbGSFgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2103748},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"d7c4798cbac37c77b9e03c56c0b3d301983b3068","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260307163555_1772868976743_0.9036273029503377","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260307185223":{"name":"cli-jaw","version":"1.4.0-preview.20260307185223","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260307185223","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b3c1ea67343e3f44fc42b714f63d00055cb11b70","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260307185223.tgz","fileCount":215,"integrity":"sha512-/p1Qs/ep/TKgZfOUoOXgqByn8Y9LGO2eeV88FGhwGVopw5pKmjtJo3qu0R+kugigl9HbAI0MgI6eyMKn5wkBWw==","signatures":[{"sig":"MEUCIEdacNdYftV5FWrxmG8/G+EXzK+m5YvhcqmDpnSqleINAiEAvUKyBjU2lcSemhjovFrehxJF6pX+WQUxyuC8fTcbbqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2075424},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"8b780c2655150bcff2cb632dcb76e58b9072db13","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260307185223_1772877163843_0.5204290530584137","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260308034637":{"name":"cli-jaw","version":"1.4.0-preview.20260308034637","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260308034637","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7cc1381a3a7dc1380a5f6e0e82ee832784a0e36b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260308034637.tgz","fileCount":215,"integrity":"sha512-9Hu7hbwI2FnyWUcueEhiArT37AkLYZdZaL4OIwsNiAhwtD0OdiPVegTbFuEwOjkoCK1EGtxBFRDUUy2dNGSVFA==","signatures":[{"sig":"MEYCIQCscx06bNuclYBUm2p6vdMWNAeIeMyjoaz1GGHPbA9laAIhAPNGTUfUjJhNysD3eIKZy+z29ZXl7jQUdz7qqatyG0GF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2082853},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"40ee479b73609fc1eb273489294c90adba6531d2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260308034637_1772909218895_0.05670945384423298","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"cli-jaw","version":"1.4.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"258f3f2aae8a709859ed1e8ce169686d64a1fce7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0.tgz","fileCount":215,"integrity":"sha512-CTe1N83JZLKh1Hc1dUrNlCd9131Y1CAH+Gv+nK6VRwyGbt59nJxAlkfV3P/OF5dPy9Vyz8Ah/bjEHZA7F2hTCw==","signatures":[{"sig":"MEQCIEJo92f59VyVz/RF4Nj4PaCrBWcLiEBkqMND8GST4shgAiAp8kNd7/iMktR1uT5aBFrDBvmJN/icj7ZTv0J9S+JuYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2088858},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"646f8c255491b0c7f149a3b7e76551d2fd466c9a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0_1772972640437_0.6601833972328759","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"cli-jaw","version":"1.4.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d0e38de7f5ae9bb0ee66bf4111d81cac81a1e7ef","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.1.tgz","fileCount":215,"integrity":"sha512-+geFt24shfLr11JGBVcPvIbp4NTDwrKTa6jPjN05CScPsQ6uyduc9w7CmSfTKckW+W0JNBta9NXauZDI2PMKPQ==","signatures":[{"sig":"MEYCIQDIsoSRRWMCM6j3OzNmoI9NE+k2gYTHhwljocrLdJ+17QIhAMIO8Kz8ffJCBOD6WFuy2zegOJpWvUfJ0w1iRDHgCwvp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2088858},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"88b0bf20036564da210721f4164298488ed21af3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.1_1773017487849_0.5098044728679105","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"cli-jaw","version":"1.4.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f1c70340c80e2ac795a455577e6af16744a35d74","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.2.tgz","fileCount":215,"integrity":"sha512-TXYF6t/naaLCTYR9g3gVAfyCrwxcRljjkJQr/fkX7xrB2EvXXsg3YP8i2DtxQs3zaFjBXFfKub//KUNtpgY5rA==","signatures":[{"sig":"MEUCIQDQTcdGIVBOm+6dRJSq5aHBuM5rDJV7fNUqj93qUA/rGgIgBu7aUnMvml1LjYAwV48/zeGifoSIlsV8wPE1IYt2r/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2089401},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"6e7deb48accac05ec8abde1c3eb1f8d040e42da3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.2_1773017935213_0.3778948340345485","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"cli-jaw","version":"1.4.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"403c17ed7ad52d9ab75afa02a5b50475cd135e57","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.3.tgz","fileCount":215,"integrity":"sha512-rWvbhQXoUq6qipDig6tYAQFWYTnWh+8TfrI32hV6fXuulUfQoXGfLvjZLNL6oT/Lrir3qK6OUl31NB3XhSs3cA==","signatures":[{"sig":"MEYCIQDLwadOQTQ2bty1RMHUkLtfGka2liAQ1XYcKFolWQ0IYAIhAPPHeW9zxHG6kHVhfYjbNVemsd0AhlsVQ40rPcnT5d1/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2088858},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"d36330f3dbc8cd6dd17ab233036c39cdee9326fc","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.3_1773029492972_0.23512704143552132","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"cli-jaw","version":"1.4.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"34479b8b40b3ffce8f6e74d1eecbab70d9f986dd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.4.tgz","fileCount":215,"integrity":"sha512-q028KAMrj5YZDRG45LybzB7RNFHAX29KPlZ/ZeBZBTb1VlypEww3QOd3WL0a7QD4ls4BdJ13S3IInRw2ohx0XA==","signatures":[{"sig":"MEUCIQCVKAxVt833CC9PEhEaPy8nRv6Tyax9hhF5H7uh3vQcyAIgUp0npOWDuCQTX0a99Qs3FAvLbunfUa8QLLRacPAOELc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2090760},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"81b2785201b62f8b8523010eaad4205270720d83","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.4_1773030659445_0.10571387499773288","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"cli-jaw","version":"1.4.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c5743bfda96554055a669217417edb31f563f999","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.6.tgz","fileCount":215,"integrity":"sha512-PGqU9iyK3dEY0ryYzikb88NT0MHPlaOmTl0NfylyIzf3RsdPsUHreyW01gGdtK35ZikC+L7VAGOOOxmjFUOsrQ==","signatures":[{"sig":"MEUCIQCm47lSBx5NFeVz1XiILF9B6UuhMjbqmumLvX3rLkWKWgIgBWMmKneTcSWURmmUv6UJIUQiFompNM6ls7U7KUN4wKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2092728},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"5a46289e04aa72c1d1a322cb607dc9c8ce371674","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.6_1773818633757_0.2529262021887173","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"cli-jaw","version":"1.4.7","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"acba4465cb0a69f83e4a6e8afdbf16c8e6f64e86","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.7.tgz","fileCount":215,"integrity":"sha512-OWpwz9x0h9a3UzvZAMgMk7l3yc6LggD6DfFpmMdCXrOQlLkqCXCc8DT3XtSrcsRUnS3xinKAM0CyFamNW9y6nA==","signatures":[{"sig":"MEUCIEtx5JGgYnif+aqNybtt3hy/TtaJmGQhsI7eWSLNXNSLAiEAwJm0V1B/Rm1l4TUz41ZmqW3nx3jybVh9wrUDDsWq0SM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2106718},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"ef516d555c6ad87e3322d8ed1ebbd34b0b63cbf5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.7_1773897219935_0.10287854986899458","host":"s3://npm-registry-packages-npm-production"}},"1.4.8":{"name":"cli-jaw","version":"1.4.8","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"198b34f87ec9a0c9582aa8a8b9ba46144ca3ffae","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.8.tgz","fileCount":215,"integrity":"sha512-Nt2CGI4x29dUQHAkV4tCe5VFRIA9lV3kQoTjYkRqZQ55Q9fTa/rbeObj9iouMQ8ahgLfwy8ezD0i0h+ZgTlhdA==","signatures":[{"sig":"MEUCIQCew5PJjXvUmxJ8RUdPGxSVgGcfYhkWH4Aa0ViN/4K72QIgNNksxkJTYgDuabW/ermZ5VnabHV+BspH4Yj183BIlwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2107879},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"cf1f21854560dd284c79f7e4c0a2364cd8724e55","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.8_1773897537462_0.07230213671899999","host":"s3://npm-registry-packages-npm-production"}},"1.4.9":{"name":"cli-jaw","version":"1.4.9","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8c8e7fd9409686253877ed0ded3082de3ece94d8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.9.tgz","fileCount":223,"integrity":"sha512-+7EIj3FFgo00jKGJman33/kdMGVii7SrerVeGEO3By0El4yDHFmIJPtjEAszB9r2oodtq/nrSu5fjUqaBC+jug==","signatures":[{"sig":"MEYCIQDd/dALBpoTViVq/qwJ0PV/INO8nIqXKSNECZp1JBK4HgIhANPXqm1X1QdFV/oAGnUlrSGzm4SUZdxoTjIIcKyYwQhk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2119691},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"ee15250722a0d47b7c2fef80e9b9bed69b360342","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.9_1773913304510_0.6261064968016128","host":"s3://npm-registry-packages-npm-production"}},"1.4.10":{"name":"cli-jaw","version":"1.4.10","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e8bbd570b3b6facd6d8c98341308ae69df398fb5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.10.tgz","fileCount":225,"integrity":"sha512-7oeP1EIp0JcjMeez9HzQ2sTj2T4ONyNRu7CL/EPkPtTPs8jd15CQ134j7r31Mr/m5PprT5Jmcu9qcpktOFBT4Q==","signatures":[{"sig":"MEUCIQDRgobvrNqvw5nBkEO9qxGzsmk7T2/r78Pg6zcDBNWD2QIgGrWMJrF3Ko/KnnpihKbF5Ls6/dGDJIm0uK+mbS3fkec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2137164},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"50a6d3a51a7faa45bcf0a5b9baeeca6d7a0dfb8a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.10_1773914796735_0.6671765149202027","host":"s3://npm-registry-packages-npm-production"}},"1.4.11":{"name":"cli-jaw","version":"1.4.11","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.11","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3c2007eea4af4d03bca2929046932f0f162970db","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.11.tgz","fileCount":237,"integrity":"sha512-Y5zbO+jEqJDKPu2aCl+04RDWKzoQz6De1yfu1m6lamUQKlK3p021ZBdN6jTWuCeUg5pbpjHEosgkOhNXvN30kw==","signatures":[{"sig":"MEUCIBeA0cU9hrzVU29lPnQAWohypXVmGC9iU4mj2tgNoKvsAiEA7Qxdf111rqK/O7t2z0h+eCODtVuO0ekHqfSug4h8BpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2155303},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"2c1c0b46b2cd5c9012837d61ba216ba4fd350451","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.11_1773981387170_0.2762285972000127","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260321002229":{"name":"cli-jaw","version":"1.4.0-preview.20260321002229","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260321002229","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1bbfd2d45f5b7cd2d03d0a23259be7d9d270c59e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260321002229.tgz","fileCount":261,"integrity":"sha512-0BvYeywnPeDfocP/7mW3bSb/LpieAs/AB8rtvuGTXFyd2v8qCyZH0EQQFMJeUkoL06Vv7jeDIdXdW0nftNWwNw==","signatures":[{"sig":"MEQCIGwC7edr8XBowQjSOa1SszI0HWaJb8hK5i22Vh3sNhV1AiBXoAkqoQzvfrznF+v23WuIMxFDzie/SDJHzb2Jehn2SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2315178},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"a6566ccec5bb0e53044df66ff650b7479e07ddfd","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/**/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/**/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","discord.js":"^14.25.1","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260321002229_1774020172256_0.9794835747183703","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260321191547":{"name":"cli-jaw","version":"1.4.0-preview.20260321191547","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260321191547","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bf63783d498c8c2cefe89f6b3ca3c07513f8ef7c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260321191547.tgz","fileCount":263,"integrity":"sha512-/SsgMaoRqeUd83ietxlKqBSFlIxIW8+8TmK6vKgXuTwPSBem6pmjVYNKjty/+W0DEUU+N2vqvdo+nLaBMliLRA==","signatures":[{"sig":"MEUCICR9dKMfocW7qSlG1SWSj5hfHZo1zKbFMvsPFqfBunM2AiEArH2oBXTegc15Jm8LwwaRHK2la4483TOPl00Mug9AS2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2360300},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"a95dc0c901c79c13a589cb6aaf4c676429af85ea","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"node esbuild.config.mjs","prepublishOnly":"npm run build && node esbuild.config.mjs","watch:frontend":"node esbuild.config.mjs --watch","test:integration":"tsx --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","grammy":"^1.40.0","helmet":"^8.1.0","express":"^4.21.0","discord.js":"^14.25.1","node-fetch":"^3.3.2","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260321191547_1774088171540_0.019443003258057923","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407081153":{"name":"cli-jaw","version":"1.4.0-preview.20260407081153","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407081153","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a61698aa678a53ac607a8a9ec04039e55f95c090","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407081153.tgz","fileCount":366,"integrity":"sha512-+rUcByS0c/wf6srDi89S2zNr4V83/yRLEXTVGHKoUDTk550/J5dWez62M2K2MbvR6v223B1H9xKEkzy6QBqrtQ==","signatures":[{"sig":"MEQCIBkMGb/AH/nllenKboV3/ZP6tnMYr1fw7SbftKJgV+OJAiB70jLscpqyMRds0fadIh0kCjl+o6efpIWcl+IZW7Q13A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6475480},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","watch:frontend":"node esbuild.config.mjs --watch","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","build:frontend:legacy":"node esbuild.config.mjs"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","esbuild":"^0.27.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407081153_1775517145730_0.3556849024746913","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407104723":{"name":"cli-jaw","version":"1.4.0-preview.20260407104723","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407104723","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2c66bacb61fd4980b1826af393c5ee8290f46a8b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407104723.tgz","fileCount":410,"integrity":"sha512-EHIjoCCgcek6vOvpty61b6Y2+oSsr1vqWT+QFqkzzBJdqyBT5kC6jQ8O2uB4Br2+ALVfvtfP89euJKVuVTOxFg==","signatures":[{"sig":"MEUCIQCBvgjFwTG2rZA9lNc3T3Zcfurja/gowWPfF9mX4XMpoQIgPVv7dXyELNBUMFnDD2S6m+zWRAAgFhrQdZ5DJIfd7d4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6500184},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407104723_1775526474614_0.191117183284091","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407131534":{"name":"cli-jaw","version":"1.4.0-preview.20260407131534","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407131534","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"140e214e538869be28795afd691f5fdeb2240695","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407131534.tgz","fileCount":410,"integrity":"sha512-TfVeoqWRGQC+JJ2f2BY4JXw4wdYnePAxYl8/GQAp1yXMqqbbX+ujIcDOOApaQuAVqMxle6tvLrPXnTlNP6ZlWw==","signatures":[{"sig":"MEYCIQDdFfj+G2FN/dbVlJKKa3Endhy64lL2hEYCdu/WfV67rgIhALlOQyUwyb5z5Yksn3ZsZiqFNdJqtDqEhNeeoiRBRiFY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6500429},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407131534_1775535357531_0.0049614889210456425","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407152537":{"name":"cli-jaw","version":"1.4.0-preview.20260407152537","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407152537","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"83adb7fe956c141fca18d9a5d6051a8ae3a1fab8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407152537.tgz","fileCount":410,"integrity":"sha512-1l68dojJ9UJbCAQl/F25daoXXnEexAwM4R8T8UMaxo6pRIemLBpFckPTfIrzGoqn1e5B8rGvB/rCqLUtzFmLkA==","signatures":[{"sig":"MEYCIQC9cq1OWL9eu+Zygu/OcAPtd4eQCAcdIsryoJSuEgDlzgIhAPg4cYLQnJ8TMa9OkgEgT5HUGUSvlQopiD4bVhbnClbe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6507637},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407152537_1775543165025_0.9363062949756109","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407153726":{"name":"cli-jaw","version":"1.4.0-preview.20260407153726","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407153726","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5d456e786e8c2621b94956e1be9ed7d4db7056e7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407153726.tgz","fileCount":410,"integrity":"sha512-1n6TPd7jlmNKodLYx9ZWxoAimAn8DRg7nzyBoLB7ZGsndrkpsBvlsPNEs5LpMD8p/bxXhSRl2nu+JISC1mJSyA==","signatures":[{"sig":"MEQCIBOKXf0/zP93FEnLrpdW/fqYpKiRxTsl8tcqepwsXAGPAiBcfHvI02aSBWK3EZyHVkEN3srKbQYs3lZmeed+0nS6cA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6507637},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407153726_1775543869697_0.2822789968652859","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407164935":{"name":"cli-jaw","version":"1.4.0-preview.20260407164935","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407164935","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0fca9f828e1a14431aefb9b444b64dde8fb0561a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407164935.tgz","fileCount":410,"integrity":"sha512-BRFg0cuNIbNa7YZfJk/zNbXz4Sg6jdYZwu1QJGrpi6xPH1IpaO4e95YRb/4sYRWR5GWNcKx+Sajiir6TDgCs1Q==","signatures":[{"sig":"MEUCICRNcOeMyU1C+0EL50s/GbapICT73xGC9qktVJ2YdDIJAiEA7udZkRb3//A3fxI+/cpIE61fFZ1cTUKFO1NmUJPMVRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6515644},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407164935_1775548201301_0.533875119126598","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260407193245":{"name":"cli-jaw","version":"1.4.0-preview.20260407193245","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260407193245","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b34ea68efc3da32ab18d682fc4aa9728c268d497","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260407193245.tgz","fileCount":410,"integrity":"sha512-HynAw6c0p/7iHAF4hSzJKUBKbbRLyCKWWHvj4VoLM6OpbVxvmBH2I01xsMMRt6VNYatksZqcXiOYDumqBFtmkg==","signatures":[{"sig":"MEUCIBq2VBIs/vl6GS+FZAaFkZXf/QxouJVuO4fF4hMqHC2VAiEAvqgIylGN6fme/ssHt3jjTui4Zix9cmWFoPCsuyVJ3lQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6519036},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260407193245_1775557989624_0.2846564521490691","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260408172104":{"name":"cli-jaw","version":"1.4.0-preview.20260408172104","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260408172104","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e4fbfc3089c5613fcf1161152fb509aa56dfc2f9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260408172104.tgz","fileCount":416,"integrity":"sha512-rlE2tQK9gN71VtDU45pXIJElWzC3lZ1yBVkcJANzrh14rcZKHSIbm3x3p1eRMR0aw7q5ZwIO21lcIaoYakG5HQ==","signatures":[{"sig":"MEQCIG0/Ri5KJmLPOJ6yTR7qm2lKvE05rjQUsDzR8j5Prw5KAiBm1zrurjOg2B3fbugwf6YULoPSnTnhQOwo1V54zAKTpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6506294},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260408172104_1775636494370_0.8258852039660489","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260408185751":{"name":"cli-jaw","version":"1.4.0-preview.20260408185751","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260408185751","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"42d22de345e44d2ccbce13662d7f6bb06e4c0cc1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260408185751.tgz","fileCount":416,"integrity":"sha512-6b27Sus4P+lLoXH6tYKxBJcS5OHlhhAXjLAELYhl9Sa/eFQ9ByZQCr+tIy+bORA19grj5EkQOV0T1BUVl1jJMg==","signatures":[{"sig":"MEUCIQDtXZXLRCLPxezXQv8cQbQnk91+N35908x1V7rl3kXXGQIgAU2eJGH0AbJbB48Cvb8lJCEO8ukuqGno7GKVv83eJTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6508883},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260408185751_1775642388258_0.5287354461142812","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260409213333":{"name":"cli-jaw","version":"1.4.0-preview.20260409213333","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260409213333","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2bb6101b591f2b4deda70b8e4548a635a284913e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260409213333.tgz","fileCount":416,"integrity":"sha512-VbGuZuI7pwsikSlMHkCqHyFVd876VqmJJ4etFHBtCPzEtAv5nGYYKgTW37Aw5kP5XFd2WkAa3LGXplCodVbrIA==","signatures":[{"sig":"MEYCIQDMJMTvhODzmpy6dEbp5O8wzCJXxoubhuocVw3JebCWyAIhAKPbiVmW3BVlhvsnR0gtFbrrz4RjuRHQz+njNqoCDx3b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6508883},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260409213333_1775738044623_0.7662471413621825","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260410010023":{"name":"cli-jaw","version":"1.4.0-preview.20260410010023","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260410010023","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3814c988f93c810374c2375e7d417396b8925e52","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260410010023.tgz","fileCount":418,"integrity":"sha512-fZdVuL95I/JFMD7TVdJKML5Ne/ofJi928a5WFvalH8xLvDVNqTv3F0QyGnpuokUWv4bhIQ+Zfmul9F/9OAt+qA==","signatures":[{"sig":"MEUCIGGZCOIS84RVg2mQNXU+gOXvvSgoU2reEdTn2J6br99uAiEAsU9mSRfBtbbaHxG1m+wLZPGP+rvZlW3ZRSPp2XHt38Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6538901},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^17.0.5","express":"^4.21.0","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^11.7.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^4.17.21","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260410010023_1775750453216_0.8066187010447254","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260410025646":{"name":"cli-jaw","version":"1.4.0-preview.20260410025646","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260410025646","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"49070c06f9345af79eeffd5000b11976bad84b29","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260410025646.tgz","fileCount":428,"integrity":"sha512-yZ1T++nI7G4ORxSGojRg6ZB0rTr5+J1ucJAgXCGlrajb5xxuPItolF92UgH7Jju8/ZHkxqG7QBnNrFbr5Lj5WQ==","signatures":[{"sig":"MEUCIF4Q5X1fi3SVJoFoASi7IJ3FpS49fts4EP2PCt8JY065AiEA/GnxjdaMxA523W3KF2ji0Y9NNqYNLwFLFEPF0ogdSz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6546818},"type":"module","_from":"file:cli-jaw-1.4.0-preview.20260410025646.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.4.0-preview.20260410025646.tgz","_integrity":"sha512-yZ1T++nI7G4ORxSGojRg6ZB0rTr5+J1ucJAgXCGlrajb5xxuPItolF92UgH7Jju8/ZHkxqG7QBnNrFbr5Lj5WQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260410025646_1775757429575_0.13993088486493144","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260410033252":{"name":"cli-jaw","version":"1.4.0-preview.20260410033252","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260410033252","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bacc851dca8381e35dcc6ef9268fe95c3115fa31","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260410033252.tgz","fileCount":682,"integrity":"sha512-PmScMZalGz5Zaw+/2FQS1PKaHfizXrY50P97QIGT+yy02xjxtEFJkhPxGold5yoPuAabnLig8r2G7Xnp78U+Mg==","signatures":[{"sig":"MEUCIQDzISRkySEg9VZ6gwazQVcSF4qdDNVZh3YE0/U7JFNTrwIgbbaVcUQeTqtmqpNCJhtFaH8AV11lanvTKOnkp8I5UlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15341969},"type":"module","_from":"file:cli-jaw-1.4.0-preview.20260410033252.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.4.0-preview.20260410033252.tgz","_integrity":"sha512-PmScMZalGz5Zaw+/2FQS1PKaHfizXrY50P97QIGT+yy02xjxtEFJkhPxGold5yoPuAabnLig8r2G7Xnp78U+Mg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260410033252_1775759607987_0.7800690018889789","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-preview.20260410034744":{"name":"cli-jaw","version":"1.4.0-preview.20260410034744","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.4.0-preview.20260410034744","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a392b917c78dba13e84d2e7d1be565cd8960192e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.4.0-preview.20260410034744.tgz","fileCount":682,"integrity":"sha512-9cWScWe3j7JG+e+PA4yZenIDvWyfbU0zSihDQ6gZs5KM4ANkD/sgbRLN8Oo42DMP+S+sbTyzf6HaCVcQIWnU1w==","signatures":[{"sig":"MEUCIGSA0QxZtRxuLkdLPBJWiwgypFS10cHxTL7PMnPwAaHfAiEApwpVNMYnQWYfvUQd/YNPtsAwVtxDK2iQkbIfWTnKhmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15342073},"type":"module","_from":"file:cli-jaw-1.4.0-preview.20260410034744.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.4.0-preview.20260410034744.tgz","_integrity":"sha512-9cWScWe3j7JG+e+PA4yZenIDvWyfbU0zSihDQ6gZs5KM4ANkD/sgbRLN8Oo42DMP+S+sbTyzf6HaCVcQIWnU1w==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.4.0-preview.20260410034744_1775760489782_0.9454236302997794","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"cli-jaw","version":"1.5.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fdb3cccabde78fa503ac293ee1ee869de39e5b34","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0.tgz","fileCount":682,"integrity":"sha512-U9vVDrjGyP+0+FpDVGXWRWJWhlvnf/xWzAyt0+vBukp0wGeqIu956HUAcZhe8dthp2yZVLnTB2lt3/7PsONILw==","signatures":[{"sig":"MEYCIQCWK5gtqmOHA4kUqZb1SL+8SynkWSbGyX+/H2DBc5fkjgIhAPGKpTL78AGWIYkwg3vsSG2RFo8MsW/xyHQO2v9O/lMn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15342050},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0_1775760908881_0.9192637116679814","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411000825":{"name":"cli-jaw","version":"1.5.0-preview.20260411000825","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411000825","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"324f5af168a400d3afcce31580a50e1fd8bb471d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411000825.tgz","fileCount":697,"integrity":"sha512-dOzlcPUkJmps2n62IwyL/MV45SiT8cXwazPOgOu5ujFwnBDBkeiL+yiMJV40tETgQOwg/7Fq+o63N2ylyMm/Ow==","signatures":[{"sig":"MEUCIFov4UoAvu6pOSRbbgb0C94CeIJ5wJTGN1iBwWm6+5qZAiEA9ONZ847tL97KwMlQDt/79Xr7Xqe4tuU2RfGCwIKdy2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15459598},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411000825.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411000825.tgz","_integrity":"sha512-dOzlcPUkJmps2n62IwyL/MV45SiT8cXwazPOgOu5ujFwnBDBkeiL+yiMJV40tETgQOwg/7Fq+o63N2ylyMm/Ow==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411000825_1775833851238_0.26571532548299315","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411011327":{"name":"cli-jaw","version":"1.5.0-preview.20260411011327","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411011327","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6bf2be1f32da66fe8b84c593f5dcb0f117781bea","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411011327.tgz","fileCount":702,"integrity":"sha512-Z0uWsIs1aGehRf6Plg3KO913vpr6fgKKNT8vO1SYkIp6uJeuKW6Sgbke8RWhN4eMsixH64/wjGo5RnseNc7A/Q==","signatures":[{"sig":"MEQCIC3qm9VyNN6XL0K0yKHGxvuSV3yb1fiPFMiIAt8BwPtFAiAEtHobrut/4EtUlRAx+EXYJTB6R+z5Jv0IYXlhaZDm0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15805101},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411011327.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411011327.tgz","_integrity":"sha512-Z0uWsIs1aGehRf6Plg3KO913vpr6fgKKNT8vO1SYkIp6uJeuKW6Sgbke8RWhN4eMsixH64/wjGo5RnseNc7A/Q==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411011327_1775837627428_0.18714187218052825","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411011644":{"name":"cli-jaw","version":"1.5.0-preview.20260411011644","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411011644","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1e43b667d87b15087c859c5f7061fbe6c62cf943","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411011644.tgz","fileCount":700,"integrity":"sha512-P5FYA7AF9AzWR58MgaHW2oJSIwBgQhAuYxsfyWjccb7nXAqykgJ/4tlcwCHO9Twt1rFoIgQe0MewovF8ykcFUQ==","signatures":[{"sig":"MEUCIQC25Hyh/Pw/TGzOAJYRJwPv6AKg4dTx2Vu1vdpqf0ukswIgShTLkFKy2yotvzczqaZVSJ0bljob4jAGqpc0hmfxQkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15642901},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411011644.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411011644.tgz","_integrity":"sha512-P5FYA7AF9AzWR58MgaHW2oJSIwBgQhAuYxsfyWjccb7nXAqykgJ/4tlcwCHO9Twt1rFoIgQe0MewovF8ykcFUQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411011644_1775837824076_0.6188963730449575","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411012213":{"name":"cli-jaw","version":"1.5.0-preview.20260411012213","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411012213","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"68942143886fecd80338230d990b017fdb62cec2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411012213.tgz","fileCount":700,"integrity":"sha512-5B8bcukzhYpxzsnJ+41l752xbrGmn7zoxcaVjBkxJY6GA1gqJ5ir2ZLftMry/2p49kdZiBa++iQJNopIrs2PzQ==","signatures":[{"sig":"MEYCIQCbWyGJfTStTERjKfNGhyvhx8jHl1h8lvdsvrtPzWIpdQIhANdopsHF8jIILVvtwrdmKvIbmSxanGSlXeX0xK+oLqPZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15644101},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411012213.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411012213.tgz","_integrity":"sha512-5B8bcukzhYpxzsnJ+41l752xbrGmn7zoxcaVjBkxJY6GA1gqJ5ir2ZLftMry/2p49kdZiBa++iQJNopIrs2PzQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411012213_1775838155711_0.3526055610575227","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411012328":{"name":"cli-jaw","version":"1.5.0-preview.20260411012328","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411012328","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"542d581aaf2cb5663b3f0dff9fc09bb9144cd8b4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411012328.tgz","fileCount":700,"integrity":"sha512-jlQjZXLINPW8fzM1/h3VQcudWdmjEJvT9HpXwiFBEI7OP8VwpdfpCyZezdlqXfj0ydL7dnbmBChlk2TpTal1WA==","signatures":[{"sig":"MEUCIQDmmSn5a49UHEAVCK5j7fd/zqYSb/mdHQKGe9DbeWjiqgIgLyljM1b4wDQJ9t6Yhv9spR9gfd5huVf6ShNSAiBKNWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15644101},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411012328.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411012328.tgz","_integrity":"sha512-jlQjZXLINPW8fzM1/h3VQcudWdmjEJvT9HpXwiFBEI7OP8VwpdfpCyZezdlqXfj0ydL7dnbmBChlk2TpTal1WA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411012328_1775838227617_0.7095369294880058","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411090847":{"name":"cli-jaw","version":"1.5.0-preview.20260411090847","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411090847","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7bd86f24d4f73d74c27c271350096d5dbc423ffe","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411090847.tgz","fileCount":700,"integrity":"sha512-VGxx3g335aswW2OjRx4o7gVVfSrqik1u+A74avjNJ0uK/K+BomeJgmdqMAPdGQpYz1Oi0CeksXJWctpCc8WJVg==","signatures":[{"sig":"MEUCIQCqJhCmnsIoAYlJAgOZubhTy/OLtmd63vjCiRWC8e2ETwIgLgaR98WnbjuXJ6PmkvF4fziCFRVOyAeJKWtEGzcdKFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15642104},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411090847.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411090847.tgz","_integrity":"sha512-VGxx3g335aswW2OjRx4o7gVVfSrqik1u+A74avjNJ0uK/K+BomeJgmdqMAPdGQpYz1Oi0CeksXJWctpCc8WJVg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411090847_1775866175576_0.8423422821136428","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411092243":{"name":"cli-jaw","version":"1.5.0-preview.20260411092243","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411092243","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d328ee136ca068e1180e0a9d3479f6b7773a2c68","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411092243.tgz","fileCount":699,"integrity":"sha512-H3aye/Tw80vcpPh/HFq//kZGqgSv2rc++Pp/8hC8vPDPP0kbTwFoxPya4JUcY1znUArsRTLi/yLa0cqib/pSSw==","signatures":[{"sig":"MEYCIQCWuRAOxxKMiJWryxQaDE/O+LNWj/wVKUbjeGLH/Et+IwIhALAB8GMHzERSn8TKrSVCyUixzoug2Z6W0RmkQgTq3Tw2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15642031},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411092243.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411092243.tgz","_integrity":"sha512-H3aye/Tw80vcpPh/HFq//kZGqgSv2rc++Pp/8hC8vPDPP0kbTwFoxPya4JUcY1znUArsRTLi/yLa0cqib/pSSw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411092243_1775866982621_0.8748827432612418","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411093145":{"name":"cli-jaw","version":"1.5.0-preview.20260411093145","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411093145","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1a8d571f7628279e37962868065ffd3fcd9270bf","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411093145.tgz","fileCount":699,"integrity":"sha512-tfD0/A1bRrtp/hvLn3365hVY4fXzw1G0AXUAnUB0V6/dpKa4n0wMDfDtSX8+1cQxrw+gjl2IdPNcJDCAAYTVcg==","signatures":[{"sig":"MEYCIQD6eUZNyRhwYY40CIVKKFwRXaD09FuMflqikHKbzrZM+wIhAMY54zdawoYmBnfQwNM9aNtNHkL8FCi9aVOfojdev+/y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15642217},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411093145.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411093145.tgz","_integrity":"sha512-tfD0/A1bRrtp/hvLn3365hVY4fXzw1G0AXUAnUB0V6/dpKa4n0wMDfDtSX8+1cQxrw+gjl2IdPNcJDCAAYTVcg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411093145_1775867535182_0.8381354995147017","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411094351":{"name":"cli-jaw","version":"1.5.0-preview.20260411094351","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411094351","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"56f66d68b98c3553864ea47c9c3e8218c4d9b886","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411094351.tgz","fileCount":702,"integrity":"sha512-R0EpWFTGlppljq64zlEtU4yQD9axY1CXvb1fas/0isQA9hbEkH7N2egMk51eX7ZNvcYfBtTWHwA20pZQrVAZ/w==","signatures":[{"sig":"MEUCIE6IOL+JubZYJTV80cMfxEh0ph6YYAE6ym75XwE6/GmCAiEA2NWlCB7HmegCHWJVy/N9JNpl2nL41bkb2hXuS+GRK1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15648565},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411094351.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411094351.tgz","_integrity":"sha512-R0EpWFTGlppljq64zlEtU4yQD9axY1CXvb1fas/0isQA9hbEkH7N2egMk51eX7ZNvcYfBtTWHwA20pZQrVAZ/w==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411094351_1775868252459_0.7671728421519559","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411094502":{"name":"cli-jaw","version":"1.5.0-preview.20260411094502","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411094502","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"30997692fb0ad6bceae86059152a39e29204c7ba","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411094502.tgz","fileCount":702,"integrity":"sha512-TZDHbypZwf9z1Fyk/4jmLVqGuWeuMFdID1iI3FujlymbpRk3Y5/v4cuuXCsT58EnI0Am1lWVxCX5JN+nkZHLcg==","signatures":[{"sig":"MEYCIQD1rTs1S0NfkPgsaGXEEqj1ji86VvsW/m6FiEpN62FodQIhALQM4Ru/XCB7iPrvAdOXLZjTTQVm27pE5bpJ0C/i0L7e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15648565},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411094502.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411094502.tgz","_integrity":"sha512-TZDHbypZwf9z1Fyk/4jmLVqGuWeuMFdID1iI3FujlymbpRk3Y5/v4cuuXCsT58EnI0Am1lWVxCX5JN+nkZHLcg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411094502_1775868325009_0.6922633296552743","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411114819":{"name":"cli-jaw","version":"1.5.0-preview.20260411114819","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411114819","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bdd0bd9888317adcd2a3d2ae271de97b835e66a9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411114819.tgz","fileCount":704,"integrity":"sha512-ur2kmgRqIltjhuPMdE4ch48B2sUcpwCodOHKJxDW3xEhoKzeazyA/VimKxQnlnAvSNFfptbho+3LjWLj6d5Ntw==","signatures":[{"sig":"MEUCIDqXl25KXeZpTQMVwwq++recYEkrDZ7O9QpHG4ffoYgnAiEAhY19kd+f0NHGn12Qp0FpO4xx5xR226yqATqQG9eizko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15656531},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411114819.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411114819.tgz","_integrity":"sha512-ur2kmgRqIltjhuPMdE4ch48B2sUcpwCodOHKJxDW3xEhoKzeazyA/VimKxQnlnAvSNFfptbho+3LjWLj6d5Ntw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411114819_1775875742247_0.4902970063220702","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411114958":{"name":"cli-jaw","version":"1.5.0-preview.20260411114958","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411114958","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9a4a36bad4897b6b0f98da06928fae04c4a0d024","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411114958.tgz","fileCount":704,"integrity":"sha512-AcNYSlizeJsMrF5n0UqbgdbSkIPaUwViaPJ35DvtTN0Dka9LJS+7pDyidlfEgDEu2bqdzzZjyaKa5LLndyf7Cg==","signatures":[{"sig":"MEUCIDA5a2ls8a6LNAvbfcQnA/hSRGuKxYSrZHga10CT0zqSAiEAklDwjGTufcFG+TJmVc0OchqzPAQcDLLNqtk8JgvBvgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15656576},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411114958.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411114958.tgz","_integrity":"sha512-AcNYSlizeJsMrF5n0UqbgdbSkIPaUwViaPJ35DvtTN0Dka9LJS+7pDyidlfEgDEu2bqdzzZjyaKa5LLndyf7Cg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411114958_1775875818247_0.40196318737304093","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411121639":{"name":"cli-jaw","version":"1.5.0-preview.20260411121639","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411121639","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"59fb22f688266621bc60e94dce9d0e56a2d964e2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411121639.tgz","fileCount":704,"integrity":"sha512-LDxsrG1utfEEdDVZGMpeCBK+EVTYpLsVezKNp3Yr5PJ2I7DjnrZJc7SBWUk0Kons28LGEWwUHikziDSWf1d8Aw==","signatures":[{"sig":"MEUCIEZd/KgvEyVzOk+SX2r+bCavqfOl6y5OyO3Zs6jNjIyXAiEAnRsFqN4ya5N5UWyjFc/Kq8zCeNLca7u+hWAsoeVvYJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15656751},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411121639.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411121639.tgz","_integrity":"sha512-LDxsrG1utfEEdDVZGMpeCBK+EVTYpLsVezKNp3Yr5PJ2I7DjnrZJc7SBWUk0Kons28LGEWwUHikziDSWf1d8Aw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411121639_1775877418301_0.8239140688713942","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411122604":{"name":"cli-jaw","version":"1.5.0-preview.20260411122604","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411122604","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"728d71a1b7d25ad127830771eba8a13d7f1741dc","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411122604.tgz","fileCount":704,"integrity":"sha512-jkw1ATNlm08VEdki4b8U0sq2MX+Gxq5O0YGsXyUyP1upJ8vDNYnSRW3s+8Udrk/bYpEdEGBLWCyOc41L/N1rOw==","signatures":[{"sig":"MEUCIQCSiruwg9W6eHg9p70UEHuOlcPsuHF4hNCuwJyDMLuZDQIgU9+TE6+dKVjWpHUx/Ongp6wp85rgym/JiHQXjjbUY10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15657872},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411122604.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411122604.tgz","_integrity":"sha512-jkw1ATNlm08VEdki4b8U0sq2MX+Gxq5O0YGsXyUyP1upJ8vDNYnSRW3s+8Udrk/bYpEdEGBLWCyOc41L/N1rOw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411122604_1775878006292_0.9295769543627119","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411123304":{"name":"cli-jaw","version":"1.5.0-preview.20260411123304","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411123304","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d2a2dbfb0309b2354749814e658418e9e8491a07","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411123304.tgz","fileCount":704,"integrity":"sha512-JWVGblXaLEiVUW2kebnPxVaC90HHbqVHeYAw1KBqpnXuJ7DVL4WuG7tT3oLo/3dwPUZYOsofnwwsRxUDJFmISQ==","signatures":[{"sig":"MEQCIF3RvaJbVGzQQr8bK/S6wEUGWDK/TLS3JJb/KoZQlAW8AiBTm1JhdvrKNhGkxpYV++D0uwi8LorUCg7UEiNeDhLyTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15658557},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411123304.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411123304.tgz","_integrity":"sha512-JWVGblXaLEiVUW2kebnPxVaC90HHbqVHeYAw1KBqpnXuJ7DVL4WuG7tT3oLo/3dwPUZYOsofnwwsRxUDJFmISQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411123304_1775878473798_0.4678236193009875","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411124214":{"name":"cli-jaw","version":"1.5.0-preview.20260411124214","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411124214","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f87c1c818cd069b8ebf76438320f7603f22e0ff7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411124214.tgz","fileCount":704,"integrity":"sha512-xfogqOQBKiOx6N6AEsKTjVf2fNPagQ9uZTGaiIl9zyeL0e/upgY29PxtBGkDWi/vTcI5K7seCD81G6PXzW8FgA==","signatures":[{"sig":"MEUCICXkb0zdSJN+tETX6LOzhaM7XLs5VWn7e56+cijK3xQvAiEA73n6ByrJqJfpsvRM7MpPoeftIzYNZdQ4rmL/q8JtfgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15658612},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411124214.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411124214.tgz","_integrity":"sha512-xfogqOQBKiOx6N6AEsKTjVf2fNPagQ9uZTGaiIl9zyeL0e/upgY29PxtBGkDWi/vTcI5K7seCD81G6PXzW8FgA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411124214_1775879028482_0.6512394536056032","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411124839":{"name":"cli-jaw","version":"1.5.0-preview.20260411124839","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411124839","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ba4ae09e65d6fcf26419ba3e6c42be04b9de4b47","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411124839.tgz","fileCount":704,"integrity":"sha512-+HIUElCIuSC0O6wmvByHaKoUxFRqhoiA/iPbQ4qwyIwaTVhQVUsTt1Wb9et1QG+mrJswev+u9kQg21h2mxVJGQ==","signatures":[{"sig":"MEUCICndXXNYYjRPJpRKq9X44KkCnqGISg9VExghC+lX3jhwAiEA8OpBIvXRRTxGfqa9yXlWOm8q1gUblrdfOze9rgHVPFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15658791},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411124839.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411124839.tgz","_integrity":"sha512-+HIUElCIuSC0O6wmvByHaKoUxFRqhoiA/iPbQ4qwyIwaTVhQVUsTt1Wb9et1QG+mrJswev+u9kQg21h2mxVJGQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411124839_1775879342670_0.7566790399083754","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411140157":{"name":"cli-jaw","version":"1.5.0-preview.20260411140157","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411140157","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7c4c623b0f4ae297e1a0c8b485d3506920a01615","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411140157.tgz","fileCount":706,"integrity":"sha512-/92iPTq3iOIXGm9nmUVSOg4GHsvzwTT/mySLI2V/NmyQ87O9dLzND660uTiET+yDZ4d9/MDdyhoUDWGmuJrG0A==","signatures":[{"sig":"MEUCIHT6+H6XkeA6ZuTrkiEoFF/nKL60yr1cJewOciNWgviGAiEAsP4kaSTEWDZBELhIOfR0TQP5KXYQb7Gx2Js8flSWltQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15688869},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411140157.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411140157.tgz","_integrity":"sha512-/92iPTq3iOIXGm9nmUVSOg4GHsvzwTT/mySLI2V/NmyQ87O9dLzND660uTiET+yDZ4d9/MDdyhoUDWGmuJrG0A==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411140157_1775883739128_0.39981945906507654","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411145444":{"name":"cli-jaw","version":"1.5.0-preview.20260411145444","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411145444","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"52c25ece78501fa0f2753bcada4911cfca6c7618","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411145444.tgz","fileCount":706,"integrity":"sha512-GxiBQI2d63JCO8EJfX7lDp3lUvUBJ5H75wjcRK28BZ3DMJfixQ9jqnXNJ8KCqRll2klg2KP69lDfWI9fb3JsEQ==","signatures":[{"sig":"MEUCIDg9PX6UvVYLnE0jWgvgOJ7A/AQXocxTXMnqcihDQvB3AiEA/YxFzSN06nsMBaTx6nQ3/cmBQG2cFUqbPTDZIqxppUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15694055},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411145444.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411145444.tgz","_integrity":"sha512-GxiBQI2d63JCO8EJfX7lDp3lUvUBJ5H75wjcRK28BZ3DMJfixQ9jqnXNJ8KCqRll2klg2KP69lDfWI9fb3JsEQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"10.9.3","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411145444_1775886921383_0.11677312024591124","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411152903":{"name":"cli-jaw","version":"1.5.0-preview.20260411152903","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411152903","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"83264605ed42aa4d80f006dfbb6c19ddf66a9283","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411152903.tgz","fileCount":707,"integrity":"sha512-cyfIZjhmRpev3oW2CCNNgAqmoI08elHwfp6jY5v8rQ/OXOIirsdFMpGz/O8Jkx/bQVBsWui9N8c3lAzCx8OLSw==","signatures":[{"sig":"MEUCIElJ9RtVzvKOt9Ygqpqvx23AD06t58+/pUmjEV7g5N3PAiEAnjODGHI34uQXwzlAbXoNV+oPCOiwNthe2jfKJijwBxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15699485},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411152903.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411152903.tgz","_integrity":"sha512-cyfIZjhmRpev3oW2CCNNgAqmoI08elHwfp6jY5v8rQ/OXOIirsdFMpGz/O8Jkx/bQVBsWui9N8c3lAzCx8OLSw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411152903_1775888962745_0.7750330746350103","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411160036":{"name":"cli-jaw","version":"1.5.0-preview.20260411160036","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411160036","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b8bee033a075d0ac28153f2dfa5b99157b5dba04","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411160036.tgz","fileCount":707,"integrity":"sha512-kkJocnfQX9Xbs5DhBOBMXYllePvvFzArIB8yN+IkbaDG6PdLQCT51yNQWl21NiyEA3JUvkGTj+C8+wgYB155jA==","signatures":[{"sig":"MEYCIQC/qIPeSjAatRDCJ6y5KHtEmCcVtHAjcZ0HR9a2J9RPsQIhAJLX6DVDrK6flCjMcsYeGNeu7YUsbXISZBtK1fZeP19n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15700814},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411160036.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411160036.tgz","_integrity":"sha512-kkJocnfQX9Xbs5DhBOBMXYllePvvFzArIB8yN+IkbaDG6PdLQCT51yNQWl21NiyEA3JUvkGTj+C8+wgYB155jA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411160036_1775890856638_0.5683776064812434","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411160425":{"name":"cli-jaw","version":"1.5.0-preview.20260411160425","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411160425","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8ae26ffa88ee42818ec201496c049ad544456179","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411160425.tgz","fileCount":707,"integrity":"sha512-xgfAqVY0DrRBlAuo72jzUSlqhn+rBYCLusZMdbz1NzEDUJiOdSW6l4jdg12+2vGpLas2Dai49O5/OaC5Anl+RA==","signatures":[{"sig":"MEYCIQCHR2xStXVVNjgufTVrnD1QNUQq1W+egGmAEoTm+MocOgIhAJu/SVhCpmL60mhkSm75N7B3bdS7F+NjlhC6yJkqPUwq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15700814},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411160425.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411160425.tgz","_integrity":"sha512-xgfAqVY0DrRBlAuo72jzUSlqhn+rBYCLusZMdbz1NzEDUJiOdSW6l4jdg12+2vGpLas2Dai49O5/OaC5Anl+RA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411160425_1775891103917_0.912677125746379","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411160919":{"name":"cli-jaw","version":"1.5.0-preview.20260411160919","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411160919","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"eb6c497ebb99af88cf5c98440cc2d0e8658c6cab","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411160919.tgz","fileCount":707,"integrity":"sha512-WtxBwCseoKmHTdL/3XckYJEGCO34QJ1CUln7kyKFTDRaUXmM8AopovrtTWlgiWqg/lLkOfV+oy+fu8krZ00KCQ==","signatures":[{"sig":"MEUCIGsiK4AB3Bvm2OLR2Ug8tA5wkPH2oMaOyuIpqr11DlTEAiEAnFVBMghOdBph79S2FJV/MgMl7QZ6KMhR08LaqoynYkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15701337},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411160919.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411160919.tgz","_integrity":"sha512-WtxBwCseoKmHTdL/3XckYJEGCO34QJ1CUln7kyKFTDRaUXmM8AopovrtTWlgiWqg/lLkOfV+oy+fu8krZ00KCQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411160919_1775891386499_0.6498765852027195","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411220414":{"name":"cli-jaw","version":"1.5.0-preview.20260411220414","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411220414","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f386d4825d0f9f84e788d1499385101097950fd4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411220414.tgz","fileCount":707,"integrity":"sha512-DCGl1+G7IP5T9qHqZlAEw997EC67HUXsZctBRY9NcgXHnWb2fJVnwD932woYMsgGcxzEMxo9Yd+IkhRP0EST1Q==","signatures":[{"sig":"MEUCIE6mpTnm5y+aiF8/eZ/IF0Qll104A96pXRpy33klXNbpAiEAqrW5LY8Q3+39Vv8FWBDccp9pOiw9Y4e4VVi+ivOo+LQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15701451},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411220414.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411220414.tgz","_integrity":"sha512-DCGl1+G7IP5T9qHqZlAEw997EC67HUXsZctBRY9NcgXHnWb2fJVnwD932woYMsgGcxzEMxo9Yd+IkhRP0EST1Q==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411220414_1775912678266_0.12504022178747332","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260411221113":{"name":"cli-jaw","version":"1.5.0-preview.20260411221113","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260411221113","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"056ec4d58dfdd469a7a0b6f337786ec178c70ff2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260411221113.tgz","fileCount":707,"integrity":"sha512-EQE5Yfu6AJb46NUlGdwl2OoIFi0fPnpdUx1AKyNL5ExPoonTSqalPumibY8dx4s6bkJ3jCNt+mwjhB0nvMZWyQ==","signatures":[{"sig":"MEUCICDxLT54WoOgO4Bp8YNBd/DYFahu+jBv8I1a18dcDwpsAiEAph3VEQnJxr0MUnloQBOVNnNpxZtPEdypzma1rApXwcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15702016},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260411221113.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260411221113.tgz","_integrity":"sha512-EQE5Yfu6AJb46NUlGdwl2OoIFi0fPnpdUx1AKyNL5ExPoonTSqalPumibY8dx4s6bkJ3jCNt+mwjhB0nvMZWyQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260411221113_1775913104766_0.013155515891960956","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260412041145":{"name":"cli-jaw","version":"1.5.0-preview.20260412041145","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260412041145","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ada4af7ca8494a2bc48a4e5973c0eaf0a0d59489","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260412041145.tgz","fileCount":707,"integrity":"sha512-NXvdmomywtR5DZxMD+IO6YZddk83WqoFhSSvoEQ2yTsJbYxSpXxR8VuoLe+JjzWMlT7I3W0iUJo1grE/jeMAoA==","signatures":[{"sig":"MEUCIQDeSOYqpSUdJw1/K0AtbRS4+JsiI2hreW41IBKxhxix0QIgH0WMOgKvb4rnqenMV+qCVBKdBT42xxRJCUVEH90jgmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15706217},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260412041145.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260412041145.tgz","_integrity":"sha512-NXvdmomywtR5DZxMD+IO6YZddk83WqoFhSSvoEQ2yTsJbYxSpXxR8VuoLe+JjzWMlT7I3W0iUJo1grE/jeMAoA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260412041145_1775934735873_0.24246047828452433","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260412211817":{"name":"cli-jaw","version":"1.5.0-preview.20260412211817","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260412211817","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"722923fea6ceea92abed2291f81e6533f19dfa41","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260412211817.tgz","fileCount":707,"integrity":"sha512-9PkFK0/NJv4jADzYuPuQIBoW1RkAdmziHuF83dB0gZSeCuplVU8R2dO/6yrJUeuQBVIdXrosqQQrhyBljfm7jw==","signatures":[{"sig":"MEUCICpWkFJQRL2v/AlVgVNwS6rq1TkzSP18zj0lSj1uV3PQAiEAh9/66XqgT0m5oulpZRKvtPho3clVw6Bs0DJqLaql1Kg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15714023},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260412211817.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260412211817.tgz","_integrity":"sha512-9PkFK0/NJv4jADzYuPuQIBoW1RkAdmziHuF83dB0gZSeCuplVU8R2dO/6yrJUeuQBVIdXrosqQQrhyBljfm7jw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260412211817_1775996323912_0.9408182634815392","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260413011821":{"name":"cli-jaw","version":"1.5.0-preview.20260413011821","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260413011821","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"cbc9fab7154b2f650ff1f3f5f3a9963a4ab88cd2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260413011821.tgz","fileCount":707,"integrity":"sha512-xrj/CuIpeoKztgDEF31lkI8tq8uoggmBGG/u2FnhH7JNVKGQ2k0UCDGTMs2jPzpghnDPOB55RRTh5S7TQV3vxQ==","signatures":[{"sig":"MEYCIQCtzEeiZItMc5GqqrpYesHE+o9qbpl46sNuhKQK1hQIfwIhAMMw9eTjvnmqkclTjmd+DtEKxWmC7yF3m77gUm7Eq/Dy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15716803},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260413011821.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260413011821.tgz","_integrity":"sha512-xrj/CuIpeoKztgDEF31lkI8tq8uoggmBGG/u2FnhH7JNVKGQ2k0UCDGTMs2jPzpghnDPOB55RRTh5S7TQV3vxQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260413011821_1776010720093_0.19043867705708117","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260413085922":{"name":"cli-jaw","version":"1.5.0-preview.20260413085922","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"ISC","_id":"cli-jaw@1.5.0-preview.20260413085922","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ed37e1e3e4683e1f7a5b190d2f720a370fd93466","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260413085922.tgz","fileCount":707,"integrity":"sha512-XjhHgt8fPf3kO6OCns3Da2QzndpISAFxWle7xn2Mw1BhCzZ/nARJBXX681GABMvnKZi5ekcThaKxvWxz1voitQ==","signatures":[{"sig":"MEUCIQCpM/2kjPukBxeBCEgWZ3vFEKPZ12FCDyPkhEWyZuPCbgIgRqClXf9BLmmk9dR3yrnEPAf8NDfp+OU5IeB1XT4uVVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15716803},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260413085922.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260413085922.tgz","_integrity":"sha512-XjhHgt8fPf3kO6OCns3Da2QzndpISAFxWle7xn2Mw1BhCzZ/nARJBXX681GABMvnKZi5ekcThaKxvWxz1voitQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260413085922_1776038402302_0.9422712179181356","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"cli-jaw","version":"1.6.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"56b725be21e291cdad1597640fbcabe512f20b22","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.0.tgz","fileCount":707,"integrity":"sha512-18pAK/7nB8HoR4sJGxUigxOA9Xb82l8JjxD88P/JjJwzjx3vsmW+exI9tneqzB5XAUCBnGojfJCB1/U5WkcE1A==","signatures":[{"sig":"MEUCIQD+z63RiQtUq9g/wz6TNJQ56huzBGKnFdQzU1xTTqP5LgIgYWykUJI4CIvYwqEyd6NzPvmBuU+cAJA9OdVffy8zDpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15716998},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.0_1776041533797_0.4719385205918196","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260413113159":{"name":"cli-jaw","version":"1.5.0-preview.20260413113159","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.5.0-preview.20260413113159","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ec17fcb3fb903c736c09a0c907df43891353a228","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260413113159.tgz","fileCount":706,"integrity":"sha512-YLsseHTyP+BmEIKORKONn7HQ1jbbFqkBDjzu14b3rnvI+VoFZScRl92iUysdrLUgChqKdpAfJyzf+mzImKFA4w==","signatures":[{"sig":"MEYCIQCf+bNo0pz1bD24SBOYdlMB85Y8wPDfKTluuD+oynVX9QIhANTvb8NhxLwawslLSgvHtO0rkSr/Yz3hUB/MFrfuxk9x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15717495},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260413113159.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260413113159.tgz","_integrity":"sha512-YLsseHTyP+BmEIKORKONn7HQ1jbbFqkBDjzu14b3rnvI+VoFZScRl92iUysdrLUgChqKdpAfJyzf+mzImKFA4w==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260413113159_1776047541641_0.13290961275392643","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"cli-jaw","version":"1.6.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9827a46e08a7d35c3bfd363b8cde747292680889","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.2.tgz","fileCount":706,"integrity":"sha512-qc2up7XO80fMbzkRFURM+BCqwTEMaDrloVGhqQ+PBeJNrXJImvkTmoIi7HPzHDNvmOHX1VDjzemYSc8tHxdwcw==","signatures":[{"sig":"MEYCIQDhyIKa/H69wYw+RDYgvaaIpYsStFBrlq0qTF3YqEfdiQIhAMq6D/KHQ6GN/y8hKBXA4dQnovk/tuRbN8B16FOi/atk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15719258},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.2_1776051451221_0.13123639885430793","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"cli-jaw","version":"1.6.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fccb9dddd080a0af2291235b43dba742024dabb2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.3.tgz","fileCount":706,"integrity":"sha512-2jRQ+XQ7Wsa/WcWTdGaWcU6+h60hLzzp4Uh4XKKXHuzDETuogSflvz1OQLk5I+drRp4YfbLpKRYiKQQtf1s72g==","signatures":[{"sig":"MEQCIFtLM7NACCov3ASshU3spaN/wjgKr2t3jZ2bQQJjN7NtAiBSj7DmYL0BxbGMAodvrkfqjNRdr9pRiPMahKGFcd9NAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15720161},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.3_1776051905170_0.22084997530598582","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"cli-jaw","version":"1.6.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"11e4c9e71eec7ccf7e5911d6327bb2276104477d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.4.tgz","fileCount":706,"integrity":"sha512-DqjSX7IZeaydkzBJ6TxNv2dESozm7ZoxwjW8esW4bBB/OPxE8IdBB+zfgxWgaSKxQdsLfbO1jo66SCDrti1D6g==","signatures":[{"sig":"MEQCIDoGzaCKDcxmqQDb9jnkhANderY75f7R4mEZu0A3SNG4AiBbuxP2bhNfyjx9gNCcQGVgafMFLwgR0RcyM7vgA3vD3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15725381},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","i18n:registry":"tsx scripts/i18n-registry.ts","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.4_1776076102913_0.44818053756934884","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260413213353":{"name":"cli-jaw","version":"1.5.0-preview.20260413213353","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.5.0-preview.20260413213353","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"079c20fb8b91cc9a18af58604e7935894426dc6a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260413213353.tgz","fileCount":708,"integrity":"sha512-SUpq8A6BVZ7Vfw1uPoo5S4bVwXf6XMXXbANK4BtsBljDXh/LiuBxQXlZA/Wowsn7WSl6VktKBuJzfdvRXyuV5A==","signatures":[{"sig":"MEQCIApLjBoDVuRKuprQGaxEx8uDJ+bzcQBfLDCSmXYZfY5mAiAHqsHoIdRIRrfUAQ0lih9juXN+N705x16YdvkbqiXmQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15732882},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260413213353.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260413213353.tgz","_integrity":"sha512-SUpq8A6BVZ7Vfw1uPoo5S4bVwXf6XMXXbANK4BtsBljDXh/LiuBxQXlZA/Wowsn7WSl6VktKBuJzfdvRXyuV5A==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260413213353_1776083656817_0.4325242002541836","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"cli-jaw","version":"1.6.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"47e52cbdd122081cbba3395244cdccb246320540","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.6.tgz","fileCount":708,"integrity":"sha512-B5rQwnw5r03A683pnk+jp5Q4JOQG83wSP1K2hxOo7iBzESDhrz+0bnQkd8TwKz68v4gziBpFcPwCj7YSRseIWg==","signatures":[{"sig":"MEYCIQDepmPL4iULNYbS01BG4B5rCqxNQd7LxORM70R0Lis8SAIhALyX6zxs4pd96wG28pn+D2mqOksnSQ7FsvqHrGshoeX3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15739050},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.6_1776086266447_0.20226911812543813","host":"s3://npm-registry-packages-npm-production"}},"1.6.7":{"name":"cli-jaw","version":"1.6.7","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f8d8ac18f02a1c75c8292e7ef3404fcf833ee7aa","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.7.tgz","fileCount":708,"integrity":"sha512-e0dV1oxohRSEf5OoBSE6gDxu8A7UIp+CdMHMCZ1oM6mCBgJ4jG4VcLmUHL0zP4wTSB2j+amjwSWiKmgpLPOPeA==","signatures":[{"sig":"MEYCIQDWnwlK3h4D3MFH9rfxs1D6GNGrewQ7qqQyYdcYnP1wjwIhAJVBXGUuZZP7tNEUWw47eEx358RJXYbEGnqPbWuGka1V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15739050},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.7_1776086444538_0.19170988478872109","host":"s3://npm-registry-packages-npm-production"}},"1.6.8":{"name":"cli-jaw","version":"1.6.8","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"66d97be55193028d1e218d94f6abde834e39f3a4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.8.tgz","fileCount":708,"integrity":"sha512-jadTqlypBSjOOJFxRGJzmfor9BsmKqdCb8e5iCrfwtOVtBvtRSMn1VW58kP8dvJgKN/Jur19HBt6iaLomyLOqA==","signatures":[{"sig":"MEYCIQC04IfG92X7OHpHvBGyCt+u4MRNWfug3EheQXPRJ29g6QIhANtqUNKmYcuuU7ObZtoeI1HkzxiLIj60Ld1Bgx6kyUID","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15740615},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.8_1776087214491_0.6754301740557063","host":"s3://npm-registry-packages-npm-production"}},"1.6.9":{"name":"cli-jaw","version":"1.6.9","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0bbf904fa85435c27a9c835ad0324a3b1c5430c4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.9.tgz","fileCount":708,"integrity":"sha512-mBG4P4I+lP8igA7zOgbVgC+/c7RR9t/dpOMQMJ7Oke4EsENFnGh0MtHabFoTJZHNHuUwOuufUet9xe3JtToNnQ==","signatures":[{"sig":"MEYCIQCwcCTDs2uk7K+L+jV8SEY9WLJmoRqumRJBenEFTK8TVAIhAIzEkkBo61/xyqW4g2J0UROJ6rkORp8yibMg6U1+QYPd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15757868},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.9_1776099029997_0.22125564885457183","host":"s3://npm-registry-packages-npm-production"}},"1.5.0-preview.20260414112252":{"name":"cli-jaw","version":"1.5.0-preview.20260414112252","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.5.0-preview.20260414112252","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"dfb084f3877aa234ae2c20a9ec5e5974d8651b17","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.5.0-preview.20260414112252.tgz","fileCount":746,"integrity":"sha512-VG2iqmbUWz/xcDu7fYDU7dM2vxVKxaOB/CIC7cM0mpZEX3s+OkFRmS819Fqi9NU/nlixwa/Xi1LZvF+3G1a9uA==","signatures":[{"sig":"MEUCIEyq954FtUOvEYWoXJsY01GWDQqaiK5JN84KehawZa+1AiEA+4okrH8uAfEa5tXrNDmAD1bPSBtLYFZWR49BJofdQro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15808261},"type":"module","_from":"file:cli-jaw-1.5.0-preview.20260414112252.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.5.0-preview.20260414112252.tgz","_integrity":"sha512-VG2iqmbUWz/xcDu7fYDU7dM2vxVKxaOB/CIC7cM0mpZEX3s+OkFRmS819Fqi9NU/nlixwa/Xi1LZvF+3G1a9uA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.5.0-preview.20260414112252_1776133393942_0.6698039450457594","host":"s3://npm-registry-packages-npm-production"}},"1.6.10-preview.20260414172805":{"name":"cli-jaw","version":"1.6.10-preview.20260414172805","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.10-preview.20260414172805","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e71f0041da8a1efb046a7a8ec2831aeeab5da3f6","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.10-preview.20260414172805.tgz","fileCount":774,"integrity":"sha512-KrRrLZ3b455gJ29E6nepF4nNjKMgrVt+2HZIYe98+lsn1ThPKMx8Pr9jdVUFXNQlJt2wWipuFqpv25zJ8eBibA==","signatures":[{"sig":"MEUCIQCvRfM/d9YibdXyX2wu5jSnUT0VAyFqc/cNq7mk+wyL+AIgFN/EZxtC9LocuefcVbijLAfQmc9dcJrRX6tGUAERRU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15896762},"type":"module","_from":"file:cli-jaw-1.6.10-preview.20260414172805.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.6.10-preview.20260414172805.tgz","_integrity":"sha512-KrRrLZ3b455gJ29E6nepF4nNjKMgrVt+2HZIYe98+lsn1ThPKMx8Pr9jdVUFXNQlJt2wWipuFqpv25zJ8eBibA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.10-preview.20260414172805_1776155304271_0.02799948354155335","host":"s3://npm-registry-packages-npm-production"}},"1.6.10-preview.20260414173907":{"name":"cli-jaw","version":"1.6.10-preview.20260414173907","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.10-preview.20260414173907","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f40858786f57cd554fcf6c4aec6bdf9020ae82ff","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.10-preview.20260414173907.tgz","fileCount":774,"integrity":"sha512-i2z5EcWtudGibPCgUqo0AUdTmNPHBlzz0fz0c+QaXlWi0L+7DobMKSqdUOWLxdxbvKQfp2T4/iQCt3YoKLS6zA==","signatures":[{"sig":"MEUCIDZ5ZJA7g+XgKwmkvoJQ43LG7IxpoRIvkTENrK+74zQNAiEAhrr/WrE5Q+iSHn02IpwJnm0b7a722fBtqYraalvaOE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15897170},"type":"module","_from":"file:cli-jaw-1.6.10-preview.20260414173907.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.6.10-preview.20260414173907.tgz","_integrity":"sha512-i2z5EcWtudGibPCgUqo0AUdTmNPHBlzz0fz0c+QaXlWi0L+7DobMKSqdUOWLxdxbvKQfp2T4/iQCt3YoKLS6zA==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.10-preview.20260414173907_1776155967292_0.6444261772858764","host":"s3://npm-registry-packages-npm-production"}},"1.6.10-preview.20260414212657":{"name":"cli-jaw","version":"1.6.10-preview.20260414212657","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.10-preview.20260414212657","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c559f5fd828bb1bad9e866941ad75cbf6af1b33d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.10-preview.20260414212657.tgz","fileCount":774,"integrity":"sha512-fonWivjaZC06+EQurTtKdkNBdtveYpALKt90tTYYX70ldpU1MSiU0ousvBaG/RYbhknYcWDWwyQTslSkjNPb6A==","signatures":[{"sig":"MEQCIHSxhG2oQp1yalpD6OAFnaIgxQzPOcQcnEhvnNwYU5g/AiAnGC495eFRuFyRNPln8PcaBkU9P3dPp9M8ip2Fkhw/eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15907213},"type":"module","_from":"file:cli-jaw-1.6.10-preview.20260414212657.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.6.10-preview.20260414212657.tgz","_integrity":"sha512-fonWivjaZC06+EQurTtKdkNBdtveYpALKt90tTYYX70ldpU1MSiU0ousvBaG/RYbhknYcWDWwyQTslSkjNPb6A==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.10-preview.20260414212657_1776169638802_0.72423066460893","host":"s3://npm-registry-packages-npm-production"}},"1.6.10-preview.20260414214446":{"name":"cli-jaw","version":"1.6.10-preview.20260414214446","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.10-preview.20260414214446","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0b2f1e47dd5caa991efc093efe3030cf6c4c4d10","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.10-preview.20260414214446.tgz","fileCount":774,"integrity":"sha512-Hxw5s+4ZnzvtK7uA+K0K75K5SdHvmbS937dcNtVIcgwpWybDj+JVYBMqhIagcYCkbAqdEZOUlCkwozM/x/4Asg==","signatures":[{"sig":"MEUCIQDSKpZn2XlMrp1Emi52Yq5eIZK7vDW2e9WuPKhDWl1LJQIgEJFuvE1d2cyvSr5DgPbVOJQ10mHuhpl+WMd8TlSBVCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15907213},"type":"module","_from":"file:cli-jaw-1.6.10-preview.20260414214446.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.6.10-preview.20260414214446.tgz","_integrity":"sha512-Hxw5s+4ZnzvtK7uA+K0K75K5SdHvmbS937dcNtVIcgwpWybDj+JVYBMqhIagcYCkbAqdEZOUlCkwozM/x/4Asg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.10-preview.20260414214446_1776170709571_0.9000081415593189","host":"s3://npm-registry-packages-npm-production"}},"1.6.10-preview.20260414222823":{"name":"cli-jaw","version":"1.6.10-preview.20260414222823","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.10-preview.20260414222823","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"18e0afa3f491cb64927e7f665d6671e8a8c555e9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.10-preview.20260414222823.tgz","fileCount":774,"integrity":"sha512-hD0T/qxLV9224hurFyGK9WYzdJ9Sf0Qvsi/cmVo4ZX0JE4GD6YDnQlJGr2TTgKIVaH9ok/jnQosTj72wUIVtrQ==","signatures":[{"sig":"MEQCIDTwtNzn6rckC4jBzLc6HUfwf6nmmiD4J+uFPMwmNDn9AiAo9t2Qx8XZZY9k9DIuslMK/2rofuA+WpK/rq0lVjo6YA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15908469},"type":"module","_from":"file:cli-jaw-1.6.10-preview.20260414222823.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.6.10-preview.20260414222823.tgz","_integrity":"sha512-hD0T/qxLV9224hurFyGK9WYzdJ9Sf0Qvsi/cmVo4ZX0JE4GD6YDnQlJGr2TTgKIVaH9ok/jnQosTj72wUIVtrQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.10-preview.20260414222823_1776173323741_0.720308295983791","host":"s3://npm-registry-packages-npm-production"}},"1.6.10":{"name":"cli-jaw","version":"1.6.10","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"83564c45e056e78d5a68210e26d52947913f0e9b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.10.tgz","fileCount":774,"integrity":"sha512-J/DVbddt4KqtwXxfE2Nf40XQG2zW20IGYSD2Km++RqOWcq+sh7YZoqgtnTFnvnA0athccUIYRUTlLbpmH1A/KQ==","signatures":[{"sig":"MEUCIQDda3G9V2/TAwiuxz62rzIjEtZc8yL/kAMGbG4l47v5YgIgHrIoBkmvUVB9/Zjvd/fxJ4wUf41fqtty8fnv4m/nwY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15908701},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.10_1776175495910_0.37851394050689424","host":"s3://npm-registry-packages-npm-production"}},"1.6.11":{"name":"cli-jaw","version":"1.6.11","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.11","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"41fd572d2700126e0946ed10fd1ad5318695b894","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.11.tgz","fileCount":774,"integrity":"sha512-Vase9TMWuWOJQT7kIgQxpA66ZQl+P828iSQA+zTKbN0/onufLQ4JuPTKX5iC0s9rdDiwvh0vG/5Ee8duz1b9Xw==","signatures":[{"sig":"MEYCIQCHwYizi6163sVkVLCVhZGZRvMnFWl9RYrQ1TaPJLqRiAIhAPzVnnMw7r+XlRrP3H4jK+2vDm81ffCSBl01LbzEPx7p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15919114},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.11_1776183370974_0.029186930934312016","host":"s3://npm-registry-packages-npm-production"}},"1.6.12":{"name":"cli-jaw","version":"1.6.12","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.12","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0db8fefeb1182f1d8ec5471a1ac558b81b33792b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.12.tgz","fileCount":777,"integrity":"sha512-FuNLeTLHRPj9foTSQutgCOdm/IE9hfqDIkw5j4M2J40VCErVqJbTpqw8dZK1vkFkkTsWEqYnxYBdvkP0TI5lPA==","signatures":[{"sig":"MEYCIQC++7HThy7RKudtRKmQA25Gu8xzjbAtyeGwNFPbWjbZiQIhAM+9TlMG5QVNbTZmYa30H7TthZ/MpIC7as/hnPaEb3QH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15930962},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.12_1776186468899_0.5835458290298519","host":"s3://npm-registry-packages-npm-production"}},"1.6.13":{"name":"cli-jaw","version":"1.6.13","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.13","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3a64f8ec83be5a7bc3ffac331edd5ea6c9f2aaf0","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.13.tgz","fileCount":782,"integrity":"sha512-0nEtF/nFztnRs+ydCmrNTP4srjsHlTk1SjZ0XTYdxpgvUPvalLWIXb7HOIL8JCdPU6dsIasVpudwKcNHe0XAGw==","signatures":[{"sig":"MEUCIGHsPnq9/Hv4B3qhfPNQ9Gd3vdcywlySARJRv7xJJ/fQAiEA2xltPrHlsKuKUbzrN1X1HIN2MXj5ZOBLFU4kHdJ8btI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15975332},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.13_1776216137984_0.2090038111738468","host":"s3://npm-registry-packages-npm-production"}},"1.6.14":{"name":"cli-jaw","version":"1.6.14","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.14","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5a695719de6bd4ecc2a672afcdacceaa4aeb559b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.14.tgz","fileCount":782,"integrity":"sha512-+2e8Z4LO6qlH8QR7zu8HhoNvIxxmJDiaMbab+ciVqCwC1olJHnKr/2Rfn+pAQ/Adtu1XXMHCXhDsXmHs5vLipA==","signatures":[{"sig":"MEYCIQCTPxgPyYHJh0tz83BI+CTrmssSJyVFgGowymZPxSxDagIhANf2/CNdOe+M59Ko/k6fATA9KTsy0sB674d8Xws0/jou","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15989668},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.14_1776220131175_0.5265157492429724","host":"s3://npm-registry-packages-npm-production"}},"1.6.15":{"name":"cli-jaw","version":"1.6.15","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.15","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"579d4f9d1e0209e74a6e78d4535150eaa4e9e27f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.15.tgz","fileCount":784,"integrity":"sha512-5gizNjWYw7a807eE2I9Q/gV4ZG3UbyrZfyTG60BI5icoogXNuhg5pfkSVu5/yW5jUdMvNBg3Sv/FGJbCkA6zgA==","signatures":[{"sig":"MEYCIQCObM5qRtqCqv7f2CcsObuHKwKZjMO+7xgTHQL17RlaMgIhAMExvlN8w4KMdUL/NXdRu9qUpWbF47kzcWT0DQ6P7vT3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15996514},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.15_1776223528932_0.639305364545186","host":"s3://npm-registry-packages-npm-production"}},"1.6.16":{"name":"cli-jaw","version":"1.6.16","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.16","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2613077d4d1496ccca6b004e3f3e6a328ccb26ef","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.16.tgz","fileCount":784,"integrity":"sha512-34xHH+D71kwaAuVGQiduIkPFmmdLFZE8Tu79uj4mp4L8u8GDKndtDVoxmPEAjj/xTOnRgDTZh3tstpldqvXpqw==","signatures":[{"sig":"MEUCIH9rS/tmCgVsCAk2fbGltvv+y5aAofKMkKC12Cq6jV5pAiEAvPDzm6v48YxX+lSu/F+jMQAcAWbYPqyttEbv/18GlLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15997205},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.16_1776223917963_0.6732638360463277","host":"s3://npm-registry-packages-npm-production"}},"1.6.17":{"name":"cli-jaw","version":"1.6.17","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.17","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2759fcf30c78a819f61c8f0603de03c7f3c0b935","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.17.tgz","fileCount":784,"integrity":"sha512-5HFvN+ll/GuuETBnMDr/OvHc0hzjg7IjovaN43/LHH/j+p2wC5p1i8uXdMoYmCsJEb+G4s4L60Hw5GaJkpq6Ug==","signatures":[{"sig":"MEQCIFeWTnx6Os2Cv7l1jlYkXNMeX861Cu+iUXuZBkobimI7AiAD2QQvgnvJ5wsMJwEWWu7N0Aj3ovybg+Ib0HPyJq1RMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15998502},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.17_1776224941517_0.23045987433062232","host":"s3://npm-registry-packages-npm-production"}},"1.6.18":{"name":"cli-jaw","version":"1.6.18","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.18","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c9182a0a2f147b96b5c7956e71f197bfe8bbeec7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.18.tgz","fileCount":784,"integrity":"sha512-mR/t9l2WWFFQtpxO7nNWqO3zVVHmzDL0zSK/s4RUBGrNquIYko7oTelQc3kwg5TrkQFSKubgGV2egfe7iB4NJQ==","signatures":[{"sig":"MEYCIQCyelg6ny9cOa58nwsYs7IrS19NtmLAUPMhkshAaE49owIhAJ4e9k3gPsp8KeAEgok2Jtr/GqDTE6PO034Kbc83SYBT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003792},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.18_1776225368270_0.35631840695741235","host":"s3://npm-registry-packages-npm-production"}},"1.6.19":{"name":"cli-jaw","version":"1.6.19","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.19","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"327bdbc3ca83b77d4afa717013b82fca97e9e9db","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.19.tgz","fileCount":784,"integrity":"sha512-kTq6P7ty6+XQHp0haE/4yKw24sbA8ifQyXwCJDXNnzncHQ+Oeg98ojTOTP0CgWsWr5uk+MMed0808LxM/n9cEg==","signatures":[{"sig":"MEYCIQCAOlHj95V4C97aJyraH5+qdkmNThfY5FRjIhxUP5IgbAIhALv29NA+bU9zyrFP5R7ktizBQq70uf2/0B1besuT54D/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003792},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.19_1776225396054_0.07686728479705862","host":"s3://npm-registry-packages-npm-production"}},"1.6.20":{"name":"cli-jaw","version":"1.6.20","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.20","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bbbd6d39f6545296af510d9c8f100043df9a62fc","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.20.tgz","fileCount":784,"integrity":"sha512-XjZBeQHEn3yXldHT7nI/6Op+xHO+lBuRXNI2ve2wVTkv16IdtVwr3yp3MbgDL1s3FEO0wvAi+qe7QWKvNYpr4A==","signatures":[{"sig":"MEUCICbCnho7/Yu5LV4OVALsu9c8WwaL5pD+WmODoFf9L8WpAiEA3GbAeUD2U5m2DI0AFtB/p4MvZTbPNJE9NV269+ciagc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003042},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.20_1776225656364_0.20555385010996496","host":"s3://npm-registry-packages-npm-production"}},"1.6.21":{"name":"cli-jaw","version":"1.6.21","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.21","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7157222757a0a94af4ad32b726b2d61c47990475","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.21.tgz","fileCount":784,"integrity":"sha512-DPpXdqe/xiKA19SoCxjyMoRwjeRu3gbOAMbtXh6UiAmmzJh+NVuvnrychFgZfQ7Js1wuQCGEvWAW3rwvLd/JMA==","signatures":[{"sig":"MEYCIQDphsHs56OEn93/oxYOhmTMOoQavGCjlDwJ5S2TWPKH0wIhAOpizxKF34m4oIfkWIGnsW05Ef5cdHc0svBC+q8z3aBX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003784},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.21_1776226003929_0.14469431473729477","host":"s3://npm-registry-packages-npm-production"}},"1.6.22":{"name":"cli-jaw","version":"1.6.22","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.22","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5f37b2b19d04a854ba741cb4b8d9a225e8c08f37","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.22.tgz","fileCount":784,"integrity":"sha512-bmpx26a28BBxMw/udF9PHnP0RM6az1qKSPLyL8JVThq3/NqRrVzTkqXgi2xUBiL/5d0w5uaeN7fcNy4xeSBwZA==","signatures":[{"sig":"MEYCIQCMIQiT2PxbDM6QjchzFXcyphYGG/m6tqs39nquCq83MwIhAM2mhtffTFZ3SUxq2MOELXGBdu8rPduttcRV+jNx2wLc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003247},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.22_1776226375604_0.044437250750222645","host":"s3://npm-registry-packages-npm-production"}},"1.6.23":{"name":"cli-jaw","version":"1.6.23","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.23","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a12b6fa093f08448c7c5d7ebca58e09f66e336a8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.23.tgz","fileCount":784,"integrity":"sha512-7t9Gj2e4hcL9W4BxsUv9ckWnhVJ3yFvfdEAvuHE/6oWDVquLu3p9tLUoh57A+EXCqxqz4tmHAa/F63e3BgBrPw==","signatures":[{"sig":"MEUCIHZ+NRphdZCiXMdaxSNDm6GrL5p7znS98q9eST5tUBSoAiEAoFxGgQ82KddS9H//vJRaQT2fSNHrmIbthz3bESv5RmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003220},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.23_1776227558878_0.6230368910525006","host":"s3://npm-registry-packages-npm-production"}},"1.6.24":{"name":"cli-jaw","version":"1.6.24","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.24","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8aad0ad3343aab2ccfda021f4cd9d191ebd83eb2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.24.tgz","fileCount":784,"integrity":"sha512-hL0zPwwL4l1bZNoNdedukLim0E/kosSaVRF4dw0PUbr7eDX7B0ixfatHah+zMawyBKnDOdEE1sCZMSZrq3epjQ==","signatures":[{"sig":"MEUCICIYHkXw84jpc2YbWd1zGnhZeXR5iBED1fGdy+P0LXRHAiEAqvIHnSvPcn3cDnLA8tkdujGfW0idRdGKXdZTIReFDdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16003220},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.24_1776227610771_0.7515627705117318","host":"s3://npm-registry-packages-npm-production"}},"1.6.25":{"name":"cli-jaw","version":"1.6.25","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.25","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"eda2babfbbbc12042a4665e3d525430572eebdd2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.25.tgz","fileCount":784,"integrity":"sha512-2l28lCWpRERjqbFHg2IkGsDgqHxTxrRv6V5HJ+YAGSogWBbZXaaLU/Zvh06omWKkFJeUIv94nEDEeYBU1XedUQ==","signatures":[{"sig":"MEQCIHoHg6Xrq0OEtGYdiJhWhgHAt8et5e+fXNc33HZfz7mMAiBtP4o3oYhDeAktmbkX/F2YEJeq3uTdF4kkVsLSgvxwBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16005288},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.25_1776228354732_0.5117742497071036","host":"s3://npm-registry-packages-npm-production"}},"1.6.26":{"name":"cli-jaw","version":"1.6.26","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.26","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f5704c034e89daec49389ace381168f4e7ed13e5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.26.tgz","fileCount":784,"integrity":"sha512-LYSDaVXx6trez2TdkmwqguF4p9yfrGTyLCdebbBHshMbgIANAP6gw2HBKhFrSrnyntnmI9lG0zPeE7fhl8C3KA==","signatures":[{"sig":"MEUCIQCIZjS82P5ikg6N1dx19S521uByWyzR9+n5jGaUw4CF2AIgN3fCZicywXOBYNqg8L/ITcV2mwycmiAJ7Ry4CMb5Qjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16006033},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.26_1776229067057_0.29207156640141996","host":"s3://npm-registry-packages-npm-production"}},"1.6.27":{"name":"cli-jaw","version":"1.6.27","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.6.27","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9639fa44a56287c7743588911762b1dd712ed341","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.6.27.tgz","fileCount":784,"integrity":"sha512-zw4N+ZgU2/FpX9pivd50owCXt2EBsxABcn/Yno6XjRUhB606CCxGCSTJ+YZFj99+Iy/mEqwsXec4trET391eTw==","signatures":[{"sig":"MEUCIQD9vnthKpRegzHJf32zuJLZlpwEIr67eYLLSaZ9pwdv4gIgUzDT/227nOiskj7hQIJEHNfT6ZPrPNiw9Yn1P4+mbHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16006856},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.6.27_1776229615681_0.8830326667190018","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"cli-jaw","version":"1.7.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"58658024a753ad8d34013c8d4dd9ae19c7e0e663","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.0.tgz","fileCount":784,"integrity":"sha512-RV7djx38dRRXT9a0R4ZQXFoOiIQeEjQq/2rPQFUq8AhO/fLhyL382NG1arWobD5SuJ3yQo1qwIPifCCdnaOODA==","signatures":[{"sig":"MEQCIACJEBFueMwoxLdRR0Vzh4xwg3MF9l+YouB59qMAyeJ8AiBapnM/T6/sgc3KDfICzoNrmFx2oGDl1E7GjBqun5IdeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16007045},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.0_1776232076077_0.9635698589447335","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"cli-jaw","version":"1.7.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c9501b321e5c1c42eaece4ea6ec16820f356044a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.1.tgz","fileCount":784,"integrity":"sha512-qEIc3eOCiy0HMEbDzJwQMYs+FD18OYRsZcv5VVSlEFquAdbUk/xJEF29LxSFc/gAB0DDb8pRW3dKSNPyfsO6ew==","signatures":[{"sig":"MEYCIQCfdHRfYMGgHi0mb9aGs07cP9dMyAMGHQh74hSe1WkthAIhALxQyLWezVStfsrDgn8docLafarHuKlvxkHabs84+Le8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16009117},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.1_1776234137317_0.3579557928540531","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"cli-jaw","version":"1.7.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c9fc1ec2134231f7810bb1feeac54d720dda7e43","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.2.tgz","fileCount":784,"integrity":"sha512-QQ2m/CfC5rh4e6WRrA8QDPE3OitVsC+Lklc0bd3M4coDulzNV7iuBsk4nhB549AyJHPFps4/kfP1WC1hpNWeJA==","signatures":[{"sig":"MEUCIQD6ZmLMhxM0mS2afr2VhJoqUhM41JS0idD6Of+Go/ql1AIgUAEvESpAEtl31lx7N/C7kt40K9Sw6Q3EjxWUFaIPUHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16008789},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.2_1776234656495_0.5132578035021742","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"cli-jaw","version":"1.7.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"dbf5c456c25e5127ba00ad7a9ce57ba9fa2f0449","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.3.tgz","fileCount":784,"integrity":"sha512-J2plnxqg9qio8y+BLYMZWDq//wWlf2iC1Imq1nfNDB1v+RwzviziVWJ3Ze3TqjbRYWP9sW3h4Sx9pQ8G3wU+0Q==","signatures":[{"sig":"MEUCIQCtXCew2HoPXp3ywodtyUAXis7q0eZNO4m6UcdkhJwscwIgbKVgNbq9XpP7cr0s76V0+XuauiKR0mWo/DGtpyKuqcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16009106},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.3_1776237545691_0.1191715156785993","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"cli-jaw","version":"1.7.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6be63005adebf54815a8cba339a19279d432ae09","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.4.tgz","fileCount":784,"integrity":"sha512-QccCJ022yjKghSSWE3GFjyIEyl0PDyLZztb10S86Fbq4N4ix5shjw2h6kwmt0WdaTbjGRfl6l0fiAweSXlStWg==","signatures":[{"sig":"MEQCIB5+7U+F6j/sYGhHw7nsHEJI3byMxNihZ7dbCGgNmF/VAiB+KCLzTRcXoLmyoxoXDZ3msIwz1/1JoBH/AqkMKLPd+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16011060},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.4_1776240838020_0.023887010047629165","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"cli-jaw","version":"1.7.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4b13a25f17f4fe581bb06bb84a15cb3a60ade15f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.5.tgz","fileCount":784,"integrity":"sha512-6eGK0Ed7FXdbHAQ0iwWgkgwZ753j3mUoeV/qNFGnOZUxOqy4WjXD4CXatJTe7FGaLyj5ObY8LLJo5x5MHnBnLQ==","signatures":[{"sig":"MEUCIF2menoar+JP24KaFwlldaUDCrkAGvOsBgxSjxrq22cYAiEAq1ZwTiEzEarIMQLH8nD1JYDuGw5ilElmtfk3boIe56I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16011643},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.5_1776243491614_0.4114220716702943","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"cli-jaw","version":"1.7.6","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2470aa4afe9c5b6343824b3a3d616b18b4ccdb2b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.6.tgz","fileCount":784,"integrity":"sha512-JRmBEfhS39QH90ios3tEvvOiHPgV2NWN0QW145CsBmw8zUrosWySZlrEs0s3aQyUxstgmPixotdf5JVsVYUIQA==","signatures":[{"sig":"MEQCIAbaen7IyAxO+MhlkecCkQZDem1OeYJeo28i9V7hTRK7AiBIeBtvvldpIfIln/exDzKNYz1wZKWLXUgTg/Z08xrSbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16011643},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.6_1776243527135_0.08724216693076392","host":"s3://npm-registry-packages-npm-production"}},"1.7.7-preview.20260416174442":{"name":"cli-jaw","version":"1.7.7-preview.20260416174442","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.7-preview.20260416174442","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5f06136615216cac38b77f57c37456edfccc6859","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.7-preview.20260416174442.tgz","fileCount":786,"integrity":"sha512-UfaY3fy06w3gAnTaezEfUh+0x32yFTbkqRWi/zHU5m6kabJ/stEac2iRcg2AFiJhlZtln2Ozn00U5LOCwTcbbw==","signatures":[{"sig":"MEUCIBrYimWS5nb9KLHZCLw4ElPWpxQ+JRbUOWCaLtPRiobyAiEAzktFYYng0V8MxdIAWRZfTGNy3FHhUff2eqKGaz9AlwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16034913},"type":"module","_from":"file:cli-jaw-1.7.7-preview.20260416174442.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.7-preview.20260416174442.tgz","_integrity":"sha512-UfaY3fy06w3gAnTaezEfUh+0x32yFTbkqRWi/zHU5m6kabJ/stEac2iRcg2AFiJhlZtln2Ozn00U5LOCwTcbbw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.7-preview.20260416174442_1776329105221_0.8955974778691822","host":"s3://npm-registry-packages-npm-production"}},"1.7.7":{"name":"cli-jaw","version":"1.7.7","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3e214ac34fed9c85ea1e205374174a52a10242d8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.7.tgz","fileCount":790,"integrity":"sha512-WMi3YvjtOgrtzAwdiq71OWuEvxVnQwk2GbIhiMzHeZLNhED25oBJlGK84fzru7QuldWa3Ta0X/YsHSnBUpTbiw==","signatures":[{"sig":"MEQCIGVJ4IcRSVHBDEHjVEtAx4tFyvfLQBCZs3w1cuH+YLSJAiBp9xqTd8iV47qy2w24gmmDgywKUz9gA1Wmr8Vb38FNAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16057594},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.7_1776362325471_0.4211835971118787","host":"s3://npm-registry-packages-npm-production"}},"1.7.8-preview.20260417044728":{"name":"cli-jaw","version":"1.7.8-preview.20260417044728","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.8-preview.20260417044728","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"25c869e2efab747ffce2187bfea8e85ed16f02b4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.8-preview.20260417044728.tgz","fileCount":790,"integrity":"sha512-oNAqRs/wrdRS/Lp00e+1j8W2w+6GJJ+WWSNv7lYFInddwTPqcYpXreEw9kZFY/RAQM2guXOiC7vIB9WiDlov2Q==","signatures":[{"sig":"MEUCIQDH4Dye0EDkXFLV02XdUBKSP9uZJwDa+5i+rDuGssHonwIgCI6llUrlm8XP+GgDV9Mhh6edVHebQsOlUf5fP08D7SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16063698},"type":"module","_from":"file:cli-jaw-1.7.8-preview.20260417044728.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.8-preview.20260417044728.tgz","_integrity":"sha512-oNAqRs/wrdRS/Lp00e+1j8W2w+6GJJ+WWSNv7lYFInddwTPqcYpXreEw9kZFY/RAQM2guXOiC7vIB9WiDlov2Q==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.8-preview.20260417044728_1776368868499_0.45877620068217984","host":"s3://npm-registry-packages-npm-production"}},"1.7.8":{"name":"cli-jaw","version":"1.7.8","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"106783d6438fd2552b0a5325c6203fa1a064a482","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.8.tgz","fileCount":797,"integrity":"sha512-TSYQmFtR7e10xcLMdwonj2E03OVY3I7HwAIXo/CX2VuOEyfpRKhMn3pfZWQT3tv+MybK4rfVbd7wX1ADxuGSZw==","signatures":[{"sig":"MEUCIB02SctY7ovfFjkM3SKguuDvlHlFRnROGGBKUSJuExWQAiEAmBs1A2FatvMVAB6/YwfCvL63YIERjADEwfQRNGBw0zA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16097880},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.8_1776371814584_0.13078887112596416","host":"s3://npm-registry-packages-npm-production"}},"1.7.9":{"name":"cli-jaw","version":"1.7.9","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ef324e90f282180952c4ac69b325bf3a25ff78d0","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.9.tgz","fileCount":797,"integrity":"sha512-zsjfyL8E5c5yIMChg4wIWV61oCuxMWcUYxMNNp4mZowrs/+MKzSCFgTHXqKDiZCb5XRFxG7PDSzBkwDNlRq1Jw==","signatures":[{"sig":"MEQCIGH0Dwf33uFefaZpWxYzivL2wJ5O7OpBVw/CPhLxgYfkAiBF8fidSrcBUf8Nu0O/RSFKyRL9+wQtE2f2nBLzaFM22w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16101866},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.9_1776372120115_0.804643668702451","host":"s3://npm-registry-packages-npm-production"}},"1.7.10":{"name":"cli-jaw","version":"1.7.10","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c7488b075cb269fce8e88efad392b6e6f4e21860","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.10.tgz","fileCount":797,"integrity":"sha512-w9aFKGaD5s8omjg9o9D3G1TYaDLesUpXxk8PN9xpvIR9K0OQAdkscnZtnrSSJVIpfuWkGXBoIPmVZnZCs4zlBg==","signatures":[{"sig":"MEYCIQC4xohQ8iLSRUOVfKgEggRXHNZj2FNjxyd3cIX99P5FfgIhAOskI4hYvOvp+w6blmL5SPn1u1HS2adv/SPRiljx/j7T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16101824},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.10_1776373024921_0.8191349853760594","host":"s3://npm-registry-packages-npm-production"}},"1.7.11":{"name":"cli-jaw","version":"1.7.11","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.11","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8d8ed38d3cfedb267b8e1712178b93eb648beb45","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.11.tgz","fileCount":802,"integrity":"sha512-VC0Z/l9aOJyIcwjVQnLZy0lokRBnvxmRbOXW0/7frOL+WbdnfcTi8wGnMklRiW7uHQqnt6RYWOPXBjtFSt4L0Q==","signatures":[{"sig":"MEUCIQD1aJELDMNN3l0U+uXgJjI49hihPwGuqJ1Dk452+OirLgIgCNtira7cFPNLNHsB+6a/lfO6iYS5l5sdVxHuPxQOwfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16187662},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.11_1776387871957_0.35258284752230296","host":"s3://npm-registry-packages-npm-production"}},"1.7.12":{"name":"cli-jaw","version":"1.7.12","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.12","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3675995f0567ba781eb7a49d29cb69e4ff76ee93","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.12.tgz","fileCount":802,"integrity":"sha512-ga98/ZWkwgrZBMsvusPC1IGBNgWDibDuS9aj4LKeWMI+MJcXD4uXsgNMN45ePb4O9hYgICGu+UiznETZ0EtjEA==","signatures":[{"sig":"MEMCIBppwt61b4n8+4phAuz2MGyp1Z8QQrZL/485mMWswEyEAh9vYbGcp2aC7E3zcLaku4KTxSp7mRImR/2qiOroKYOI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16186244},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.12_1776389646772_0.0431049597320734","host":"s3://npm-registry-packages-npm-production"}},"1.7.13-preview.20260417112057":{"name":"cli-jaw","version":"1.7.13-preview.20260417112057","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.13-preview.20260417112057","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d4ac969ae0b8ff94cef0e88138338b7f2076ebbd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.13-preview.20260417112057.tgz","fileCount":806,"integrity":"sha512-b7C7kKof2u+gWZGHJlEVNOpEPqyYbtHg+jOOK9Sx1RJQmGHuwWi9O8XqpzYhyy8qwZ6+AYDZFHbusqPwCrrtqg==","signatures":[{"sig":"MEQCIH+gwlwOzxUep4bRo9BjAUD8B00O9m/Uo5d53A1QDhYKAiAZDAromrdtKJISBfCDal41kLGzRdQ4CG5B2LyIEvC4NA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16218924},"type":"module","_from":"file:cli-jaw-1.7.13-preview.20260417112057.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.13-preview.20260417112057.tgz","_integrity":"sha512-b7C7kKof2u+gWZGHJlEVNOpEPqyYbtHg+jOOK9Sx1RJQmGHuwWi9O8XqpzYhyy8qwZ6+AYDZFHbusqPwCrrtqg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.13-preview.20260417112057_1776392481167_0.6566189805479694","host":"s3://npm-registry-packages-npm-production"}},"1.7.13-preview.20260417113021":{"name":"cli-jaw","version":"1.7.13-preview.20260417113021","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.13-preview.20260417113021","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"402f87d834013445daa5fc9e9569b57bc0adf325","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.13-preview.20260417113021.tgz","fileCount":806,"integrity":"sha512-OXEFWtUG0FAi0jMNIBEuaU0X3WzZEIaNIK2ufLop5RVfTa5sQQUZgc4IVAj+X/o4P1vg1/P2VNTovC++SnFawQ==","signatures":[{"sig":"MEUCIQC/Onz6Y/aJ5TobFjLhIUnb49sHtIOYzCAOAfZpkyuDGQIgf3N/fz3jl1RemTgMjsn1iBz/MsJ4awmPdeeIR7Ppa2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16219489},"type":"module","_from":"file:cli-jaw-1.7.13-preview.20260417113021.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.13-preview.20260417113021.tgz","_integrity":"sha512-OXEFWtUG0FAi0jMNIBEuaU0X3WzZEIaNIK2ufLop5RVfTa5sQQUZgc4IVAj+X/o4P1vg1/P2VNTovC++SnFawQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.13-preview.20260417113021_1776393057971_0.2780492306702158","host":"s3://npm-registry-packages-npm-production"}},"1.7.13":{"name":"cli-jaw","version":"1.7.13","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.13","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1ec8ecc1a14a4c6b2c31beb81ee8de99cb7a47a7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.13.tgz","fileCount":799,"integrity":"sha512-GzoRARdBKQlyl/re5I2iIrtcv0JRfiEhnt3SxeHrYu9+5ULilqFUrKLv46z/ZZCsnu4doCW4jpPmMv9DyMFSlA==","signatures":[{"sig":"MEYCIQDig3IdJB2wEVeoC8FwgFv4R9axUqVlu8wRASUqE9hL6AIhAPhquLasaU6yyXB92Nky1HlgL/1E9uJND7T1D9sJxo3E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16134011},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.13_1776396019740_0.2572934575330632","host":"s3://npm-registry-packages-npm-production"}},"1.7.14":{"name":"cli-jaw","version":"1.7.14","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.14","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fead0087aa14ce5c7d7b2bcbd8444b7535effa80","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.14.tgz","fileCount":800,"integrity":"sha512-Ucr0hZlOmJ2ttJBMGQtbrzj3cmZu0QpuWLaYoxQ2Uq/yEitNx4/UIw3DPWuqpgBuWyXaMFVEnnQOCMIc6lnsZA==","signatures":[{"sig":"MEUCIQCUtM7mKogu+ZoTy17PkJkJuhzi+Nl/rHJacbUMcBPnxQIgPyS/WV7oIMz3ARcc/NDRnoqYd/EJWXzsMKtwsKqDnIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16161791},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.14_1776416170806_0.17484786322358992","host":"s3://npm-registry-packages-npm-production"}},"1.7.15":{"name":"cli-jaw","version":"1.7.15","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.15","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"31aa272f9d39874216afa30d0ff0c6dc9c57989a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.15.tgz","fileCount":800,"integrity":"sha512-Yw5nlVeAtqL0Pz5A4OgbFQdS1oXSmlUT+zSKH4eFKcL3S5IZXCrH6aHnq6JkKB5IGGa+0VdBLDl8Oz7ih8Ei1g==","signatures":[{"sig":"MEYCIQC1x4Wbk2w6dhfoPj8tQBwS0n89P65aQs21l0HX6bfE1wIhAP+QJXhZdg+OnQD0H9XDYm0j1O35FsbJVw9KLcT56TD4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16167816},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.15_1776417253406_0.7934941602734362","host":"s3://npm-registry-packages-npm-production"}},"1.7.16":{"name":"cli-jaw","version":"1.7.16","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.16","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9b562b2c6787c2c63e265fd9cda4ff6ee2edb36d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.16.tgz","fileCount":800,"integrity":"sha512-0o2fJ1ZoKrktcu1hTv8GavYYatO0gR4M6EfJ6r8ZW85a24LyHpnOB3++bqRSG1AzBSzAnhmL6TErevnpL7pctA==","signatures":[{"sig":"MEUCICeOg98cbbVUNzUC/glk6e75TNGXTCMm5o7524C0ooVgAiEAzKZtxhe/YBT9q75ZCTriGwOvieDShggjeb4zLMfXpEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16173949},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.16_1776421451940_0.6424430003650183","host":"s3://npm-registry-packages-npm-production"}},"1.7.17":{"name":"cli-jaw","version":"1.7.17","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.17","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"971b9bfa17691a51fad1e98964cdd42c956cb8f4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.17.tgz","fileCount":800,"integrity":"sha512-o9pgY90b6/1Yir1wAH/o6t8PSdInEcTOeTTGwCf9c1PzGIHYdluI7VfkqfuqWKjBMiQRi1slCyT3Hc/L25PLYw==","signatures":[{"sig":"MEQCIFroQ06HWuXFz//R10vzZ+HG2rW0y8ZuEs2PglQOgaW4AiAh+p7AslfTJlyujjNTIwRQBWLntVIj5jJIau4YaLg9fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16178498},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates && cp -r prompts dist/prompts","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.17_1776422930649_0.30636844649233774","host":"s3://npm-registry-packages-npm-production"}},"1.7.18":{"name":"cli-jaw","version":"1.7.18","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.18","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1cf58fcdc58bd40c85c276567e21d4ed39ce7fd4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.18.tgz","fileCount":800,"integrity":"sha512-vLI9Fz/g3/GBoXutT6N3ZlZ74AvsigXyYdpbxugNvpu4H0hiPTxCInUZ8r8w0KTyrqeQ8cyCTATR5jWdw/6hmA==","signatures":[{"sig":"MEYCIQDMG/6onSetCW8PwO0V7rlOFhmWWek4IswJNnrSxeemfAIhANpo8D+2jEd8HJbq5MGi87u4FLpUbwDbbQ8skA9HRb4B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16198889},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.18_1776430464545_0.3335557019865518","host":"s3://npm-registry-packages-npm-production"}},"1.7.19":{"name":"cli-jaw","version":"1.7.19","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.19","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1388d5dc77541d5e8ee10022ad24b32e3b0a987f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.19.tgz","fileCount":800,"integrity":"sha512-yfNYaqUxiLMjb/q7e6tWmeuDIz6LukDjN0ANYmMl3yMyLCT07l5sqdAZM/waNlBP1RFKAe+imvMV/xsZXt4X7Q==","signatures":[{"sig":"MEYCIQDK3Pavktr/TmDOdWs+GZigqlJwfQnJjEXNYIrKfcucNAIhAIXK+GVfcahsU1vIUGxlfgNVS3V4SP0oo6iaXLKWxON1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16199035},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.19_1776435547893_0.06283748620262108","host":"s3://npm-registry-packages-npm-production"}},"1.7.20":{"name":"cli-jaw","version":"1.7.20","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.20","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f2a4d6b50e127edc337e693c8efaf6967909bc30","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.20.tgz","fileCount":802,"integrity":"sha512-5dVvdOOFte3Qrd0HR3ltwrdwLIuV83vSwCpx10PNGoXFRNJ2qS8otrv3MJg3naA8UkuM6dagQHQqMe3Xr2uTnQ==","signatures":[{"sig":"MEUCIQDvcXWVqLPE8PLAS4iyEQSDasgeFqyjbgPGyXKZp4EidQIgSnjgGuqIpGRRY8fe0w4Upzx7ZCSKrCWN4WZDdkSRcgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16171037},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.20_1776445011821_0.734279991753205","host":"s3://npm-registry-packages-npm-production"}},"1.7.21":{"name":"cli-jaw","version":"1.7.21","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.21","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8efa0d0b8727810b3be4ad9c1ba7fccc95c68dd0","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.21.tgz","fileCount":803,"integrity":"sha512-N2Ng/FO4Zv5VKL3ggLY3pJALIzKRK5Uwjb/ALHkMf8qYCFkjEwbpdOJedTnyB+F0ggkDtjBsjvuabCVCRs5zdA==","signatures":[{"sig":"MEUCIArMpwJM/LVeQV04ibU6sfRFQDpiqOxYxcT12VcbOCheAiEAmBQkKGbOvM49be95tdYBwsReekuqxUAtX5lIkAe+J1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16187383},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.21_1776509951486_0.19440697810981789","host":"s3://npm-registry-packages-npm-production"}},"1.7.22":{"name":"cli-jaw","version":"1.7.22","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.22","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"15846f51e3b4b6f0dea0a28682b0e398a8730a84","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.22.tgz","fileCount":803,"integrity":"sha512-PpCPUChE7D7DyTEc5e/wwOnrbYpHH/0WCbwEYONURuZLvqTuersbrCmRhWz5fQzh7e82iHJHfsiLH1EWf0Z6bA==","signatures":[{"sig":"MEUCIQCE2a9CwZsTidh7uAI8RbUZXcjQKDXmfd09ivLfeW3YxQIgVSLQMu3P8SvBFuWGis4YClbFbiiYUFe34Wy7gnm4hj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16192489},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.22_1776528897768_0.7371962847933742","host":"s3://npm-registry-packages-npm-production"}},"1.7.23":{"name":"cli-jaw","version":"1.7.23","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.23","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c35077f665ce7fb0d089041afd70e958b7b70c38","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.23.tgz","fileCount":803,"integrity":"sha512-T8GJWRbRj2HP4JEguE3zEiKhgDJvDiMwKd8ftPrtT4Sg+dHYyciHnHBC0A4s9/DOhnvyx4RPQMfi392fqRFZiQ==","signatures":[{"sig":"MEUCIBzClBCtV9uaRVpAgUkYOvEOv+LddPrtZE5sd4Jl5S+sAiEAl4cbAJi9gaJ3lkJFVFUQdCvr2CPj5eZQkzaZwDGcUHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16199198},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.23_1776531924831_0.7649645727380694","host":"s3://npm-registry-packages-npm-production"}},"1.7.24":{"name":"cli-jaw","version":"1.7.24","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.24","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fdefcc8eab5caa7f935802894f56db6fdf3e75c1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.24.tgz","fileCount":803,"integrity":"sha512-nDy+qmCF1Er0ZLtlVwJyuIeDwMR7+1+gOIFrjUVgN7OlIupmaBQh5hbyO/p2aLYgP5dEXJ+DTVptm2R4CWzP6Q==","signatures":[{"sig":"MEUCIQCdW4xXbWn05l+yFWUoIaDAtQ0XIPpBgRAb9MZlWVgpgwIgHZY/eJSBiWxJHicQhuXRKa4OwTupS4CUNIdtx8lTQaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16199421},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.24_1776533641085_0.9953486187264726","host":"s3://npm-registry-packages-npm-production"}},"1.7.25":{"name":"cli-jaw","version":"1.7.25","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.25","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3d65f2dffe34b51eed3b1d6d5f4720fd19485747","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.25.tgz","fileCount":803,"integrity":"sha512-epoxOSd2rlJdwLWru3CrXtQ4//GO8RMjw/Vb/OWnDQbY9SstmE0Hr46Fstl7l4FJSH6pg4V+C5gHl1CdXRCbnQ==","signatures":[{"sig":"MEUCIFtuhdvt13vMxxt7WJ2Bx4nFXmz0PFz0DR2WZKtOxH6KAiEAoe8wsnW0BNwYX0L0YVwo+RKcnMYti5FMlJx26iXLyG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16200750},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.25_1776535953080_0.014330986330035378","host":"s3://npm-registry-packages-npm-production"}},"1.7.26":{"name":"cli-jaw","version":"1.7.26","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.26","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3fe6b008517fe3a8098a44322afbea1c0350ad52","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.26.tgz","fileCount":803,"integrity":"sha512-oUS2X98Vu5xeUr/0F63SKBulj5Sf2bqE9/3PMI/AQoY+eL3laKDcWF+M7JfZ9O1cdPcUqGcaoL3Ugp65FiuxbA==","signatures":[{"sig":"MEUCIQCyt3IRLw/Z82eCz8r2dJ63xypvDjChhqpi261EyRceYgIgUyetlW5c1rEaHFT9YRzjSeMMpqfhV6vaQYCyL1FCyIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16200860},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.26_1776536987863_0.3617172130538644","host":"s3://npm-registry-packages-npm-production"}},"1.7.27":{"name":"cli-jaw","version":"1.7.27","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.27","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b44fc97e647a5ad730a5a821e158e383cfb14a97","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.27.tgz","fileCount":803,"integrity":"sha512-zPx07DIa8VP97G2CQWU/D6EXmRcO0Rg1IgpvyNALFSucQWxMdabVk55SVYHkeBJlOlyeDxRZxM00ifWpoDcE7w==","signatures":[{"sig":"MEUCIAWrmtfuXHRoeqsL9DMgDSeBKNIJN/gVRltUC2KhqusFAiEAmLdCSeBOg04fr9ztQOQ4zGHQGY6mLf3V++8hIkB3cQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16201157},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.27_1776541061435_0.6202614200872734","host":"s3://npm-registry-packages-npm-production"}},"1.7.28":{"name":"cli-jaw","version":"1.7.28","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.28","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"aa7c1ec3bf466c42eaafa33f730f04b2f25059f7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.28.tgz","fileCount":803,"integrity":"sha512-m5E9PZeB9z2YOjrG1YF40eEjM20CMiEwwSQODKMNUsLG5nYCr7Ah6lYAkU8fOgw9Fwcr/hTJRD/Gghcahdv45w==","signatures":[{"sig":"MEUCIQCVYn3lc5M8KFb8sy9kyYELGNMwcKYlNFOOiiZ5PvDABwIgR4Ojuelwtaj3hqgbhWHc+v2awlIVmHBrkrdRNU0z0Qs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16199896},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.28_1776774993947_0.9420813599697511","host":"s3://npm-registry-packages-npm-production"}},"1.7.29":{"name":"cli-jaw","version":"1.7.29","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.29","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3099efd388485e5ef4af204e3024c4556caa84f5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.29.tgz","fileCount":805,"integrity":"sha512-dVm93rg1t+q+sPk7KXIQT9JaixvqNjkc4ptiyJSSyFC+7SLbYcXTMn3V3l8SuPkoNoPROUixsEpQDqm8oY1DRQ==","signatures":[{"sig":"MEUCIFhurxFBKexPwQZXME4W2izpQKv/HmmWSwKJOi/bgyUkAiEAw4tnPFIX3jyx7VNh6+3cFJKFkCpZHZxigK97TWOa/qI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16212628},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.29_1776825824145_0.8218966578647828","host":"s3://npm-registry-packages-npm-production"}},"1.7.30":{"name":"cli-jaw","version":"1.7.30","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.30","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e31a3cec91cd80d1035ea96c38952725ffd09fc8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.30.tgz","fileCount":805,"integrity":"sha512-qbolX+VFAXD/lZxYAjv1b/fyIciZIrYqpo8GCG8ajavU1S3nY4x7TvZIZ4+TlDHTQ/mAE5zRimTMH9GxQAgf0w==","signatures":[{"sig":"MEYCIQCLadVEOqZlp4y78ENZhVxt3eJ6uTPCtnbHNNTtX0usHQIhAPNr+y+TZBKTlqtrHbIxgzLdIxH4q8G1xw0+M9P5h7S9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16213444},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.30_1776826482571_0.10356333315672694","host":"s3://npm-registry-packages-npm-production"}},"1.7.31-preview.20260423192222":{"name":"cli-jaw","version":"1.7.31-preview.20260423192222","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.31-preview.20260423192222","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1448154586c384d4d3f23a153cfebe694592fa82","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.31-preview.20260423192222.tgz","fileCount":805,"integrity":"sha512-65/ibcIzDHEsp2xBpKAbLhJn3ynTfsm7M+H4mOXue5KobJqkSP04GygRjLQf1qcOyK/29xZET3IWKc65XsqrLg==","signatures":[{"sig":"MEUCIE9LPPFtbje4aQT65pFoTG6hIIqc8Z5OgoAlYZefU/wTAiEAywH5b4abv684zyJJ/8cOXrgJlFSIM0MSU4hwPIrtT0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16240799},"type":"module","_from":"file:cli-jaw-1.7.31-preview.20260423192222.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.31-preview.20260423192222.tgz","_integrity":"sha512-65/ibcIzDHEsp2xBpKAbLhJn3ynTfsm7M+H4mOXue5KobJqkSP04GygRjLQf1qcOyK/29xZET3IWKc65XsqrLg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.31-preview.20260423192222_1776939804752_0.9314157149305826","host":"s3://npm-registry-packages-npm-production"}},"1.7.31":{"name":"cli-jaw","version":"1.7.31","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.31","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4ca44e7dc92d819fd2a19303ecee64b433634110","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.31.tgz","fileCount":805,"integrity":"sha512-luF95QgQijBqZ0rHZ6PlSjX7xw85OUISrJPVukf4qviAHdCV/fgsKY4oHn6MRh7zs2Ipz66RD2O+vEnhGpUoiw==","signatures":[{"sig":"MEQCID9DV/5fQjot7gmYamj50lfMWXEQ9caqK98Pvwps+QTxAiB/+rTVrXehyQs1mEaLQ9z6Ql1uvFxJTq3gSI0hwtc8sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16256447},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.31_1776995324635_0.4224278017559937","host":"s3://npm-registry-packages-npm-production"}},"1.7.32":{"name":"cli-jaw","version":"1.7.32","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.32","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"606648a21a809fd6fb7067f1d4c9523c90409068","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.32.tgz","fileCount":805,"integrity":"sha512-LY0uFb7oAwP6+Fz0g99l0y1GPw+RzPoUU/OBMfT3AuNg3VCV9KTqBaYymFEc8ectWpPIPAhUxHJRnWElrYIbWw==","signatures":[{"sig":"MEUCIQCumItCH9SaxAN7WB0IN6qZjzVHYd44SrAGt87+3WBvoQIgLPFctHlSwjCBffis1SIfVCHQEtchvYkBlrQHFANxoDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16257321},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.32_1777010591678_0.07946855487893734","host":"s3://npm-registry-packages-npm-production"}},"1.7.33-preview.20260425120931":{"name":"cli-jaw","version":"1.7.33-preview.20260425120931","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.33-preview.20260425120931","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fa712355e26939efa6f86d16f74f4be37a9baca7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.33-preview.20260425120931.tgz","fileCount":807,"integrity":"sha512-lT57W51YFDyNsmNHn1MTajUyMWGHE2OLMykSaxAfTzFCRApfxd5SSXjYSqJCFkZJQ2kAwc5yNQYWl0BfKHpzRQ==","signatures":[{"sig":"MEUCIAZLRBMEn/bqGmCQSB/lDJIQ5V6z6Fy0cDbQXaJo7juVAiEA5/gLsHx1d8+TB206Jmz1GQYIB5bjO90SzLkEbIi1tRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16302853},"type":"module","_from":"file:cli-jaw-1.7.33-preview.20260425120931.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.33-preview.20260425120931.tgz","_integrity":"sha512-lT57W51YFDyNsmNHn1MTajUyMWGHE2OLMykSaxAfTzFCRApfxd5SSXjYSqJCFkZJQ2kAwc5yNQYWl0BfKHpzRQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.33-preview.20260425120931_1777086591106_0.9147978524530236","host":"s3://npm-registry-packages-npm-production"}},"1.7.33":{"name":"cli-jaw","version":"1.7.33","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.33","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"78b3f68cfb96e5d4ebe3028bfc590e1f0a387b19","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.33.tgz","fileCount":807,"integrity":"sha512-f3X43BfPz2U5wdE3oYdsd+OmrrrGp9rkvPKtuGXoYDoR/TMPwqG7lV+i/6kTnoqGRrDxoYo4h6bpUMVZAWl36w==","signatures":[{"sig":"MEQCIBrapCSDIvQlY5wLCI9GyyZj6NfRA+AcSd1WePfOOqF+AiBzCOe5n+db+C9JvkhwkGV9KKRO/fKK+YnEAiksrAWrug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16301275},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.33_1777101209637_0.04755454284820293","host":"s3://npm-registry-packages-npm-production"}},"1.7.34-preview.20260426091048":{"name":"cli-jaw","version":"1.7.34-preview.20260426091048","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.34-preview.20260426091048","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3f195eb7a404317c73c0d9be88700f217f4b166e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.34-preview.20260426091048.tgz","fileCount":811,"integrity":"sha512-ILGNqI8xcR3scyfdQXnb960kgaOTvQe4U11bYZkSN3yTAM91O2JjMeYPXyttlGpHZ+AugDBbcbBPV1L1C02L0g==","signatures":[{"sig":"MEQCIDe1lsb0LRZM+j0Vv2qQs1Ei6P7MJbwH2Imj/aBR9te2AiABVvS0GoBR2A39485pENSUfHwcH3ZmwmDFfiDY+Fx89g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16358235},"type":"module","_from":"file:cli-jaw-1.7.34-preview.20260426091048.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.34-preview.20260426091048.tgz","_integrity":"sha512-ILGNqI8xcR3scyfdQXnb960kgaOTvQe4U11bYZkSN3yTAM91O2JjMeYPXyttlGpHZ+AugDBbcbBPV1L1C02L0g==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.34-preview.20260426091048_1777162269082_0.8056730726999031","host":"s3://npm-registry-packages-npm-production"}},"1.7.34":{"name":"cli-jaw","version":"1.7.34","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.34","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f66fd8fea994ea900467e0a0b47c102f96b2e44a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.34.tgz","fileCount":816,"integrity":"sha512-K6NNJMUUPIWpwCT4Wb7/fsy3UhuMFnRgz8qNSIHxFHdhcFbUy5BZVfWEZd7WbF1kJW3u1ub6VY6OGMyUMUMnkg==","signatures":[{"sig":"MEQCIAPeFwjHaaBsiKVWa/PvlCSEipxINj5X7JH9hH6BehzlAiBrBSZFwNmEqv36oI/OKhpTU7Er81Re16eipmRWQY4tvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16423211},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.34_1777178035938_0.6310698439033842","host":"s3://npm-registry-packages-npm-production"}},"1.7.35":{"name":"cli-jaw","version":"1.7.35","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.35","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"93a7376d832b6320fd06175334bb38d8984954ec","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.35.tgz","fileCount":841,"integrity":"sha512-/JPSdNBwxYzO88pZ6S1SQndCDWLD8MPlOk/asN1dsfdQtzTyP+HY56vcFwq/SW7kgFIiMsCp1gR6aBozwNeFkA==","signatures":[{"sig":"MEUCIQD2gVzQXdoNTvE0gJ1nFEMneNoy03LVnwfawKtuqEQX9gIgKf1aE3lFkm4m0iCidzWey3/2/Kv79dUX2MfVncG7UWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16702792},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.35_1777189114052_0.35650484274866545","host":"s3://npm-registry-packages-npm-production"}},"1.7.36":{"name":"cli-jaw","version":"1.7.36","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.36","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e3f0c24202a90440eda3e95cf2dcc654556269da","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.36.tgz","fileCount":841,"integrity":"sha512-sLoSWNiqqaDPPr2cSyTaGLMhzGRFtG61CZVAauwthTdW+Xz5ho2xw97ruPVZ+3ikrRDh6sVp67sMcZs01C1q4g==","signatures":[{"sig":"MEQCICjqJIrNpvqd2mNhU/0oZWNr6juTQr1s+lQtnOZfNK+aAiB7N80ulwT9BleoYWRvAhVlKzN/RJRynjsDv1HURzCWSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16708915},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.36_1777195047891_0.4272699374043214","host":"s3://npm-registry-packages-npm-production"}},"1.7.37-preview.20260427031927":{"name":"cli-jaw","version":"1.7.37-preview.20260427031927","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.37-preview.20260427031927","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"772ca0efa7c90ef8b0b75107ccc37aef45f4f3b8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.37-preview.20260427031927.tgz","fileCount":843,"integrity":"sha512-LGQksOM8EsFuaQy1LDBKedP/nT4Az8+YZZdNFHJxHTIv2AX3LVlnVnxVI3D5Il7ymWiGNOkN+bVohYHxCOAr/w==","signatures":[{"sig":"MEYCIQC/yZPz5VH5n/cXHsGqU54L3bkf/NZtR5WMY8ij04vbWgIhAL3Yg8CbEYX7sKw/M69AKq9gSrgIVCDWBKfS7cOFHmg0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16754915},"type":"module","_from":"file:cli-jaw-1.7.37-preview.20260427031927.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.37-preview.20260427031927.tgz","_integrity":"sha512-LGQksOM8EsFuaQy1LDBKedP/nT4Az8+YZZdNFHJxHTIv2AX3LVlnVnxVI3D5Il7ymWiGNOkN+bVohYHxCOAr/w==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.37-preview.20260427031927_1777227587341_0.3745564413513016","host":"s3://npm-registry-packages-npm-production"}},"1.7.37-preview.20260427171130":{"name":"cli-jaw","version":"1.7.37-preview.20260427171130","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.37-preview.20260427171130","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4ec08d7548772c148348e8f1657c10c40d1d730a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.37-preview.20260427171130.tgz","fileCount":843,"integrity":"sha512-+lmNSWvIjYf8zAli6/0vYKktYvGRX8gYXP3MRCIzvWjiINo25UIJ9tlyAtPZaycrjWzE8yBSnsfhCcF7M2JAzw==","signatures":[{"sig":"MEQCID+XP0Qv3g+IXPsOcwUV3RXwf1NHO+wHNl0YQLWKacO8AiASyb//XRgRFaDAhQWb+8UhkHCV+pArnXMJDPJaeB3nVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16756110},"type":"module","_from":"file:cli-jaw-1.7.37-preview.20260427171130.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.37-preview.20260427171130.tgz","_integrity":"sha512-+lmNSWvIjYf8zAli6/0vYKktYvGRX8gYXP3MRCIzvWjiINo25UIJ9tlyAtPZaycrjWzE8yBSnsfhCcF7M2JAzw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","highlight.js":"^11.11.1","@lucide/icons":"^1.8.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@tanstack/virtual-core":"^3.13.23","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.37-preview.20260427171130_1777277511008_0.6476948478518383","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-preview.20260502015355":{"name":"cli-jaw","version":"2.0.0-preview.20260502015355","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.0-preview.20260502015355","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"784d31171feabac8f3d54b9e07fb6f8008850c7f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.0-preview.20260502015355.tgz","fileCount":1328,"integrity":"sha512-eRSxcdmdiAtvwnTTsSwL9ivJA18INHGx/q+dfSMn3STJgRMMVV2X9Ae0HOrC5/3sg5BYRSlebE9RqZZ7EvlVZg==","signatures":[{"sig":"MEUCIGWQunysPHr09Y8qZFvlWmhz3WB2jG6JszHXCY+oS75SAiEAt9QBnizP6Uf6kAhXEB4I/O6BWGbCR4GW45+9hi9PVLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20940371},"type":"module","_from":"file:cli-jaw-2.0.0-preview.20260502015355.tgz","engines":{"node":">=22.0.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-2.0.0-preview.20260502015355.tgz","_integrity":"sha512-eRSxcdmdiAtvwnTTsSwL9ivJA18INHGx/q+dfSMn3STJgRMMVV2X9Ae0HOrC5/3sg5BYRSlebE9RqZZ7EvlVZg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.0-preview.20260502015355_1777654458937_0.5584643199491335","host":"s3://npm-registry-packages-npm-production"}},"1.7.37":{"name":"cli-jaw","version":"1.7.37","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.37","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6f57b1683f9d10a06634205e5409b2d62c36a1b7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.37.tgz","fileCount":1401,"integrity":"sha512-LeECI+XM7nTta32HaAogDHC1/2MEEm9BugAya+cS1b9p9i+etXOrk5mMucoG5JaEFYv2b9aiJjtQ7yxfizxbEw==","signatures":[{"sig":"MEQCIBjv5pPwDv20wGWBnalgrOJdHJkTPnRk9HGdRb+p3DWwAiA+9wRkW+02Ao4tPZKB9zrvqeo49xDxLYCmdPrUx7dw2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21464911},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.37_1777729471554_0.547598403884447","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"cli-jaw","version":"2.0.0","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e0c8f70b1a795cc8e9c103b6b097a58040a88447","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.0.tgz","fileCount":1401,"integrity":"sha512-SdqEJdqL2cjj70/sMN6eU7WqHCxSb17t2iDH/9gAWPw7/l+gbai1TCT752e5RV+StMe6s2RiGNINgL+IhLlxvg==","signatures":[{"sig":"MEUCIQDMMGrg4kKU0MbfFQmhp5Nw+3FwECrdUZDaBzu62PNdvwIgTPJeX3g9u8PYb+guv2CrITTP9j6Da8bRc+IJ/yL1W1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21464910},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.0_1777729521293_0.1641108817577055","host":"s3://npm-registry-packages-npm-production"}},"1.7.38-preview.20260502224525":{"name":"cli-jaw","version":"1.7.38-preview.20260502224525","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@1.7.38-preview.20260502224525","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7f1f439fbe850b254dc418ae0e6a73590efd64a6","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-1.7.38-preview.20260502224525.tgz","fileCount":1401,"integrity":"sha512-0LdfABEA/krsnkWl7Q67C4vZ9IrWSSiogoh+IqrWPDzMsJVOF9DLHFeLcM+Zl3fsAogAK52NfuSegvyeGE3M/A==","signatures":[{"sig":"MEUCIQDIUPDEU0e+Abj7cNCk7J0bOdGwB9C6xJ8/r+W0QSYqLgIgWzKpWP3VqxnDfsnpsKQhSSPlIkbOkDS/ZKECQ/YfyMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21464934},"type":"module","_from":"file:cli-jaw-1.7.38-preview.20260502224525.tgz","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-1.7.38-preview.20260502224525.tgz","_integrity":"sha512-0LdfABEA/krsnkWl7Q67C4vZ9IrWSSiogoh+IqrWPDzMsJVOF9DLHFeLcM+Zl3fsAogAK52NfuSegvyeGE3M/A==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_1.7.38-preview.20260502224525_1777729537094_0.6511385765588908","host":"s3://npm-registry-packages-npm-production"}},"2.0.1-preview.20260502224759":{"name":"cli-jaw","version":"2.0.1-preview.20260502224759","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.1-preview.20260502224759","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7c61c05aea94eaf33d8daf237cc960e4da48c9a4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.1-preview.20260502224759.tgz","fileCount":1401,"integrity":"sha512-TaUJwnEOTItti5pXr6DrDLrhql3vcg6wn3pfAsodykIQKPrVEpxBJ925v3ExfVkc2J0tG5rF1fSkEJKCeYmUiw==","signatures":[{"sig":"MEYCIQD/SDefKV02VqJbxmnIxzIi4NFaRUsPWXTECS6HzV+/agIhAL5y1ca62pw3x0lM2aHBAUKScaM682PmFOliDG94WiSD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21464933},"type":"module","_from":"file:cli-jaw-2.0.1-preview.20260502224759.tgz","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-2.0.1-preview.20260502224759.tgz","_integrity":"sha512-TaUJwnEOTItti5pXr6DrDLrhql3vcg6wn3pfAsodykIQKPrVEpxBJ925v3ExfVkc2J0tG5rF1fSkEJKCeYmUiw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.1-preview.20260502224759_1777729690727_0.33408053742533417","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"cli-jaw","version":"2.0.1","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"11b52bb872a19f0d00ad5b9188e4a3df8ccf3201","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.1.tgz","fileCount":1401,"integrity":"sha512-vmbk9irUP/on425bCqn2eTalxfpV+elbqulJJN4OcE9loq9AMmsET8BrTBqGu8VssCIjEmszvJAxAC6Ew5XAyw==","signatures":[{"sig":"MEUCIDTnXu4ugcluj6EFTkD5tYcfdjax+fJfvwsRecHMhx0YAiEAhxtZd/hN1cuDXayHlku+cn1OP39+0kJPtYBvFmw7+iU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21475846},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.1_1777736067014_0.3981029213063496","host":"s3://npm-registry-packages-npm-production"}},"2.0.1-preview.20260503003432":{"name":"cli-jaw","version":"2.0.1-preview.20260503003432","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.1-preview.20260503003432","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a00746e2f90419716847d49b191a23cc5aed7962","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.1-preview.20260503003432.tgz","fileCount":1401,"integrity":"sha512-xGGnH7tiWmgSr6BzKEXhLAMqy0kncDRmdimDtiOF+ivE+nH2+KgX1aaRIEBC4v1+EQ4N79lpAn5ZO0dMIPcbJw==","signatures":[{"sig":"MEUCIQDCJ/0CDvrgJIyAZ/PsBGNIfp4DrRKrZIuPFjJwr6P6AAIgfW3Huf7GzlCEnjfThh/MQQpt80BBRFsnpqYfSkY1uzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21475869},"type":"module","_from":"file:cli-jaw-2.0.1-preview.20260503003432.tgz","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:electron-no-native":"node scripts/check-electron-no-native.cjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-2.0.1-preview.20260503003432.tgz","_integrity":"sha512-xGGnH7tiWmgSr6BzKEXhLAMqy0kncDRmdimDtiOF+ivE+nH2+KgX1aaRIEBC4v1+EQ4N79lpAn5ZO0dMIPcbJw==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/react":"^19.2.14","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.1-preview.20260503003432_1777736084142_0.3988166244394069","host":"s3://npm-registry-packages-npm-production"}},"2.0.2-preview.20260507142229":{"name":"cli-jaw","version":"2.0.2-preview.20260507142229","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.2-preview.20260507142229","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"75de5bb425ead6aa6d2f010af3ca211af738edfa","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.2-preview.20260507142229.tgz","fileCount":1502,"integrity":"sha512-mTpF6t+PLPC12Hmr3JmRA6dwP/aGLJGqsIgTlFSQ/sh1fRpop3zaVj6UDyIsiAXl/4MPFNdnO6be2G2iC/FFzg==","signatures":[{"sig":"MEYCIQC4g+6ynvOLsjBkzd1Hh07cq4zeXLjeeSDdw4WYh3DugAIhAOQ1TWpxParEL0gfLHq1Hxzk+NNXVteTfWQTD2fr+aM8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22141991},"type":"module","_from":"file:cli-jaw-2.0.2-preview.20260507142229.tgz","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-2.0.2-preview.20260507142229.tgz","_integrity":"sha512-mTpF6t+PLPC12Hmr3JmRA6dwP/aGLJGqsIgTlFSQ/sh1fRpop3zaVj6UDyIsiAXl/4MPFNdnO6be2G2iC/FFzg==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.2-preview.20260507142229_1778131379435_0.719424977615321","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"cli-jaw","version":"2.0.2","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bc8b62184f2728a1cf80479bf261b315d5b45839","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.2.tgz","fileCount":1502,"integrity":"sha512-u01BsthTx+Ua6Ep7480Hp4ZA0l/ykah0npw5iQXsYnAaDyZ6SoADqGyj/MkMcUypvQ4oBv7fhpmZyPHv85JQ8w==","signatures":[{"sig":"MEQCIHiz4NGDvsFx7j3g+AuAJtdpOs+fMi6vTHf/PcOV2ycyAiBcJ6Vo77Gl8A6nVWetub6yS3ylPo+jhv5IlpNefhdtJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22141968},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.2_1778131730209_0.08125795879513675","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"cli-jaw","version":"2.0.3","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7a394e3491c9a13960b1ff05ba993d2643410dcb","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.3.tgz","fileCount":1502,"integrity":"sha512-bN9+h0OxBJ6iMGeI52IdPbM1eMBvbViFZtRVwYKPhwynlkcjYbt2ys0QwYejS48cO1p9uSeLNCFo3koXuYxKYQ==","signatures":[{"sig":"MEYCIQC4camtzkc1Je7lNF1SWtkOV0PLTFiXY+2OCxEhxvBITAIhAIzFVTp6Jfx44AsgJk7rjld/1sTqoUdUHai/cKrx2jEt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22141257},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.3_1778138611552_0.29245623475074556","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"cli-jaw","version":"2.0.4","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"918510af32bbbbb2cf10cc72705b1c69037b3788","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.4.tgz","fileCount":1508,"integrity":"sha512-aeLbzrwnHhtXiZYIgSic7IpJ8wiYDor9gqwG9k9tzO0Q4eYywtyu6/IU2YChDJ1myj4PsnyrCRC+3n93CLucrQ==","signatures":[{"sig":"MEUCIQDowZ90G3+OgWh+wJw6mtaZ3FkL2PilcJo1C1nLqfPYOAIgSFF2NgKifnfWxwIUe2HyJlufCbLPsB3bLU0tMqgpllg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22237007},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.4_1778225367291_0.6445475349221601","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"cli-jaw","version":"2.0.5","keywords":["ai-assistant","cli","claude","codex","gemini","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0e002021758c92517e868bb12c17c400c3bc3d76","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.5.tgz","fileCount":1695,"integrity":"sha512-/CTaplYJNZXi4PCZgKoEcEMV8n6q7tkXLGMF/al1CdoceoLx8QQM2IuGZ314vaWpHcPvTLd9m7kuY6S9TPMJdQ==","signatures":[{"sig":"MEUCIBqR+bxpVjU/dnsjcXG5TuNr1UMjXnTgVgx9PCLGXLOpAiEApk1dvd2xrVPD5gmLc16tbetwCKG5IAYx/vbenz/avbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23497058},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs && node dist/bin/postinstall.js","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.5_1778746468634_0.061368841834339216","host":"s3://npm-registry-packages-npm-production"}},"2.0.6-preview.20260520143244":{"name":"cli-jaw","version":"2.0.6-preview.20260520143244","keywords":["ai-assistant","cli","claude","codex","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.6-preview.20260520143244","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a4812bccf5e2ac75ff16b15df02af242f39df27c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.6-preview.20260520143244.tgz","fileCount":1791,"integrity":"sha512-tCcw/q0YgI1aUEiRCTcDs5J0PK5MfYb75otHZ0CDCH+FepFMt6L2VAvBpAkB86nkfiZOFaYBaqGebXUHHR39cA==","signatures":[{"sig":"MEUCIQC/w7pLR/rJojYtlGevIzlD93/OOBsaYfZ8C6gqnYFxlAIgNKQQ6GX/X4IBIbTzpj6ZejPNTzYaq/G5hhr7nr2kon0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24272488},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Claude, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","claude-e":"latest","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.6-preview.20260520143244_1779255354524_0.9817409300230646","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"cli-jaw","version":"2.0.6","keywords":["ai-assistant","cli","claude","codex","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"02d8b2a878efb440142f3d3d0c08f4a61eb7c77f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.6.tgz","fileCount":1791,"integrity":"sha512-sio5Q1eFcFMgpi4uT2N3TMPvPplU5he584nG8UICOgAXuSTZvzHyi0IFH6rsnHQ+GfXCwEnBxAcy43CGTxMnyg==","signatures":[{"sig":"MEYCIQCul9lquB0KR9bQdwqj8jYfHHrxspenI/4zDD6zSS7bYwIhAKhrSnyB0IZKpEy0EWWL+J9BKM8zQBZV3IB8Ghk4vW+C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24272465},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Claude, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","claude-e":"latest","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@grammyjs/runner":"^2.0.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","remark-frontmatter":"^5.0.0","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.6_1779255769523_0.8361228838330064","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"cli-jaw","version":"2.0.10","keywords":["ai-assistant","cli","antigravity","claude","codex","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6e36ad491cbb1239d9fb282727a0c052feef9453","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.10.tgz","fileCount":1812,"integrity":"sha512-1Zg3Qe1K+RkuaKjsaANVqYdpkGVMy7aMpHFA9TvdU4+R34Ed4lamemoit6xjtKx3q8gmNXk3VWCzXdfmVifrew==","signatures":[{"sig":"MEUCIQDBOw6UEZAqANCT91ldRVrRlYcS1cRS6DI3s6pkSeBagAIgF//GY1xMIxt9AP2BK5TlpOE+jDpQGijZwhsbgD2YJf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24538973},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"node scripts/require-release-evidence.mjs && npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.10_1779587305565_0.9467295261246347","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"cli-jaw","version":"2.0.13","keywords":["ai-assistant","cli","antigravity","claude","codex","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.13","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b762d70d7fa9eff4b6aef72c46f4dd8cb605d056","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.13.tgz","fileCount":1812,"integrity":"sha512-V614GfxMjfH4iq2yGboZJdYeVOMC5Tsc3zigZ9/HUcAsnHQYCD73fXtTjg3gfJN3kCO70IrD3eOu990xwB7DSA==","signatures":[{"sig":"MEQCIBcmEfYkRECTK9UIT26Nxv69C1qlMmWb66vMvSUzW+bOAiAF414kS2Xz9CN00BuTOsjzCcKrjMeXXm8IYjFLzrWWIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24539065},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"node scripts/require-release-evidence.mjs && npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.13_1779589747230_0.0082081206445066","host":"s3://npm-registry-packages-npm-production"}},"2.0.16":{"name":"cli-jaw","version":"2.0.16","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.16","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"002be6022828f11cede2131ad75d20d263037b95","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.16.tgz","fileCount":1989,"integrity":"sha512-pi80+/iQpaWfv+LIxO7C6s1719e/RgP95Q1R8DPUdoRZFuCcCDkqZKW7/ORU8jrjFv1Tfl2UvC6jd/TtHC6+VQ==","signatures":[{"sig":"MEUCIFnM0JXWnkZ9ktcw/LxhNkOP9E+IA/c8pXcF7oig0RBDAiEA90vwFhGT5aVDf78Wj4EdvKbseQ0oCE5542yixCtKxKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25858901},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.16_1779995642215_0.9067553067915202","host":"s3://npm-registry-packages-npm-production"}},"2.0.17-preview.20260529041409":{"name":"cli-jaw","version":"2.0.17-preview.20260529041409","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.0.17-preview.20260529041409","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7ac9a5387f53933cb31de7609e27abc63cacab3e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.0.17-preview.20260529041409.tgz","fileCount":1989,"integrity":"sha512-frPqmJYUlspGGQSGaXFUBKPNa6gTyYcsVQUuf5DbhD2yrSXWV2GU3TbPKOYnSpxOEFhkCPi2/9kk9gtm6ww4YQ==","signatures":[{"sig":"MEUCIQCKQVNlv4Mb0CW/eXQsWZZ5xDHJgLiNsnaboOXW5ucGnwIgWD/Ar97DvBNHyP5IGkZVyO/VeEkzQtTuAQtGXiOSKOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25858924},"type":"module","_from":"file:cli-jaw-2.0.17-preview.20260529041409.tgz","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"_resolved":"/Users/jun/Developer/new/700_projects/cli-jaw/cli-jaw-2.0.17-preview.20260529041409.tgz","_integrity":"sha512-frPqmJYUlspGGQSGaXFUBKPNa6gTyYcsVQUuf5DbhD2yrSXWV2GU3TbPKOYnSpxOEFhkCPi2/9kk9gtm6ww4YQ==","repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.0.17-preview.20260529041409_1779995669798_0.26103641231771957","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"cli-jaw","version":"2.1.0","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c9c8c0acd18f68b9edc76251a2c61a20b490ba6e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.0.tgz","fileCount":1991,"integrity":"sha512-1VSWGcOBonyMTjIn8yAIPI3uXjMe3M7IQvoaZqNHxcwJC6krHJHufxA+yK9LZ5JlgCHPEkjDts0Uf9FDeVZhrw==","signatures":[{"sig":"MEUCIFpP4bIBaUI29OdhLdCIOzKfULmwwGGz4FRld8LlHL90AiEAwjgDkoKOutn/UvHZ7GkWA9OHuuVM5fifIDuI/30En/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25879663},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.0_1780027598345_0.7273205002685794","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"cli-jaw","version":"2.1.1","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"35c6aff4c3490d8c9a44dadef2487eed170c6957","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.1.tgz","fileCount":1991,"integrity":"sha512-THtfH2wBp+cHzuhpOeMzvwqbBhpNGw/0RJBqwWeIEh0XpX/S/Z/uXe/wZuILo3LDpHe1+I4hHckWF9313l7tmw==","signatures":[{"sig":"MEUCIF/JJzoiLynvAP+cGr0DSU1t7wpAfgZgAGMGjG6knyUzAiEApHx5xN4VdyJ+sbUs/MzDUvukWpQY0tSMj3KcORWrQN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25883797},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.1_1780029644289_0.3614250099698999","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"cli-jaw","version":"2.1.2","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"06492b509683bb3095e3941148f7ed5b92a177d4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.2.tgz","fileCount":2053,"integrity":"sha512-sq4WL4SeCb0pmF835lE3q4tla7R+Hsuq0b4TXxyl6HyIiqeRtFfJIEU/FoRbg2hUZIvz4ko76BgOCggADNdeng==","signatures":[{"sig":"MEUCIEWkRd7JqjGOKesfOLPTwTFVqUopB7BlQ4Am7p9AFcUtAiEA5CCSKMDB+BkhM6mMIP/o6DEabZlnb6gJ32Yen8n0tJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26330001},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.2_1780174567238_0.514785576765503","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"cli-jaw","version":"2.1.3","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9ac1dce8fbd6c6dbb053556617130f8d8d37c48d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.3.tgz","fileCount":2072,"integrity":"sha512-VKHTm3muThonSfnxhLAKKh4WVvKRbiQEhKlFdVLX7ffwXa6Y3ure67dhjlt5CpkfZy8Q7ilSbY3dFoj3MF1Onw==","signatures":[{"sig":"MEQCIF9AkzpYI9n4kAyGNvwsesfDQndQpmxPHjfJqrkl5nADAiAhxTp4vjZTpg/ZosLTU3YOScHP081g4Dkb9LO2Eu+XbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26481351},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"tsc && mkdir -p dist/src/prompt && rsync -a --delete src/prompt/templates/ dist/src/prompt/templates/ && rsync -a --delete prompts/ dist/prompts/","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend","rebuild:native":"npm rebuild better-sqlite3","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.3_1780560240626_0.297677619922482","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"cli-jaw","version":"2.1.5","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5a7c8c7174d873d224bcc85e53cab09f4671cace","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.5.tgz","fileCount":2016,"integrity":"sha512-rfGMGlrBghEJW//WeeourR7AsN/yKtGArw3LrODZG27Ri/urMlMQd9zhFYmuJkfbsZ+7hv1QK7jouXDETd8Fjw==","signatures":[{"sig":"MEQCIBS0T1VBzmQ8Gw34FMP3T9wvxQXom3eat8Y1u4nArjdHAiBoAEkZ4k3PVd/s3CHfR5xuPMPvI4MCeSrD/FSPPna5+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162487562},"type":"module","engines":{"node":">=22.4.0"},"scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"bitkyc08","email":"bitkyc08@gmail.com"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.11.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.14.1","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","jawcode":"file:../jawcode/packages/jwc","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.5_1781529362101_0.8383842883082835","host":"s3://npm-registry-packages-npm-production"}},"2.1.6-preview.20260621123500":{"name":"cli-jaw","version":"2.1.6-preview.20260621123500","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.6-preview.20260621123500","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"81a452de841047143b252b0de49fe8d287a75962","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.6-preview.20260621123500.tgz","fileCount":2100,"integrity":"sha512-P0VkKy6Ox0sgZTq9cXRxZ32bvwZH6iqQuEDaq15nhTq5uDSAF2DJk2FdWIjbwxfofvd/iR6Dmluaqb8sXKvtuA==","signatures":[{"sig":"MEYCIQDmnb4UEX9Birqm7ufkFSn59oDx0K9WoWuiAtmysHaKxwIhAOy93MjF0BT7Tfs1qlvnE+0I39ZrLOPa+ZQYGDaqwB+F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.1.6-preview.20260621123500","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20736151},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"5e6c4c91d09d48e3cc82d6775fd5738c1e9a2c6e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:electron-sidecar-jwc":"node scripts/check-electron-sidecar-jwc.cjs","check:electron-dist-mac-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-linux-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","jawcode":"^1.0.9","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.6-preview.20260621123500_1782017208332_0.957422717964","host":"s3://npm-registry-packages-npm-production"}},"2.1.7-preview.20260622144402":{"name":"cli-jaw","version":"2.1.7-preview.20260622144402","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.7-preview.20260622144402","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0ef69f1b9458fa60e363f39d15031ac0f37b941b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.7-preview.20260622144402.tgz","fileCount":2102,"integrity":"sha512-sJX4thZbYkhEM6rXHPuRVIMa9/Aj4RfE+/NRrz/obBFV26V42J1Gs+t0sUe03/pUB1+Zf37jZpxsRuD8QqRDzQ==","signatures":[{"sig":"MEYCIQDZ44oWxu40Aw/+H53R5xHWu/citZgqRwUk15+xMRUVTwIhAJDAysVpl0ytuvFDOlwFrURLhYhKOoDmq0UFdKLWFrO1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.1.7-preview.20260622144402","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20785825},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"fe06ed8ce26c85fca7e80a0f26e9959c54cb31d3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:electron-sidecar-jwc":"node scripts/check-electron-sidecar-jwc.cjs","check:electron-dist-mac-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-linux-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","jawcode":"^1.0.9","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.7-preview.20260622144402_1782107346644_0.0027877466965229303","host":"s3://npm-registry-packages-npm-production"}},"2.1.8-preview.20260622152202":{"name":"cli-jaw","version":"2.1.8-preview.20260622152202","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.8-preview.20260622152202","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"dc74271fa6bd9c07c6dc72b681353cb0d310e58b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.8-preview.20260622152202.tgz","fileCount":2102,"integrity":"sha512-7uZ+ebEpgt/OqG6M58O9bm5p09FyBr+A2yLVHCi5ZtQLCM3H0keWPN/m4ZH5clPkru3JBafne2eceFx8UdcPuQ==","signatures":[{"sig":"MEYCIQDczm0svdUUNlyP4vTUWIVRCPVpqOlUluMCPOF8loVtTAIhAPlG6K9bB520jXaB395AINPXZCvk8w+f0bXpy6aVC1lD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.1.8-preview.20260622152202","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20786670},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d4a35dc6ac51a0ae0c2c1cda6cc362cf30273bc5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:electron-sidecar-jwc":"node scripts/check-electron-sidecar-jwc.cjs","check:electron-dist-mac-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-linux-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","jawcode":"^1.0.9","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.8-preview.20260622152202_1782109462130_0.522090102145425","host":"s3://npm-registry-packages-npm-production"}},"2.1.9-preview.20260622153241":{"name":"cli-jaw","version":"2.1.9-preview.20260622153241","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.1.9-preview.20260622153241","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0525588241eb8d9ce8b52ffa76b18e59f6fdb13d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.1.9-preview.20260622153241.tgz","fileCount":2102,"integrity":"sha512-DHgJqKQ/QWovZXI8IQJmj0OKs8fcL3ncqYjUie2Jw8OUpqCf+6Ja5o8ydLKRiyAPDtTNLZUIz9v4ZEM/gPF7zA==","signatures":[{"sig":"MEUCIHeZmfBaKsCtamafitLebbwvDrBrLNSCj+EBjxlOTUnGAiEArTwLvPnR+5AGtC+YlDKXw2sNAiV9oLgG99p3qY2O18k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.1.9-preview.20260622153241","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20786670},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"6cb7c91bcce17d30582a29ee78da44e387f2759d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:electron-sidecar-jwc":"node scripts/check-electron-sidecar-jwc.cjs","check:electron-dist-mac-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-linux-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","jawcode":"^1.0.9","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.1.9-preview.20260622153241_1782110081658_0.8431504716652651","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"cli-jaw","version":"2.2.0","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"40237ee2bdb7d334f66ccb555bfcace227ddac4a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.0.tgz","fileCount":2102,"integrity":"sha512-OYL+m+WXwaECTWK7Sudp+pH6tCymIrMhEIolm49iqeQ4WHvyC6lTBhzdYljvhQTzjoNR461fOEZjTvJbA+X7YQ==","signatures":[{"sig":"MEYCIQC9LyeqJuIt5fYhDUUoqvk8hFwTm349OBaHFIxp1eXO9gIhALvCxM/mUa/F+x3Aw1MZHi52BcYX8GoDg/0r6SWZgyAb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20786945},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"336f0eb03c724a0d5fb49f3961753dc3a99c2d7e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:electron-sidecar-jwc":"node scripts/check-electron-sidecar-jwc.cjs","check:electron-dist-mac-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-linux-jwc":"node scripts/check-electron-sidecar-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","jawcode":"^1.0.9","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.0_1782134106932_0.3243252259242362","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"cli-jaw","version":"2.2.1","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"10d935f3ea40a7b1905fd3563b5738fc5406b12d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.1.tgz","fileCount":2132,"integrity":"sha512-/nbIA/WPgEPXhY3nB7sOXi/GJy2Q6M5O583eK9Wcz+pB/wxUMmrfHVkyVlYyxgNcHSBKbTX35RT1ONnVFdqSPA==","signatures":[{"sig":"MEQCIDiFyeEbp9v+aTBp9MmeiMB4VAP8J+O/KtcP67M8PIEeAiBEN9rgnuggNS8UZGeyiU0G/Glqv6K0neaKY2wqPZARyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20998144},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"bcbf316cf3211b1b1cf719d10c7732af52071754","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/unit/*.test.ts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/*.test.ts tests/**/*.test.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --import ./tests/setup/test-home.ts --test --watch tests/*.test.ts tests/unit/*.test.ts","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test --experimental-test-coverage tests/*.test.ts tests/**/*.test.ts","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest","@bitkyc08/ai-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.1_1782205477851_0.34568791337753524","host":"s3://npm-registry-packages-npm-production"}},"2.2.1-preview.20260625145621":{"name":"cli-jaw","version":"2.2.1-preview.20260625145621","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.1-preview.20260625145621","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4270b8e0c3e243db62c52dafaade47c9386530bd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.1-preview.20260625145621.tgz","fileCount":2158,"integrity":"sha512-FTA7mqdfuk/Cp0nM2W7ukaJ/UUtGWi6o7Vhikl1x0k7xq95+8cQ48UGoIoX/sIYii/SawNY2xxAltr0959AsmQ==","signatures":[{"sig":"MEUCIQD6bjm92y7ZXL0nwIuM7CfyGX3dljAXQRxVBQ/pgLf9OAIgbQy9WzdM2vintoN6KPfWq13S9Fk5lcEx+zbYL2yFxSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.1-preview.20260625145621","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21143282},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d16cb755f15c43eeb56696205cd74b9585ce3e35","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.17.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.1-preview.20260625145621_1782367085481_0.5720428019373605","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"cli-jaw","version":"2.2.2","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"818967c2c5671ddc5edb35ff7cb2fc1573ab7e52","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.2.tgz","fileCount":2158,"integrity":"sha512-uNjcZBIULL1RGJ0ojM3zP23CjVQDQiq6yBnpIK+cEHayovTcz14f66Sf8BpIgOczi/i7RYhKzk/s9mmu2zkreg==","signatures":[{"sig":"MEUCICmdI5xv709zna08d4fia4b5Xxnjt9vVqfMmG3jpTe1rAiEA8BTjEde+QuTLVUFNjwE7cf7eQnXNhiPs8G9kBqHX2WY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21143259},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c78cea49b4727dae5485f48b12e58f6b7361f476","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.2_1782368453250_0.19864000546597693","host":"s3://npm-registry-packages-npm-production"}},"2.2.3-preview.20260625152056":{"name":"cli-jaw","version":"2.2.3-preview.20260625152056","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.3-preview.20260625152056","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"41ccad27a174c1d73be5fd09f222ef7093d919d4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.3-preview.20260625152056.tgz","fileCount":2158,"integrity":"sha512-pc7HAtuTaaUz2ZU1zoUYFmXRDKIMnbOYoiZXdINlWgKB+zfpneyGKf5N9xsfInfzp/CF4E0IoYvKOJkzQD4Ydw==","signatures":[{"sig":"MEYCIQDhf5ZR8OVqGORSCMmUhuMvT9yowKMxC+WdH5lfhYICbgIhAKJpJge5/oci1Yvgpk5o61mPNHmyICR+Ur2TQxyd1PHr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.3-preview.20260625152056","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21143282},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"fbe01ad73d883e04b66bc7fae2b69ace8cd0d867","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"npm run test:claude-exec","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"npm run build:claude-exec","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"cargo test --manifest-path native/jaw-claude-i/Cargo.toml","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"cargo build --release --manifest-path native/jaw-claude-i/Cargo.toml","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.16.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.3-preview.20260625152056_1782368563019_0.7135808011436662","host":"s3://npm-registry-packages-npm-production"}},"2.2.4-preview.20260627172627":{"name":"cli-jaw","version":"2.2.4-preview.20260627172627","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.4-preview.20260627172627","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3054f6a30cf8ec01052b6b767c81b7572bb6601b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.4-preview.20260627172627.tgz","fileCount":2218,"integrity":"sha512-xlmKnNgfWQYOpkoFihQmPWoKSeeQcAw023wTcnjuMqfSI9CNzjiDM9aQn4PEXi7Btkrk+oSfEp/tiUSyaAbkmw==","signatures":[{"sig":"MEUCIQDzb8AWoanRsjHLs4+cqgehCJKToKMco6x5eNe85MprhAIgeJnnyRwfrpXZr0OsjOZcDOxcJK51t4ufXzezto39hK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.4-preview.20260627172627","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21556279},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e5fe17ec0a836f96dce2796f653b3b3f58a1f615","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.17.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.4-preview.20260627172627_1782549140617_0.4643881720035701","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"cli-jaw","version":"2.2.3","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2eff443da3aa0e71b965b37767ad4144462a67c7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.3.tgz","fileCount":2218,"integrity":"sha512-PqXsrn+NYgwrdmr+gfDBHNICCZYUatbpAcowR91+oYHt6fMoZCU3P3hDXvUHzSQZexO6MgxQMb9BRZZPoK571g==","signatures":[{"sig":"MEYCIQCzWdZTD9xg4Z1YrGy7xpFIWayD/5yxTJNeMk2dwFZZEgIhAIt4mkhSkWG2eP6FL5CR+RcU1YKs0vfgBBcIwNaaCUJl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21556256},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"14b4a5a67da31dc6a9b57b39c66d21372faaaec9","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.17.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.3_1782556722753_0.9787788446020458","host":"s3://npm-registry-packages-npm-production"}},"2.2.4-preview.20260703203439":{"name":"cli-jaw","version":"2.2.4-preview.20260703203439","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.4-preview.20260703203439","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ee9421213279e561c485cd7fd074f40786be1d78","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.4-preview.20260703203439.tgz","fileCount":2224,"integrity":"sha512-mw+G3bHJg0nVRyxuDeAG9PDf5c6PTw1YYKpv7Q33iiTDQtOjFYtZO/6uU7FMtJuCE0ImpIvzPqjbFlOtS8gHDw==","signatures":[{"sig":"MEYCIQCt8YlHKEf4LmeMsJY8N+hsQXXt/ur0WvwCJwDiOt6CsgIhAORmZhB1x497Qc3DQw6jKDKoEIGBh1IBONWuucnO2i2d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.4-preview.20260703203439","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21631879},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"a90955456f954a33449d74a256a9c1b670d9bb00","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.18.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.4-preview.20260703203439_1783078581125_0.6643016873317937","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"cli-jaw","version":"2.2.4","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5cda32b7f06689a23d01688ff7f962243d672afc","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.4.tgz","fileCount":2224,"integrity":"sha512-t0ZS+EQvRzM3g+Yq6bsvB9MZPwQOFoMZlAkHlYNTv7JeMLNmy6MOnkFeawaf4SZnNgP87p8LbX/fPL23VfLSnA==","signatures":[{"sig":"MEQCIGVCfmA3Un3lsRisCAeAGL1yFgrIHWbRbF6vGLczRcwmAiBM5uFIDPhkLLPHNju/E22WxyS5LkBMGZf44VC6l2jo3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21631856},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"82daee55be61b41f1f17e5dd73faf093ac4d51d3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.18.0","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.40.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.4_1783078715978_0.40914149056632354","host":"s3://npm-registry-packages-npm-production"}},"2.2.6-preview.20260709110810":{"name":"cli-jaw","version":"2.2.6-preview.20260709110810","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.6-preview.20260709110810","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4aba135887470026184ec47505259a86da772252","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.6-preview.20260709110810.tgz","fileCount":2272,"integrity":"sha512-Nw3cj3r6+KLFVQ2i0BuNbJ86jDtDWUehEUPMdJgrrFT4IKiF0m2kX55OI2SrF7nVSdcui7/alPho8tLzzknrTQ==","signatures":[{"sig":"MEUCIC71w/ipu6Z0+sVxK4InBfGCFxc1ZgT9V0VVRnvAFBikAiEAwqRhwYY5/T7n1im6SWFDkOS3ZOJ4kGk6a2MIEfjSKdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.6-preview.20260709110810","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22199150},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"146064cbeabd8490669cdf8238565158cbeaeb74","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.6-preview.20260709110810_1783563495006_0.620242675891497","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"cli-jaw","version":"2.2.5","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4dea62de70984f2457899a7858d9296c96ef611c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.5.tgz","fileCount":2272,"integrity":"sha512-ak6I0DXyVr6twHA5ogrQgeN9RjwkzbGeKNe5dc0X4n4R3oyqRA0oNgeHDPUKYmYLQRRRnBjhobganPNhvX7nDA==","signatures":[{"sig":"MEUCIQCY3xz8XlHSUtqupYxGhG/CeUYTb+LJaoJPltuI/7x3hQIgYIZTZkM+FM0pua4/1Lh34Z9+xe+7pmJjSqL2vyJRF+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22199127},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"387075b949f4bf6c8cd5fb5e6fe68d58e6a7069b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.5_1783563498497_0.7351531074662898","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"name":"cli-jaw","version":"2.2.6","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"db31b0ea2a7b3673e1106d5dd21eb941a16c8456","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.6.tgz","fileCount":2280,"integrity":"sha512-Y5zM7QFjBykbp2eT5e39mf0zZMcTpM4KlISLsd2GYIlz+h98M07He4f7bZO3hZB7Qp6Hz0FmZR47wrexYrXIoQ==","signatures":[{"sig":"MEYCIQCrmTYB8fEvcKnf+in33xZeWXEWkhNWeDaH1jQ61IUxjQIhAL62v/kdGw8O+QNv74JI/11XVTmc2U3ZnraDo4xp/atu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22275156},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"9aba46dedcb0bafb4b669934979dce349a3cc896","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.6_1783728600570_0.5159949243043918","host":"s3://npm-registry-packages-npm-production"}},"2.2.7-preview.20260711090907":{"name":"cli-jaw","version":"2.2.7-preview.20260711090907","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.7-preview.20260711090907","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"efef11240e5d9e78b0c4ba49938ee9eecf876cd6","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.7-preview.20260711090907.tgz","fileCount":2280,"integrity":"sha512-AIZKuefQY17JrlVxYiGzlule7wmEOxMQqN7ReuH/oklIVZWQfL5vO7hkxCWa84oJdzp4zVVkUlF0TOe/vcmrVA==","signatures":[{"sig":"MEYCIQCArdXXPhFDjEr9BGnyDVJzas8WTooP9hSikKF0t0uRoAIhAPMq2XN2H/CCNvbSI2Q1EO6oJEEC5hE/bcen8cig5AtG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.7-preview.20260711090907","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22275179},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"482d280fa722d851de6641e8ecadf7728dada8c0","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.7-preview.20260711090907_1783728651998_0.83500172362164","host":"s3://npm-registry-packages-npm-production"}},"2.2.8-preview.20260711123136":{"name":"cli-jaw","version":"2.2.8-preview.20260711123136","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.8-preview.20260711123136","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c48aa68f12fcf5c2d2197f076ca43b82a8194208","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.8-preview.20260711123136.tgz","fileCount":2280,"integrity":"sha512-vqXilmZN1j0SVbAr+twXl0zf6JzcmVyLPtmDbTuwNwemC8TIdImb8By9XK2zMBTo+etpvQFHjlGRiBZ1kcq5Cg==","signatures":[{"sig":"MEQCIB1q5oOWyCamhpnQ4MoeGqZn+z+IaZbz+ywha5E1GFzYAiBghorNC5DHebe+tvJ5bHoxEeK9uwLJwOV7a2ZgM3wjPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.8-preview.20260711123136","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22277732},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"524c00fe88036cd11160d4d481f452eed9e49ae6","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.8-preview.20260711123136_1783740812163_0.42956112154252146","host":"s3://npm-registry-packages-npm-production"}},"2.2.7":{"name":"cli-jaw","version":"2.2.7","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fc553eff7596c6d32821572b290caeb9c05161db","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.7.tgz","fileCount":2280,"integrity":"sha512-d/mGrUkIpvCXRbay04TmT4NH9oLe67awGY8QjZUxqrEon9U/7LoxiDDVjpUrJekhkdT99hqN/Q/snd+mxfZiVA==","signatures":[{"sig":"MEYCIQCdcaIG1TgEYi0xSI/12Org8IMi5XSq3CoAPKhamf87mQIhAIi8O2DSxrO+mnakLcbzfNtxUHCbR/v67GWV8plJ1i8S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22277709},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2d338fa2a6103ba25f258b31bf58e022be263cec","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.7_1783740843787_0.30410499850966377","host":"s3://npm-registry-packages-npm-production"}},"2.2.8-preview.20260725234544":{"name":"cli-jaw","version":"2.2.8-preview.20260725234544","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.8-preview.20260725234544","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"35f6ffa01a1116dcb1a7299fea65df47e20eb779","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.8-preview.20260725234544.tgz","fileCount":2280,"integrity":"sha512-Sbkj/2v03qlh7Yy4fXjCQ6HZTdoZxyToL6jfvS2VUo8SPXOgkeCIUTYWMOzekMiTRC1PLWI4bjYWkjvj3xm66A==","signatures":[{"sig":"MEQCICvmkLgUbK8agoOJ/+5yx94f2CFED0Ud4dWJAZJIWscaAiAuKXzAXvaLlmhnI0qQTDgNLX6ChYY6FKPzNHfbDb1n6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.8-preview.20260725234544","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22283425},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"157bf708ed8cc4ddd2e6550a4219977dc77dab8e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.8-preview.20260725234544_1784990855830_0.6066812866289586","host":"s3://npm-registry-packages-npm-production"}},"2.2.8":{"name":"cli-jaw","version":"2.2.8","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.8","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5b739ea4176a39b3df43e913bbc47a0c7d748803","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.8.tgz","fileCount":2280,"integrity":"sha512-uVqdLqQaLtknbQv9u3+dgreFc/pt9XzcH8T25N+mD6DwzyzglnikJ2GhWBLgNrFiA7VjdrIHt6FbbZW8ZHxQOA==","signatures":[{"sig":"MEUCIBZspMJKUJMHinFPdXUIQWm+03w7toTiIabvugVNfyRCAiEAla+vnzj2XGrSf3FSGwdIefRDNu67Fa7Ym9xZCpG6fLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22283402},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"8c6b82d2c692fde52daf296d95da7dd092d13b6e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.8_1784991049503_0.2276605322541747","host":"s3://npm-registry-packages-npm-production"}},"2.2.9":{"name":"cli-jaw","version":"2.2.9","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d07cdc396ccc6b5c176cba52842efc51b2c0c8a1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.9.tgz","fileCount":2284,"integrity":"sha512-KHgHgZmchQ9yKrTc0/dClkt8KPGbrxx4NZ4GBlolhPeMZ5jSn+FqjPCLYmamuLlcIxHZ5fJYEbjgHJUp0PEwnA==","signatures":[{"sig":"MEYCIQDdO9utmyzWVIikAefNhtj78PrtU3a4Ipu7vd++oFcLlgIhAIU7pdvM13o9+Y2sd/j3xLqR4PKNlq5mwyfd7yStqDO5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22295458},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"cfecea60f2af7ba870a89c1fbd271aebc20eacd5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.9_1785185825371_0.4705498899965699","host":"s3://npm-registry-packages-npm-production"}},"2.2.10":{"name":"cli-jaw","version":"2.2.10","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5669b26ce31906b000c20b2000221176058a59f4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.10.tgz","fileCount":2332,"integrity":"sha512-7DMGs1FHKfC5YY7Nq1O6fV1WSMSVda/ZiwoeHpcEfeDgMbn3UVU9mW6SDQ9pHysK+DjAhCooMSrjuZfb5FW0Nw==","signatures":[{"sig":"MEUCIQCynsRV4ZxSckeKx+miDNaRpvQtTJL7Ihp1jU67+aUY4AIgULmijBMd4UHqvfXdvQDGK2ax0ztpzsqeFnVNoPG/+UM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22725530},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7c57d195c61bfb977180a2142242c44e3bc894be","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.10_1785714762164_0.07892587441935817","host":"s3://npm-registry-packages-npm-production"}},"2.2.11":{"name":"cli-jaw","version":"2.2.11","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.11","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3626136f4da55dcbffce36c7c6c4478b2d11c386","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.11.tgz","fileCount":2338,"integrity":"sha512-2D3AUdFkwN6DE/w0yw88iwA3S76V7QjjZp0cbUi/UXu9ShiUaTJurP4Cs8LzhfoesQlvVEWZQCMYgc0/ECT7/w==","signatures":[{"sig":"MEUCIQC1ZtPNUTNeChdu9LypgAHGAABN/5B816sI+H9RIkKezgIgJ9dW1fPvMy/D/hD77qvqeNWJBBfXHC6eMtTVKNQFwmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22759855},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"32e31726a3b729a27cb236c53ceeb9d1e1135681","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.11_1785727441846_0.9303604032235784","host":"s3://npm-registry-packages-npm-production"}},"2.2.12":{"name":"cli-jaw","version":"2.2.12","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.12","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a33eedb75e6bf4d2a086d5e969c2f563aa8e19b2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.12.tgz","fileCount":2349,"integrity":"sha512-D0xC3h7vkpi3NvxoruJoxLIBYEpNZQeZZG6Kznvb+ogz/Q2ycJLzkBsqwGc5WCNpliJQ3dBlbY4pzHCitQ0T2g==","signatures":[{"sig":"MEYCIQCpMju+cUmiilMlrnh8OCkhQIr00MSO2nwvq0jkffkw0AIhAPmLZEA5OFMhjafnIDGXdSBehvd8TLJ3EghVSAzGdy5v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22905951},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"9fdab1fc3676340377c6ed9117b4256f9d04b30c","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.12_1785750098695_0.7181231700280559","host":"s3://npm-registry-packages-npm-production"}},"2.2.13":{"name":"cli-jaw","version":"2.2.13","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.13","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"324473f3bbdd883c098ac86646a41925ee773c7a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.13.tgz","fileCount":2361,"integrity":"sha512-CyS+u29UnMaS3LXzkcqHF1wkKQ5v44AxMIm3LClDpIm7KfZ2mm5vBPxosdQTXcVrTZq46OVFNLDdPiZMLCL4bA==","signatures":[{"sig":"MEQCIDsHW+a7ieKh9syj5nDWrVNT5YSIX5OGyMOfU12wdxuIAiA4TJvXbt0CfqXIlRjmS5M2hpN6qAx4LN7UrLyh73nyvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22981771},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c7d7b6f9c9cec76604896216c5b27d54a3331666","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.13_1785810723114_0.12737725791359056","host":"s3://npm-registry-packages-npm-production"}},"2.2.14":{"name":"cli-jaw","version":"2.2.14","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.14","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a53cde4e8dabb49d1086cdade32d455c0913aa57","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.14.tgz","fileCount":2362,"integrity":"sha512-R6vK+AIq4Vi6HMV+wbvtyj6g30bLgo8PHoK98DdpdrYYMtbQbKAZ17NAQ5oMszWOEs8VzodmLEff5epaZjpBvA==","signatures":[{"sig":"MEUCICEOqek/Z5NfsTurnnD5v7jWrupL3WlBgBX+Px4bPDlFAiEA9dZvo4fWolrIowhzRfU7i3xb4SFC0v9tH/FyYvYd8OE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22984357},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ebdf94327572e760d899403ae18366ccdfce2973","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.14_1785812934621_0.3199740817676555","host":"s3://npm-registry-packages-npm-production"}},"2.2.15":{"name":"cli-jaw","version":"2.2.15","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.15","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"297305c89dfd5fbbedb0990829d69c431bdbac76","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.15.tgz","fileCount":2362,"integrity":"sha512-5dsMoTy34qPQYiETW5WMnP27R+7W6D7SSabkPH06Pj/OUmHgK1UFvJO4G/Ddf1Qo8+EI6aVh5BbklX7naDbXag==","signatures":[{"sig":"MEYCIQCIOq4QtNnsgIbG1HI7664fqdlLDhosk0y5kJEGHRjGEwIhAN9/6mUUlIToeRsbV2aV5ZqGKrsKucjAeIdZDh1J90IH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22984876},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"80389ef629f6b34762bc05fa3df9edcfdeb80067","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^12.8.0","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"claude-e":"latest"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.15_1785816163519_0.8025171313580477","host":"s3://npm-registry-packages-npm-production"}},"2.2.16":{"name":"cli-jaw","version":"2.2.16","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.16","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"874377c17630c09f7d3a15f7a8ac59d2e21ef97b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.16.tgz","fileCount":2365,"integrity":"sha512-9xbKwtsyfY8FRLqPH4xW6GCySDgXyBidqXsTzV1wmGtSQs6SAImFAw0K5RK4K/gIrfg3pGe/iA+zJVd6G43gtA==","signatures":[{"sig":"MEYCIQDmn6ajDEx69CQvPoW3qW+S8eDo4fAl4XtT+t5fRrc33QIhAKP0Uqz86mthPLNaeiho6UAuEQkze9DCbRiQPhOzJ4gS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23021183},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"63cf3e32588bd64c36cae14f2b4fff81458d18c9","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.16_1785823329673_0.1644774815520229","host":"s3://npm-registry-packages-npm-production"}},"2.2.17":{"name":"cli-jaw","version":"2.2.17","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.17","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f524c828774f45dc6ae9c5faa049a1f1e64130e7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.17.tgz","fileCount":2450,"integrity":"sha512-LqggCmuuWnPZcIRStIWJ3b7rz21kZHB1dEbdWOhbj7sfEUYyPalnq4V8GntaSnnxuv/nQkG1YptgGfGp82QoEA==","signatures":[{"sig":"MEUCIAD26+JTAOD2HsabBIUMFp2gZ2U0slI/5WAdmwfV9EPoAiEAna8H3VMQ3WRNKdra87HOw1m48GbymnAWyK/U/Vpk43Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23851246},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"92a53506659e50fb94b88df3d11dd40a6fa43a05","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.17_1786113466721_0.47398115447534406","host":"s3://npm-registry-packages-npm-production"}},"2.2.18-preview.20260812121016":{"name":"cli-jaw","version":"2.2.18-preview.20260812121016","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.18-preview.20260812121016","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"104883fe4ba8096fd86df5f7c7fe94eca514a534","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.18-preview.20260812121016.tgz","fileCount":2464,"integrity":"sha512-ELpG00PcNEsNAUYPciH3ZFQSa33zpkXKkv6x5p1OD5b29Y5OBizAX6iPd/ZvRibTCefUlFXCoBpY8VU9DOMnZg==","signatures":[{"sig":"MEQCIBLWfyUWwCBFr8cgCZ6pH1cnvjE1/HKcIRWpxsMvYJfNAiAF8azN08bMDXL8iAhKc+vPdk6jrpDoQ3l1AoLZ2gnkMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.18-preview.20260812121016","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24037514},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"74583d10583a0681519fde3c632cb57ede1e42b2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.18-preview.20260812121016_1786504362560_0.113997861029832","host":"s3://npm-registry-packages-npm-production"}},"2.2.18":{"name":"cli-jaw","version":"2.2.18","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.18","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f688db85fca0bd59d58cdfbcd5e043a7f3aa3730","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.18.tgz","fileCount":2464,"integrity":"sha512-wd21eLZ0sgfD6/UAE3oGUcHTVmpsuXdEsNdzxsGCCBSRWPjOiysnb9v7pjSa/AoQAiNdnhHxFvICjK7lC2IF/g==","signatures":[{"sig":"MEUCIQDYwu27WwFcsUmoDN7lBR68XP+zO8xjpMG3lSxdoTJDqAIgVNrfB0srE+KoFXdA0S5B+jVh6H9JFDwndeCC366wuGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24037491},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"4db523bc4fcf5aaf41d741a548d3e4250b174d4c","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.18_1786505137771_0.19743639921330014","host":"s3://npm-registry-packages-npm-production"}},"2.2.19":{"name":"cli-jaw","version":"2.2.19","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.19","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c9d13c93c41b6331954998527489d906e6f904f2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.19.tgz","fileCount":2466,"integrity":"sha512-6uRRUkJlPFWB9rDc0fjTvDyJz4Z2dZwyfa5Q+xf3IcqE8EFL0qTZfZK1RMy9nGFUNGhVoqpO6UFTeiwPgEYVJQ==","signatures":[{"sig":"MEUCIQD3YaNRVn76vAFj8dFqf9EE/A6orTyAO/kHinZ9h/vJngIgOaApqBfIV8nqgaUQRDANBUXvs5ZFY71XO69AYtz5UhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24093479},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"40554c43ccffb649429448a666daf6940b9c7688","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.19_1786519786720_0.4224625244202789","host":"s3://npm-registry-packages-npm-production"}},"2.2.20":{"name":"cli-jaw","version":"2.2.20","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.20","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"40ee062d8f3d671993be0b922ed563a49180a6ff","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.20.tgz","fileCount":2491,"integrity":"sha512-9xacUuIdrTaPiFIA4JqYL5sfetq8dK0yytLcIc36recbzeHQYyEfZw+nKybmyQDiJNHQEFaazvKRcplplJIokA==","signatures":[{"sig":"MEUCIQCGRFpKQNchg8K3Rg5Ekwzv69+EPf9t2irRGcjQToX9kgIgVxhhN2oFf31/rwupPv3azxyQDUIxNvH+/tLHcuAWbIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24339529},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"4fbbef3f2e7b60433505752ee8d450d969b96539","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.20_1786545671318_0.09284214131802182","host":"s3://npm-registry-packages-npm-production"}},"2.2.21":{"name":"cli-jaw","version":"2.2.21","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.21","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0b6c8aff033fcf3ceee67ced4b8de6eab136ba43","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.21.tgz","fileCount":2498,"integrity":"sha512-3ohvHkdCeNBpAedDe1o7uu7yBLhGDE6tzAgdu4cbAqFdPAG4+xBcJ9bKM9yJ6dx3IstAtjuJQ81vY0HXKSFUwQ==","signatures":[{"sig":"MEUCIAYPcbUI5KBhDXkh+Dq6ejvtN4S29zD/oDSdiWV5xpmUAiEA0vrKkQJs22cLxoGOh197ovWsGOFpaGRl0oPasPvfxBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24402313},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7f9756f89604761ffa22cfd4e301a2e68b4e1c1d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.21_1786551560899_0.915048022227585","host":"s3://npm-registry-packages-npm-production"}},"2.2.22":{"name":"cli-jaw","version":"2.2.22","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.22","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e6fd203580682fbff59d8be30752c71e5361c95b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.22.tgz","fileCount":2499,"integrity":"sha512-xFN5IeN38A8kAfIJY3+pNWoSONDpq2jvuOUhzW9oeUjum2Gyrqm/MQxBx6afqbseNLnZfvp0ncwrDnlPmjAKCQ==","signatures":[{"sig":"MEYCIQCZO+O2vV6RuiYtej++0+q80fhKaHthchDZNAg0iVQbkAIhAKm8Uthon/hzJarO4H/HIovC2ca31GQHfJ5dMxghDh7p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24415569},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"443a0bb6eabcc535c5f819a40f0a6c9d262576fe","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.22_1786555566787_0.6705700922531548","host":"s3://npm-registry-packages-npm-production"}},"2.2.23":{"name":"cli-jaw","version":"2.2.23","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.23","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fc30a5963b3b2a2d144da1d3356e46d8df4f0704","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.23.tgz","fileCount":2499,"integrity":"sha512-6aPFuRgQgnwuyXgj5vJ4N5Yn56IGbyCH/9/Qt7tNpl0xilUJnWOO8zTGaBEQLtkgqJe+cs3Xd+M9Yjr6m1gfiA==","signatures":[{"sig":"MEYCIQC6qQfzTACS23TgjsPLOYIpSWkJCPHmnrH6x5Kz3BzOAAIhAO2tunkm02539CTKB9Ip8UgEa77lqSBGCyM9WHzQ1VJh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24415904},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d0d7cc0379e9d30e2b3efd2f63722b1323dbd3e0","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.23_1786556048601_0.15265811237988025","host":"s3://npm-registry-packages-npm-production"}},"2.2.24":{"name":"cli-jaw","version":"2.2.24","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.24","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5ae05d008610b903d4c3be5a60d390aa1b39119b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.24.tgz","fileCount":2499,"integrity":"sha512-jLuBzXNACryoPI/V+0kPqC5LQepjI/hUzQkB/ocMGsCrugWANXCUcIZbcZRrJyzjrywL+w/5iqWSWzWhXROu1w==","signatures":[{"sig":"MEUCID4gy4FzYc62oRRalnu1j92uJlzBsZCcCOYI/Tcs1I6xAiEAiHs67Dk6O5rKxqPon3PfIRo4EcOD4TZSvhusL9jV1J8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24417750},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"a35a0de3ae183c07042aace016f2bc18e2f9caa1","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.24_1786556892736_0.7059452341653729","host":"s3://npm-registry-packages-npm-production"}},"2.2.25":{"name":"cli-jaw","version":"2.2.25","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.2.25","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"631bb14e1098777fc0ea6dbc01c90313f75d921c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.2.25.tgz","fileCount":2499,"integrity":"sha512-YzKtfD97FBSS8zPsW+YI7b2jeryqcAQKmCXJBB7GePWEIpS1CbEZ29acxBTiYYKCcCshEt0FYfxjEW6IsjL5Nw==","signatures":[{"sig":"MEUCIBQcbG0kO+uaNzx8v2xdNtzqxCMi3uCuO4IGFjBK8EUZAiEAnDTz9IwnMAkt6o5/kBWfVV0xWV+ogCoDecCC4zlYytk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.2.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24418031},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"55ea58c6ba4b9b34e7ab9f56feb07fea1bbe8565","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.2.25_1786557282121_0.8694893951601148","host":"s3://npm-registry-packages-npm-production"}},"2.3.0-preview.20260814001452":{"name":"cli-jaw","version":"2.3.0-preview.20260814001452","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.3.0-preview.20260814001452","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1d5eef64aee57d9ec66e508299ccb502dc245853","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.3.0-preview.20260814001452.tgz","fileCount":2533,"integrity":"sha512-7RuQ2Sujg8iTGoe1OZtQ/SZ/vTzp2dv9ueZ5HVNAHg54DJXa3J8FtGNbWUzscvpBhgtuT+40qexk2tGeiRQ08Q==","signatures":[{"sig":"MEQCIAStxA/d883bVBhdZ+0OUAc0UPX2cLyiemvOztTrYMG6AiByQT/YD3mupyanivEVFgSZp/HQqMZxN+37i/SH86kfFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.3.0-preview.20260814001452","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24681444},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0e6bf08e2b593ce3c20b872dfe54f30e7e04d6e3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.3.0-preview.20260814001452_1786667483436_0.21327240475523834","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"cli-jaw","version":"2.3.0","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.3.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"00eaeea3062c5a96593f6bcfb3e65b0c611cdce5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.3.0.tgz","fileCount":2533,"integrity":"sha512-os8eYWQ4BTFHD5z3OuVwkqnFDVmK28Mo/mGKeqFJGC9oM9os0rByiQQbB3AxbTPhdtipZcNQowkEs8hntDBu9g==","signatures":[{"sig":"MEUCIQCrafRlreGh8ZlwAfZFGtWtZ37mi7EeK94SD1vLUfKAjwIgEzM8IvJUknFeSjjC16nSL0m81Y6vhgyYSHUFfBZZHYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24681421},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0e93a0ae70ee0ea256a10daa7cae75a09c7b652b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.3.0_1786668243271_0.36340611307099246","host":"s3://npm-registry-packages-npm-production"}},"2.4.0-preview.20260814192833":{"name":"cli-jaw","version":"2.4.0-preview.20260814192833","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.0-preview.20260814192833","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0c6b84201892105d3b6870bb1e4ca37a82610d5e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.0-preview.20260814192833.tgz","fileCount":2535,"integrity":"sha512-DOtBtWiyH9MQFYdbz79YDKAw1t9c18acClfphLNTI7iD9KSpoUeXcbd9P/U9PlKpKdaUoI9u7VD1wEH+iCLj9g==","signatures":[{"sig":"MEQCIBSyhxfHgcxTcncdkJXkeT5n2e8ZRjaRh9gUWUi1QFZzAiBY6f/dng9sKe+g4DnGdJXBhJPO7agSDj3uTJFbDGqHaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.0-preview.20260814192833","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24703906},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"18e6337786466b0fe988ca2542d431541397417b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.0-preview.20260814192833_1786704010397_0.12394349919796599","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"cli-jaw","version":"2.4.0","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0cd588c738f084e7bfd7cb30d6d06264bfc1b272","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.0.tgz","fileCount":2535,"integrity":"sha512-6lewu+CPtonF6FDAvi/Zc5gNDnq6+JwFmqksc8fb7v/pThomCeUox9hmUZKkSuD2HssANkj4rNDZyhjYdK4lMg==","signatures":[{"sig":"MEUCIHhPLxXvHUwOpSMANmrf+DtVNTYSpTXhXBsFLEpN2G1BAiEApgZe9cKsmMZLUQEaKvDn/LHBWT4mZozYOTteKrMEP0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24703883},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"35c21137d51d3a1c47ad5ca5b64f886731e287a8","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.0_1786706152772_0.8698392361840088","host":"s3://npm-registry-packages-npm-production"}},"2.4.1-preview.20260814205008":{"name":"cli-jaw","version":"2.4.1-preview.20260814205008","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.1-preview.20260814205008","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b286d3bf6eab6013749e5fc26c2f909adbdeadd9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.1-preview.20260814205008.tgz","fileCount":2535,"integrity":"sha512-cxdjYFLnCryeeKNfxIL8jXxIikwd9aXOfE3ueNsd2IPIVaf39+yU+iPKvrDdCiiGvFELHg1PdG0OyqpsJAwudg==","signatures":[{"sig":"MEUCIQC06gZlTEN9w7ZuQUgUFU3MfZCUYrfoRP9WDzZMQNvPAQIgH/25to67xhQlcgf21WtkGOImaoLb4yKM9SKAv3A6/Dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.1-preview.20260814205008","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24704846},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"81e10561a29d9a43de109360a90725c0cb7c857d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.1-preview.20260814205008_1786708992649_0.054099933848742454","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"cli-jaw","version":"2.4.1","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.1","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e442d1b76acccd0a2898663df6da6d22b02838d9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.1.tgz","fileCount":2535,"integrity":"sha512-jO4snmYmjSmhuWkPZTlJTFCfCc53ZCW7f0as/M7I+OKepEBnALu8fYhr3wSWZESMFFr5duI0HJn9RIB/ndwIJw==","signatures":[{"sig":"MEUCIQC1bPR2Awi6rDwPE2WQF22JwZAAlHpldwbhnbmyE3wcggIgSNkwKkoeu02puU9LyXSknmGdgklqvyw1SplH6AhwBTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24704823},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"91308a188c8ecbe034810f5fb0f375e096198caf","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.1_1786710342094_0.41960056905765697","host":"s3://npm-registry-packages-npm-production"}},"2.4.2-preview.20260814213712":{"name":"cli-jaw","version":"2.4.2-preview.20260814213712","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.2-preview.20260814213712","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8854d96bf00891c7b2334f33ed6b24d91802be23","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.2-preview.20260814213712.tgz","fileCount":2535,"integrity":"sha512-M4lSuLY35sdQdmREGOD3MufHreDkixIUY8teTin+hZ727rvLVK6JHD2wB3YruzXaFD6KiI7IcC5+NPfiXIDxsA==","signatures":[{"sig":"MEYCIQDQzhIh14a3whvQhKEjHZPaHP4NjhRVX0oOG1sLUOa+QgIhAPlvrUYPmm9PScVYciumyBq/U/P13Z1rkVN1/GbKQleK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.2-preview.20260814213712","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24705724},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"1bb4ae2cd009807f0ad88c5afe4dc27d73e87b21","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.2-preview.20260814213712_1786711780655_0.08120505460999139","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"cli-jaw","version":"2.4.2","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.2","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"42bd0283b6e17cacaa341798815033cd56619d21","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.2.tgz","fileCount":2535,"integrity":"sha512-MVugn6gT8iS0jP3xVZGjCW7dzIO+mE/4yWpcF30SgCvnijHWOzS+NuyEiQ+/ID+B/xIO13hnwy9IQLJQjwaq8A==","signatures":[{"sig":"MEYCIQC1N23/uH0R3u0KZpQZsMrirMPSCdMZPXks1p+Hd0vONwIhALoRPeB6LLUMT4NYsrn3k9g6NLCPG+wVYzV8F9ZCOx5x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24705701},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"060f471c0e4ac553319cf16a713128c3a4ea4325","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.2_1786713116531_0.6472535220517552","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"cli-jaw","version":"2.4.3","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8be7e7e090ac876573687fcaf9711d3d2b846f18","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.3.tgz","fileCount":2535,"integrity":"sha512-yIoEcZcGY0WVTbrALuZokH4fywEZVN5nlBb5i5MIIh2QW/oTQ2dL87k+ZyOQKPGYqz7KjUbo4M6ELLsqXK/OuQ==","signatures":[{"sig":"MEUCIHtLmFa9QOCpSNAcnS3MldL9DVHpBcBR6dhT3B/YQMnwAiEAyvSuAhJDdvOwJw9/zGkr8wADOV0Kjda/X8ftUU6e0Pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24710926},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"31a0d9a2bf10076a197a6d4e0ef2d899d0511700","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.3_1786717852208_0.5517221442545102","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"cli-jaw","version":"2.4.4","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.4.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0c1b66369ace977d75f48dc2b1e47d20cfeea46b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.4.4.tgz","fileCount":2535,"integrity":"sha512-ngzboikH+ZPRyfMg0yjoAmof8S9VaEZTR/3FhBfMMk0QcXrPgqU/Knx/PG1ebvU5aX/cYKYBf4UELnbvD14FEg==","signatures":[{"sig":"MEUCIDQ8CQKm5rutaB1iNSLgX7ZNLAWFE8pUl4QRcsnyHv3/AiEAjSa72YkoERIMqlXK6X35SnKFFUnNxtTVXQk7TxT0k7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24718729},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3ae622cf10f8a190a31ccf96442ecbc61891861f","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.4.4_1786722965667_0.5577915047709836","host":"s3://npm-registry-packages-npm-production"}},"2.14.0-preview.20260815185646":{"name":"cli-jaw","version":"2.14.0-preview.20260815185646","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.14.0-preview.20260815185646","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1d63bc9dd452fe3723216570730d613ebac27988","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.14.0-preview.20260815185646.tgz","fileCount":2551,"integrity":"sha512-sfJh5Ame9NIBkMXgcOkWZ1X2gtrZyYyaPJqJnuJSTkyEKi4IjlbC7FqdjH3ExMpHC0iWAbAuujIbb5zg09kGUg==","signatures":[{"sig":"MEYCIQCkzKlP++nlPp/or7mMR9CSn06791m8EbG3pd8gUtMw+AIhAPdI0dTtqifxuTstB+EZ3k4PSvWRGz5k3iSEdykTb6Tx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.14.0-preview.20260815185646","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24820238},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"a2eec9c9079f2c664d7ce49dbebd19aafbbb2de2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.14.0-preview.20260815185646_1786788478730_0.04161118258323393","host":"s3://npm-registry-packages-npm-production"}},"2.16.0-preview.20260815191549":{"name":"cli-jaw","version":"2.16.0-preview.20260815191549","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.16.0-preview.20260815191549","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e11959a40d11ceeb0953339ff582554708edbb19","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.16.0-preview.20260815191549.tgz","fileCount":2551,"integrity":"sha512-zn2GBsvgwzvFVl4ABoLwZuS2clBW06ImGCecX5F8OJ4WvA+qudfHqY5dVBQ648uUz2N+y12H+1E3LCGnowrmRA==","signatures":[{"sig":"MEYCIQDPv26y2peL2TXCPh24Px5eoKB/83wye79G51fv1exm9AIhAKEDNJQwiPr1EUnpEpn/S3+N1Rfp2wEr1CNZgCGFcBGV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.16.0-preview.20260815191549","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24820238},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"4c59ce6a69b0ec7f32382b00f42cd4729892fc98","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.16.0-preview.20260815191549_1786789912170_0.9957705882177188","host":"s3://npm-registry-packages-npm-production"}},"2.17.0-preview.20260815194340":{"name":"cli-jaw","version":"2.17.0-preview.20260815194340","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.0-preview.20260815194340","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"254cc45f27bb621b5fe390172c03a09a217bc4e7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.0-preview.20260815194340.tgz","fileCount":2551,"integrity":"sha512-hbjyuvkFwOCoT/dCkGgKpCywkdMTJBdWbMQzNOcq2o+/m/hUQoRNVQZzCt2z3APg2KrUvHea7EMk6uuZeBPetw==","signatures":[{"sig":"MEUCIQDmsDFJkIObluElkPZnSNthTrKKFCCLfMgx3W7mlHm2yAIgHz7EpEsA1KvoU8upSwhQ6l1xaJqACujo0fxMQ7diOcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.0-preview.20260815194340","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24820238},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"49e4359f3a1a7f3db60a3b2ae1bf863ba62703fc","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.0-preview.20260815194340_1786791345708_0.25735497715090827","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"cli-jaw","version":"2.17.0","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.0","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ff5efe977b0308aff0d096f19cccd0e6762166ae","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.0.tgz","fileCount":2551,"integrity":"sha512-LknhV9AvOCzJnDDvBbKoTq+gIYirw9fLzubZEonX39GYfZEVBtP9bgUTpAx0VlIywKduPFvxL4hKc0Tt9mzfEg==","signatures":[{"sig":"MEQCIHig+YJTJzCAJ+CKczkfDiD+6ySokiUkVQUqNGgIoIbwAiAxToVMikgbgjzw08uG4Z7dwgZidYEexjdaupOLdKH2cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24820215},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3e4cf7f1790309877213b51d0df2972a9216f54e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.0_1786792723935_0.9772931101338949","host":"s3://npm-registry-packages-npm-production"}},"2.17.2-preview.20260816010039":{"name":"cli-jaw","version":"2.17.2-preview.20260816010039","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.2-preview.20260816010039","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"475576cae0b276223599ef3c23d65acd7b1442f1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.2-preview.20260816010039.tgz","fileCount":2555,"integrity":"sha512-hwi1wwwgOjfSYQINnMmaueqcWFdTcyRToTdw82JyxvsE9tB+RqAvXjbnF7XUkzNY0Ya9Fs0toPLZC4tlSsWVng==","signatures":[{"sig":"MEUCIQDF0qx55fetsaHprAgCOMBgGHIXjZ/aU6vx/2ig+V/lUwIgbX8mKYJmeWDMLrLMgED18YDD/Prq/cYk411R8+obdT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.2-preview.20260816010039","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24886365},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"fca7a75341dca08651e95c46b6ff176b685ccac4","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.2-preview.20260816010039_1786810349705_0.4816972272041653","host":"s3://npm-registry-packages-npm-production"}},"2.17.3-preview.20260816011125":{"name":"cli-jaw","version":"2.17.3-preview.20260816011125","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.3-preview.20260816011125","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"70080911acbe2b135065db13061b5551e8ad0da3","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.3-preview.20260816011125.tgz","fileCount":2555,"integrity":"sha512-k4TY4otIE3n9xT5hNWHCr9j2PPRiWIodfn4Mn6AO18Kv31az1cNQkLezIKiw8PDQJ78+hQ29cq7hIUEwBKBfTg==","signatures":[{"sig":"MEUCIErKnPWQbPA9TZR9pGMNmaURMwp9lugOHogD8DrJqKLiAiEAuReZ3j0OWmzhOx4W/iScXmy8fg7/qCeRv2pt37hch30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.3-preview.20260816011125","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24886365},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"6f9165a680d5728557831985798330ad1d151a33","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.3-preview.20260816011125_1786810969840_0.14456330570512677","host":"s3://npm-registry-packages-npm-production"}},"2.17.3":{"name":"cli-jaw","version":"2.17.3","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.3","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"cbe86fd8890fd6692e3b4331e306362f98e11754","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.3.tgz","fileCount":2555,"integrity":"sha512-kBhGABynnRwa0tqTjMS54m0tKhNMqnLmagVbtxnZKQAt37szgLpkIp/hdRWP4kKG0R0dtiwjA0izNvdS2vXGTg==","signatures":[{"sig":"MEQCICPTlVcrbTNCwFN+4CVA491zWXId117tBNrc96bx+9YwAiA5xuuSqzzv1IFHFdTpkSr7aipVcTi0S8PTF7JYaF1HaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24886342},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"f504a9b89c37d1f770b6de93c58c0b7a37914f74","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.3_1786812078829_0.8138446071960805","host":"s3://npm-registry-packages-npm-production"}},"2.17.4-preview.20260818181009":{"name":"cli-jaw","version":"2.17.4-preview.20260818181009","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.4-preview.20260818181009","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5ed04e126bb145e645f069fb5d9d27dfb3fcda4e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.4-preview.20260818181009.tgz","fileCount":2555,"integrity":"sha512-pyywKG88scNs7RSIfKdBqL9jYtek+FfdcqqWxoiwYlSRLFLKuw5ZzD7OlS66ySYeJ58lhRxMhBL7+IJI/LbKxw==","signatures":[{"sig":"MEYCIQDuQLpk2oeqazdU28XSmCpxU3IQq5oopTCxG0HMBTyuEQIhAJA3I/IkQPLFjpd5i1QSDhggbKp51AQwGw6Of44jA52Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.4-preview.20260818181009","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24886365},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3f0897fd49788fb8337b3c83b873e690395d2a93","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.4-preview.20260818181009_1787044875052_0.6783640169988416","host":"s3://npm-registry-packages-npm-production"}},"2.17.4":{"name":"cli-jaw","version":"2.17.4","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.4","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5ff361f5568755845ee94ab628e4c12465c8126b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.4.tgz","fileCount":2555,"integrity":"sha512-Kra+Ou5wnR6ANaOhUvvw60K+RT2JFW/BAIOlhNmbUe51irpZ91rHVpIR9rm5TZ57UBCnhjGkZHFfzHOROlTNVg==","signatures":[{"sig":"MEUCIQCt5QjP2oiklWlBCbZARgcGlQX1vga/431aaGtwo2rflwIgPP94P8Ozka8+/Mj9q5Hx4D9AHDGqadXE065K7kWxhRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24886342},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d08259a56c728bb792f363bfc8ca0eae9ba44d14","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"WAF_TEST_ENABLED=1 npx tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.4_1787046318959_0.6816126349899756","host":"s3://npm-registry-packages-npm-production"}},"2.17.5-preview.20260819090409":{"name":"cli-jaw","version":"2.17.5-preview.20260819090409","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.5-preview.20260819090409","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"fe91d0065be846cb1864b36f032b878c88b0b249","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.5-preview.20260819090409.tgz","fileCount":2560,"integrity":"sha512-tCTAhXRU1KZn9p3htAVrjvgYnQW64MAfBWtOCqnGs6yb28vAaw/bRXIW8l+wQStHoXo4HbGJTBkF+gyZqeaLnQ==","signatures":[{"sig":"MEYCIQCksPl01NMYsxNVYvSjs1+ZVDYoM2DTSH+17XF+hQGM+wIhAMwXDX/IV3GVJrTN0Vj22jOsHc9XdNshdgvOxnA0V6Jw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.5-preview.20260819090409","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24920569},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e32255343086bf8fc3ce3a6de3324236f4c61713","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.5-preview.20260819090409_1787098629070_0.35783023657992463","host":"s3://npm-registry-packages-npm-production"}},"2.17.5":{"name":"cli-jaw","version":"2.17.5","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.5","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"49bc6481597998d4bb1b485b08a9503f79c2a33d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.5.tgz","fileCount":2560,"integrity":"sha512-JXmlL1ymTrN6SQ7eCiOa2SvFXzr0jZzOwUtpSPzuNxFR1PcD5RVrnQwNzNT3tLu1HM/7kfG/992Enfb3fRs+SA==","signatures":[{"sig":"MEUCIDxhX+6Vf4jRusEVuIxL13lzeo5vJdep1UaGodtLxknwAiEAy/ubYK/FDi32SBEyDr3Quy9D8cs8hdGg6suLGI+dEEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24921985},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c7f128491ef361a3d560693c530b79d03ebcf11b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.5_1787105043210_0.3794984256570664","host":"s3://npm-registry-packages-npm-production"}},"2.17.6-preview.20260819124242":{"name":"cli-jaw","version":"2.17.6-preview.20260819124242","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.6-preview.20260819124242","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"524e05076e625cb9d01be513a5ddb82c32f45cf2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.6-preview.20260819124242.tgz","fileCount":2560,"integrity":"sha512-/1yHFZpsLY4xtpZ5O27TiDsclIuhxRbZ/viOd6DWQqe+1FZ19uRJg9JbY2LMmLbBuQgxadIQDAGZoCkRJkpSGA==","signatures":[{"sig":"MEUCIQCEJv4TDUPVBOwt1SLx8Me2cNSBrN1c1TMKt5ISPQiYYAIgK1gkfKA+gLOvJhOceiJux/VNYUcdxNs1opBTDuUOQlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.6-preview.20260819124242","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24922666},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"27c64427804b3e5fb049a76fc46814598b775e7e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.6-preview.20260819124242_1787111693289_0.47429980989930653","host":"s3://npm-registry-packages-npm-production"}},"2.17.6":{"name":"cli-jaw","version":"2.17.6","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.6","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f5d76c1c15acfa3d5498352a2539f8c5bab09c29","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.6.tgz","fileCount":2560,"integrity":"sha512-S5kpKexAhkvOLhIGD3DhK2lX+0ivKXjyauvY0Rpr68AYIBXBBNvX+5mfAff8GiZeZnRgJOwvGMFF4hFbi6q+8w==","signatures":[{"sig":"MEQCIE87qKgvgWtsA5OaeSd7KPkgBDCSHDruwQTRS0DPxo4PAiA/9NhkK2ozNII0CLpTQW9R6XV6Z8uhp+18NVS0oevvYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24922643},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7052c0c373e83a949a99a2e85999eba001caab19","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.6_1787113861962_0.5967594994367444","host":"s3://npm-registry-packages-npm-production"}},"2.17.7-preview.20260820180023":{"name":"cli-jaw","version":"2.17.7-preview.20260820180023","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.7-preview.20260820180023","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1369833027ac260fff6640d16cfd1d60814fcb31","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.7-preview.20260820180023.tgz","fileCount":2560,"integrity":"sha512-d473huIUvRSQsjCR+p5szTvaIh7cOd0mzmKXJMXT+4WLTpanYw+QJts8Bp/VmCvEJVe1L2mQgRhLtmAscHd+gg==","signatures":[{"sig":"MEQCIE2JFGWlsIQNHHMZ8XQ1eVqtMNwE2wKw6YqM1rbnwXVAAiBbZlsYN7rB7TXaVA0bhalvBlLWn391cJ3SxjfNdjqokw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.7-preview.20260820180023","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24947568},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0b2e925065f2e5a667fcf811f767136de1ad55d1","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.7-preview.20260820180023_1787217219693_0.5043517324389668","host":"s3://npm-registry-packages-npm-production"}},"2.17.7":{"name":"cli-jaw","version":"2.17.7","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.7","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b64f60bb4d154054696ffd3f0c4c261cdee014de","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.7.tgz","fileCount":2560,"integrity":"sha512-nKTq1xhY/oMTVMhQDY3bYtTXQhuEWdYx4M4Xe1myzw/HdmPa2bj9SIw2sFesLIy8Q9fFC3zce4R0X9LGo54CfQ==","signatures":[{"sig":"MEUCIDue77dC3nLUo4V0uZ7PzWUqYIAqYbwS5kQOcmaxSt7rAiEAwnTusR7I/gxMOb+yNs+WPXWcmivu08BfGTdK0yDbRec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24947545},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"07b360dc99ddf5f55f3e08fd913d7809c8c3b674","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.7_1787218278475_0.9136884166427137","host":"s3://npm-registry-packages-npm-production"}},"2.17.8-preview.20260820190233":{"name":"cli-jaw","version":"2.17.8-preview.20260820190233","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.8-preview.20260820190233","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"dcd62d3fe2da72781d856f3555aa2db31fff1b58","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.8-preview.20260820190233.tgz","fileCount":2560,"integrity":"sha512-FvYrbsNhf5CapwHqgLOb1c/WnpC/gL4xwGMcZYjryNsftCfXDHCaA22Z2H7m4v6dRwcVhElkvrqKXSB4xjU91w==","signatures":[{"sig":"MEUCIHzfQw8S2GC3gl6wPehnZhuoJPw0tc+Eo+j/2R1hBjvvAiEA1CG9FJufUxO0nrwWlICVOYQO08p2tIsS4HUh6saxlrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.8-preview.20260820190233","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24947568},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"30f7c10805855ad1af9048482c5b571c304fcf84","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.8-preview.20260820190233_1787220791936_0.6220689483705877","host":"s3://npm-registry-packages-npm-production"}},"2.17.9-preview.20260821013532":{"name":"cli-jaw","version":"2.17.9-preview.20260821013532","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.9-preview.20260821013532","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6196f020aa5c313205610f0975794b7e4a184255","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.9-preview.20260821013532.tgz","fileCount":2564,"integrity":"sha512-9tCJwnPUDq5izgZHgGjuLt/v2mi5YvaegZv9DJNnDqPEDGDSyLKu2hMc1DqB+RKsxEik3iLHUfJUDIigl+L44g==","signatures":[{"sig":"MEUCIBKBiPG6kILHmg4My4DfclBYKpDskHPDdVb8eL0kuMgqAiEAs4EgBvCQetiaDDeDtJ6r/BfDVzpBixc6IXsXvvLFyaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.9-preview.20260821013532","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25017257},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"fe11c1870d82757dfa9da7c7ad8783e925fe92b7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.9-preview.20260821013532_1787244467453_0.08429201809476661","host":"s3://npm-registry-packages-npm-production"}},"2.17.9":{"name":"cli-jaw","version":"2.17.9","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.9","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b573b503c9ab1420f153d36741a457df93fad11a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.9.tgz","fileCount":2564,"integrity":"sha512-d0dp30DL25XxVFj5dOjd1CZtl4wKnTCdvFyyN2+NaYEtX27Lkz0tz0lrfLmvvqtPYOKxfFLh7pBC3v5q2rmshw==","signatures":[{"sig":"MEQCIBCbNsqVL4g0wpTJOJebFdKS1wHJcxiT/JdrkWrT2gclAiBs/14HSRPv1SXTC2p1t/1QrA8bG/DOQ3W1y5OOZmnuQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25017234},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c814eddeb2ab9a0a6b4bd22857dbddc0c1d6bb43","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.9_1787245065722_0.7498382311694491","host":"s3://npm-registry-packages-npm-production"}},"2.17.10-preview.20260821182141":{"name":"cli-jaw","version":"2.17.10-preview.20260821182141","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.10-preview.20260821182141","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f292973fa66744bcf31e9858002a1d34baf5ee5b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.10-preview.20260821182141.tgz","fileCount":2576,"integrity":"sha512-gSdWc5gxVx/MbbMgh/n7c02o8g8y0DgeyJjML2tqnBARdr0S2bYrsmxDKJqbee2KkOIhUu/T3auFNqHmxdq5Fg==","signatures":[{"sig":"MEUCIFlFKoK0keAvOXGl7R7u0PmYPaMts74sgwDwq07PEunFAiEA/HnEMN8td3fv79I0eATS5YM2jMBDItu2/HcYcglLYwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.10-preview.20260821182141","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25142040},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"f6076a4bbd4d83d79af422e5e940c390787ade34","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.10-preview.20260821182141_1787304775183_0.04524384834243045","host":"s3://npm-registry-packages-npm-production"}},"2.17.10":{"name":"cli-jaw","version":"2.17.10","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.10","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c4238eaf4e14029e10d4fe8d337a76852a34dc15","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.10.tgz","fileCount":2576,"integrity":"sha512-FaOkNCzx3+9FodI5sWCt6Zyy+x4dxysc5A4JHv7z2JgADVYReIn4NYCJ/1Z2eERdJP6RLXx4mS25KJXtykBtYg==","signatures":[{"sig":"MEUCIQDd8XK9vkVVfskoXJ2XRWwCXwAdgnNyqwPeqAD6HqDERAIgInXRn3dHqNrYLX6m6VbseEgFQCGVvrSlMTYRf9/XqDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25142017},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"da8d3c37e5eb858f29663f7894052c5aa62465e3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.10_1787305954765_0.6756126571403351","host":"s3://npm-registry-packages-npm-production"}},"2.17.13-preview.20260822094757":{"name":"cli-jaw","version":"2.17.13-preview.20260822094757","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.13-preview.20260822094757","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"340ddc593d0250527cde0f534b0027d5946e851d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.13-preview.20260822094757.tgz","fileCount":2598,"integrity":"sha512-unkHUoTt3jr77ndvlGcprL6TbP412l4Yh343qxhmza74Pz61ncKctC45D0cJFdM3K1RS74hnepTMIyHwlmMyOg==","signatures":[{"sig":"MEQCIBJ+ocKSQUcQzJ387tiIhEpJfwBCq1dw6b4uLAGv6Nc6AiAWmbsy0FVNhH3xYU12t/v6VOeDgU5Oyq8vHfQ1c7lEkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.13-preview.20260822094757","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25398043},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"912540e35d780ced8a6b97d19ef7f09cf2d80b2e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.13-preview.20260822094757_1787360408532_0.4879576996666837","host":"s3://npm-registry-packages-npm-production"}},"2.17.13":{"name":"cli-jaw","version":"2.17.13","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.13","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9ee820b947fb6e857e8bd1ada4725d7c384d23e5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.13.tgz","fileCount":2576,"integrity":"sha512-JDy0RVPqKTgH4jQsyr0+bJS+Uk0f7l+OpqRA3kCmLK7bhQQEka9dOgRmB8YAX/5bfEc2Vg79bf1UzPmmVytCtw==","signatures":[{"sig":"MEQCID61addIKzGoaDvduAZ46YY72CnPU6dBKt0A6+S39DVpAiBPvxGjvRaNTlSZTFTAYIKeiJjKFUbPvQd6RZmQPQBiwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25142017},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"6679d3e9a0f96418677acea5abc164d8bba2738e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.13_1787364126014_0.9304642787030888","host":"s3://npm-registry-packages-npm-production"}},"2.17.14-preview.20260823022611":{"name":"cli-jaw","version":"2.17.14-preview.20260823022611","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.14-preview.20260823022611","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6c4f5f124a39a1f634bcdd5ddff3688e3dc5a5a3","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.14-preview.20260823022611.tgz","fileCount":2584,"integrity":"sha512-PGjUZpFbLSrCHgt/7bv2a0vPyHsoikNKgRX+X/dfoZU3ysqlTMa6rVJmIosBxL7eS2OzoYvV4188eraFWRwkuA==","signatures":[{"sig":"MEYCIQCo+YGHyhJJxpmAD7weuOjha6Db1NNG5ocsPUsRJ5U5wAIhALv0HwIBrqRFyEnUd+Gk22OvVzAqkX3qfvA23o0YGg/K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.14-preview.20260823022611","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25176394},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0e472928c18b838a7263ad315c9c30bf10e5d073","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.14-preview.20260823022611_1787420267046_0.31969791423104144","host":"s3://npm-registry-packages-npm-production"}},"2.17.14":{"name":"cli-jaw","version":"2.17.14","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.14","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"678dc509fd699fb698a31db100d9a3f972b4a1d5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.14.tgz","fileCount":2584,"integrity":"sha512-waGHwJpXpJJa76oDQD37IzhKxDBNX8q5YLtXVaw5KYaRMxnqdplPjafFaIHJOHd2n6wkvZi+g4Ep+KXJo2oFtw==","signatures":[{"sig":"MEUCIFdvDnmqXy7E0lhaDTGdyNImw4LFZdP1+EAZbfCW+X+oAiEAzlEbdNC9MCCgVp3nLcCAAV9JgV8jng7wIYrpinKIBwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25176371},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"82dc74a967b3f0484a4297132c449eb5f4369e1a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.14_1787420960795_0.654309703393817","host":"s3://npm-registry-packages-npm-production"}},"2.17.16-preview.20260824211003":{"name":"cli-jaw","version":"2.17.16-preview.20260824211003","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.16-preview.20260824211003","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a7a8c50c64c8517746e43e85da0ea82c75bb03b0","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.16-preview.20260824211003.tgz","fileCount":2587,"integrity":"sha512-XFRQM3Iv5L8P5s6HJEsVXBpi2TSjz3ZPDhcemNsV6PhClFNA7bjT0enFaPmK7IV6/hDvjoCgXr3lxj+kSi0gSw==","signatures":[{"sig":"MEQCIADScaen/KfDaDMlgJCbIbqYk1tz9usC8/yvgUhJXq2LAiBE3K3qqRqagaMhF1HSm+9lAJZZ29Qpc/84T+GklUQyxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.16-preview.20260824211003","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25225998},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"8445d04c21905fa9c20d8a3193307b9308571aef","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.16-preview.20260824211003_1787574121128_0.022102234812194643","host":"s3://npm-registry-packages-npm-production"}},"2.17.16":{"name":"cli-jaw","version":"2.17.16","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.16","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"55e00398edbf57c3ade4ed760a4d06524bd74e8a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.16.tgz","fileCount":2587,"integrity":"sha512-y1ACDwCqME44ZtK2ZAsZZv0b8fKyj6dekzGWf8tP8FUEmbDFIeGdWZWxOkeYRaL++Qo9lfKfN9xmKaJRo83toQ==","signatures":[{"sig":"MEYCIQDfY7MAdHhuTf9qJ+MKqKmuvsvtDOf2Xqx48MxmzOmzjwIhAJQmBED83B/knIIRiAURdftqoakE17Hs6cBxTUZLWr8i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25225975},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"08e10dd1bf57c59f99a565b37a688fd80d22c0de","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.16_1787575251031_0.7916971162387005","host":"s3://npm-registry-packages-npm-production"}},"2.17.17-preview.20260825125631":{"name":"cli-jaw","version":"2.17.17-preview.20260825125631","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.17-preview.20260825125631","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"86e485bbb79acfd1b8887f3b5390a6dfe6c96cbd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.17-preview.20260825125631.tgz","fileCount":2591,"integrity":"sha512-b7xQJt8JDA319uopJvva2C4h+NiKFpDqFi1mSbzfeiiaTF6peWHQQClxP2ZWmk6+WkhQHVBx4ll2ZQk2dCn6cg==","signatures":[{"sig":"MEQCIBfVWmgAlzx8KDXMKiEQty9X9nZE7d0IptKvIiVyhOqTAiArLJQrjuCO0pkT2vQYlyTeTujwjsGLmLvGg9Io0FCA0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.17-preview.20260825125631","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25261727},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"adf320958c3695a2c44db8dbe901ead32359259d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.17-preview.20260825125631_1787630891321_0.9950634645208181","host":"s3://npm-registry-packages-npm-production"}},"2.17.17":{"name":"cli-jaw","version":"2.17.17","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.17","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"522c8e8aed11d257aef6c9ea3e6f50a6866203c3","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.17.tgz","fileCount":2591,"integrity":"sha512-J+BijbRd8NpJWjMyHapBBi2BLE3iSsUYJWh2ON5GKq6nxqSvvn0Jzd1wOMkeglrVjloo9w1sx/9l8jgXpgKz+Q==","signatures":[{"sig":"MEUCIQDd/RxMfKjM5aYO9kxUgGMZPQsGd5UbXudgI1zG88J08QIgaP2TIp3Mybe7CZI1A/m66nE2WyRz4xNItDIHffHT2Y8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25261704},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7a6f95a705ce8e1f2fcf67a76b1dbbdae7963d32","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.14.0","unified":"^11.0.5","dompurify":"^3.3.3","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.17_1787631966218_0.6923293264019046","host":"s3://npm-registry-packages-npm-production"}},"2.17.18-preview.20260825163902":{"name":"cli-jaw","version":"2.17.18-preview.20260825163902","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.18-preview.20260825163902","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4a2fd5d9d9334a835c40f89c984b248e4548f7e5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.18-preview.20260825163902.tgz","fileCount":2618,"integrity":"sha512-bbLNvTvLwTbQSfyoqEjmgTNmQ900qNQbj0mqga0yJU5c0XNNJQvM2Qmn6gd+Q1C2/3VIHE7DbReH+rB5s7waDQ==","signatures":[{"sig":"MEUCIQDQ+kwkY+AOlwhw51KzgtGn9L80opnicRIFSyC4fafh2AIgZXvQ1pAHSJNZRHRThtHF4ckxmS6f/MDXf6FTNWVpQ0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.18-preview.20260825163902","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25552400},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"46eaaf10abc38af102bee0d48e43ada1b28772bf","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.18-preview.20260825163902_1787644220992_0.9377836138835431","host":"s3://npm-registry-packages-npm-production"}},"2.17.18":{"name":"cli-jaw","version":"2.17.18","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.18","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b113a30d60321feabe24630e1802989eb614fece","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.18.tgz","fileCount":2618,"integrity":"sha512-dgjVNEVlWSVtnx8QaozHozcDuuqKpzTIxB5lGAaqx/Kgg29zYtcH1HtnHDbI0HsZo24XsINbnRFy4+3uTxKSyA==","signatures":[{"sig":"MEQCIHINM9eGjeCC94ateG4ucW+tfi6sLQQqgRKVG4MleKPZAiB7GgRjU2FnQuZ/nMu32Q2x2MkSU1A62i8g7zHW9kCoLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25552377},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ceb86d04113901e9ccb4f999d4e40c887403e595","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.18_1787646174106_0.005258348462856555","host":"s3://npm-registry-packages-npm-production"}},"2.17.20-preview.20260825175400":{"name":"cli-jaw","version":"2.17.20-preview.20260825175400","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.20-preview.20260825175400","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"165287aaaacdbedb1e51e0bf14643eef89cd54d3","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.20-preview.20260825175400.tgz","fileCount":2618,"integrity":"sha512-cF5lxMPpflA9W6pU+hAGYZxxt6Fag+lmiKwPaz589X8rcRYhaAAHWnwxg1T0MXcyYADJhA4Ov/Eq4q+zsHrcWg==","signatures":[{"sig":"MEUCIQCEj1PwpcS8BmwL+71Eai83/Aq4ZO5NUqCdtR3tUn7LyQIgf++wttyLKFFgHWdUnDkAJr8Oa1KbzQCiUMd2YNtqFZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.20-preview.20260825175400","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25556209},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"10bbe077c871a4530ba32ac2a0c1926707e72eb1","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.20-preview.20260825175400_1787648728216_0.5673129499071581","host":"s3://npm-registry-packages-npm-production"}},"2.17.20":{"name":"cli-jaw","version":"2.17.20","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.20","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8fd7abd5f93cd7dd025460c08aab5098893207a2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.20.tgz","fileCount":2618,"integrity":"sha512-zrSgYq4ECSXnUkNpG651DyYCUJgUWAyJt3iu/ExKta99maEG9eP6vf3d40CP80g8YXxYBcUsleh2mIfDg6eB8g==","signatures":[{"sig":"MEYCIQCQ0V7pEtYoIaGCaF6fbF2ywaLaBWHie8Xbvx7jq4EdLQIhANVRAsEadjbLaL+OD++IAsA9vjjefr37xWxKOEE32rib","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25556186},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"fb5f593fe5eb8b49d5dbc70465665bd9512387ac","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.20_1787649920764_0.47427467203337415","host":"s3://npm-registry-packages-npm-production"}},"2.17.21":{"name":"cli-jaw","version":"2.17.21","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.21","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5eb36ca51fb732bf2f213e36eff71d366fd8af4a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.21.tgz","fileCount":2618,"integrity":"sha512-pT+vxZBFkurNtuw0OuiKzxsdky12pzUlIYR84+EAx1MsK9L4nr4A/JVjMwScavQyBfXQJKTmn+SMLEm9fJvhwg==","signatures":[{"sig":"MEYCIQCrg+g/eYOqcZrYXTyNG1UNTsHx0Xsl/i/fUGbrDexh5AIhAJ8fs7doFb2YPueHPqqCtIQx22JVHd2jhJQR9oHx8mPy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25569601},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7887900ff250da9cbf45b8cd572878a0e1e67a09","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.21_1787666901418_0.6263587383809825","host":"s3://npm-registry-packages-npm-production"}},"2.17.22-preview.20260826124835":{"name":"cli-jaw","version":"2.17.22-preview.20260826124835","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.22-preview.20260826124835","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c67e41c9505c674dad2ec45af6e357e59448251b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.22-preview.20260826124835.tgz","fileCount":2618,"integrity":"sha512-8k3oGBQ1b8276YfhP0XUUGJ1V643u4dxO7/q1tWCRR+hntsFCxKiN6KzG6eA/5E8TB5vc8CLJn9aoRa3znM4fA==","signatures":[{"sig":"MEYCIQDucn1RZdBdUGI0eGNdNHINBtG8S53kVtSIKaKORWB+WwIhAL2DfANcDzJ9Y/f8qT844D9duYeXjhG/i0ONOXaJSze3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.22-preview.20260826124835","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25586499},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"b691e6ff9b2d3fb779bbcafe8266fa3ba1915fb7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.22-preview.20260826124835_1787716792925_0.48565776169833286","host":"s3://npm-registry-packages-npm-production"}},"2.17.22":{"name":"cli-jaw","version":"2.17.22","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.22","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8c5e3bb2cfc35f61c2f8de3188e296c306027f5f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.22.tgz","fileCount":2618,"integrity":"sha512-MDHny+hGpsU95S6IgYgSNncehK46RhRAmtK0i0f8RWRiqQEDG8kFRctfw2WcTYxWfREiR6cCT3S3KQMOnfH+FA==","signatures":[{"sig":"MEYCIQD53grq7dSuhelGIqrjtqbs+G3p+094IJCweJoUi781nQIhANAHwXR698S6ldMOp/HE49pKQGuaQ8bvqolFKq53bRAq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25586476},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"8db06a5b1b3bf7c2994816cd0fe4e89c07df946b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.22_1787717620109_0.5144246007803204","host":"s3://npm-registry-packages-npm-production"}},"2.17.23":{"name":"cli-jaw","version":"2.17.23","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.23","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4d0497cc874a33f06720518169e8d2bd1a349359","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.23.tgz","fileCount":2626,"integrity":"sha512-7g3w4V6QyQzp4bDEwN7qu2LyYILVxYizKkIGInOzVu4WesMpn+rmTYd29b5keCNDTkpd+qxgzjywdmmmhVkmcw==","signatures":[{"sig":"MEUCIQDbcN7bbO1/9H3rRXSDjYxQcGGj/7pcOE3Kndl3JA/F/gIgDiWtfWPron2dfh0J1r0eWzXQ9HQmu052yEKqREmkWSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25620078},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"8ebba98b7d093551a6cf375f977f87fbab5f4882","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.23_1787803653984_0.30324178610961394","host":"s3://npm-registry-packages-npm-production"}},"2.17.24-preview.20260827153014":{"name":"cli-jaw","version":"2.17.24-preview.20260827153014","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.24-preview.20260827153014","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c3620ad569a013305c6e9ca7db83e1dd68738709","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.24-preview.20260827153014.tgz","fileCount":2628,"integrity":"sha512-ogPAw55hCcELnPUOXuJNG2E8EHHmCxoYplql2y1mxv4Iyb9GqJsn8vmQ2Dp8TGw+1tu99xKKTrw3NdnWaEGmtA==","signatures":[{"sig":"MEYCIQDLWg5Eaj9llgDqC610EN6yFIS6RIggecMSg51N/CiOHwIhAOvZ+WRko1VKRBaW7N1UlzTyKbfUe/6DikDtKsuBJc4h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.24-preview.20260827153014","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25652244},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2db3c201161fc60de740305095230cf07ff4b8d0","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.24-preview.20260827153014_1787812877645_0.47162177993643395","host":"s3://npm-registry-packages-npm-production"}},"2.17.24":{"name":"cli-jaw","version":"2.17.24","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.24","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bc7247c6a577c025d1858abacd82bb61bf84839c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.24.tgz","fileCount":2628,"integrity":"sha512-50SEAzFMvCIPK4hiC1qWCGk41W8gX4LDvee1JQY9YoFjc2+kRSoRnGccOqXGks2oqGqC0b0xLcRDGRkbpfAnaQ==","signatures":[{"sig":"MEUCIHNkBeJf55UUOG4nWFEO0fODmUfXCqagVH0WcGoX8IqLAiEAkK+yr/CZsUaOnTG85s83Yd0p9lSGjHXoKsYHkkHRee8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25652221},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e5a68c5abe60995d5a90bdebe973305e877df90a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.24_1787813592193_0.0588214718030724","host":"s3://npm-registry-packages-npm-production"}},"2.17.25-preview.20260831011306":{"name":"cli-jaw","version":"2.17.25-preview.20260831011306","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.25-preview.20260831011306","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c3ffd910f41c5abec8c95d98f2be59ea3e173be4","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.25-preview.20260831011306.tgz","fileCount":2634,"integrity":"sha512-aZZP52HtbTGJzTw6ax2lHdcEl8WJA4mnvf/R59wdz5LcreAQKoM/4mp+hUQjsynS/PoTpCPCufkhIeyxbAwakw==","signatures":[{"sig":"MEYCIQDr2c6U7XKNEYbpkfAR+vVqavzlgxlovV7DsuvWjvBZjgIhAKDV2JzEbgytDRh1o5cAbOw20geUaLfno6/7ZkNkdaKf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.25-preview.20260831011306","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25719314},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"acd5ce3afc75a765db895bb97cfbc60ec4e571d7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.25-preview.20260831011306_1788107073473_0.8426191710332078","host":"s3://npm-registry-packages-npm-production"}},"2.17.26":{"name":"cli-jaw","version":"2.17.26","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.26","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0cb414c5a25363a996f0a1ace0a1856b38cb4bc5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.26.tgz","fileCount":2636,"integrity":"sha512-sUnNlOsxw0c/FgkB7Zy8wIImdTl7827uc7K6Oj/C0eh0lH9GVSBB7IxfqxUE8WabKwx6xD1zkxBVo9WmFf7c/Q==","signatures":[{"sig":"MEQCHx21323D22QiDEKwS+4y4wjKoFEpwYCpmvY1mq2OGtgCIQDvflHlpd+u6nzFZjEG/ivY6879g+jyb1fNnATM42UrwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25746450},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"eec1162542739fb8385936f10283472c66581642","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.26_1788108618545_0.48169333032026573","host":"s3://npm-registry-packages-npm-production"}},"2.17.27-preview.20260831035626":{"name":"cli-jaw","version":"2.17.27-preview.20260831035626","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.27-preview.20260831035626","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1af110285c9ca922bc2d19d4bfbff4d74549747c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.27-preview.20260831035626.tgz","fileCount":2642,"integrity":"sha512-yLyOQTwqHAHSD8fBrdCL4pYwwKZF6glepIa7dzas4EdsPo7vtWTmJCOkXBp6zjvmzt4bDsgXnZMxiGqCk3DliQ==","signatures":[{"sig":"MEUCIE2d0NogFemd2JmwiigsGKHM+LaqzgIEj5BS2whf/ZkTAiEA4O7yqGOCiNSH8/2qRby4lvtHKLML46eVf9vJU/f7eB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.27-preview.20260831035626","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25799644},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"1c05db00ff775333f73361856f0ae3a1f4ca2d60","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.27-preview.20260831035626_1788116884368_0.9847829508712476","host":"s3://npm-registry-packages-npm-production"}},"2.17.27":{"name":"cli-jaw","version":"2.17.27","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.27","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c8ba855c26511b5660cd1e146c526c5413aad764","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.27.tgz","fileCount":2642,"integrity":"sha512-GUpsOD9WClWyY6VQT5YcfczAMuv/JZfHDlor8TkVBNyCNgmZTVXJSBLnAEMUZE4RxmlA51iGnP61IWBbhqqHzw==","signatures":[{"sig":"MEQCIHmAkqbuRVujAwEFpVZCH6U/yF7/V6CGYvNlnCX5fCRPAiAeeXGl672bysTD0oS1Fte/lmjBEg2ochZJ+eYjk9bvsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25799621},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"8002de9a8895d3cb89414c31cc2cd04595927396","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.27_1788117599944_0.4331049943878713","host":"s3://npm-registry-packages-npm-production"}},"2.17.28-preview.20260831043033":{"name":"cli-jaw","version":"2.17.28-preview.20260831043033","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.28-preview.20260831043033","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4b3474026d79022bd5d42c5c6d7e195af2f4b013","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.28-preview.20260831043033.tgz","fileCount":2642,"integrity":"sha512-CoeKFjjU2ALS/aSBk4lbSVTrSm3gxaHlrw17X0JWOSolcVQ/kOn51E/SbpizQ85o3bSus03HNh4nByky82PB/w==","signatures":[{"sig":"MEUCIB8JTLeCuNhkR9zXkF9bxxUqmS9YNyHhKwRJvURO8BQSAiEAj5yCPyaIkZQ2C9b2Wp06xM8eRfNvMtexrgmVw5CH+1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.28-preview.20260831043033","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25802387},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"84196921b4be38cdd180b7acc60726c36eaf964f","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.28-preview.20260831043033_1788118867714_0.9978796592847168","host":"s3://npm-registry-packages-npm-production"}},"2.17.28":{"name":"cli-jaw","version":"2.17.28","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.28","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"11734b5ee77f16d3ec83536f64e08e63e0215c3d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.28.tgz","fileCount":2642,"integrity":"sha512-nZ3v8M+dezgJ6Pepjm7gsycmYRujSkQ1y/dEac60X2aNDff9Yx186VyoOevgPg+qPu6elXsrCA8xXETLRXqPgQ==","signatures":[{"sig":"MEQCIH1VcU+mQSyhKZvH1SaTfa1ii6D8s1B8gZ/oE1j5YTHVAiBeVrHI9zok+FjxJ+V4DifIuwgExLdjCr2uj0BZr0paZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25802364},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7bf82d36ae05dc299a6f3e9a470331e6c3d0ab10","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.28_1788119578110_0.49844979091339936","host":"s3://npm-registry-packages-npm-production"}},"2.17.29-preview.20260831050106":{"name":"cli-jaw","version":"2.17.29-preview.20260831050106","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.29-preview.20260831050106","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7164673f5f46d6c6818c1e9929d3e7d225b8ff4b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.29-preview.20260831050106.tgz","fileCount":2642,"integrity":"sha512-6wcYWbEUlZr6cYl8eNalgIm5jaXU1/MpeiCz1Mo/4JKy2VFs5lFRtKgMKlqxWhZIWus5eeeKDUNkEZun+3uSdw==","signatures":[{"sig":"MEYCIQDHKyZjI5fX48JVLXSib3p68FtM6t7m2WTCGnLXJ9HJ2gIhAMG7dlAq2LAPXCxNycdZEwfy5+LZFki+zq3qfla2/Y9i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.29-preview.20260831050106","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25803623},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3e55f353b05efcad779145e1000eb6d1ce6ea163","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.29-preview.20260831050106_1788120752732_0.5698603143965606","host":"s3://npm-registry-packages-npm-production"}},"2.17.29":{"name":"cli-jaw","version":"2.17.29","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.29","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"af88d1bac2de204ea8743a1327974fac249a6bd5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.29.tgz","fileCount":2642,"integrity":"sha512-E3zx+lyZH15ylSdmUHTvz/LtF/+RoOUiSwRYvwI+jVbOVD06utJrR93yLQgnwCZgFUbdFjvvjn/7lbTqcruc1g==","signatures":[{"sig":"MEUCIBpgg1YpwZHxU7fs6d3Ne+AqVAV7Wg6Df2qMP+z5pBk4AiEAqU5CszofiXNXBJwSMrRUDlDJ0xtfPaKUn15n/Omh14E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25803600},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"59398a62c64d6f53be6a7b88f9eca63296ba7ac8","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.29_1788121482839_0.45275089356887577","host":"s3://npm-registry-packages-npm-production"}},"2.17.30-preview.20260831094925":{"name":"cli-jaw","version":"2.17.30-preview.20260831094925","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.30-preview.20260831094925","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"383f7be0dccf94444ec8195300fcbea89a4b74fb","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.30-preview.20260831094925.tgz","fileCount":2642,"integrity":"sha512-0VOUkixwtJyb37sC6/srvjK6QYjZovboG/fJC0f+hv0HHi1oelqWdcjAuMoKkpkaogxPqYZxwW3UaNC7MrRK8g==","signatures":[{"sig":"MEUCIQCgvX6Is2sBqk77fnBaQeFDLnrO5fpaLMLfGMk+bwAyJgIgSmgi+FrSV3Ix19grWMn8BrqxoQpJx/gINUK5OrsmrEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.30-preview.20260831094925","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25810284},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"867dc28dc6a202e81703eb98986d7f2564a1f6c3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.30-preview.20260831094925_1788138088164_0.08050957010477555","host":"s3://npm-registry-packages-npm-production"}},"2.17.30":{"name":"cli-jaw","version":"2.17.30","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.30","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1f547f94f192c5c1a452db19ad22fd0e5f5656fd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.30.tgz","fileCount":2642,"integrity":"sha512-cMdu7lwdyLL0lZueaZGTThan+pWgunDlu1ZHZeWHRQHNGYJpNSQCMlvREVJ05fNBr/nCOTrCfJPPxh4wf8N+EQ==","signatures":[{"sig":"MEQCICUOWSNxzbiRk+oaDKAQCnMgQja9VyWEyS5C0sMqNdyrAiA3w8UkSI5eFHHHrQbZFcuYmx7BTeWLr3O+SBz/TXIuGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25810261},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"32ce0c05a47c1777b679e3b35ac0f95b515820a6","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.30_1788138678881_0.9480211561813021","host":"s3://npm-registry-packages-npm-production"}},"2.17.35-preview.20260904030821":{"name":"cli-jaw","version":"2.17.35-preview.20260904030821","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.35-preview.20260904030821","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2f140f1b5f3f1bdf52ab76c2a834f55d212e7bf8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.35-preview.20260904030821.tgz","fileCount":2652,"integrity":"sha512-iwIlmboZARj93fYRaMs0LleWiOumJBiUWym8IE2p+zeEMFnQjkbhqC5W7pYNjO+IUtA1WcWHqI8pk66rtBrDDw==","signatures":[{"sig":"MEYCIQCe8JgP13CuSIvgyY+aS2pkipVa0EYMYVPU93faJj5I2AIhANw/pSBMPXN6Yeiln3MEwqvK/HJDB6anlte2YtH5oEKU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.35-preview.20260904030821","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25943632},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2f30545156ac447abc7ba1ab3fce14500feffc4e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.35-preview.20260904030821_1788459637704_0.46388996378352854","host":"s3://npm-registry-packages-npm-production"}},"2.17.35":{"name":"cli-jaw","version":"2.17.35","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.35","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c601769dc9b0af8f3b21dbdd0a719db7b56ac545","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.35.tgz","fileCount":2652,"integrity":"sha512-R6NW9f8viZmJGpsJrbUdDTAdDeoheoqo1e7wyvrOiUvenhqMICwh3HfPO5Z4CfmdDH1Hj0nl79iE1TqmtDtmuw==","signatures":[{"sig":"MEUCIQCUvHatLgK9JAQGEfqTRymiafab4Px7SZA0IM4IvzUxHgIgPg3XdDifjxShT5L2s8ylxSgghmuSbWYDr6UrvQ6SyXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25943609},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3ba0a9846614a66712f87bc4ae53a66209a9068a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.35_1788460237952_0.4163046263698287","host":"s3://npm-registry-packages-npm-production"}},"2.17.36-preview.20260904110201":{"name":"cli-jaw","version":"2.17.36-preview.20260904110201","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.36-preview.20260904110201","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"02cd30e14e45b81baa8dcd1b4d3bb6fb3c845909","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.36-preview.20260904110201.tgz","fileCount":2652,"integrity":"sha512-zX2EAv1xtcjz/f6SQI1xZkTBmDcA1Qduen3/Ri2vlOoK2PjBoplEk9Tx0LD0wyrPSUlAy8nmbQGtRZ9BDO3mHw==","signatures":[{"sig":"MEQCH1wBxeMWwq1t4wYDgKEl7Qu5q44dhjHp89Iw/IKpPpUCIQCF2NOIUZtTuUa/ZiES8A6TmPoig1SxRMXlyoNVbU9pQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.36-preview.20260904110201","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25944305},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"1234a8b73f74238d135a7182b6957c478c1d6e44","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.36-preview.20260904110201_1788488814267_0.1748541074938743","host":"s3://npm-registry-packages-npm-production"}},"2.17.36":{"name":"cli-jaw","version":"2.17.36","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.36","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"82fe1287b3831a45f6a9c893a953e6349b805c18","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.36.tgz","fileCount":2652,"integrity":"sha512-3QJrG/ImcKjK2zzBSPWzTv+3HM7E5+5VhFSvbQ3I0JxeSWpCla5231/0iy76lMAR0CZc+/lco0S/3BZtgkp0Kg==","signatures":[{"sig":"MEUCIQC4TdiC+Qe15DKLx4I9szEflxsBqSCl97QGTkL4sL+LvwIgT9uTO07WBep/CBOp9F1bQErj8maXlR6T687hHg/Bk38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25944282},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"608d607e4a4c0e4167fc17be702776d653c520e5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.36_1788490302701_0.8125578196292489","host":"s3://npm-registry-packages-npm-production"}},"2.17.37-preview.20260905082516":{"name":"cli-jaw","version":"2.17.37-preview.20260905082516","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.37-preview.20260905082516","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5aa3ed43975912ce20d5708c62b1ede7b3ec420f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.37-preview.20260905082516.tgz","fileCount":2656,"integrity":"sha512-lN08D5vphKB1JOPXSNoQnpIXSG2d4+pOlbLISXZjPCiql9E9jJWSwC75G37TdTc8AmquNPMMdoiwkpjERscwig==","signatures":[{"sig":"MEQCIGAOLvNfxLJmChAubYS8DKhTPzaJ/vvRlCmzEVgE1jkGAiBPx7rlVbre7sm3mJkhJyuwS6KErCBjNx6qIQa0lXdWDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.37-preview.20260905082516","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25992774},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"4820aa3bc78cc8f70c4377aab56ae2d5d8b29372","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.37-preview.20260905082516_1788565117234_0.36229618972775457","host":"s3://npm-registry-packages-npm-production"}},"2.17.37":{"name":"cli-jaw","version":"2.17.37","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.37","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"54dc438c752be5d68060cadf0f17bff939e1478a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.37.tgz","fileCount":2656,"integrity":"sha512-DqWRj0iCiPB+mhslK9baJDmE51wxyzbMMpiGZ9IFlXMN7+zXBIfJy8Q3Rywk7RsFinxkcNKNxkBgpFcFbIlAKg==","signatures":[{"sig":"MEUCIQCO79TCJiRUVecTK2U+krwjk9TQPeRJeewpHHeQA/Jv9wIgfl/raKw/dwkbJ5z9eSr/fqlYFCiX2qtl8gYaiDoDnXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25992751},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"72a111f33489167a8196123471f58ba6905337f5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.37_1788566419614_0.9494683148107448","host":"s3://npm-registry-packages-npm-production"}},"2.17.38-preview.20260905104727":{"name":"cli-jaw","version":"2.17.38-preview.20260905104727","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.38-preview.20260905104727","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a97cd418b3914a714c8951afeb6ddc08881e5799","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.38-preview.20260905104727.tgz","fileCount":2662,"integrity":"sha512-Va6IpD59380nPdlGtQcM7CIlRILWGCdLRXeeGFHpbway+YpdLIBF0DJZmC29CVFbr+DQGWzcyoI/39DtllAF7w==","signatures":[{"sig":"MEYCIQCV3Z8hTImiyvOCkRfwk2Ej5rRLqpTSQtviTFf/l59fGAIhAJeA5H0a6m4MyBxGM6nNWGXOiYrvZymIvRNTWiNPFP/f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.38-preview.20260905104727","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26016161},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"955e8035a27568d35f9e659c654b6f25fc876c46","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.38-preview.20260905104727_1788577482831_0.3127220799423147","host":"s3://npm-registry-packages-npm-production"}},"2.17.38":{"name":"cli-jaw","version":"2.17.38","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.38","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e128ddf7c6df984c2b7bcedcd683dc1ad5a17759","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.38.tgz","fileCount":2662,"integrity":"sha512-oX35fDmlPTwRO/2TrI+I8VCOAtz30JO4BAvFGlWscjJlDOzhNGnhR9siHYLOWmWgJDYj6hoF7HavkFaBsg4Trg==","signatures":[{"sig":"MEUCIDBypc8WO+ZTY7ClZ4y5hgLKhQZEdWwNzhUUVN/06fJ7AiEA5Kne7W0PJ8T1F/W+Fv+mYZJ7pYaWXVYacTpxTICIBIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26016138},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d2d8e64dbc44439468a8c88459295086f5db5ffd","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.25.1","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^8.0.3","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.1","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.38_1788578344676_0.7025428339586988","host":"s3://npm-registry-packages-npm-production"}},"2.17.39-preview.20260907220634":{"name":"cli-jaw","version":"2.17.39-preview.20260907220634","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.39-preview.20260907220634","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"196c921b6db55579df7f921ba255466b309a6134","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.39-preview.20260907220634.tgz","fileCount":2837,"integrity":"sha512-CffPfHxE5phfCnKWJHpi653a7ZGQSqsFu6NjI3d7aVqLzgR/Nx6jA7oqOwqegDhbZLh/eXXblO/JZK2sJ8ddRQ==","signatures":[{"sig":"MEYCIQCKpWQlboiuv9FmG6kWTVOWGEjOy6SIyxFLPQmUXPbJXgIhAKS6LVxfrMo8M+e9B5q00P3gIt/ej3FifywKIO00n8oi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.39-preview.20260907220634","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27532107},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"cc66fc4b35c96d129b31cdb5dec96652d64f8d0d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.39-preview.20260907220634_1788787213827_0.19126370577849183","host":"s3://npm-registry-packages-npm-production"}},"2.17.39":{"name":"cli-jaw","version":"2.17.39","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.39","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"122327ba3bf8673166389ff8abcce9f346c570f9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.39.tgz","fileCount":2837,"integrity":"sha512-JH1gnivV/tUudeXQ2Cm3NsJgIU2d5eL8D1qkAfv0ravfYnRRmyew+BRTpVlCRzUDludkxXeVuI8/Tst8jpwoKA==","signatures":[{"sig":"MEYCIQCrpt/RgsR4Z6qtXdvso1lJsNCdzNBGINHdaxkUeTJRAQIhALdE0S81smyK1S7rBhf5+sgty0dn4XYi1+uLMXZav874","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27532084},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"783c22a00b09c5f8bb714d8ebd13c16d328d00a1","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.39_1788788475430_0.876958588972496","host":"s3://npm-registry-packages-npm-production"}},"2.17.40-preview.20260908011306":{"name":"cli-jaw","version":"2.17.40-preview.20260908011306","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.40-preview.20260908011306","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e525338807d1e0c9f1b9360f660f151eed403325","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.40-preview.20260908011306.tgz","fileCount":2840,"integrity":"sha512-Y15VwAzOl6M271wOFp+OQ9hYhz6TuWpnl4XiQ9yQvcam9JMpriTlrOdspRKJZ0dSrbO9DE/doSv7H/oP4mh7gQ==","signatures":[{"sig":"MEUCIHfCNNVos1UBTn2IXpyjlDljNWPPRlCzd3083LcAEpCQAiEAx+h6kDr+jRiVkmU9sK6MgEc6HsCG0HWU4sdYFmnFH90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.40-preview.20260908011306","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27537992},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c4130df82d8a6079c73ecb82fada92469edb8ea8","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.40-preview.20260908011306_1788798270481_0.8393280603784354","host":"s3://npm-registry-packages-npm-production"}},"2.17.40":{"name":"cli-jaw","version":"2.17.40","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.40","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9e9179948ce75d8d4af07c56f622d35f6bab8b7d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.40.tgz","fileCount":2840,"integrity":"sha512-Nb2CVcGLPvY/+Ih09o2vzomfGovQt8FO51gk0v+8y9w//QpijVdaDmW3lkrsAg6vsY6i2C3ELOckVkOtZktUIQ==","signatures":[{"sig":"MEUCIHGsvQJUmS7CwKFeKy9QEAeukslBD85Y0FGPMLwFRJsIAiEA7hkRCUNmUsk7cEy/hRvRvoJDgqWZOkXfDd3Lb0oLndc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27537969},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e4c906ed1990d662b514de2cb7bc0bbe898c525f","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","smoke:jwc:no-global":"node scripts/jwc-no-global-smoke.mjs","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.40_1788799405527_0.3057324027503425","host":"s3://npm-registry-packages-npm-production"}},"2.17.41-preview.20260908151812":{"name":"cli-jaw","version":"2.17.41-preview.20260908151812","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.41-preview.20260908151812","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c7d618f2d4b207a19d25f66fb8c7bacc669dd80f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.41-preview.20260908151812.tgz","fileCount":2900,"integrity":"sha512-rH95lyrnc/ByyRJ3abJT2xnxBi7VXEwVkhmgcX63ogGhoyl7wuudr+0q13Qy09qaHPofvm0PTGWALqPUN4muTQ==","signatures":[{"sig":"MEYCIQDYANdlZBN8Gk9LaPFT6mU01VboPRKTsFAKQ3dfJPEqHQIhALADl+Fr/tG/9/A1o8o6LmWDDimo+lLljTuhy24f2A2O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.41-preview.20260908151812","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28263797},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"f7f7203cb7d785f2ce49ac2e5ccb40dc8dc9b14b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.41-preview.20260908151812_1788849201354_0.9826154784415437","host":"s3://npm-registry-packages-npm-production"}},"2.17.41-preview.20260908161003":{"name":"cli-jaw","version":"2.17.41-preview.20260908161003","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.41-preview.20260908161003","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0147b684cf1cc56450263c4965dccbdd0b3a98ec","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.41-preview.20260908161003.tgz","fileCount":2900,"integrity":"sha512-R9bMD0zdBA3+bcUxnQlzhHK8lBn3nN7YHFhohPpgaEYcddj7jV6Aouz3q+Ft1PUlWbFwyAYbT3JefxKt8PgNcw==","signatures":[{"sig":"MEQCIBGKFaUjtbYR9nN5JyjuqgJ6XiUSanisrygaJfRqsaICAiB4rC0PVBO2qNpp07zhgzwAsLBwng9iLs/1EXg5n9tUmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.41-preview.20260908161003","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28263797},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"143ebfcd1bf728302691a4147def9f3c3013f16f","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.41-preview.20260908161003_1788852372868_0.7981840222179102","host":"s3://npm-registry-packages-npm-production"}},"2.17.41":{"name":"cli-jaw","version":"2.17.41","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.41","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"baefe548217303caa45dec09a3667a5740a89464","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.41.tgz","fileCount":2900,"integrity":"sha512-OpMourQHOr15h4hu/OTb+Wxcz9IQESXE69oXCKnuA+bpSdcamO05hbEJiC+oRCZp7ST21LXjoS8H5cKvMmPcNQ==","signatures":[{"sig":"MEUCIDs9FOVc6M8pYmUGpc4h/emfutLMTyQHfVVygDDEII9QAiEAle4DGiKzrrZsvZT4hcoZQbvam3fXg14UM33h1umRFpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28263774},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"9d6052e998b260ea924d8d80fe923d4fa684a7ef","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.41_1788853696657_0.9071230020835108","host":"s3://npm-registry-packages-npm-production"}},"2.17.42-preview.20260909102545":{"name":"cli-jaw","version":"2.17.42-preview.20260909102545","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.42-preview.20260909102545","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1cc2b98e0b4550b454d91d9ad86d6c7188c10a30","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.42-preview.20260909102545.tgz","fileCount":2934,"integrity":"sha512-IOqmM1Xn2LT+J/SpAvlmvUcjQLe6/bz8w2sWmfPaqk0532DD0rFm3E5lbkePDYSTE430Q8kYtAorGI9GnDgo/A==","signatures":[{"sig":"MEYCIQDcqXz9bI9bgbvKlAbcU3n9+niY13ae7tjV5E7Je9JeHQIhAP+3TEtB2yeA2MwoV5R0FsPae4l+4NevIHEo8lZBpSHj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.42-preview.20260909102545","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28570566},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e9aeb895f2b3ea484cdf96a62da9d5e9865187df","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.42-preview.20260909102545_1788917841352_0.3529554865407185","host":"s3://npm-registry-packages-npm-production"}},"2.17.42":{"name":"cli-jaw","version":"2.17.42","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.42","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c36a5d134d1851ec6a8f899024a2712c37104637","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.42.tgz","fileCount":2934,"integrity":"sha512-GObjTOuOi1QJWIiYOmzpk0/f3z0VI4gtg2PiY+fXtR5OfYOfbxfQH8Tza0gmihk+cnPfXGooz3wOwzvHSMLpTA==","signatures":[{"sig":"MEUCIBWzm7Jbq4ZqYXDnAQRwm4H9Gyza0mmtVCtDJHpuBMJHAiEAjBf8zXvFqRbxXIbjwI2dlF8iofR/9OAMsdPYAYIDZ68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28570543},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ef56a006781a4062a0bdbee9b6295b8e33619106","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.42_1788918723074_0.9138691889827733","host":"s3://npm-registry-packages-npm-production"}},"2.17.43-preview.20260909133620":{"name":"cli-jaw","version":"2.17.43-preview.20260909133620","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.43-preview.20260909133620","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"49a0e1d57922396232ad632f99a0943ab956c780","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.43-preview.20260909133620.tgz","fileCount":2934,"integrity":"sha512-1IcSsXJ5kkUMmfYVrujhHDKtcRxFcw6+D0C2g6mXxiofBf0lwhwtjT6Q9xvtRiq2bub9va/Ql7LYqymy6E5fBw==","signatures":[{"sig":"MEUCIQC/QfkPK+TbpRNssXHHhGNKNbkSLLeewnHUQExLrA/xVwIgLA9YTIcnLk7NQtug2ltp7XvsZnewNltaUmL9PQvB5GA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.43-preview.20260909133620","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28574718},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"6e1c1304811baa00b08a972a019e9867385d99a5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.43-preview.20260909133620_1788929441128_0.14085252155174466","host":"s3://npm-registry-packages-npm-production"}},"2.17.43":{"name":"cli-jaw","version":"2.17.43","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.43","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a3208a08b052b11af0956170b47d44b1d87848fd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.43.tgz","fileCount":2934,"integrity":"sha512-d/r62YuJVlI/ABAzy5pZ4XBJTkSk98oXPyWDSTTi1O8mwOEW98k5ZD47AABFKOJyGTCny7DL2He7kk9FL/CWiQ==","signatures":[{"sig":"MEUCIQC4lit5UMWaHxPLw0QIE0X66sZyNm96NZhPVm6S+Qz2hAIgW0UykEgaxIkqFzdcgTCD5dTOfKFKv8t55V6deAIMMD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28574695},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0fce269d9e10d0d816686c5aee80bb64a54f5ef3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.43_1788930402482_0.2564993380546301","host":"s3://npm-registry-packages-npm-production"}},"2.17.44-preview.20260909235739":{"name":"cli-jaw","version":"2.17.44-preview.20260909235739","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.44-preview.20260909235739","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3faded718c0ed86d2a7c04b82dbe9cd5f3c7d82b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.44-preview.20260909235739.tgz","fileCount":3020,"integrity":"sha512-mQo92Ge2z4ts+SXENO4qQXKnySLYD/OaPv90X4N94hHNCjqu2tfOmm0I+hfVF0pktoHUDyPaqyG5pLGCOVdTIQ==","signatures":[{"sig":"MEUCIQCvbA37ne0yu/kjf+XNaBNqw3AVmZpcKSXgPobgvHZkKgIgftLr0+BsssDC80X+FxlKrx+oGmwUxP+8tueyeFJLd3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.44-preview.20260909235739","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29332414},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"539adde86a88f60de3127e2b63b14e495c4b6583","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.44-preview.20260909235739_1788967488285_0.09700118017258985","host":"s3://npm-registry-packages-npm-production"}},"2.17.44":{"name":"cli-jaw","version":"2.17.44","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.44","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"87a9c32f21e35368ae801e4713eb228b72244696","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.44.tgz","fileCount":3020,"integrity":"sha512-7fL5uqBsnbx+Ng29BwXKznOC5ZKmcAQD1GYSswOT7/nUu0mwe8tg985ht9jpBuFjH/3kslOEzpF1wbEyVsx3Ng==","signatures":[{"sig":"MEQCIEZsyJtclKOSFmk4W4MXpjxn9x026FEapQfIEi/hwKHbAiBZXKykJ55/fR92Ff93r5Pbh9HPDJAZZN87uDYqStpHCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29332391},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"81f1938287648780512c5ade55c7ca5932c31d55","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:claude-e":"cargo test --manifest-path native/claude-e/Cargo.toml","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:claude-e":"cargo build --release --manifest-path native/claude-e/Cargo.toml","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:claude-exec":"npm run test:claude-e","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","build:claude-exec":"npm run build:claude-e","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference libr","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.44_1788968949708_0.1514635407273479","host":"s3://npm-registry-packages-npm-production"}},"2.17.45-preview.20260910173358":{"name":"cli-jaw","version":"2.17.45-preview.20260910173358","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.45-preview.20260910173358","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a3133ddd8679bc13e3558915b2aa45544dbb48c7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.45-preview.20260910173358.tgz","fileCount":3022,"integrity":"sha512-/utIyxgVfKj+g/Q5bIjUgNOQsw91Zk46PQ6BBQpSbFIa9tf0vO+yfeMvHTfhcfXhchaQDbfE7N3xdidymE3MDg==","signatures":[{"sig":"MEUCIQCJInOtw8xxmWzEt9IlpCY9/u/t73Rwz1KTu6U+zWbI+AIgRegjAUd8GitxMJv0w19P299fb8c3mDff/jheldY6kr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.45-preview.20260910173358","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29346610},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"92e73cada1e78db6b890dd0797fe3b783bb948f5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.45-preview.20260910173358_1789030238895_0.08428959816402481","host":"s3://npm-registry-packages-npm-production"}},"2.17.45":{"name":"cli-jaw","version":"2.17.45","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.45","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bf9cc0c048c5c66d4cbfa3ddcfb50b45bbfae88e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.45.tgz","fileCount":3022,"integrity":"sha512-QjbkhBe8LhOv9939Zk0WcEIJU8+u2uM6f34T7c2gpue9QHhnbsZ/7t3l/azL/PbAXl8Dhg81kYboD75FgjTK+A==","signatures":[{"sig":"MEUCIDh6J3Y/lwLlEwc/uDXkqYKiQuhm9hsv9q49QpdKiB3XAiEA071ee07IFmK+o6LT51dYwZ2/GPy/+jLVw2RB7XrpiRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29346587},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2b4af651d21f339bba79046ef0c0f81ffc5335ae","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.45_1789031563372_0.7727086178107243","host":"s3://npm-registry-packages-npm-production"}},"2.17.46-preview.20260910182851":{"name":"cli-jaw","version":"2.17.46-preview.20260910182851","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.46-preview.20260910182851","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8cc5a09aec1c962ed2ef1b667e3974d05a68d49e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.46-preview.20260910182851.tgz","fileCount":3022,"integrity":"sha512-QPWFRtwBOdfJhWXdtbqNa/XSoLym9EFGSCcVBXJ0KAff5+MUHxNn/NuNXsZpbiSQl2TeL0xQKCPhyUJSKsnzYQ==","signatures":[{"sig":"MEUCIQDyL+hv1FtUMNDV/eKCBmS+lZqTW2sjHemWV4WZ3j1eqAIgNIbPFR5gm2Fbl0N/KlntaPOS1REp5q+isvaZ4i7YX6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.46-preview.20260910182851","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29354807},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3901105332035fc49635a28d7103b401f393b965","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.46-preview.20260910182851_1789033527888_0.4209266519428225","host":"s3://npm-registry-packages-npm-production"}},"2.17.46":{"name":"cli-jaw","version":"2.17.46","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.46","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"384e1f6d7315161d61c1094091fc4cf25a2adc81","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.46.tgz","fileCount":3022,"integrity":"sha512-jzvz9tlLiUQFr4hw/S+PBrOkT98fUq5Xs81GjosNvEo1yTvuvOlNx1SeFnE2ylC8MGZGNJ7gCNksGgeCaYjvgg==","signatures":[{"sig":"MEQCIGBL8N0LRe+zjKjgVWnKOfZcbV2wxFz1zXw6eUHU9F8GAiAGOkz75ihSku8crmJCCZ0Wfo6QlYTOmzUbK45i3f05xQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29354784},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"b5ea3c0abd3540cd0360400b852bd9fd650457b3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.46_1789034320667_0.29045372363701394","host":"s3://npm-registry-packages-npm-production"}},"2.17.47-preview.20260911171122":{"name":"cli-jaw","version":"2.17.47-preview.20260911171122","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.47-preview.20260911171122","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ea3b1cb12ada7072658e0ce8a3121064f60fc85c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.47-preview.20260911171122.tgz","fileCount":3040,"integrity":"sha512-tsGpzz6N0Wk+3zNxqukSebeOlyaozfMp3wXBO2nihvwQXq2n7VRfApHLMpBr1ry0f1VQOsfygwC0+qOPrER63Q==","signatures":[{"sig":"MEYCIQCSeOMgHDt6NwU5Pi0As+nBFPX2DSY+XDeL9hp40QHgoQIhAMq0TDQTj9XN6y74W/kBZCjDTfwS9KVB3mbvoaMlPLec","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.47-preview.20260911171122","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29501695},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3a68022092349ca1596e08efbe6753a2fa84056a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.47-preview.20260911171122_1789115517118_0.04636297364388575","host":"s3://npm-registry-packages-npm-production"}},"2.17.47":{"name":"cli-jaw","version":"2.17.47","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.47","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"53c10a2947e1d4501c697317e0fb2b73647650da","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.47.tgz","fileCount":3040,"integrity":"sha512-zeT6KbkXEpEAdzC7iMArqbFD6hpdSScnbFFZHwbYOYkVDG2MtkTlmI/BhKHjyN5wFx+c1UB1p8AY9KUFaidJwA==","signatures":[{"sig":"MEUCIQC6vDpEsCeYeEN9WkdlxFGm7H5eOWDJzOV5pmzQdAay8QIgIz37mqc3TSTTAyMw21a0n+2GkxP3SIRJQntKV0F593A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29501672},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3de44dd476a2417cf0b10036f111c7aff3c47121","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.47_1789116951859_0.7667243427206802","host":"s3://npm-registry-packages-npm-production"}},"2.17.48-preview.20260911222415":{"name":"cli-jaw","version":"2.17.48-preview.20260911222415","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.48-preview.20260911222415","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"51bff63b43c85e6eeef643dc290a9e4a2c5df6cc","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.48-preview.20260911222415.tgz","fileCount":3044,"integrity":"sha512-K5xv0oscgqJJQd3gNWAAUJToN7UnoE4Hz1SU2dNLPqSY1C6oKc557XR8RjpTcQeN8Ona3xByzN0ePu2DxNSGLw==","signatures":[{"sig":"MEYCIQDt/E6w8G57exn4AbiCT3qvCvr4tygHHvmdzKr4cZyVkgIhAK3ow4QUktza7I5SMUJtZexFImmbGjNsKvyBsY0zxsVH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.48-preview.20260911222415","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29526613},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7b4c6b1a545e7bdac7913110bc9a7cbaf045c56c","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.48-preview.20260911222415_1789134284687_0.3647588535522188","host":"s3://npm-registry-packages-npm-production"}},"2.17.48":{"name":"cli-jaw","version":"2.17.48","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.48","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"1b2de9db63c85cfbaaf15d2ed6465c62f9febb3b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.48.tgz","fileCount":3044,"integrity":"sha512-UEQ3vN0FLhHqAyfGaBopFDVp7jzAlHbXzILtCD3+NnskTW0KKkTKuiutPOWE+bZ8nr9/AWLV54TIvwD8HaQRMw==","signatures":[{"sig":"MEQCIDJUb+ZJ4YC4FnMzB45f2wTmWsE2zPSU/9E1/69Y1KLsAiARWnDkjYL2HMk5n/mfx4ZZ2YAcE9iXv8R2aT0WsFq1fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29526590},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"53eff41416d21a87dd3620c883cc1c801c708bfd","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.48_1789135739649_0.7493785166682987","host":"s3://npm-registry-packages-npm-production"}},"2.17.49-preview.20260912012850":{"name":"cli-jaw","version":"2.17.49-preview.20260912012850","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.49-preview.20260912012850","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"85b7c9483a8f16ff048dd4f06f3fa5b863a01844","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.49-preview.20260912012850.tgz","fileCount":3044,"integrity":"sha512-4IpYrNsT87CDfFV1Yms4o7YFcbx6Zgf7IaDAA107+y+lEAdcyCr6WClCfN0z8IubFIhBGuE+f+a97XroVB7YkQ==","signatures":[{"sig":"MEYCIQDBZXqV58aXzsYWsY2i7ipa4AHBy9o1cg22BSoO7NZ+4wIhAOcIQjrf00FhvXuolxpxPuwlFTt9pJOiMRm+a8QYfsJg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.49-preview.20260912012850","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29556131},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"835c15f4ddcd69f59b7c380eba525e713ba3904c","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.49-preview.20260912012850_1789144960441_0.7874704653810924","host":"s3://npm-registry-packages-npm-production"}},"2.17.49":{"name":"cli-jaw","version":"2.17.49","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.49","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4ce1d7ebbe82d64242ec8891fad5b95365b2c248","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.49.tgz","fileCount":3044,"integrity":"sha512-unS4iOcLGWpB6jxqJ0PkwDM2urViw2X4hMukHLBSpx/DBhI7mWwSQ+gXMkoJnAE2puyRlMDI7HgnLQATZJFFmw==","signatures":[{"sig":"MEYCIQC8RA5yo7R7HqMHrl7qcww+06Cra6iNr6Aboe6iFwm+fwIhANzNVkTPVdJdbiCo18QAYzLgSviqck84ib+lFy7/PYfP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29556108},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"729f0dcafc0ac5fe30fec83da7e24b84cffde072","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.49_1789145790470_0.4720794250613176","host":"s3://npm-registry-packages-npm-production"}},"2.17.50-preview.20260912112701":{"name":"cli-jaw","version":"2.17.50-preview.20260912112701","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.50-preview.20260912112701","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3f0009b09761b889d5b73e43e72258cff14a1e46","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.50-preview.20260912112701.tgz","fileCount":3044,"integrity":"sha512-9RQuHW6FqgWxKUg0fLb9MfcM7I+W1HiKkCEYwjYkVNrt+Ab7nhOmrFKHNjAqvTIL8sYOCBunlL/Dl0rqorJMIg==","signatures":[{"sig":"MEUCIQDFg+fuJRl/jxBhYOnj+Tewr93XOatBXeBULnGOnK2wMAIgCYKqiCALbaxQpFThw7ZfvaBgI1I9kx+i4lY4OFWcPxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.50-preview.20260912112701","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29556933},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"112b9e21aa8f2ee61f7d7ee9dfe3de953f5206bc","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.50-preview.20260912112701_1789180797115_0.08831604706149743","host":"s3://npm-registry-packages-npm-production"}},"2.17.50":{"name":"cli-jaw","version":"2.17.50","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.50","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f2bd4a96122841b42a938b504807de0468cf8a8b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.50.tgz","fileCount":3044,"integrity":"sha512-YEMIErO8eJJINrlF2XE/Ftn2HAiqrxWSk6g/2O3BdWv0oTF8itgnnDUtySsNTZ9llKC5JHW5dbQR4hxEjHuTMQ==","signatures":[{"sig":"MEUCIQD4WrkaUaGpGbRYfRao+vZaGJaG606ylfXBZGDHoeZWqQIgUs7iZs2w/vmrV8QELp+FAIgaTNgkU/MoOwjByBEJOVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29556910},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"f8a6aac7e649fef1eb3d8eba1ced5c207ec12597","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.50_1789183630622_0.3925233800082315","host":"s3://npm-registry-packages-npm-production"}},"2.17.51-preview.20260913113645":{"name":"cli-jaw","version":"2.17.51-preview.20260913113645","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.51-preview.20260913113645","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e0c936375f70ec564cb8ab12ec2b00497193c54a","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.51-preview.20260913113645.tgz","fileCount":3047,"integrity":"sha512-Rue0NLPrQio4iddxe8ikcx2LC4O3PoP+PHWQnvEdKPqETKtRNuL0f9GPItBcitJyvbtwFerQkCHY6OoUjokILQ==","signatures":[{"sig":"MEUCIQCwymQnuTfFpokTnUrSV5N+2RocZN5hmnYrLQA2cL7HwQIgHxeaPIPMcmquGfOtbYuvaeBxtlAEfITEF/Yb2EEMy20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.51-preview.20260913113645","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29603146},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0fbf036b71d2747975556a29696fb550511f804d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.51-preview.20260913113645_1789267943931_0.3255052134195151","host":"s3://npm-registry-packages-npm-production"}},"2.17.51":{"name":"cli-jaw","version":"2.17.51","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.51","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"aad0c7c10626471562ec476e292938944ee35c70","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.51.tgz","fileCount":3047,"integrity":"sha512-dOEP42X5TKvg2UyqT03Wg/ruVPR5nU3ov5jznr/UNWTIh3J0Pj+5SvBFonaBeo4vh3uW6VZRGzs7VoJJf+di7Q==","signatures":[{"sig":"MEQCIEsW0lrxss9eeb5LAo42Nul/P3HaqVMlh42eB9HwzaezAiBIocypu1T0Scr1AoHOBDw/Zsruwhz3Dn/Yz/aWst+8mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29603123},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"15b6390b7ffc3d95505044917d512be1e279826a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.51_1789268659751_0.8000981396578875","host":"s3://npm-registry-packages-npm-production"}},"2.17.52-preview.20260915094907":{"name":"cli-jaw","version":"2.17.52-preview.20260915094907","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.52-preview.20260915094907","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6406fe5ba0f3bcfb6a7405730a91ec10caf4afaa","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.52-preview.20260915094907.tgz","fileCount":3049,"integrity":"sha512-ut8QFulGrrxsV7fW1Jhy38GLrIoI89MzjO+KjYcc94XaEuc4jdUvJLHIRw2J4Hh6/lC9LmJzNG2FwSd2kiJo1A==","signatures":[{"sig":"MEUCIQDzLtmjf6ziZOsACdutqnvWtS2ZPQQgT7r/huOMIbih/wIgO//ZhQUgwsMPMPJ93qw9Z4YhOGxkWbspBFOK0rcvsFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCnOKE/dcIVbYJStq+vNGYOeTLhfDn2simD2PjkcELi5QIhAPBJBiePY4zZ2e75+lfzZ6Y065e7qq5CrNhm5lupQAn9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.52-preview.20260915094907","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29618430},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ba8041a97707d0498a37846267f5b17694051c22","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.52-preview.20260915094907_1789434525792_0.1569388707158701","host":"s3://npm-registry-packages-npm-production"}},"2.17.53-preview.20260916144726":{"name":"cli-jaw","version":"2.17.53-preview.20260916144726","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.53-preview.20260916144726","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f1e220af5e2d5fe1effe9c2220fd887d70a2c954","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.53-preview.20260916144726.tgz","fileCount":3049,"integrity":"sha512-cf7l6gF2/Xg2xv0dW4D8HaL5rbk35pW90M6F1tv+L6t1eusTsw6f5J27ukfwNe6QbVTHS7AuYv0QZ8hTlm+0Nw==","signatures":[{"sig":"MEQCIFXsRhqOyzyOCC81TSFoWWdUarCBIKv6qICHRvopgAUQAiBnIpfyV2IMJ2xs0a5NPR9B5qVi1fM1QUNyl9q7vH5ijA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEUOpI8EoDw+7FA22oWmo3Tkc5mbGrYbFMoSrMb4gJrvAiEAgiUkzc3x1Hn8tpX/72E8+X4bvGG7Ho+xf+ik65vM23U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.53-preview.20260916144726","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29633424},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7560fc6a8a9059af91d6d3498de5d167027cb9ab","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.53-preview.20260916144726_1789538911748_0.03476097527314126","host":"s3://npm-registry-packages-npm-production"}},"2.17.53":{"name":"cli-jaw","version":"2.17.53","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.53","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"7edef60d8ab38c9a640f9a385a97cf8e68789877","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.53.tgz","fileCount":3049,"integrity":"sha512-Sw7IFUghvj3NktamXCFEObvkxUsyWq3OWUNgPoVtLdly25CW1TUl6007OvEHpTnwhsJPQTmOYneHtJ1I8wSvLA==","signatures":[{"sig":"MEUCIQDcSHj0u/zUJistloJJ1pIAUReCZDEfa5fYeZCsjDby3AIgNiPAMeE3KGIJp8kZQaw4F1OwSZRcdBniRBS4tLUjX6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9selsT0/Ng22aMdNRpoxclbVFLmw46+IgBIHOL5AWowIhAI1a2n1IMD4TcYDn9G/Q5dGHRjrGtDXDACnuw9NoDW7G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29633401},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e6f668786545727f6db5eb390a92aad3cfd90ac8","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.53_1789539911012_0.5165989269816007","host":"s3://npm-registry-packages-npm-production"}},"2.17.54-preview.20260917112220":{"name":"cli-jaw","version":"2.17.54-preview.20260917112220","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.54-preview.20260917112220","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9dc54441dc8a7c5d3e04ee8cb474a09a2fc87a97","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.54-preview.20260917112220.tgz","fileCount":3049,"integrity":"sha512-13aiC1Dwwi0q4F5ltKC+WED/+223NvJCFDjdgKbuP3AhTCWAT/717K4V0pPWVCI2pDUFqEN1MtpcUDSDUqkZFA==","signatures":[{"sig":"MEUCIEsShHxDXWwxgOf2pwBGp0/TUUkqFnGObMT7ROR02gF+AiEAuqV4bkJ27Bnf7jYfnO0dmzT/yNIEpQUZ/W89tXVR/Xw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICLTaoNRQgo+gYSannIs32v4pIdOzr+zlj3CR9RBF4soAiAIw4fquQn5iX23kN0HzGf5RzyIsARSPSsCNqFL6Xm4Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.54-preview.20260917112220","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29638878},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ee01f5ab5337b1957bb15fd617171f7f09918e6e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.54-preview.20260917112220_1789613061545_0.353222202180129","host":"s3://npm-registry-packages-npm-production"}},"2.17.54":{"name":"cli-jaw","version":"2.17.54","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.54","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a063751c721dd38408a98b5ac7496e0541d88cd2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.54.tgz","fileCount":3049,"integrity":"sha512-kuZLyyqKKRYVrvuZCEvZSAG4U9+6dWD2A90R3RrNE+XWj67RsQsAxYMnJZdi742wBcFgw0Wmsp1isV1Qs3fUMA==","signatures":[{"sig":"MEQCIFXR5cD7C6uorw2C2whIBTjCNSa/7mIqXlBc0vTWZfipAiB5Cer29AkgTXHoNHixm/s0+OisbpKow2eK3CJe1r+hvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBo4TQy4I5gz8VRswLynjSFeHhYMm7JBVvWgzFoOLbHNAiAIOlMmHooU/IhMZeDgPsjmGOYVFiC6aJ/xGWU/dfW4IQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29638855},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0d6364d404161ea683486e9d32569dbc68492e9d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.54_1789613759639_0.8303802909270206","host":"s3://npm-registry-packages-npm-production"}},"2.17.55-preview.20260922173824":{"name":"cli-jaw","version":"2.17.55-preview.20260922173824","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.55-preview.20260922173824","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"e3f376d3dea9a3d926f78a183c366ca5cb075c47","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.55-preview.20260922173824.tgz","fileCount":3056,"integrity":"sha512-FnxTYro5YU4nVUHiXeetJ5y/2rYaP4fKa9+fqD1F8vkkc+N0l8TJXtQrYiMlx31tPw4+7cWbOGg8zA/NN5w9qQ==","signatures":[{"sig":"MEUCIQDnheBtCSVuJKM2kaokODQ401iw24/9hufuSw8MQ5yyOAIgVRS4Jn9MGzw9wqWPWED6xVhflDfwd4inVzNHh9Y3ddA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCqq0gWO6sSEG8PnQgiRG6SqjafRZtWzlkA6M1qC+TWwwIhAI9BOfuzyjVHrOAU0sqpTEcmOwT/PlTQMKYzSEoG9PeI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.55-preview.20260922173824","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29734909},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"53ca2d739cb80690eb50d0208ca256a027ae9bd5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:mac-signature","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.55-preview.20260922173824_1790068091523_0.7129875723841672","host":"s3://npm-registry-packages-npm-production"}},"2.17.55-preview.20260922200147":{"name":"cli-jaw","version":"2.17.55-preview.20260922200147","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.55-preview.20260922200147","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"55c56483087bf009d9cb7247423c15a9aab5420f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.55-preview.20260922200147.tgz","fileCount":3056,"integrity":"sha512-r6ZihoaEeEQ1iKIdxN/+vog0UbklXl8MO1nyBXuFrsaIAFCvzVW89akBymhBzqDT75OfhnQ2ZQJeYn92dryN1w==","signatures":[{"sig":"MEUCIDEx7mmym9qQwHytxunGSK3vXwFafkBKa76HYWryDi12AiEA2JGe0O/9+uhHh/yYUJfIcMpjmoPQ1jJcVMCCd1D6ftk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAPBuX24C7yMhMxJEtK52GZxQrEku9zY6JRunAI0MtWfAiEAsgW5bDMXslsFSdT7SKnOYIfkI9U3HIgYzY9+gDNclLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.55-preview.20260922200147","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29738274},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c109f06babc758a384b0f61cacdc1dd19ef645d5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:mac-signature","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.55-preview.20260922200147_1790076204191_0.3221984670157487","host":"s3://npm-registry-packages-npm-production"}},"2.17.56-preview.20260922221014":{"name":"cli-jaw","version":"2.17.56-preview.20260922221014","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.56-preview.20260922221014","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"476eb219f21a1d5c2271cb71045b954b4eb9c925","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.56-preview.20260922221014.tgz","fileCount":3058,"integrity":"sha512-shmIs0IuSnRqbQOJa/KVKjDw0TIxOE1q6NW611F9EztEaWVZjdkx+NHKFtQCoVZwzQ6T+oM+ipSfmSv14vWF/A==","signatures":[{"sig":"MEUCIG+qw+c9djHFj66ZdgJrth6YhYz1MzT4Sgl+Y4I0nhThAiEAmUk7DgGOApwgE1t9fQQPjESWKrExsR5NXVFqLFiwN5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD9OTQjkyWvpUFk3glvYES9UppvKTniPry+QmV+Xb5q8gIgHlOHnc0ZjINmbbiDBGd3y9nPX/KpwnitSzeINrlbDUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.56-preview.20260922221014","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29756703},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d80b9973462b2d785200057e01ee086dca6c0e55","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --publish never && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.56-preview.20260922221014_1790084099606_0.10555943907780585","host":"s3://npm-registry-packages-npm-production"}},"2.17.57-preview.20260922233502":{"name":"cli-jaw","version":"2.17.57-preview.20260922233502","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.57-preview.20260922233502","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6e48629164e9de275f3ae1011c482a9a32699c32","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.57-preview.20260922233502.tgz","fileCount":3058,"integrity":"sha512-pmwbQluP1xqV2YfdLh+u5YELSNdJx3u3pkfdjXPDle8lA18Fz+dkP/vqCudvgKudhiM0ZJLg+S5WelgWtMjQjg==","signatures":[{"sig":"MEUCIGDxrqRY+l0bmzVkmKSMuONTzuYFQ/CurS61vyBmr+o2AiEAorcPdScF4AnmtUv/H6edcBgnJDeVDFYWO6ZNHW3MdFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD6fUoPYFXcy46invA3KoceyXNsG/YWRLXkJfodijkLtwIhAJdrPHtmN5Z+/4Ls2394QkSpadL0j8qerwvrLTH0NO15","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.57-preview.20260922233502","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29756703},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"bc4c46cde97c602903ca4c6c8b98ecc0074086de","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --publish never && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.57-preview.20260922233502_1790089710109_0.1446398126393189","host":"s3://npm-registry-packages-npm-production"}},"2.17.57":{"name":"cli-jaw","version":"2.17.57","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.57","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c509b297eccc18cc97229fce4d9426ddbac00083","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.57.tgz","fileCount":3058,"integrity":"sha512-JBy99eq3nyXEctWsamStNyIb247TLQLNeLipawNJfkIG6uLiOYQbk1bQ+R33cCfZ8CT+VQJspnlbCMF7LDH/7g==","signatures":[{"sig":"MEQCIBOCjdC/EuqlNSgzS60wZL7jed8s0ui/2UnUhs/SLN0fAiBc0fQz5xk8H6C06a+WsOddwJyIUg8YZzKpk4y5KAMSrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDqNZC/7aCPe4pztseUt23OZTXT8DbzX/Ho8C0zPajz/wIgZYSALY6jxFwcu8wZ/Rwb76YqweJ48GcWcEk4sKcisIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29756680},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ea6cbe2be6bd748884b3cbdcd26a7e27c23da5a0","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --publish never && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.57_1790093219062_0.9696563914443379","host":"s3://npm-registry-packages-npm-production"}},"2.17.58-preview.20260923060148":{"name":"cli-jaw","version":"2.17.58-preview.20260923060148","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.58-preview.20260923060148","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"64789f951bfc8aa5fe70d7432b835fc5cf809fb1","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.58-preview.20260923060148.tgz","fileCount":3059,"integrity":"sha512-+fufB4n/MDMxAA+BJpIXwkxj5DmEsPu4TiRstfXzMK3tMzK/7NeJKrETwpVhvV6UaN8eUUnh15LNuPWGO6Ij0g==","signatures":[{"sig":"MEUCICMgYdACRTeE4Eehf/dmXDcUt2BLEHiKtDxuAhy1mJlhAiEAn8TqTukeEUU83vdoxhaqDe+rVCfwqDmlQYB3ubbSZ4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF0vrFTg/8XhFv8rGcMs9Kh0g5WpQ2cGy5jt1yUBRVHLAiAMlxppD1/Hdr7r31/AU/rQYWuwy6d3AHsd6M5E0XtwCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.58-preview.20260923060148","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29776583},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c8a2f47170da002f7b90e1fb53c9f9eda3c0857d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.58-preview.20260923060148_1790112221035_0.9564191014860577","host":"s3://npm-registry-packages-npm-production"}},"2.17.58":{"name":"cli-jaw","version":"2.17.58","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.58","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"9e70a52a55fd662cdaf4f427b671ada2a673b4f5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.58.tgz","fileCount":3059,"integrity":"sha512-b+T8ZFxYE7rCqQ6BNtW+4twm1E5OO9mCU8YCUYNsRc6y9InQ2tb4Ru/rjUPDLjKQ5RluCJMFVob2j3MVQvTfTg==","signatures":[{"sig":"MEQCIGOFjQlKKgqSNzBwl6KrCDz/k4ukBHM/2qZd7ym5f076AiB1TMyT5SUXvEdUGxShhnZWSOaiWGk+rt0ZT813SA74xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF6x+ZTE7Sny5r9raLZ5Ch9j1OdiuRZT56oGXSiW/0tOAiEAluDkSEMzj/x+lBTrcij5EbiU6i8ulPyRdvzsHi611fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29776560},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"ef79400f1672ae2038fc2dbd3ad6e56622e7ba0e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.58_1790113018112_0.14108516777179214","host":"s3://npm-registry-packages-npm-production"}},"2.17.59-preview.20260923162157":{"name":"cli-jaw","version":"2.17.59-preview.20260923162157","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.59-preview.20260923162157","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"59ce9e6aba1fd32b048ddcf13f83c276214b8e93","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.59-preview.20260923162157.tgz","fileCount":3059,"integrity":"sha512-kZ5UTVeRx0tr24BiHEnod77QSWoUa1NxofGTyV0R2qPx65QqHInO8OjzfJb1E8hZE5Ok2qarczmUJaj6x/LZig==","signatures":[{"sig":"MEUCIDW3bMzqhq7KwDteoNS6ksrpilgFC7/Ux7U22HDQUs2YAiEAs/fIAOli00WlUxNaJQ9jRS9SMUP1S9pnHLAxJrKXV3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD8i9CGOSe10sLfHnSGkQHwp6kI87SF3TtCqJPkFVxHLQIgQp36m+qI8jtONXSHHsuoJBnk4o6nklsAYmux82hFzug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.59-preview.20260923162157","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29776583},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"60579f5c094adafc3729ce0f33d97401ebf9702b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.59-preview.20260923162157_1790148981800_0.334878988561671","host":"s3://npm-registry-packages-npm-production"}},"2.17.59":{"name":"cli-jaw","version":"2.17.59","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.59","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6bb261cfd08cf396fb930bbe9bb6f79e295c3e86","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.59.tgz","fileCount":3059,"integrity":"sha512-+8RkuXPl/xhK9R1EQqSEUyf1HOvmDdoBKM2ybrwHUel6eCxLUZNez+ecNkG2hJqSZc+3fMOubMynUVd6jZQ0IA==","signatures":[{"sig":"MEUCIGF7UCHrKv8JOV2SZDOuS7uNFoDv5FinPtLWWj6OEcY7AiEA4m/q+hk2VmT/fQVjD1hyyL+bYgRj6TvhKzWnA8xLr6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDhTAIH8wMz17z1Mu2KW4zdrnlenT5sozxTF/UEtTxURgIhAMje45UDQ0YUrmhlpgHMy7Ep4jlCZXfFcwAOoaUNm1wa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29776560},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2966f80cda6db2667dd3c6e4d69360f255460c76","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.59_1790149674003_0.013940600945062664","host":"s3://npm-registry-packages-npm-production"}},"2.17.60-preview.20260925003520":{"name":"cli-jaw","version":"2.17.60-preview.20260925003520","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.60-preview.20260925003520","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3af450fbf46fb3d0a1f346f005315bb790123260","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.60-preview.20260925003520.tgz","fileCount":3069,"integrity":"sha512-beUc5W43b/Wx4Gi0nET0SMmINlMu2mvr1c8/Ogh1oBsq3l3OAIIQ1kL3gYCrKQhvQWaHUQkPY1b5gGJGf0cMcg==","signatures":[{"sig":"MEUCICjmTKaR3Pi9oSRQImSMGis0OkQesRGLPEmm5ZKSE2HXAiEAznj7JAMNT47NAtUIeutG3CkDfc6eR0fxNdXGpg1Du2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBUZ6CEazm6xcBVCoC5iXucplSgwf9agmXhebr46PRNzAiEA17SGk32sfRI3gyhL2P8em/ig1ZvVe5r69Smpa0y3UJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.60-preview.20260925003520","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29836257},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"a237cf486434ef924af93ee7bbd5fc48a133cc13","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.60-preview.20260925003520_1790265461471_0.5277933021372778","host":"s3://npm-registry-packages-npm-production"}},"2.17.60":{"name":"cli-jaw","version":"2.17.60","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.60","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"47a0bcca5b6ca8b55568a65094b9450ed0250916","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.60.tgz","fileCount":3069,"integrity":"sha512-pI5Y+SH6aKP4wc1rRg0vtNiUCM9/8vMCHns90lVs/etbslAAKjcDtQpYhCHndeOkvLJueV0WJKV78orJPVhsig==","signatures":[{"sig":"MEUCIQDKHgaepfJui4FZPH//cjno77o+JHCyvD50yZ6y7x4Z1AIgWIqnUoyrHJ5Vyngya/E8Fr/LWk2pvOr4aGfMvRtWnPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICJtlvlEiL9fupVS//7V3eLs4puVxn9Mcs76ZNZPQ5+FAiEAwHHxKOsCPXw7FrOkVMezAP8G7LL/t1K2pj4/aY6gxRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.60","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29836234},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"8bca94ec14d62f26f0e28ebeebaba6f97bc7b2e0","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.60_1790267836005_0.0014544682451493873","host":"s3://npm-registry-packages-npm-production"}},"2.17.61-preview.20260925122316":{"name":"cli-jaw","version":"2.17.61-preview.20260925122316","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.61-preview.20260925122316","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d177b51866e7c90ebc3d810681eb95fcf82fabb8","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.61-preview.20260925122316.tgz","fileCount":3074,"integrity":"sha512-a8fkfVDdS6CsMvcte6stk851wCPuVASFag3oKDkM7eJqmASmrMvBkMqjXZ7qs77j5jo3F/tZGhwk82VjbG3Yrg==","signatures":[{"sig":"MEUCIQDpQqjEdSN3GIrYRlcLI7MZ1Mv0K51i0k1LJ8XvPeqZeAIgS4w4oD4znLILkS63K76v0/wwEIKVrmA323eSUCl5LWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIALJ2lVvFS7Vd7mSP9CmN+cbN6r6R9DZo4SyBY6qnZt3AiA7tY+boUu+XBuY8TnGS9MCnH6HIl90wF/511vnPsQAvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.61-preview.20260925122316","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30629905},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"5c35a0cdf00de4351daeee96f27ce6d841811861","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.61-preview.20260925122316_1790307912374_0.27866677541140805","host":"s3://npm-registry-packages-npm-production"}},"2.17.61":{"name":"cli-jaw","version":"2.17.61","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.61","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"4817924de79664a3997f177aacbf08ff43b131a5","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.61.tgz","fileCount":3074,"integrity":"sha512-bpg+kTb53frEgU9m/5KFwV4mesXT2k4ytk8BdHy+saTrhNp/4oewdeA4tWFDhwYQLORSP6YysVK5AdZ/60rgyQ==","signatures":[{"sig":"MEYCIQCVEaDZM7PSLiV2PUAit8zVY0tdiRqKvig/bay+kkmcowIhAPFAuUKIfkrhor6NOo467hBYbLNCKz8mWBlo5esoEoDZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBh71jiRYZJOnmAX8wq8u66qlzdPTcozUOibuw+NdzvaAiEAq3FygW3EU6zSU7bvktWid2bFdgQo4FWPeFjhXjNlA9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30629882},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"0230a4af93890cac41afa5432f72fe18f8fe4aa5","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.61_1790309214368_0.8991832998866836","host":"s3://npm-registry-packages-npm-production"}},"2.17.62-preview.20260925151811":{"name":"cli-jaw","version":"2.17.62-preview.20260925151811","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.62-preview.20260925151811","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6373ff5761da92d0ee1adb784380e09e95a0e8d9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.62-preview.20260925151811.tgz","fileCount":3078,"integrity":"sha512-8Ff3q0NaJwEpzuRyyRR7UMQPQkQKU49Sf3nnqmdy2mRqECszYzGuIXRmlgh6Dvb+Nb/UBZ0MgOqDgZ/WFGOg4Q==","signatures":[{"sig":"MEUCIQCIK43LJtoSzo8QBO+QeGWflFFDFuhCsRa4NIwyoqAsGgIgGzc19hJTHKnl1kRRBDg5qsVRgHj9GAZO7bw2ho1WsDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDt5tw9E7dFBqm+Wr2YaqjsAryRm2QL8jrqVSyFxPVuWAiEA2vT5h6I3vstTFyzmYjA+dK7y2X/EyXfj8Gga0qN60a4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.62-preview.20260925151811","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30656592},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"1b4576f0d64eae2925008545865db415b1a1c7e8","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.62-preview.20260925151811_1790318370486_0.6439012562744031","host":"s3://npm-registry-packages-npm-production"}},"2.17.62":{"name":"cli-jaw","version":"2.17.62","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.62","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-jun/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-jun/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"69f84ef2ba2726ea09147b1f51c1e436a54231c7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.62.tgz","fileCount":3078,"integrity":"sha512-csEFonFmxDZ+P4r4eZ0vNc6x+TVZHcN5SixSWzbTyfeXzRltitHtNSrcBu7/RyN790l/2t+KX3iiNy67x/sfcg==","signatures":[{"sig":"MEYCIQDCPbNJLbXt7WXvDLKRNkACheYWn7MskfXeHvPxgoCItAIhAPQUDb04nyJNpFQm5vPnryRdhVCeQqsjRi0IrFeo2Np0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFsi+WtHn3y0MLmrIjMW0y3NlJL2z1F3P8JMDQXIJEdqAiEArQeIr5TJM9ttTbu2iVD5zueo4MnHBGdM9gyyym4dy+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30656569},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"7d4ea6c945c98ab2f5f50af0ef5d244510570e61","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dd800488-17a8-4bf5-bec1-173867440507"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-jun/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.261"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.62_1790319592928_0.6471432307537315","host":"s3://npm-registry-packages-npm-production"}},"2.17.63-preview.20260926151305":{"name":"cli-jaw","version":"2.17.63-preview.20260926151305","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.63-preview.20260926151305","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"69ead5694a563d7277c1e9020142a3461a364ebd","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.63-preview.20260926151305.tgz","fileCount":3114,"integrity":"sha512-Zda5rVzh3SXo/f9exBKQd3cco/OtT6MeEkl6fu5vnDBSesFAE31gHAkx/sf8/kH7RAwlOOJuUzpybjZ9hkCXvw==","signatures":[{"sig":"MEYCIQC183TDSLnegR1uL2Uz5pS7UHpTiHsxWvl3lupHxkCg1gIhAKxqnJCVPpuScn1A/9CY/C3SH0/l+LMHG3FYLUsu49om","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDJ7Hk9V3aPFHJA/0bGt1Sje85BanFTNYB050AwfARsSgIhAPKhEBkCFHexh7Gu6FRA75ltng8GnMHU7B+PaDm3Nwr5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.63-preview.20260926151305","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31017635},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"aede33fa71210c2782ec45e01daf2cbb1e24cfc7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.63-preview.20260926151305_1790404459709_0.18890094966791704","host":"s3://npm-registry-packages-npm-production"}},"2.17.63":{"name":"cli-jaw","version":"2.17.63","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.63","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"5e58957931607c015397542189f91391aa52f7f9","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.63.tgz","fileCount":3114,"integrity":"sha512-QqL0cmV7kPGASHZZGVJ5/5p5IV+M5CukX3+f3DXnLRXVR9Vs8jw5McycRfZld4Z1SIAzp+qUEiC+wR5zzMOcqg==","signatures":[{"sig":"MEYCIQCmh+IjYCUbceeRSoOo2tTunJ4UwMVXPiqBXUCbwZaadgIhAPk+J/as5Eg8hUOrAMk1EqY5i1A/drfu/+0UVkmuSDST","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC1lJyGQIQ8MZk+qfI3nDdnR/hfgG1Lw4mGobZgF0CtqAiAWuXSHx56lWf63JHKGQ8NLc0+uVH1cI/IbsvlxoGe39w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31017612},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"121e121b5399fba62fdba2ba6aee4d4ec3ee97b3","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.63_1790405961425_0.15233046096272473","host":"s3://npm-registry-packages-npm-production"}},"2.17.64-preview.20260927142022":{"name":"cli-jaw","version":"2.17.64-preview.20260927142022","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.64-preview.20260927142022","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"f0802118ca545e72d765f11f0b68960dbc4b95be","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.64-preview.20260927142022.tgz","fileCount":3119,"integrity":"sha512-b92Az9iwxct+iEUIgOeq0nBaxByOsLl0m1ZBq0IroODnG4P/O2IVHgUi4OGrh0gd+iDDpca0uEYhBXtJcODN6w==","signatures":[{"sig":"MEUCIAwxo8fKU7FTVerO6tk/yIpfYusjxZGxlNBpbkWjRNf3AiEAl7YImojcAeklA4OujhlLpC8puqjMxDTHK1/EjxUWjXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB58pdzD3jpRQRltrcNRtdTVDYJyQpyy0j9yOfFDS+tDAiBYok5xLBt6KrvcTTlLx4s0ge5lfjQe47S2UMS9hZ8RNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.64-preview.20260927142022","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31075165},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"aa44cd8a3b1e9b5b358ccec650972d934481440e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.64-preview.20260927142022_1790487782584_0.7167720562012718","host":"s3://npm-registry-packages-npm-production"}},"2.17.64":{"name":"cli-jaw","version":"2.17.64","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.64","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"3e373455b6ca23025a3e20ec6ad22f979281993d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.64.tgz","fileCount":3119,"integrity":"sha512-pFFR5PE8vZL587YmNBz92sqnZ7zovaSQjLCDQUeU8kXxvLPqp6bhcCooY7LJqyWmQRlvyCsqTzlRysLgoQbEaQ==","signatures":[{"sig":"MEUCIBgas+k0XZGTkdjU3Ql8Hi1DP5U48OH2kOoH9Dk2Rd5jAiEAmu354Fjnr16dfzb2d/LqEcG5KOER8mQ844y0M0SKDTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHSzmh5a0+JA1PmKxAx3U0LGIBWKMUgvkYBTyp+6vJkYAiAF4hR33w9Nx94jI5ci+rWgflFqZs4gsG2Xl4r/L/oODA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31075142},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2d9d53d3009f43e022f039d492fd93947bb39c9e","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.64_1790489342538_0.7190762213176092","host":"s3://npm-registry-packages-npm-production"}},"2.17.65-preview.20260929195353":{"name":"cli-jaw","version":"2.17.65-preview.20260929195353","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.65-preview.20260929195353","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bb4899ac6fb7434e0dfeacc0c1d388fd09cff8d2","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.65-preview.20260929195353.tgz","fileCount":3123,"integrity":"sha512-7/Ro5omg7mZWhlFXmqj6PSgxRJ1KX/+NcxddWmkPfzOUYJb0mmle6+rb00gt20Qq2wDHcByHgAy7GYAEllC1EA==","signatures":[{"sig":"MEUCIQD49ph5MOPmj7xRRS2GkUeQsnaOeQbD9sf9mnBIzyrW8AIgGLeHrJRuj0IkoMr1kimhL1II39IvyhXjldkx8V2bjlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA5Bbbq+nZ4HjM5u3eK2Fw09t4mjhMWIWAsaH+nMNXwRAiACc6vJOHPUvqGIdFTQV3qGVXAzirbP7VlT+iDgnAOvAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.65-preview.20260929195353","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31129542},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"2519e9195f4f138078911edceb5a391380d76b5b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.65-preview.20260929195353_1790680624158_0.957262848926006","host":"s3://npm-registry-packages-npm-production"}},"2.17.65":{"name":"cli-jaw","version":"2.17.65","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.65","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8598d31644f3d5f10477c39bfbed51760f15e345","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.65.tgz","fileCount":3123,"integrity":"sha512-HF0x4Srm075tl7+Ywkt1Ubcw5t8E0g4HY/7GHYWfZGQ414aq+FCCf2P61LqZiDv7quE8PYyXSlklYTwSVOqHtQ==","signatures":[{"sig":"MEQCIFV/8cke02Ns9TpNN6IPD9eynUN8/6nVfz3bSerIrUnCAiBrzd2TO/N5Yah80nv4GQgKsD+NYJevZSxDRXTNwF45aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEgwU70SG4HULai2ZIz6cXmief8wI8Bu+Y7JdAKyrNAnAiEAmCe5Pvxkw9aPze44/fAeqYVzzwnz/pPJHpbynz1yRZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.65","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31129519},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"81251f5d6a1a1f043b1416342518ab9ee9778803","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.65_1790681197766_0.14231701450071244","host":"s3://npm-registry-packages-npm-production"}},"2.17.66-preview.20261002101558":{"name":"cli-jaw","version":"2.17.66-preview.20261002101558","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.66-preview.20261002101558","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"03dd7ed01246397a1f05426cf2052a6cb6c739d7","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.66-preview.20261002101558.tgz","fileCount":3127,"integrity":"sha512-YS9p5K/7mNbPecyjG/Fz3byAJtu9NmSG3k2sEN9boirwttHL1VjHMe7xc+oBJVvas7hKF5rvgCLpvAOPQMXYIQ==","signatures":[{"sig":"MEQCIF1nAgfnOVILHUayTdJRXb2p17G59WzxOapBzzflrrzUAiA8ZqfmQ43YMrHp3Fp+d9WZSqvhW1lvJyOXdZfBRd05XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID9sbyovamvhra64vtFQPSEqesInpgNu7m4b1UbfN5vFAiBUoe2hLvjSuKxX2LhAyic7FYcoSKyQWfym+orbxWKcog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.66-preview.20261002101558","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31141834},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"74a66de89df8ac9f11919e6008138c9564522614","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.66-preview.20261002101558_1790905147747_0.8485281008144556","host":"s3://npm-registry-packages-npm-production"}},"2.17.66":{"name":"cli-jaw","version":"2.17.66","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.66","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"390cb667f86078f77689b2e5059891cc91d8af61","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.66.tgz","fileCount":3127,"integrity":"sha512-T5+CQWvz5sJ+2qwPSLiCM7YGmtUsSNcyYBQsOlVfrKxIjyDSjq2Km3CiAwU4U1XoQtME613nPNcWdUPGD+LhKA==","signatures":[{"sig":"MEYCIQCWFcuV3rVn6Etvza7unu7yN/SpO7j9GOymoNDozj9uawIhALrxh7jqgEh7z/wXEfYvOc4IpWzxCkLEYTuBWSRVZ9Xg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCtxA1KVyt0lwTfELDCrY+0po1YCIbPj8uRoLiWzWwxLgIhAMNOG9GIrdE16EzkSzy/0Z/Trqei2erQrKyeMcnfZBAY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.66","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31141811},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"916bf0a1fc4cc9cb9e37848c0836de7367f3698a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.66_1790906381808_0.26705539679986057","host":"s3://npm-registry-packages-npm-production"}},"2.17.67-preview.20261003025758":{"name":"cli-jaw","version":"2.17.67-preview.20261003025758","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.67-preview.20261003025758","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"229bd6579b0d23a3444d4c5c94c854588a2204e3","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.67-preview.20261003025758.tgz","fileCount":3127,"integrity":"sha512-KFByhUZhoxYROCdai4XY4XxMw2Uwadd/1o2PdtHYfcQiihgE1qMXseeuo1VV9PKKFM9T47Mb9B5GflSELsY0VA==","signatures":[{"sig":"MEQCIA0WFL+dJz99ATiTpZUZMpmBhYaMNEoZtm7Xa0WMbx+jAiBEna+N+BoxYCFx4rTTcomgK8QFVbjh8c1CqwOQgjtOEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDIJKWWPHmU8tAMdGP2wTnTLL0+mdaxD1T+IommN86SgwIhAJJYrXlgRYRXKHBcP8VCAvwfyJsl3jy8oZpXgMgKGZ3t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.67-preview.20261003025758","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31142653},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"fffbf416ff33edb097c689823a1044e60fd2fb41","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.67-preview.20261003025758_1790965066707_0.9063003710833761","host":"s3://npm-registry-packages-npm-production"}},"2.17.67":{"name":"cli-jaw","version":"2.17.67","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.67","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d52e36ecd9acc4c68a77c6c12b23a3e04cc9f476","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.67.tgz","fileCount":3127,"integrity":"sha512-Yj1xt9c/ljmXM9uUANH4vZGiptcYlAOXKe5egdrNYP22COCZjYK06cqeaiCmKhrdfTDkkpp2jvAkEqaLWy2MFQ==","signatures":[{"sig":"MEUCICpW0UYMLZoBSoTZSg87CrN9dSTbEhaDrahGh3fI7+p7AiEAplOfgh2ar/pbXPPd7CqQMsTVM4zHoGDb+yMLhXsmEs8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCR2zvGtxM2IA34eGgHM5bMG3OOQdpRv7n8qKhCBsKDSAIgIxg3QfBTfN1Dm/7qbozc7calHx4zATyVVaKtAWOFhME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31142630},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"09b3e0c21cf3dc0f33a092acb07caf2689d2bf3d","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.67_1790966107089_0.5755212313035318","host":"s3://npm-registry-packages-npm-production"}},"2.17.68-preview.20261004095647":{"name":"cli-jaw","version":"2.17.68-preview.20261004095647","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.68-preview.20261004095647","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"dcc79e1f8f6892447d275b3fa55a76dd4750af2e","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.68-preview.20261004095647.tgz","fileCount":3129,"integrity":"sha512-n43LOeEbr/CrGsa397xb4LGK81IelwjzSRZGWpoPN2DOurSXiU1yfyyRYdVxgsO56KcmG6sojdV8oc1FPDtXVA==","signatures":[{"sig":"MEQCIFeD8FbLxW2ehMwgwsk9Nu+pNBfN3x5HQPC27kZt1TXWAiBGGGHMxSxj8NZRxoU70GAhRnMpw+wtVZ9uRG/akV+0Qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDmTVLjEPrtMZ+mW10jMe06+9Z7wFQErYP7GN9b9mHJXwIgcM54vXE3fglTmtm26Nzwjaen2B9WgQ6i1CE3fO1SVDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.68-preview.20261004095647","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31170836},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"3194eb6dc0c1e3be82a6695a3069b3b040b3eadf","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.68-preview.20261004095647_1791076544726_0.8421147383211447","host":"s3://npm-registry-packages-npm-production"}},"2.17.68":{"name":"cli-jaw","version":"2.17.68","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.68","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"ddc8836d0f16333141a1ba8701ed803e78b9ab2f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.68.tgz","fileCount":3129,"integrity":"sha512-nR42fT4yChwRmuD5ahQ/4IMvx8a/l34rUcTI68PHuApTx19tXkKBhBl1N1NzQstU/T+R16PC6XnbPmSSObrAgw==","signatures":[{"sig":"MEYCIQCDn4LFD5UbbqrFH4bQzoi4gvK5va+tcehsLRjjTrQqwwIhAJheqfLWIXStkyRj8bJZNGKXkp80fmylVEYbr1Subtzg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCitFA+laPYj6Fnf3fGAdjcQKeCpY52clJpBew9d7tjhQIgPCAZFd/h7UEjov58e4Nqq3qckhWM3cxvSEafIdPzI3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.68","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31170813},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e7e56c25f1a63132569a50151a21cca61e4dc345","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.68_1791077732103_0.9564135561267375","host":"s3://npm-registry-packages-npm-production"}},"2.17.69-preview.20261006105539":{"name":"cli-jaw","version":"2.17.69-preview.20261006105539","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.69-preview.20261006105539","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"46ca2a7092b3ef02912e99aed10983444d7b8276","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.69-preview.20261006105539.tgz","fileCount":3136,"integrity":"sha512-rXVzScAYp7uv0/tAW0WwP5hZTV0JMivpUfUZ10Oqem3GC8DW+CBtnR/WPR37Y+nOELtVgUyabKeTlDgaFKOaQg==","signatures":[{"sig":"MEUCIBQkEWRUyphUGdg8lIyLzsWTcvC5/HXuqPnDMROYT8TVAiEA0+rNSN1eshe3HjIx/NMb0zcrc/RfXvdtOM2SrnoPiV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCTNd04MyW/G0uwLfVKUSvcI+f8Dy6ilhL9v2NzOw8ZnQIgVpaegbtaSpAnrstecpJlDi1+W7E5BYsuQBA7wJfpBAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.69-preview.20261006105539","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31212801},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"c269ac10b285767b085d88d277c98d8130b86110","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.69-preview.20261006105539_1791252900657_0.4679495536038605","host":"s3://npm-registry-packages-npm-production"}},"2.17.69":{"name":"cli-jaw","version":"2.17.69","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.69","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"8140d89c03065a8df3f73215e37affca60671791","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.69.tgz","fileCount":3136,"integrity":"sha512-Wu++OsorBe00zwliDJM8IYXdbZYn7fXQT0cL9kwvQE5W2Xg0hQ8uXCIMqn/jYVqjxF7wk8++Ju0t/qEKWfmIlg==","signatures":[{"sig":"MEYCIQCUGhLjl3LwCuNNmRBku+sK5hH1K8AQFyqBOUzgzH1yOQIhAM7SHKy+0GdgZyX4XNe9eJRbAuCHZmhcebduBNU8n/Ln","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICZz/LurRYN08VXKmHeF5ZSDevjKksqBp6olrwotE2vtAiAvUz8CM/e09LqcnuC0RpLPaGsw/PVLVt/4b3aMa6yfhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.69","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31212778},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"09dcae7ca0be9ddbf8e8d8fe6514f64526b7b98a","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.69_1791253830920_0.10764730049407678","host":"s3://npm-registry-packages-npm-production"}},"2.17.70-preview.20261006234744":{"name":"cli-jaw","version":"2.17.70-preview.20261006234744","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.70-preview.20261006234744","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"50e3fd103d26a49c8c3bf7d6f48849b08c062e9b","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.70-preview.20261006234744.tgz","fileCount":3146,"integrity":"sha512-yo4mnFLj+hZkY3tgO+zQBuYJ+5m9GQ805xvBbQImi0gedAIcbRWKNSkFAJpvwLR8iM9TcvdhIEE4cBzyBHcwzA==","signatures":[{"sig":"MEUCIQCzbHOFAQ66atsmES+waZboUSsX0raI17BmbkSyt8BL4wIgBFCJ2rD1g1kj2IojDjtM9+MX8/Qf3C4VweghMx2Tnlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDWG/Wjxc1bHhfGwC+ktKVWWclcKczutJrL9B28l/Kc0AIhAI7Fmj3trUl5E1CGpJ1xKdhPq2MkV1L/ywg99u12xBM4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.70-preview.20261006234744","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31302696},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"764c762c613809d8b1bb3ad98debf8ec3cc5e97b","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.70-preview.20261006234744_1791299141272_0.026960603826685192","host":"s3://npm-registry-packages-npm-production"}},"2.17.71-preview.20261007003718":{"name":"cli-jaw","version":"2.17.71-preview.20261007003718","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.71-preview.20261007003718","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"2c9e203cf48d66958ef51a586ec039d1befad899","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.71-preview.20261007003718.tgz","fileCount":3146,"integrity":"sha512-bdFGvp7U5PNw24EPx1zMYbdcLaGmuEwKjyxwXtmBO0SxpGejEDkR7rbdyI5DXeK8I5RcY+PpnKX3JF54kS8LDg==","signatures":[{"sig":"MEUCIGVonaioP8Xea2PM+kgXnrxzwImE5kBUEqwhGr+KvSUIAiEA7YL5JWnjHpPNNpJK9H6Nq8szVpMf76nWttycV/pmEd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCBU/WuzC+LS5ZN6uJlk1rto703XIiFT9igYbD2JmCkdgIhAM2u0B7GtdWQe2Ziq9VRx+Xtt6aVMOh+fbruWK0/Usfm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.71-preview.20261007003718","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31302726},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"d17e7e81f2d80dc67e7999a06b4d860ec0d867a4","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.71-preview.20261007003718_1791302281321_0.6873562573605589","host":"s3://npm-registry-packages-npm-production"}},"2.17.71":{"name":"cli-jaw","version":"2.17.71","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.71","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"aa9d1aa967826a17c07101e20eebd5979984442d","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.71.tgz","fileCount":3146,"integrity":"sha512-hr7A8OxyHaRJRDx0aNP+cO4uqvYEz+OF0KLYn3CMfX8eSnGyiSai+cF7IOmCy8hK8p5IPkVt/WqXQ3coiAtkbA==","signatures":[{"sig":"MEUCIBXgNpJKyMsif9X/8XQ514rqEefV4G5gyr61v6mwvWCkAiEAokVhRiMbqUKab7n+v19OB9kbQAxNbNTqmR2NUv44xVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFIUPOG+oImfiUcYIULMN7gT1+8zfTYaettCx0vx8t2XAiAO7IVriPSwJaVBDuyTfaLE1Vh9k8ahc8tMPeks9VDxJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.71","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31302703},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"5e0df881e594714e204c5ebfcab920fdf6f8d381","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.71_1791304402341_0.6927021279602501","host":"s3://npm-registry-packages-npm-production"}},"2.17.72-preview.20261008121258":{"name":"cli-jaw","version":"2.17.72-preview.20261008121258","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.72-preview.20261008121258","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"d5edc5d5f9fde0650417e918a976985bc6ecc932","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.72-preview.20261008121258.tgz","fileCount":3146,"integrity":"sha512-tFtGl9CI1dSVtZRSezcevISnGqMTk16198+onz92rPKVO1TCTcsX30M8SC7GhbSvjOHIhO1UswVMW4IWhH6png==","signatures":[{"sig":"MEUCIQC84Ghc19EjQKuGqrjBLI1qwcXF6qwAzDc3fnJuvWZZEgIgemdptucsjRExyYhXSNExcLO/VaXo1fhgwX1FbKflaeo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCSDn/SkxlVPOyfrSZVQ0yOEaXIRHQ4smO9iIM5l2rMTAIgYYYv5qbsZ39lvDp5uKNn7RKCatP50kGSzrXykcRQPHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.72-preview.20261008121258","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31303071},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"40af3823364539f074fc6732987ec225192859c6","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.72-preview.20261008121258_1791430606023_0.7023389286130481","host":"s3://npm-registry-packages-npm-production"}},"2.17.72":{"name":"cli-jaw","version":"2.17.72","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.72","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"c3aca295c4b32a0a3b5b711205f524277a73142f","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.72.tgz","fileCount":3146,"integrity":"sha512-uz1SGP+LK2C8ZCxEID0jpKVj1gnoo15L9zqtho2KYx43SZk0kUAHqeJCfkUNnEjtaz517ZdiL8O9ZwebVOyptg==","signatures":[{"sig":"MEYCIQC9FcmUP2OWEfbI985QHeVOT2THR4g6rlXFXlmPmeZRqwIhAPVVFBlsTZ7TN5aQxzmijUT0wUW+t9zpj/dRMamD1ntU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBJClZlwawxLsbkDHzmGFLSaz7m/2/d7MJX74Z1e0R6XAiAn5M/vVKeX5hfmj1qS3QRM1guMCeSXqRM4Eljs09aAJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31303048},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"1a60102664802cb8f87cbdb01b493561d1b45d54","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.72_1791431788085_0.5004772383932525","host":"s3://npm-registry-packages-npm-production"}},"2.17.73-preview.20261010163203":{"name":"cli-jaw","version":"2.17.73-preview.20261010163203","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.73-preview.20261010163203","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"0eb3005c59606e883048f4a3b6f864b91c4252dc","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.73-preview.20261010163203.tgz","fileCount":3161,"integrity":"sha512-gBzzsavBLkyc6Jk8ZdW67pB8VtujOTglEt5s7O724CP0eYJnHk99Mrgv+xANH939QtVhHrZC2gNDg/u3ouOwpw==","signatures":[{"sig":"MEUCIQCYxRxhNgVojcHEferqNhoILNOLsE7FsLQLVjBQHjVVhgIgLajloEd6yLnDEyMAl4Bl4VR7t5rInAhWU2tDW8gtdI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHz6OJ4BBysG2rFPsls21aaHy9SsFHXlyariKpeyEWNAAiBrcV3cjzJx3qemZaoo39LtAmE/sBevuuD7Q4+oz4Bm7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.73-preview.20261010163203","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31498832},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"5903a02ef194786961d14e0202be0fcce24f27a7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.73-preview.20261010163203_1791618604058_0.1710477652567779","host":"s3://npm-registry-packages-npm-production"}},"2.17.73":{"name":"cli-jaw","version":"2.17.73","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.73","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"b5827b8bdbefc48fb52fed557a316f9f56ef4655","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.73.tgz","fileCount":3161,"integrity":"sha512-0GZ7uxPLXjbUAhCpXfZIVsUJwqaSJPJinPh2dEyShatV9F0Qc8UsxqpfEDx9IUBtBwKFlD9pY1ieWhh4ifxlDA==","signatures":[{"sig":"MEUCICMEZc/2DJ9I8HysBx/F8P2HDogxd8EE4aWIUxQlsvnfAiEA+YRk2kYnnUSwyCCdt5fV6YpP8H4hokOuSrnuvN5TaPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFRbTmpjaN4k2e+9Pdszb3UJoBrKhGenJTMK1IJERs3JAiEAl75upry/x7rEiYk7YhCu+4JF+Js22y4Ha+h+rLr64WY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.73","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31498809},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"aca08d9148e368ecf557240a25a0b708cd795a94","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.21.0","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.282"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.73_1791619476675_0.6786908854279012","host":"s3://npm-registry-packages-npm-production"}},"2.17.75-preview.20261106212402":{"name":"cli-jaw","version":"2.17.75-preview.20261106212402","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.75-preview.20261106212402","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"a459d9eb13c0f719e54bd610d81908b70830e783","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.75-preview.20261106212402.tgz","fileCount":3167,"integrity":"sha512-PLy1hlvoI+prPFVRZpJESemXG1P12YJZ25efi5VSqfC0EkG3kQHE6cfD8phg4zHlN7FImQLO1yPcPx1w1mDTMg==","signatures":[{"sig":"MEUCIQD0I39wNuH7dI7PS/n7zfzk6dmAZ+ainzUIExcsRvLk3AIgJjC61Z5XfkniexqdJQt3pLaas/9GVLpEC1HmMztGokw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDNeRy48svb1TBfB74sWOHqNtZ4xrK6Z8dJ3MflKax9sQIgaL+f9tLQom6IuZEjFEeO6R3odUeiiwY2DB72rY2Tgg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.75-preview.20261106212402","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31552873},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e140b897543a31215899f359376b86b052df5622","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:dev-ff-main":"node scripts/release-gates.mjs dev-ff-main","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.22.2","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.284"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.75-preview.20261106212402_1793971890194_0.5708117946941562","host":"s3://npm-registry-packages-npm-production"}},"2.17.75":{"name":"cli-jaw","version":"2.17.75","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.75","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"6200258acbf69478a70ad642d989764340d2bf0c","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.75.tgz","fileCount":3180,"integrity":"sha512-yNYdukINo43KzPUgfSNKidHGAt7MP4xEHGq3/dxPuBwFdKMrki1c3CGEOYC0aUhAldC0chJEmgzJICaRSzIWLA==","signatures":[{"sig":"MEYCIQDS+h/2+stDzn36h5fUEJ8MDXdevqcGniUSsokuyHZt+wIhAPcrI6pE4YfeD3JHo2L0xgvifAsOXMzDBYAwbWUxQrdb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGDNOcA5eGI/cLZLCxv2u2obYwFuxidADI/vnQ+mbZ2XAiEAxg0u+gqcdbiSb8JHn1WY0Y1AQDXeK71ZXhKLHTuIMz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.75","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31736986},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"69f68fdc7dba2cae02c28b5d37f46dd0d9961207","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.22.2","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.284"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.75_1794059168957_0.6738128424275616","host":"s3://npm-registry-packages-npm-production"}},"2.17.76":{"name":"cli-jaw","version":"2.17.76","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.76","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"bd44529eb56f9fbe95c2b2031dc292b49fdb4b04","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.76.tgz","fileCount":3181,"integrity":"sha512-B5s/IJjbpQs8ZUqVDq2MNAy1/U4DMNkRB5BGpV/RLeZhlIeYCrfqrV0K+GE3tqGCzD9uIaO/IeJjspr5CwUiNQ==","signatures":[{"sig":"MEQCIE3G9nnIYTeLcfOH7596e8PX+nCVsKL9152PqCPJMX2oAiBapiqbfODTA4/osMiMQXgQQKSUFwwHCef4KXETLjTtFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCnmKplHTV5+FrfbStqHF8QC0pFDHEPUZ8bqwqoYsTy5wIgS6BMJF0rQDRi+5WcAakAX7vd8mDw2njBxlVgMpVtmm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31875018},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"b2aaf48f8ba1d3cd9c6cd16b44637ee2542d05d7","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.22.2","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.284"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.76_1794108046055_0.6749594397745581","host":"s3://npm-registry-packages-npm-production"}},"2.17.77":{"name":"cli-jaw","version":"2.17.77","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"author":{"name":"CLI-JAW Contributors"},"license":"MIT","_id":"cli-jaw@2.17.77","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"homepage":"https://github.com/lidge-ai/cli-jaw#readme","bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"dist":{"shasum":"46773aa797bc1a389b574bb32d34697bbb739d94","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.77.tgz","fileCount":3181,"integrity":"sha512-ftCrs/SKh73rCLiXMRd+VA4dkMGlj2m7LKjXmMd7zqodPavOivgkvpTQfRIPHzRlQ1yyY9Xnk8cZDE+VJBGUfQ==","signatures":[{"sig":"MEYCIQDis87uQ75PpMY03GOMSob4klMRVKPaXw1h9Q2Y8uWFzwIhAKBU6iKxlcoXQIToWQrw0uaJ6FdeEzFLeJf80x+bzIAe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDUjrbSodveVeBIjBvk5CmW33SqW7oNWIonDbRT8MXxmAiEAy057QrXkKbTwdPJQvNUC/O6tSUuLwNiFqyIl8g5PPX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.77","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31875386},"type":"module","engines":{"node":">=22.4.0"},"gitHead":"e4eefba0cd64f97b823a2496ee4e6a7f737af9b2","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"_nodeVersion":"24.22.2","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.284"},"_npmOperationalInternal":{"tmp":"tmp/cli-jaw_2.17.77_1794300248473_0.11752258827469186","host":"s3://npm-registry-packages-npm-production"}},"2.17.78":{"_id":"cli-jaw@2.17.78","bin":{"jaw":"dist/bin/cli-jaw.js","cli-jaw":"dist/bin/cli-jaw.js"},"bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"dist":{"shasum":"509f22e3425bf8d45274f53e29a63e7fd6807756","tarball":"https://registry.npmjs.org/cli-jaw/-/cli-jaw-2.17.78.tgz","fileCount":3181,"integrity":"sha512-DkBx8ju4So/pfMEm6n0H0OA1nWmdZtOleSo3a7V+VW+fb6M7xglIN6ySeqqI0PN641B86irMJO+a9anHXK1GZA==","signatures":[{"sig":"MEYCIQDPWenKLIHWSc1Vxn34TViHGk50JHRavE/nyqcPV+PwoAIhAK6eN5eVcKOBMI7uL2ewz+cYitbb7rhBQjEqEn4pyGE1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGERWK4OwIaWm+cFlfYGS7kkNJST/lsoif58zwLUweY2AiA2oOruqoif7lgWgghhlRaQKlOOFZE4buDzAB5vipxkmg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cli-jaw@2.17.78","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31880433},"name":"cli-jaw","type":"module","author":{"name":"CLI-JAW Contributors"},"engines":{"node":">=22.4.0"},"gitHead":"590a446a768891212de2b188d629e2052d8f64c0","license":"MIT","scripts":{"dev":"tsx --env-file=.env server.ts","test":"tsx --experimental-test-module-mocks tests/run.mts","build":"bash scripts/atomic-build.sh","pretest":"npm run ensure:native","gate:all":"node scripts/release-gates.mjs","prebuild":"npm run ensure:native","test:all":"tsx --experimental-test-module-mocks tests/run.mts --all","test:waf":"node scripts/run-with-env.mjs WAF_TEST_ENABLED=1 -- tsx tests/waf/waf-runner.ts","postbuild":"bash scripts/verify-dist-assets.sh && node scripts/link-current-nvm-bin.cjs","typecheck":"tsc --noEmit","check:deps":"tsx scripts/check-deps-offline.ts","clean:dist":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true});\"","docs:check":"tsx scripts/docs/check-docs.mts","gate:tests":"node scripts/release-gates.mjs tests","test:shard":"tsx --experimental-test-module-mocks tests/run.mts --scope root,unit --shard","test:smoke":"node scripts/run-with-env.mjs TEST_PORT=3457 -- tsx --test tests/integration/api-smoke.test.ts","test:watch":"tsx --experimental-test-module-mocks tests/run.mts --watch","postinstall":"node scripts/postinstall-guard.cjs","pretest:all":"npm run ensure:native","test:events":"tsx --test tests/events.test.ts","dev:frontend":"vite --config vite.config.ts","docs:windows":"tsx scripts/render-windows-support.mts","electron:dev":"concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"","ensure:native":"node scripts/ensure-native-modules.cjs","i18n:registry":"tsx scripts/i18n-registry.ts","pretest:smoke":"npm run ensure:native","test:coverage":"tsx --experimental-test-module-mocks --experimental-test-coverage tests/run.mts --all","test:telegram":"tsx --test tests/telegram-forwarding.test.ts","build:frontend":"vite build --config vite.config.ts","electron:build":"npm --prefix electron run build","electron:start":"npm --prefix electron run start","gate:doc-drift":"node scripts/release-gates.mjs doc-drift","gate:gate-docs":"node scripts/release-gates.mjs gate-docs","gate:typecheck":"node scripts/release-gates.mjs typecheck","prepublishOnly":"npm run check:private-boundary && npm run build && npm run build:frontend && npm run check:frontend-build-output","rebuild:native":"npm rebuild better-sqlite3","sidecar:bundle":"bash scripts/bundle-sidecar.sh darwin arm64","smoke:opencode":"tsx scripts/smoke/opencode-external-dir-smoke.ts","verify:mac-dmg":"node scripts/verify-mac-signature.mjs --dmg","check:app-icons":"node scripts/check-app-icon-assets.cjs","check:deps:audit":"tsx scripts/check-deps-audit.ts","gate:agents-size":"node scripts/release-gates.mjs agents-size","gate:native-load":"node scripts/release-gates.mjs native-load","gate:path-length":"node scripts/release-gates.mjs path-length","preview:frontend":"vite preview --config vite.config.ts","test:integration":"tsx --experimental-test-module-mocks --test tests/integration/*.test.ts","check:copilot-gap":"tsx scripts/check-copilot-gap.ts","check:deps:online":"bash scripts/check-deps-online.sh","check:path-length":"node scripts/check-path-length.mjs","electron:dist:mac":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac && npm run electron:resign:mac && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons","test:install-risk":"node scripts/install-risk-gate.mjs","gate:sidecar-smoke":"node scripts/release-gates.mjs sidecar-smoke","test:fresh-install":"tsx scripts/fresh-install-smoke.ts","typecheck:frontend":"tsc --noEmit -p tsconfig.frontend.json","verify:dist-assets":"bash scripts/verify-dist-assets.sh","check:cli-bin-links":"node scripts/check-cli-bin-links.cjs","electron:resign:mac":"codesign --force --deep --sign - electron/dist/mac-arm64/cli-jaw.app","pretest:integration":"npm run ensure:native","qa:manager-frontend":"npm run build:frontend && npm run typecheck:frontend","test:web-ui-runtime":"tsx --import ./tests/setup/test-home.ts --experimental-test-module-mocks --test tests/unit/web-ui-runtime-*.test.ts tests/unit/web-ui-processblock-runtime.test.ts tests/unit/web-ui-mermaid-runtime.test.ts tests/unit/web-ui-sanitizer.test.ts tests/unit/web-ui-build-output-guard.test.ts","gate:no-cloud-claims":"node scripts/release-gates.mjs no-cloud-claims","gate:redaction-sinks":"node scripts/release-gates.mjs redaction-sinks","gate:strict-baseline":"node scripts/release-gates.mjs strict-baseline","smoke:tui-fullscreen":"tsx scripts/smoke/tui-fullscreen-frame-smoke.ts","test:integration:all":"tsx --experimental-test-module-mocks tests/run.mts --scope integration,manager,bin","test:manager:browser":"tsx --test tests/browser/manager-layout-smoke.test.ts","verify:fresh-install":"bash scripts/verify-fresh-install.sh","verify:mac-signature":"node scripts/verify-mac-signature.mjs electron/dist/mac-arm64/cli-jaw.app","check:strict-baseline":"node scripts/check-strict-baseline.mjs","gate:electron-version":"node scripts/release-gates.mjs electron-version","gate:mcp-scope-frozen":"node scripts/release-gates.mjs mcp-scope-frozen","sync:electron-version":"node scripts/sync-electron-version.cjs","check:private-boundary":"node scripts/check-private-boundary.mjs","gate:install-integrity":"node scripts/release-gates.mjs install-integrity","gate:truth-table-fresh":"node scripts/release-gates.mjs truth-table-fresh","verify:release-evidence":"node scripts/verify-release-evidence.mjs","check:electron-no-native":"node scripts/check-electron-no-native.cjs","electron:dist:mac:signed":"npm run build:frontend && npm run sidecar:bundle && npm --prefix electron run build && npm --prefix electron run dist:mac -- --config.mac.notarize=true --config.dmg.sign=true --publish never && node scripts/notarize-mac-dmg.mjs && npm run check:electron-dist-mac-no-jwc && npm run check:electron-dist-mac-smoke && npm run check:app-icons && npm run verify:electron-update-metadata && npm run verify:mac-signature && npm run verify:mac-dmg","docs:channel-capabilities":"tsx scripts/generate-channel-capability-table.mts","gate:model-adapter-frozen":"node scripts/release-gates.mjs model-adapter-frozen","gate:sidecar-prune-safety":"node scripts/release-gates.mjs sidecar-prune-safety","check:sidecar-prune-safety":"node scripts/check-sidecar-prune-safety.mjs","gate:messaging-conformance":"node scripts/release-gates.mjs messaging-conformance","test:messaging-conformance":"tsx --experimental-test-module-mocks tests/run.mts tests/unit/channel-contract-conformance.test.ts tests/unit/messaging-command-parity.test.ts tests/unit/messaging-durable-ingress.test.ts tests/unit/telegram-ingress-journal.test.ts tests/unit/discord-ingress-journal.test.ts tests/unit/ingress-generation.test.ts tests/unit/messaging-trace-context.test.ts tests/unit/messaging-metrics.test.ts","check:frontend-build-output":"tsx scripts/check-web-ui-build-output.ts","audit:fresh-install-evidence":"node scripts/audit-fresh-install-evidence.mjs","check:electron-dist-mac-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/win-unpacked/resources/server","check:electron-sidecar-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs","gate:observe-actions-fixtures":"node scripts/release-gates.mjs observe-actions-fixtures","smoke:retired-runtime:package":"node scripts/retired-runtime-package-smoke.mjs","check:electron-dist-mac-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/server","check:electron-dist-win-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/win-unpacked/resources/server","collect:fresh-install-evidence":"bash scripts/collect-fresh-install-evidence.sh","gate:action-memory-safe-replay":"node scripts/release-gates.mjs action-memory-safe-replay","check:electron-dist-linux-smoke":"node scripts/check-sidecar-smoke.mjs --server-root electron/dist/linux-unpacked/resources/server","gate:browser-primitives-catalog":"node scripts/release-gates.mjs browser-primitives-catalog","verify:electron-update-metadata":"node scripts/verify-electron-update-metadata.mjs electron/dist electron/dist/mac-arm64/cli-jaw.app/Contents/Resources/app-update.yml","check:electron-dist-linux-no-jwc":"node scripts/check-electron-sidecar-no-jwc.cjs --server-root electron/dist/linux-unpacked/resources/server","gate:observation-bundle-fixtures":"node scripts/release-gates.mjs observation-bundle-fixtures","gate:workflow-common-layer-no-sdk":"node scripts/release-gates.mjs workflow-common-layer-no-sdk","verify:electron-update-metadata:win":"node scripts/verify-electron-update-metadata.mjs --platform win","gate:no-experimental-in-readme-ready-section":"node scripts/release-gates.mjs no-experimental-in-readme-ready-section"},"version":"2.17.78","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c3a155f0-b77e-41f5-abbf-4f2af8eda51b"}},"homepage":"https://github.com/lidge-ai/cli-jaw#readme","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"overrides":{"qs":"^6.16.0","shell-quote":"^1.12.0","@modelcontextprotocol/sdk":"^1.31.0"},"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"_npmVersion":"11.5.1","description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","directories":{},"maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"_nodeVersion":"24.22.2","allowScripts":{"better-sqlite3":false},"dependencies":{"d3":"^7.9.0","ws":"^8.18.0","yaml":"^2.8.4","katex":"^0.16.44","react":"^19.2.5","trash":"^10.1.1","grammy":"^1.44.0","helmet":"^8.1.0","marked":"^18.0.0","undici":"^7.29.0","express":"^5.2.1","mermaid":"^11.17.1","unified":"^11.0.5","dompurify":"^3.4.14","fast-glob":"^3.3.3","react-dom":"^19.2.5","discord.js":"^14.27.0","node-fetch":"^3.3.2","remark-gfm":"^4.0.1","sqlite-vec":"^0.1.9","eventsource":"^3.0.7","remark-math":"^6.0.0","@xterm/xterm":"^6.0.0","highlight.js":"^11.11.1","rehype-katex":"^7.0.1","remark-parse":"^11.0.0","@lucide/icons":"^1.8.0","@milkdown/kit":"^7.20.0","remark-breaks":"^4.0.0","better-sqlite3":"^13.0.2","react-markdown":"^10.1.0","playwright-core":"^1.58.2","rehype-sanitize":"^6.0.0","@codemirror/view":"^6.43.0","@grammyjs/runner":"^2.0.3","@lezer/highlight":"^1.2.3","@xterm/addon-fit":"^0.11.0","marked-highlight":"^2.2.3","unist-util-visit":"^5.1.0","@codemirror/state":"^6.6.0","remark-frontmatter":"^5.0.0","@codemirror/language":"^6.12.3","@uiw/react-codemirror":"^4.25.9","@replit/codemirror-vim":"^6.3.0","@tanstack/virtual-core":"^3.13.23","@codemirror/autocomplete":"^6.20.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@grammyjs/transformer-throttler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vite":"^8.2.2","jsdom":"^29.1.0","@types/d3":"^7.4.3","@types/ws":"^8.5.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mdast":"^4.0.4","@types/react":"^19.2.14","@types/unist":"^3.0.3","concurrently":"^9.2.4","@types/express":"^5.0.6","@types/dompurify":"^3.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"@anthropic-ai/claude-agent-sdk":"0.3.284"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli-jaw_2.17.78_1794384200196_0.4043593363453707"}}},"time":{"created":"2026-02-25T09:57:40.740Z","modified":"2026-11-11T08:03:20.875Z","0.1.0":"2026-02-25T09:57:41.159Z","0.1.1":"2026-02-25T10:09:13.701Z","0.1.2":"2026-02-25T10:22:13.150Z","0.1.3":"2026-02-25T10:48:07.777Z","0.1.4":"2026-02-25T10:54:49.273Z","0.1.5":"2026-02-26T02:57:03.811Z","0.1.6":"2026-02-26T03:17:16.748Z","0.1.7":"2026-02-26T05:14:04.988Z","0.1.8":"2026-02-26T07:32:45.716Z","0.1.9":"2026-02-26T07:54:56.581Z","0.1.10":"2026-02-26T08:01:42.709Z","0.1.11":"2026-02-26T08:10:36.587Z","0.1.12":"2026-02-26T10:08:52.305Z","1.0.0":"2026-02-26T10:10:33.512Z","1.0.2":"2026-02-26T16:02:30.863Z","1.0.3":"2026-02-26T18:13:08.283Z","1.0.4":"2026-02-26T18:37:10.216Z","1.0.5":"2026-02-27T08:05:42.608Z","1.1.0":"2026-02-27T14:16:16.290Z","1.2.0":"2026-02-28T08:13:08.569Z","1.2.1":"2026-02-28T11:38:50.013Z","1.2.2":"2026-03-01T08:11:44.630Z","1.2.3":"2026-03-01T15:32:10.281Z","1.2.4":"2026-03-01T15:36:12.995Z","1.2.5":"2026-03-01T15:43:12.589Z","1.2.6":"2026-03-01T15:54:34.053Z","1.2.8":"2026-03-01T16:56:57.849Z","1.2.9":"2026-03-01T17:50:18.424Z","1.3.0-preview.0":"2026-03-05T00:43:02.028Z","1.3.0-preview.1":"2026-03-05T01:00:30.207Z","1.3.0-preview.2":"2026-03-05T02:27:23.156Z","1.3.0-preview.3":"2026-03-05T03:29:33.288Z","1.3.0-preview.4":"2026-03-05T03:56:46.326Z","1.3.0-preview.5":"2026-03-05T04:11:09.846Z","1.3.0-preview.6":"2026-03-05T06:42:07.084Z","1.3.0-preview.7":"2026-03-05T12:21:34.142Z","1.3.0-preview.8":"2026-03-05T18:55:21.422Z","1.3.1":"2026-03-06T01:50:26.218Z","1.3.2":"2026-03-06T02:51:47.364Z","1.3.3":"2026-03-06T05:28:41.495Z","1.3.4":"2026-03-06T11:58:57.087Z","1.3.5":"2026-03-06T12:10:03.363Z","1.3.6":"2026-03-06T12:20:58.202Z","1.4.0-preview.20260307160721":"2026-03-07T07:07:48.804Z","1.4.0-preview.20260307163555":"2026-03-07T07:36:16.941Z","1.4.0-preview.20260307185223":"2026-03-07T09:52:44.012Z","1.4.0-preview.20260308034637":"2026-03-07T18:46:59.075Z","1.4.0":"2026-03-08T12:24:00.641Z","1.4.1":"2026-03-09T00:51:28.041Z","1.4.2":"2026-03-09T00:58:55.423Z","1.4.3":"2026-03-09T04:11:33.223Z","1.4.4":"2026-03-09T04:30:59.679Z","1.4.6":"2026-03-18T07:23:53.968Z","1.4.7":"2026-03-19T05:13:40.114Z","1.4.8":"2026-03-19T05:18:57.648Z","1.4.9":"2026-03-19T09:41:44.694Z","1.4.10":"2026-03-19T10:06:36.911Z","1.4.11":"2026-03-20T04:36:27.383Z","1.4.0-preview.20260321002229":"2026-03-20T15:22:52.521Z","1.4.0-preview.20260321191547":"2026-03-21T10:16:11.825Z","1.4.0-preview.20260407081153":"2026-04-06T23:12:25.979Z","1.4.0-preview.20260407104723":"2026-04-07T01:47:54.941Z","1.4.0-preview.20260407131534":"2026-04-07T04:15:57.797Z","1.4.0-preview.20260407152537":"2026-04-07T06:26:05.246Z","1.4.0-preview.20260407153726":"2026-04-07T06:37:49.936Z","1.4.0-preview.20260407164935":"2026-04-07T07:50:01.527Z","1.4.0-preview.20260407193245":"2026-04-07T10:33:09.875Z","1.4.0-preview.20260408172104":"2026-04-08T08:21:34.609Z","1.4.0-preview.20260408185751":"2026-04-08T09:59:48.501Z","1.4.0-preview.20260409213333":"2026-04-09T12:34:04.879Z","1.4.0-preview.20260410010023":"2026-04-09T16:00:53.532Z","1.4.0-preview.20260410025646":"2026-04-09T17:57:09.790Z","1.4.0-preview.20260410033252":"2026-04-09T18:33:28.389Z","1.4.0-preview.20260410034744":"2026-04-09T18:48:10.190Z","1.5.0":"2026-04-09T18:55:09.220Z","1.5.0-preview.20260411000825":"2026-04-10T15:10:51.503Z","1.5.0-preview.20260411011327":"2026-04-10T16:13:47.732Z","1.5.0-preview.20260411011644":"2026-04-10T16:17:04.341Z","1.5.0-preview.20260411012213":"2026-04-10T16:22:36.050Z","1.5.0-preview.20260411012328":"2026-04-10T16:23:47.900Z","1.5.0-preview.20260411090847":"2026-04-11T00:09:35.870Z","1.5.0-preview.20260411092243":"2026-04-11T00:23:02.910Z","1.5.0-preview.20260411093145":"2026-04-11T00:32:15.461Z","1.5.0-preview.20260411094351":"2026-04-11T00:44:12.760Z","1.5.0-preview.20260411094502":"2026-04-11T00:45:25.316Z","1.5.0-preview.20260411114819":"2026-04-11T02:49:02.554Z","1.5.0-preview.20260411114958":"2026-04-11T02:50:18.562Z","1.5.0-preview.20260411121639":"2026-04-11T03:16:58.603Z","1.5.0-preview.20260411122604":"2026-04-11T03:26:46.564Z","1.5.0-preview.20260411123304":"2026-04-11T03:34:34.116Z","1.5.0-preview.20260411124214":"2026-04-11T03:43:48.746Z","1.5.0-preview.20260411124839":"2026-04-11T03:49:02.976Z","1.5.0-preview.20260411140157":"2026-04-11T05:02:19.414Z","1.5.0-preview.20260411145444":"2026-04-11T05:55:21.678Z","1.5.0-preview.20260411152903":"2026-04-11T06:29:23.042Z","1.5.0-preview.20260411160036":"2026-04-11T07:00:56.922Z","1.5.0-preview.20260411160425":"2026-04-11T07:05:04.245Z","1.5.0-preview.20260411160919":"2026-04-11T07:09:46.801Z","1.5.0-preview.20260411220414":"2026-04-11T13:04:38.580Z","1.5.0-preview.20260411221113":"2026-04-11T13:11:45.176Z","1.5.0-preview.20260412041145":"2026-04-11T19:12:16.147Z","1.5.0-preview.20260412211817":"2026-04-12T12:18:44.220Z","1.5.0-preview.20260413011821":"2026-04-12T16:18:40.373Z","1.5.0-preview.20260413085922":"2026-04-13T00:00:02.600Z","1.6.0":"2026-04-13T00:52:14.051Z","1.5.0-preview.20260413113159":"2026-04-13T02:32:21.945Z","1.6.2":"2026-04-13T03:37:31.484Z","1.6.3":"2026-04-13T03:45:05.464Z","1.6.4":"2026-04-13T10:28:23.191Z","1.5.0-preview.20260413213353":"2026-04-13T12:34:17.073Z","1.6.6":"2026-04-13T13:17:46.735Z","1.6.7":"2026-04-13T13:20:44.832Z","1.6.8":"2026-04-13T13:33:34.744Z","1.6.9":"2026-04-13T16:50:30.316Z","1.5.0-preview.20260414112252":"2026-04-14T02:23:14.257Z","1.6.10-preview.20260414172805":"2026-04-14T08:28:24.553Z","1.6.10-preview.20260414173907":"2026-04-14T08:39:27.580Z","1.6.10-preview.20260414212657":"2026-04-14T12:27:19.112Z","1.6.10-preview.20260414214446":"2026-04-14T12:45:09.889Z","1.6.10-preview.20260414222823":"2026-04-14T13:28:44.124Z","1.6.10":"2026-04-14T14:04:56.238Z","1.6.11":"2026-04-14T16:16:11.252Z","1.6.12":"2026-04-14T17:07:49.197Z","1.6.13":"2026-04-15T01:22:18.273Z","1.6.14":"2026-04-15T02:28:51.564Z","1.6.15":"2026-04-15T03:25:29.228Z","1.6.16":"2026-04-15T03:31:58.300Z","1.6.17":"2026-04-15T03:49:01.808Z","1.6.18":"2026-04-15T03:56:08.573Z","1.6.19":"2026-04-15T03:56:36.339Z","1.6.20":"2026-04-15T04:00:56.666Z","1.6.21":"2026-04-15T04:06:44.310Z","1.6.22":"2026-04-15T04:12:55.891Z","1.6.23":"2026-04-15T04:32:39.204Z","1.6.24":"2026-04-15T04:33:31.037Z","1.6.25":"2026-04-15T04:45:55.015Z","1.6.26":"2026-04-15T04:57:47.328Z","1.6.27":"2026-04-15T05:06:55.946Z","1.7.0":"2026-04-15T05:47:56.415Z","1.7.1":"2026-04-15T06:22:17.575Z","1.7.2":"2026-04-15T06:30:56.790Z","1.7.3":"2026-04-15T07:19:06.006Z","1.7.4":"2026-04-15T08:13:58.280Z","1.7.5":"2026-04-15T08:58:11.907Z","1.7.6":"2026-04-15T08:58:47.582Z","1.7.7-preview.20260416174442":"2026-04-16T08:45:05.517Z","1.7.7":"2026-04-16T17:58:45.761Z","1.7.8-preview.20260417044728":"2026-04-16T19:47:48.791Z","1.7.8":"2026-04-16T20:36:54.891Z","1.7.9":"2026-04-16T20:42:00.450Z","1.7.10":"2026-04-16T20:57:05.236Z","1.7.11":"2026-04-17T01:04:32.316Z","1.7.12":"2026-04-17T01:34:07.073Z","1.7.13-preview.20260417112057":"2026-04-17T02:21:21.536Z","1.7.13-preview.20260417113021":"2026-04-17T02:30:58.297Z","1.7.13":"2026-04-17T03:20:20.043Z","1.7.14":"2026-04-17T08:56:11.091Z","1.7.15":"2026-04-17T09:14:13.712Z","1.7.16":"2026-04-17T10:24:12.231Z","1.7.17":"2026-04-17T10:48:50.951Z","1.7.18":"2026-04-17T12:54:24.847Z","1.7.19":"2026-04-17T14:19:08.263Z","1.7.20":"2026-04-17T16:56:52.095Z","1.7.21":"2026-04-18T10:59:11.826Z","1.7.22":"2026-04-18T16:14:58.153Z","1.7.23":"2026-04-18T17:05:25.168Z","1.7.24":"2026-04-18T17:34:01.413Z","1.7.25":"2026-04-18T18:12:33.338Z","1.7.26":"2026-04-18T18:29:48.157Z","1.7.27":"2026-04-18T19:37:41.770Z","1.7.28":"2026-04-21T12:36:34.385Z","1.7.29":"2026-04-22T02:43:44.441Z","1.7.30":"2026-04-22T02:54:42.903Z","1.7.31-preview.20260423192222":"2026-04-23T10:23:25.067Z","1.7.31":"2026-04-24T01:48:45.141Z","1.7.32":"2026-04-24T06:03:11.965Z","1.7.33-preview.20260425120931":"2026-04-25T03:09:51.474Z","1.7.33":"2026-04-25T07:13:29.930Z","1.7.34-preview.20260426091048":"2026-04-26T00:11:09.443Z","1.7.34":"2026-04-26T04:33:56.243Z","1.7.35":"2026-04-26T07:38:34.400Z","1.7.36":"2026-04-26T09:17:28.208Z","1.7.37-preview.20260427031927":"2026-04-26T18:19:47.677Z","1.7.37-preview.20260427171130":"2026-04-27T08:11:51.346Z","2.0.0-preview.20260502015355":"2026-05-01T16:54:19.354Z","1.7.37":"2026-05-02T13:44:31.990Z","2.0.0":"2026-05-02T13:45:21.687Z","1.7.38-preview.20260502224525":"2026-05-02T13:45:37.536Z","2.0.1-preview.20260502224759":"2026-05-02T13:48:11.138Z","2.0.1":"2026-05-02T15:34:27.355Z","2.0.1-preview.20260503003432":"2026-05-02T15:34:44.520Z","2.0.2-preview.20260507142229":"2026-05-07T05:22:59.861Z","2.0.2":"2026-05-07T05:28:50.564Z","2.0.3":"2026-05-07T07:23:31.955Z","2.0.4":"2026-05-08T07:29:27.655Z","2.0.5":"2026-05-14T08:14:28.978Z","2.0.6-preview.20260520143244":"2026-05-20T05:35:54.823Z","2.0.6":"2026-05-20T05:42:49.783Z","2.0.10":"2026-05-24T01:48:25.829Z","2.0.13":"2026-05-24T02:29:07.628Z","2.0.16":"2026-05-28T19:14:02.605Z","2.0.17-preview.20260529041409":"2026-05-28T19:14:30.208Z","2.1.0":"2026-05-29T04:06:38.809Z","2.1.1":"2026-05-29T04:40:44.615Z","2.1.2":"2026-05-30T20:56:07.593Z","2.1.3":"2026-06-04T08:04:00.961Z","2.1.5":"2026-06-15T13:16:02.689Z","2.1.6-preview.20260621123500":"2026-06-21T04:46:48.600Z","2.1.7-preview.20260622144402":"2026-06-22T05:49:06.896Z","2.1.8-preview.20260622152202":"2026-06-22T06:24:22.439Z","2.1.9-preview.20260622153241":"2026-06-22T06:34:41.964Z","2.2.0":"2026-06-22T13:15:07.166Z","2.2.1":"2026-06-23T09:04:38.129Z","2.2.1-preview.20260625145621":"2026-06-25T05:58:05.785Z","2.2.2":"2026-06-25T06:20:53.587Z","2.2.3-preview.20260625152056":"2026-06-25T06:22:43.345Z","2.2.4-preview.20260627172627":"2026-06-27T08:32:20.955Z","2.2.3":"2026-06-27T10:38:43.020Z","2.2.4-preview.20260703203439":"2026-07-03T11:36:21.391Z","2.2.4":"2026-07-03T11:38:36.309Z","2.2.6-preview.20260709110810":"2026-07-09T02:18:15.376Z","2.2.5":"2026-07-09T02:18:18.808Z","2.2.6":"2026-07-11T00:10:00.858Z","2.2.7-preview.20260711090907":"2026-07-11T00:10:52.251Z","2.2.8-preview.20260711123136":"2026-07-11T03:33:32.446Z","2.2.7":"2026-07-11T03:34:04.083Z","2.2.8-preview.20260725234544":"2026-07-25T14:47:36.105Z","2.2.8":"2026-07-25T14:50:49.824Z","2.2.9":"2026-07-27T20:57:05.647Z","2.2.10":"2026-08-02T23:52:42.498Z","2.2.11":"2026-08-03T03:24:02.153Z","2.2.12":"2026-08-03T09:41:38.941Z","2.2.13":"2026-08-04T02:32:03.426Z","2.2.14":"2026-08-04T03:08:55.010Z","2.2.15":"2026-08-04T04:02:43.839Z","2.2.16":"2026-08-04T06:02:09.986Z","2.2.17":"2026-08-07T14:37:46.977Z","2.2.18-preview.20260812121016":"2026-08-12T03:12:42.901Z","2.2.18":"2026-08-12T03:25:38.007Z","2.2.19":"2026-08-12T07:29:46.978Z","2.2.20":"2026-08-12T14:41:11.562Z","2.2.21":"2026-08-12T16:19:21.346Z","2.2.22":"2026-08-12T17:26:07.224Z","2.2.23":"2026-08-12T17:34:08.860Z","2.2.24":"2026-08-12T17:48:12.998Z","2.2.25":"2026-08-12T17:54:42.450Z","2.3.0-preview.20260814001452":"2026-08-14T00:31:23.732Z","2.3.0":"2026-08-14T00:44:03.635Z","2.4.0-preview.20260814192833":"2026-08-14T10:40:10.740Z","2.4.0":"2026-08-14T11:15:53.030Z","2.4.1-preview.20260814205008":"2026-08-14T12:03:12.904Z","2.4.1":"2026-08-14T12:25:42.340Z","2.4.2-preview.20260814213712":"2026-08-14T12:49:40.935Z","2.4.2":"2026-08-14T13:11:56.816Z","2.4.3":"2026-08-14T14:30:52.476Z","2.4.4":"2026-08-14T15:56:05.978Z","2.14.0-preview.20260815185646":"2026-08-15T10:07:59.000Z","2.16.0-preview.20260815191549":"2026-08-15T10:31:52.452Z","2.17.0-preview.20260815194340":"2026-08-15T10:55:45.969Z","2.17.0":"2026-08-15T11:18:44.179Z","2.17.2-preview.20260816010039":"2026-08-15T16:12:29.990Z","2.17.3-preview.20260816011125":"2026-08-15T16:22:50.148Z","2.17.3":"2026-08-15T16:41:19.115Z","2.17.4-preview.20260818181009":"2026-08-18T09:21:15.311Z","2.17.4":"2026-08-18T09:45:19.223Z","2.17.5-preview.20260819090409":"2026-08-19T00:17:09.350Z","2.17.5":"2026-08-19T02:04:03.484Z","2.17.6-preview.20260819124242":"2026-08-19T03:54:53.539Z","2.17.6":"2026-08-19T04:31:02.266Z","2.17.7-preview.20260820180023":"2026-08-20T09:13:39.983Z","2.17.7":"2026-08-20T09:31:18.797Z","2.17.8-preview.20260820190233":"2026-08-20T10:13:12.214Z","2.17.9-preview.20260821013532":"2026-08-20T16:47:47.762Z","2.17.9":"2026-08-20T16:57:46.033Z","2.17.10-preview.20260821182141":"2026-08-21T09:32:55.444Z","2.17.10":"2026-08-21T09:52:35.044Z","2.17.13-preview.20260822094757":"2026-08-22T01:00:08.826Z","2.17.13":"2026-08-22T02:02:06.339Z","2.17.14-preview.20260823022611":"2026-08-22T17:37:47.317Z","2.17.14":"2026-08-22T17:49:21.125Z","2.17.16-preview.20260824211003":"2026-08-24T12:22:01.638Z","2.17.16":"2026-08-24T12:40:51.328Z","2.17.17-preview.20260825125631":"2026-08-25T04:08:11.623Z","2.17.17":"2026-08-25T04:26:06.601Z","2.17.18-preview.20260825163902":"2026-08-25T07:50:21.264Z","2.17.18":"2026-08-25T08:22:54.423Z","2.17.20-preview.20260825175400":"2026-08-25T09:05:28.461Z","2.17.20":"2026-08-25T09:25:21.091Z","2.17.21":"2026-08-25T14:08:21.702Z","2.17.22-preview.20260826124835":"2026-08-26T03:59:53.206Z","2.17.22":"2026-08-26T04:13:40.478Z","2.17.23":"2026-08-27T04:07:34.285Z","2.17.24-preview.20260827153014":"2026-08-27T06:41:17.913Z","2.17.24":"2026-08-27T06:53:12.496Z","2.17.25-preview.20260831011306":"2026-08-30T16:24:33.739Z","2.17.26":"2026-08-30T16:50:18.822Z","2.17.27-preview.20260831035626":"2026-08-30T19:08:04.646Z","2.17.27":"2026-08-30T19:20:00.264Z","2.17.28-preview.20260831043033":"2026-08-30T19:41:08.005Z","2.17.28":"2026-08-30T19:52:58.496Z","2.17.29-preview.20260831050106":"2026-08-30T20:12:32.998Z","2.17.29":"2026-08-30T20:24:43.176Z","2.17.30-preview.20260831094925":"2026-08-31T01:01:28.509Z","2.17.30":"2026-08-31T01:11:19.188Z","2.17.35-preview.20260904030821":"2026-09-03T18:20:38.116Z","2.17.35":"2026-09-03T18:30:38.677Z","2.17.36-preview.20260904110201":"2026-09-04T02:26:54.532Z","2.17.36":"2026-09-04T02:51:42.979Z","2.17.37-preview.20260905082516":"2026-09-04T23:38:37.511Z","2.17.37":"2026-09-05T00:00:19.943Z","2.17.38-preview.20260905104727":"2026-09-05T03:04:43.125Z","2.17.38":"2026-09-05T03:19:04.921Z","2.17.39-preview.20260907220634":"2026-09-07T13:20:14.154Z","2.17.39":"2026-09-07T13:41:15.698Z","2.17.40-preview.20260908011306":"2026-09-07T16:24:30.754Z","2.17.40":"2026-09-07T16:43:25.811Z","2.17.41-preview.20260908151812":"2026-09-08T06:33:21.649Z","2.17.41-preview.20260908161003":"2026-09-08T07:26:13.135Z","2.17.41":"2026-09-08T07:48:16.919Z","2.17.42-preview.20260909102545":"2026-09-09T01:37:21.755Z","2.17.42":"2026-09-09T01:52:03.371Z","2.17.43-preview.20260909133620":"2026-09-09T04:50:41.394Z","2.17.43":"2026-09-09T05:06:42.773Z","2.17.44-preview.20260909235739":"2026-09-09T15:24:48.561Z","2.17.44":"2026-09-09T15:49:10.001Z","2.17.45-preview.20260910173358":"2026-09-10T08:50:39.200Z","2.17.45":"2026-09-10T09:12:43.706Z","2.17.46-preview.20260910182851":"2026-09-10T09:45:28.125Z","2.17.46":"2026-09-10T09:58:40.936Z","2.17.47-preview.20260911171122":"2026-09-11T08:31:57.410Z","2.17.47":"2026-09-11T08:55:52.117Z","2.17.48-preview.20260911222415":"2026-09-11T13:44:45.042Z","2.17.48":"2026-09-11T14:08:59.920Z","2.17.49-preview.20260912012850":"2026-09-11T16:42:40.727Z","2.17.49":"2026-09-11T16:56:30.745Z","2.17.50-preview.20260912112701":"2026-09-12T02:39:57.406Z","2.17.50":"2026-09-12T03:27:10.912Z","2.17.51-preview.20260913113645":"2026-09-13T02:52:24.282Z","2.17.51":"2026-09-13T03:04:20.016Z","2.17.52-preview.20260915094907":"2026-09-15T01:08:46.083Z","2.17.53-preview.20260916144726":"2026-09-16T06:08:32.002Z","2.17.53":"2026-09-16T06:25:11.285Z","2.17.54-preview.20260917112220":"2026-09-17T02:44:21.821Z","2.17.54":"2026-09-17T02:55:59.899Z","2.17.55-preview.20260922173824":"2026-09-22T09:08:11.760Z","2.17.55-preview.20260922200147":"2026-09-22T11:23:24.449Z","2.17.56-preview.20260922221014":"2026-09-22T13:34:59.883Z","2.17.57-preview.20260922233502":"2026-09-22T15:08:30.348Z","2.17.57":"2026-09-22T16:06:59.347Z","2.17.58-preview.20260923060148":"2026-09-22T21:23:41.301Z","2.17.58":"2026-09-22T21:36:58.346Z","2.17.59-preview.20260923162157":"2026-09-23T07:36:22.004Z","2.17.59":"2026-09-23T07:47:54.281Z","2.17.60-preview.20260925003520":"2026-09-24T15:57:41.745Z","2.17.60":"2026-09-24T16:37:16.327Z","2.17.61-preview.20260925122316":"2026-09-25T03:45:12.629Z","2.17.61":"2026-09-25T04:06:54.578Z","2.17.62-preview.20260925151811":"2026-09-25T06:39:30.762Z","2.17.62":"2026-09-25T06:59:53.185Z","2.17.63-preview.20260926151305":"2026-09-26T06:34:19.946Z","2.17.63":"2026-09-26T06:59:21.632Z","2.17.64-preview.20260927142022":"2026-09-27T05:43:02.838Z","2.17.64":"2026-09-27T06:09:02.757Z","2.17.65-preview.20260929195353":"2026-09-29T11:17:04.351Z","2.17.65":"2026-09-29T11:26:38.013Z","2.17.66-preview.20261002101558":"2026-10-02T01:39:07.973Z","2.17.66":"2026-10-02T01:59:42.032Z","2.17.67-preview.20261003025758":"2026-10-02T18:17:46.985Z","2.17.67":"2026-10-02T18:35:07.360Z","2.17.68-preview.20261004095647":"2026-10-04T01:15:45.002Z","2.17.68":"2026-10-04T01:35:32.345Z","2.17.69-preview.20261006105539":"2026-10-06T02:15:00.903Z","2.17.69":"2026-10-06T02:30:31.130Z","2.17.70-preview.20261006234744":"2026-10-06T15:05:41.584Z","2.17.71-preview.20261007003718":"2026-10-06T15:58:01.668Z","2.17.71":"2026-10-06T16:33:22.551Z","2.17.72-preview.20261008121258":"2026-10-08T03:36:46.506Z","2.17.72":"2026-10-08T03:56:28.329Z","2.17.73-preview.20261010163203":"2026-10-10T07:50:04.318Z","2.17.73":"2026-10-10T08:04:36.891Z","2.17.75-preview.20261106212402":"2026-11-06T13:31:30.460Z","2.17.75":"2026-11-07T13:46:09.190Z","2.17.76":"2026-11-08T03:20:46.302Z","2.17.77":"2026-11-10T08:44:08.741Z","2.17.78":"2026-11-11T08:03:20.468Z"},"bugs":{"url":"https://github.com/lidge-ai/cli-jaw/issues"},"author":{"name":"CLI-JAW Contributors"},"license":"MIT","homepage":"https://github.com/lidge-ai/cli-jaw#readme","keywords":["ai-assistant","cli","antigravity","claude","codex","cursor","gemini","grok","pi","copilot","multi-agent","orchestration","telegram-bot","discord-bot","browser-automation","mcp"],"repository":{"url":"git+https://github.com/lidge-ai/cli-jaw.git","type":"git"},"description":"Personal AI assistant powered by Pi, Antigravity, Claude, Codex, Codex App, Cursor, Grok, Kiro, OpenCode, and Copilot — Web, Terminal, Slack, Telegram, and Discord interfaces with 33 skills active by default from a 230-skill reference library","maintainers":[{"name":"bitkyc08","email":"bitkyc08@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"docs/assets/readme/banner.jpg\" alt=\"CLI-JAW — 你的个人 AI 助手。每个 AI CLI，一个仪表盘。\" width=\"100%\">\n</p>\n\n<p align=\"center\"><b>一个助手、一份记忆、一个仪表盘，统一你已经在付费的 AI 编码 CLI。</b><br>\nClaude、Codex、Cursor、Grok、Copilot、OpenCode、Kiro、Antigravity 和 Pi — 像一支团队那样协作。</p>\n\n<p align=\"center\">\n  <a href=\"https://npmjs.com/package/cli-jaw\"><img src=\"https://img.shields.io/npm/v/cli-jaw?color=cb3837&label=npm&logo=npm\" alt=\"npm version\"></a>\n  <a href=\"https://github.com/lidge-ai/cli-jaw/releases/latest\"><img src=\"https://img.shields.io/github/v/release/lidge-ai/cli-jaw?label=release\" alt=\"latest release\"></a>\n  <img src=\"https://img.shields.io/badge/node-%3E%3D22.4-339933?logo=node.js&logoColor=white\" alt=\"Node.js 22.4+\">\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue\" alt=\"MIT license\"></a>\n</p>\n\n```bash\n# 现有用户想要最小改动：JAW_SAFE=1 npm install -g cli-jaw\nnpm install -g cli-jaw\njaw dashboard\n```\n\n<p align=\"center\">\n  <a href=\"https://github.com/lidge-ai/cli-jaw/releases/latest\"><img src=\"https://img.shields.io/badge/macOS-.dmg-24292f?logo=apple&logoColor=white\" alt=\"Download for macOS (.dmg)\"></a>\n  <a href=\"https://github.com/lidge-ai/cli-jaw/releases/latest\"><img src=\"https://img.shields.io/badge/Windows-.exe-24292f?logo=windows&logoColor=white\" alt=\"Download for Windows (.exe)\"></a>\n  <a href=\"https://github.com/lidge-ai/cli-jaw/releases/latest\"><img src=\"https://img.shields.io/badge/Linux-.AppImage-24292f?logo=linux&logoColor=white\" alt=\"Download for Linux (.AppImage)\"></a>\n</p>\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"middle\">\n\n### 每个 agent 都在一处\n\n在管理面板里启动、停止并预览每个正在运行的实例。\n\n</td>\n<td width=\"50%\"><img src=\"docs/screenshots/manager-dashboard-light.png\" alt=\"CLI-JAW 管理面板\" width=\"100%\"></td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"middle\">\n\n### 为工作准备的看板\n\n看板泳道、优先级矩阵和提醒，跟踪每个会话正在做什么。\n\n</td>\n<td width=\"50%\"><img src=\"docs/screenshots/dashboard-kanban.png\" alt=\"agent 会话的看板\" width=\"100%\"></td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"middle\">\n\n### agent 能读的笔记\n\n内置的 Markdown 工作区，支持所见即所得编辑、数学公式和 Mermaid 图表。\n\n</td>\n<td width=\"50%\"><img src=\"docs/screenshots/notes-wysiwyg.png\" alt=\"笔记编辑器\" width=\"100%\"></td>\n</tr>\n</table>\n\n<p align=\"center\">\n  <a href=\"README.md\">English</a> · <a href=\"README.ko.md\">한국어</a> · <b>中文</b> · <a href=\"README.ja.md\">日本語</a> · 📖 <a href=\"https://lidge-ai.github.io/cli-jaw/\"><b>官网</b></a> · <a href=\"https://lidge-ai.github.io/cli-jaw/dev/\">文档</a>\n</p>\n\n---\n\n## CLI-JAW 是什么？\n\nCLI-JAW 把你已经在用的 AI 编码 CLI 统一成**一个助手、一份记忆、一个仪表盘**。你的主 CLI（“Boss”）把其他 CLI 当作“员工”调用，于是你不用再在多个应用之间复制粘贴，在一个地方就能下达指令。\n\n- **无需 API 密钥** — 通过你已经在付费的订阅路由\n- **无按 token 计费** — 月费固定，和你现有的订阅一样\n- **本地运行** — 你的代码不会离开本机\n- **随处可用** — Web、桌面应用、终端、Telegram、Discord 或 Slack\n\n原生 Code API（`/api/code`）提供隔离的 Codex、Claude、Cursor 和 Grok 会话，具备持久 transcript 和原生 resume。参见 [native Code sessions](structure/runtime-integration.md#native-code-sessions)。\n\n---\n\n## 安装\n\n<details>\n<summary><b>安全安装</b> — 面向现有用户，最小改动</summary>\n\n```bash\n# macOS / Linux\nJAW_SAFE=1 npm install -g cli-jaw    # skips optional tool/runtime setup\njaw init                              # interactive setup later when you're ready\n```\n\n\n<!-- windows-support:start GENERATED by scripts/render-windows-support.mts\n     native-status: beta\n     preferred-path: wsl\n     node-floor: 22.4.0\n     manager-port: 24576\n     runtime-port: 3457\n     registered-service: windows-startup\n     install-command: irm https://raw.githubusercontent.com/lidge-ai/cli-jaw/dev/scripts/install.ps1 | iex\n-->\n\n**Windows 支持。** 推荐使用 WSL 路径，它是稳定的。原生 PowerShell 安装脚本也可以用，但仍处于 beta 阶段：\n\n```powershell\nirm https://raw.githubusercontent.com/lidge-ai/cli-jaw/dev/scripts/install.ps1 | iex\n```\n\n需要 Node.js 22.4+。\n\n管理面板在 **24576** 端口，每个 agent 的 Web UI 在 **3457** 端口。如果执行策略挡住了 `jaw.ps1`，不要放宽策略，直接用 `.cmd`：\n\n```powershell\njaw.cmd doctor\n```\n\n原生 Windows 的开机自启通过 windows-startup 后端注册。`jaw service install` 同样支持 macOS(launchd) 和 Linux(systemd)。\n\n<!-- windows-support:end -->\n\n无论走哪条路径，cli-jaw 现在都能把两者精确区分开：`jaw doctor --json` 会把\n`platform` 报告为 `windows-native` 或 `wsl`，两者各有独立诊断。原生\nWindows 不会再仅仅因为机器上配置了 WSL interop 就收到“在 WSL 里重新安装”\n的建议。\n\n</details>\n\n```bash\n# macOS / Linux / WSL with Node.js 22+ already installed\nnpm install -g cli-jaw\njaw dashboard\n```\n\n> **npm 12+？** npm 现在默认阻止依赖的安装脚本。如果看到 `npm warn allow-scripts`，请批准脚本后再安装：\n>\n> ```bash\n> npm install -g cli-jaw --allow-scripts=cli-jaw\n> ```\n\n<details>\n<summary><b>Windows npm 安装恢复</b> — npm 12+ 阻止了脚本，或 PowerShell 执行策略限制</summary>\n\nnpm 12+ 可能完成全局安装，同时阻止 CLI-JAW 的依赖\n`postinstall`。只批准这一个包然后重新安装，或把批准保存下来供\n以后升级使用：\n\n```powershell\nnpm install -g cli-jaw --allow-scripts=cli-jaw\nnpm config set allow-scripts=cli-jaw --location=user\njaw doctor\n```\n\n如果 PowerShell 报告 `jaw.ps1` 无法加载，因为脚本执行\n已被禁用，请在下列受控变通方案中选择一个：\n\n```powershell\nSet-ExecutionPolicy -Scope CurrentUser RemoteSigned\njaw.cmd doctor\nnode \"$(npm prefix -g)\\node_modules\\cli-jaw\\dist\\bin\\cli-jaw.js\" doctor\n```\n\n`jaw.ps1` 是 PowerShell 的 npm shim，受执行策略约束；\n`jaw.cmd` 是等价的 cmd shim，不走该策略。直接使用\n`node` 的形式会绕过两个 shim。`jaw doctor` 会报告被阻止或过期的安装、\n残留的 npm 暂存目录，以及当前 PowerShell 策略；它还会\n打印对应的恢复指引。\n\n</details>\n\n完成。打开 **http://localhost:24576** 进入管理仪表盘。单个 agent Web UI 在运行 `jaw serve` 时仍从 **http://localhost:3457** 提供。需要 [Node.js 22.4+](https://nodejs.org)。\n\n> **第一次用？** 默认 npm 安装会初始化 CLI-JAW，并尝试配置原生 Claude。其他 AI CLI 是可选项；在 macOS/Linux 上如需安装全部工具，可运行 `CLI_JAW_INSTALL_CLI_TOOLS=1 npm install -g cli-jaw`。Windows 请使用下方 WSL 安装路径。\n\n> **已退役的 runtime。** Claude E（`claude-e`）和 AI-E multiplexer（`ai-e`）已被移除。已保存的选择会以已退役状态显示，且无法执行；请选择一个可用的 runtime。详情：[runtime integration](structure/runtime-integration.md)。\n\n<details>\n<summary><b>macOS 一键安装</b> — 没有 Node.js？用这个</summary>\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/lidge-ai/cli-jaw/dev/scripts/install.sh | bash\nsource \"${ZDOTDIR:-$HOME}/.zshrc\" 2>/dev/null || true\nbash \"$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh\"\n```\n\n</details>\n\n<details>\n<summary><b>Windows（WSL — Windows 子系统 Linux）</b> — 从零一键安装</summary>\n\n```powershell\n# 1. Install WSL (PowerShell as Admin)\nwsl --install\n```\n\n重启后打开 **Ubuntu**，然后：\n\n```bash\n# 2. Install CLI-JAW + all dependencies\ncurl -fsSL https://raw.githubusercontent.com/lidge-ai/cli-jaw/dev/scripts/install-wsl.sh | bash\nsource ~/.bashrc\njaw dashboard\nbash \"$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh\"\n```\n\n从 Windows PowerShell 进入 WSL 时，请通过 login shell 运行命令，以便加载 WSL profile PATH：\n\n```powershell\nwsl.exe -d Ubuntu -- bash -lc \"jaw dashboard\"\n```\n\n</details>\n\n<details>\n<summary><b>原生 Windows（PowerShell beta）</b> — 分离的服务器日志</summary>\n\n`jaw serve` 会保留它继承的 stdout 和 stderr 流，并把\n两个流都追加到 `<JAW_HOME>\\logs\\serve.log`。启动时，已经达到 5 MiB 的文件\n会被轮转一次为 `serve.log.1`。原生 Windows 仍然没有注册的\n`jaw service` 日志后端。PowerShell 的\n`Start-Process -RedirectStandardOutput/-RedirectStandardError` 会在每次启动时创建或\n截断目标文件，所以不要把这两个选项指向\n实例自有的 `serve.log`。\n\n如果需要独立的、由运维方拥有的 stdout/stderr 文件，请改为在子 PowerShell 进程\n内部做重定向。下面的示例把它们追加到\n`<JAW_HOME>\\logs` 下，同时避开 `Start-Process` 的截断默认行为：\n\n```powershell\n$jawHome = 'C:\\jaw\\worker-a'\n$port = 3458\n$logDir = Join-Path $jawHome 'logs'\n$outLog = Join-Path $logDir 'serve.out.log'\n$errLog = Join-Path $logDir 'serve.err.log'\nNew-Item -ItemType Directory -Force -Path $logDir -ErrorAction Stop | Out-Null\nforeach ($path in @($outLog, $errLog)) {\n    # OpenOrCreate preserves existing content while proving that the child can append.\n    $probe = [IO.File]::Open($path, 'OpenOrCreate', 'Write', 'ReadWrite')\n    $probe.Dispose()\n}\n\n$jaw = (Get-Command jaw.cmd -ErrorAction Stop).Source\n$childCommand = \"& '$jaw' --home '$jawHome' serve --port $port --no-open 1>> '$outLog' 2>> '$errLog'\"\n$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($childCommand))\nStart-Process -FilePath powershell.exe -ArgumentList '-NoProfile', '-EncodedCommand', $encoded -WindowStyle Hidden | Out-Null\n```\n\n请在各自独立的 PowerShell 终端里读取每个流（`Get-Content -Wait`\n会占用该终端）。这些命令使用显式路径，因为启动终端里的变量\n在新的 PowerShell 会话中不可用：\n\n```powershell\n# Terminal 1\nGet-Content -LiteralPath 'C:\\jaw\\worker-a\\logs\\serve.out.log' -Tail 100 -Wait\n\n# Terminal 2\nGet-Content -LiteralPath 'C:\\jaw\\worker-a\\logs\\serve.err.log' -Tail 100 -Wait\n```\n\n生命周期命令以 home 为作用域，在发送信号前会校验\n`<JAW_HOME>\\jaw.pid.json`：\n\n```powershell\n& $jaw --home $jawHome service stop --port $port\n& $jaw --home $jawHome service restart --port $port\n```\n\n单独运行 `service restart` 会以分离方式安全重启实例，但\n无法重现运维方的文件重定向。要保留文件捕获，请\n`stop`、可选地轮转已关闭的日志，然后重新运行上面的启动块：\n\n```powershell\n$pidFile = Join-Path $jawHome 'jaw.pid.json'\n$serverProcess = $null\nif (Test-Path -LiteralPath $pidFile -PathType Leaf) {\n    $record = Get-Content -LiteralPath $pidFile -Raw -ErrorAction Stop | ConvertFrom-Json\n    $serverProcess = Get-Process -Id ([int]$record.pid) -ErrorAction SilentlyContinue\n}\n\n& $jaw --home $jawHome service stop --port $port\nif ($LASTEXITCODE -ne 0) {\n    throw \"jaw service stop failed with exit code $LASTEXITCODE\"\n}\nif ($serverProcess) {\n    try {\n        if (-not $serverProcess.WaitForExit(5000)) {\n            throw \"jaw serve pid $($serverProcess.Id) did not exit within 5000ms\"\n        }\n    } finally {\n        $serverProcess.Dispose()\n    }\n}\n\n$stamp = Get-Date -Format 'yyyyMMdd-HHmmss'\nforeach ($path in @($outLog, $errLog)) {\n    if (Test-Path -LiteralPath $path) {\n        Move-Item -LiteralPath $path -Destination \"$path.$stamp\" -ErrorAction Stop\n    }\n}\n# Run the Start-Process launch block above again.\n```\n\n不要使用 `Get-Process node | Stop-Process`；它可能终止无关的\ncli-jaw 实例和 AI runtime 进程。\n\n</details>\n\n<details>\n<summary><b>全新机器证据</b> — 维护者发布检查</summary>\n\n发布安装器变更前，请在干净 VM 上运行此流程。collector 会把环境快照、installer 日志、实际运行的 collector/installer/verifier 脚本及其 SHA-256 哈希、verifier 日志和新 shell PATH probe 写入 `~/cli-jaw-fresh-install-evidence-*`。\n\n```bash\n# macOS Terminal\nCOLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh\ncurl -fsSL https://raw.githubusercontent.com/lidge-ai/cli-jaw/dev/scripts/collect-fresh-install-evidence.sh -o \"$COLLECTOR\"\nbash \"$COLLECTOR\" --target macos\n\n# Ubuntu inside WSL\nCOLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh\nbash \"$COLLECTOR\" --target wsl\n```\n\n从 Windows PowerShell 进入受支持的 WSL 路径：\n\n```powershell\nwsl.exe -d Ubuntu -- bash -lc 'COLLECTOR=/tmp/cli-jaw-collect-fresh-install-evidence.sh; curl -fsSL https://raw.githubusercontent.com/lidge-ai/cli-jaw/dev/scripts/collect-fresh-install-evidence.sh -o \"$COLLECTOR\"; bash \"$COLLECTOR\" --target wsl'\n```\n\n如果 collector 报告 WSL 内没有 `powershell.exe`，请在审计前从 Windows PowerShell 运行：\n\n```powershell\nwsl.exe -d Ubuntu -- bash -lc 'EVIDENCE_DIR=\"$(ls -dt ~/cli-jaw-fresh-install-evidence-* | head -1)\"; { echo \"command=wsl.exe -d Ubuntu -- bash -lc jaw --version\"; jaw --version; } | tee \"$EVIDENCE_DIR/33-powershell-to-wsl-probe.log\"'\n```\n\n对于未合并的分支或本地 VM 检出，请显式传入本地安装器和 verifier：\n\n```bash\nbash scripts/collect-fresh-install-evidence.sh --target macos --install-script scripts/install.sh --verifier-script scripts/verify-fresh-install.sh\nbash scripts/collect-fresh-install-evidence.sh --target wsl --install-script scripts/install-wsl.sh --verifier-script scripts/verify-fresh-install.sh\n```\n\n在把收集到的每个目录当作目标证据之前，请先审计：\n\n```bash\nEVIDENCE_DIR=\"$(ls -dt ~/cli-jaw-fresh-install-evidence-* | head -1)\"\nAUDITOR=\"$(npm root -g)/cli-jaw/scripts/audit-fresh-install-evidence.mjs\"\nnode \"$AUDITOR\" \"$EVIDENCE_DIR\" --target macos\nnode \"$AUDITOR\" \"$EVIDENCE_DIR\" --target wsl\n\n# For a local checkout, audit with the checkout's auditor:\nnode scripts/audit-fresh-install-evidence.mjs \"$EVIDENCE_DIR\" --target macos\nnode scripts/audit-fresh-install-evidence.mjs \"$EVIDENCE_DIR\" --target wsl\n```\n\n发布安装器变更前，请用两个严格的 evidence 目录运行 matrix gate：\n\n```bash\nGATE=\"$(npm root -g)/cli-jaw/scripts/verify-release-evidence.mjs\"\nnode \"$GATE\" --macos /path/to/macos-evidence --wsl /path/to/wsl-evidence\n\n# For a local checkout:\nnode scripts/verify-release-evidence.mjs --macos /path/to/macos-evidence --wsl /path/to/wsl-evidence\n```\n\nmatrix gate 会拒绝用过期 collector、installer 或 verifier 脚本收集到的证据；归档的证据脚本必须与运行该 gate 的当前包或检出匹配。\n\n`bash scripts/release.sh` 从 `dev` 开始 stable 发布。它检查构建和发布门禁，推送版本提交，等待该精确 SHA 的 Tests 和 Postinstall Platform Checks 成功，并在发布前检查所需的安装证据。开始前请设置证据目录：\n\n```bash\nCLI_JAW_MACOS_EVIDENCE_DIR=/path/to/macos-evidence \\\nCLI_JAW_WSL_EVIDENCE_DIR=/path/to/wsl-evidence \\\nbash scripts/release.sh\n```\n\n预览发布使用 `bash scripts/release.sh --preview`；添加 `--require-evidence` 可对预览也强制执行证据门禁。两个渠道都在不可变的 `v<version>` 标签上派发 `publish.yml`，并等待对应的发布运行。CI 失败后，重新运行失败的任务并对尚未发布的提交使用 `bash scripts/release.sh --resume <sha>`，或向前修复并发布新版本。\n\n发布失败或缺少 GitHub release、desktop 资源时，使用相同标签重新派发输出的命令。恢复和回滚方法见 [`structure/infra.md` § 릴리스 파이프라인과 부분 실패 복구](structure/infra.md#릴리스-파이프라인과-부분-실패-복구)。\n\n</details>\n\n<details>\n<summary><b>Docker</b></summary>\n\n```bash\ndocker compose up -d       # → http://localhost:3457\n```\n\n</details>\n\n---\n\n## 认证\n\n你只需要**一个**。选择你已有的订阅：\n\n```bash\n# Free options (no credit card needed)\ncopilot login        # GitHub Copilot (free tier available)\nopencode             # OpenCode — free models available\nkiro                 # AWS Kiro (free tier with AWS account)\n\n# Paid (monthly subscription you already pay for)\nclaude auth login    # Anthropic Claude Pro or higher\ncodex login          # OpenAI ChatGPT Pro or higher\ncursor-agent login   # Cursor\ngrok login --oauth   # xAI Grok / Grok Heavy\n```\n\n一次性检查全部：`jaw doctor`\n\n<details>\n<summary>jaw doctor 输出示例</summary>\n\n```\n🦈 CLI-JAW Doctor — 13 checks\n\n ✅ Node.js        v22.15.0\n ✅ Claude CLI      installed\n ✅ Codex CLI       installed\n ✅ Cursor CLI      installed\n ✅ OpenCode CLI    installed\n ✅ Copilot CLI     installed\n ✅ Database        jaw.db OK\n ✅ Skills          29 active, 238 reference\n ✅ MCP (plugins)   3 servers configured\n ✅ Memory          structured/ exists\n ✅ Server          port 3457 available\n```\n\n</details>\n\n---\n\n## 你能得到什么\n\n### 员工：你的 CLI 调用其他 CLI\n\n你只和一个 AI（“Boss”）对话。当它需要专业工作时，会把任务分派给员工——每个员工运行自己的 CLI 和模型——并在回答你之前审查它们的输出。\n\n```text\nYou: \"Fix the frontend styling and update the API endpoint\"\n\nBoss (Claude)\n  ├── Frontend employee (OpenCode) → \"Fix the CSS grid layout in dashboard.tsx\"\n  ├── Backend employee (Codex)     → \"Update /api/users to return pagination metadata\"\n  └── Synthesizes both results for you\n```\n\n```bash\njaw dispatch --agent \"Backend\" --task \"Run read-only verification\" --watch\njaw dispatch --virtual \"security\" --task \"Review this branch for auth and secret leaks\" --watch\n```\n\n### PABCD：计划、审计、构建、检查、完成\n\n对于复杂任务，CLI-JAW 运行结构化工作流。每一次转换都由你批准；只读工作者验证计划和结果。\n\n| 阶段 | 会发生什么 |\n|---|---|\n| **P — Plan** | Boss 写出 diff 级别的计划，然后停下等你审查 |\n| **A — Audit** | 只读工作者检查计划是否可行 |\n| **B — Build** | Boss 实现；只读工作者进行验证 |\n| **C — Check** | 类型检查、文档更新、一致性检查 |\n| **D — Done** | 汇总所有变更，回到空闲状态 |\n\n状态在重启后保留。用 `jaw orchestrate` 或 `/pabcd` 开始，用 `/continue` 恢复，用 `/goal` 让长期目标保持存活。参见 [PABCD](https://lidge-ai.github.io/cli-jaw/dev/concepts/pabcd.html)。\n\n### 记忆、技能和 MCP\n\n- **三层记忆** — 最近的会话历史、从对话中沉淀出来的结构化笔记，以及可搜索的 soul/task 快照：`jaw memory search \"how did we set up the API auth?\"`\n- **200+ 技能** — 办公文档（PDF、DOCX、XLSX、PPTX、HWP）、浏览器和桌面自动化、媒体、GitHub、Notion 和开发指南：`jaw skill install <name>`\n- **所有引擎共用一份 MCP 配置** — `jaw mcp install @anthropic/context7` 会一次同步 Claude、Codex、Kiro、OpenCode、Copilot 和 Antigravity\n\n### 浏览器和桌面自动化\n\n通过 DevTools Protocol 驱动 Chrome；用 `jaw browser vision-click \"Login button\"` 按描述点击；在受支持的 macOS 和 Windows 主机上，通过 `jaw-computer-use` MCP 工具（或 Codex 原生 Computer Use 插件）控制桌面应用；用 `jaw browser web-ai` 询问 ChatGPT、Gemini 或 Grok 的 Web UI。\n\n### 消息\n\n从 **Telegram**（语音消息、论坛主题、定时 heartbeat 任务）、**Discord** 和 **Slack**（Socket Mode、线程、文件中继、mention 监听）与你的 agent 聊天。可以同时启用多个渠道；home 渠道会接收主动发送的内容。\n\n<details>\n<summary>Telegram 设置（3 步）</summary>\n\n1. 给 [@BotFather](https://t.me/BotFather) 发消息 → `/newbot` → 复制 token\n2. `jaw init --telegram-token YOUR_TOKEN`，或使用 Web UI 设置\n3. 给 bot 发送任意消息。Chat ID 会在第一条消息时自动保存\n\n</details>\n\n<details>\n<summary>Slack 设置（引导式向导）</summary>\n\n1. `jaw slack setup` — 打印 app manifest、打开 Slack 应用页面、实时校验两个 token，并写入设置\n2. 在 bot 需要读取的每个频道执行 `/invite @cli-jaw`，然后重启 `jaw serve`\n\n群组 DM 需要 `message.mpim` 事件和 `mpim:history` scope。在容器中，`SLACK_BOT_TOKEN`、`SLACK_APP_TOKEN`、`SLACK_TEAM_ID` 和 `SLACK_CHANNEL_IDS` 在运行时拥有各自的字段。详情：[Slack tools](docs/slack-tools.md)。\n\n</details>\n\n### 桌面应用\n\nElectron 应用会启动管理面板，随包提供内置的 Node.js sidecar，并常驻你的菜单栏。请从 [GitHub Releases](https://github.com/lidge-ai/cli-jaw/releases/latest) 下载：\n\n- **macOS（Apple Silicon）** — 打开 DMG，把 CLI-JAW 拖入 Applications。构建产物经过 Developer ID 签名、公证和 stapling，并支持应用内更新。\n- **Windows（x64）** — 运行 Setup `.exe`。它没有签名，因此 SmartScreen 可能会要求你确认。\n- **Linux（x64）** — 给 AppImage 添加执行权限后运行。\n\n首次启动后，接受 **Install CLI command**（或使用托盘项 **Install CLI to Terminal**），即可在终端中得到 `jaw`，无需全局 npm 安装。\n\n---\n\n## AI 运行时\n\n无按 token 的 API 计费。通过你已经在付费的订阅路由。\n\n| CLI | 默认模型 | 认证 | 费用 |\n|---|---|---|---|\n| **Pi** | `grok-composer-2.5-fast` | Settings profile API key、local proxy，或 `PI_CODING_AGENT_BIN` | 通过隔离 profile 连接 local/API endpoint |\n| **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro 或更高订阅 |\n| **Antigravity** | AGY-selected | 由 `agy` 在运行时检查 | 实验性 print-mode runtime |\n| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro 或更高订阅 |\n| **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro 或更高订阅 |\n| **Cursor** | `composer-2.5` | `cursor-agent login` 或 `CURSOR_API_KEY` | Cursor 订阅 |\n| **Grok** | `grok-build` | `grok login --oauth` | Grok 订阅 |\n| **Kiro** | registry-selected | `kiro` | AWS Kiro 免费层 |\n| **OpenCode** | `opencode-go/kimi-k2.6` | `opencode` | 有免费模型可用 |\n| **Copilot** | `claude-sonnet-4.6` | `copilot login` | 有免费层可用 |\n\n如果某个引擎被限速，下一个会接上（`/fallback`）。用 `/cli codex` 实时切换引擎，用 `/model gpt-5.5` 切换模型 — 可在 Web、终端、Telegram、Discord 或 Slack 中使用。\n\n---\n\n## CLI\n\n```bash\n# Core\njaw dashboard                     # launch manager dashboard\njaw serve                         # start an agent server (http://localhost:3457)\njaw chat                          # terminal chat UI\njaw ask \"question\"                # one prompt, one answer — no TTY needed\njaw doctor                        # installation and runtime diagnostics\n\n# Instances\njaw clone ~/project                           # clone instance to new directory\njaw --home ~/project serve --port 3458        # run a second instance\njaw service install                           # auto-start on boot (macOS launchd / Linux systemd)\njaw --home ~/project service restart --port 3458  # restart only this instance\n\n# Agents and workflow\njaw employee list\njaw dispatch --agent \"Backend\" --task \"...\" --watch\njaw orchestrate                   # PABCD workflow\njaw goal status                   # persistent goals\n\n# Skills, MCP, memory, browser\njaw skill list\njaw mcp install <package>\njaw memory search <query>\njaw browser fetch \"https://example.com\" --json\n```\n\n用 `jaw clone` 创建的每个实例都有自己的设置、记忆、数据库和 MCP 配置，管理面板可以看到全部。远程和无头主机：[structure/remote-headless.md](structure/remote-headless.md)。完整命令参考：[CLI docs](https://lidge-ai.github.io/cli-jaw/dev/reference/cli.html)。\n\n---\n\n## 文档\n\n| 主题 | 位置 |\n|---|---|\n| 官网和快速上手 | [lidge-ai.github.io/cli-jaw](https://lidge-ai.github.io/cli-jaw/) |\n| 指南、概念、参考 | [Developer docs](https://lidge-ai.github.io/cli-jaw/dev/) |\n| 架构 | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) · [structure/](structure/) |\n| Slack 工具和本地 API | [docs/slack-tools.md](docs/slack-tools.md) |\n| Runtime 集成（含已退役 runtime） | [structure/runtime-integration.md](structure/runtime-integration.md) |\n\n---\n\n## 开发\n\n```bash\nnpm run build          # tsc → dist/\nnpm run build:frontend # vite → public/dist/\nnpm run dev            # tsx server.ts (hot-reload)\nnpm test               # node:test driver (tests/run.mts)\nnpm run gate:all       # release/docs parity gates\nnpm run electron:dev   # desktop app with hot reload\n```\n\n---\n\n## 故障排查\n\n| 问题 | 解决办法 |\n|---|---|\n| `cli-jaw: command not found` | 再运行一次 `npm install -g cli-jaw`。macOS/Linux/WSL：检查 `~/.local/bin` 或 `npm prefix -g` + `/bin` 是否在 `$PATH` 中。从 Windows PowerShell 调用 WSL 时，请通过 login shell：`wsl.exe -d Ubuntu -- bash -lc \"jaw dashboard\"`。 |\n| `npm warn allow-scripts ...` | npm >= 12 会阻止依赖安装脚本：`npm install -g cli-jaw --allow-scripts=cli-jaw`，或用 `npm config set allow-scripts=cli-jaw --location=user` 持久保存。已经装过了？`jaw init` 会完成设置。 |\n| pnpm/bun 阻止了构建脚本 | pnpm 11+：`pnpm add -g --allow-build=cli-jaw cli-jaw`。bun：`bun add -g --trust cli-jaw`。 |\n| 全新安装的 verifier 失败 | 修复报告出的 PATH 或可执行位问题，然后重新运行 `bash \"$(npm root -g)/cli-jaw/scripts/verify-fresh-install.sh\"`。 |\n| `Error: node version` | 升级到 Node.js 22.4+：`nvm install 22` |\n| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` |\n| `EADDRINUSE: port 3457` | 另一个实例正在运行。使用 `--port 3458` 或先停止它 |\n| Telegram / Discord / Slack 认证失败 | 运行 `jaw doctor`，检查 token，重启 `jaw serve` |\n| 员工分派挂起 | 运行 `jaw employee list`，确认员工 CLI 已认证（`jaw doctor`），然后用 `jaw dispatch --watch` 重试 |\n\n---\n\n## 参与贡献\n\n公开代码和产品文档保存在这里。私有规划和历史只保存在独立的同级克隆 [cli-jaw-internal](https://github.com/lidge-jun/cli-jaw-internal) 中；请通过 [issue](https://github.com/lidge-ai/cli-jaw/issues) 申请访问权限。不要在本检出中创建私有记录，包括 `devlog`、`_plan`、`_fin` 或 `.jwc` 别名，也不要在公开文档或源码中包含私有记录路径。上传变更前，请先完成[本地 pre-push 设置和检查](CONTRIBUTING.md#local-private-path-check)。\n\n1. 从 `dev` Fork 并创建分支\n2. `npm run build && npm run build:frontend && npm test`\n3. 对发布敏感的变更，还要运行 `npm run gate:all`\n4. 提交 PR\n\n---\n\n<p align=\"center\"><a href=\"LICENSE\"><b>MIT License</b></a> · 由受够了在 AI 应用之间来回切标签的开发者们打造。</p>\n\n\n","readmeFilename":"README.zh-CN.md"}