{"bin":{"shooter":"bin/shooter.cjs"},"bugs":{"url":"https://github.com/juspay/shooter/issues"},"dist":{"shasum":"33c2a5d718b097672679a6362f4c7fd6e121fb0f","tarball":"https://registry.npmjs.org/@juspay/shooter/-/shooter-1.36.1.tgz","fileCount":712,"integrity":"sha512-Owq/zXilOSfmFdauna+fEpfCHhDzSg+Y6xHqUgDkLJEI3BsPwtAlKYhZmb4rTi2e2QP7s8huEkYjU5ikl/AorQ==","signatures":[{"sig":"MEUCIQD8PdBVTOVGAS1uuKAkzT+P944CsdGQDzV6Q9SUy70i9gIgIkM9B52C4onlzNL9wdO59embFBLna1hPokvSVb2w9D8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@juspay%2fshooter@1.36.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6270403},"name":"@juspay/shooter","pnpm":{"overrides":{"cookie":">=0.7.0 <2","lodash":">=4.18.0","devalue":">=5.8.1","postcss":">=8.5.10","lodash-es":">=4.18.0","protobufjs":">=7.5.8 <8","fast-xml-parser":">=5.7.0","@protobufjs/utf8":">=1.1.1","fast-xml-builder":">=1.1.7","@tootallnate/once":">=3.0.1"},"onlyBuiltDependencies":["@firebase/util","better-sqlite3","esbuild","node-pty","protobufjs"]},"type":"module","author":{"url":"https://juspay.io","name":"Juspay Technologies","email":"support@juspay.in"},"engines":{"node":">=20"},"gitHead":"18b8447157f3642c3f910082fdcd0f799e25ec57","license":"MIT","scripts":{"dev":"node scripts/dev.mjs","lint":"eslint .","test":"node tests/terminal-store.test.cjs && node tests/pending-requests.test.cjs && node tests/tunnel-discovery.test.cjs && node tests/service-manager.test.cjs && node tests/plan-mode-routing.test.cjs && node tests/dynamic-options-extraction.test.cjs && node tests/next-step-consensus.test.cjs && node tests/summaries-route.test.cjs && node tests/litellm-client.test.cjs && node tests/decide-injection.test.cjs && node tests/presence-store.test.cjs && node tests/autopilot-context.test.cjs && node tests/apns-payload.test.cjs && node tests/agent-launch.test.cjs && node tests/codex-parser.test.cjs && node tests/provider-readers.test.cjs && node tests/generic-watcher.test.cjs && node tests/sos-coordinator.test.cjs && node tests/sos-policy.test.cjs && node tests/pty-input.test.cjs && node tests/share-store.test.cjs && node tests/seq-ring.test.cjs && node tests/terminal-emulator.test.cjs && node tests/resize-authority.test.cjs && node tests/device-token-resolution.test.cjs && node tests/pty-holder-integration.cjs && node tests/device-token-store.test.cjs && node tests/device-format.test.cjs && node tests/classify-apns-reason.test.cjs && node tests/fcm-classify.test.cjs && node tests/notify-fanout.test.cjs && node tests/device-registry-prune.test.cjs && node tests/summary-store.test.cjs && node tests/motion.test.cjs && node tests/native-bridge.test.cjs && node tests/pull-refresh.test.cjs && node tests/keyboard.test.cjs && node tests/web-push-store.test.cjs && node tests/edge-swipe.test.cjs && node tests/apns-liveactivity.test.cjs && node tests/live-activity-store.test.cjs && node tests/classify-notification-tier.test.cjs && node tests/status-coalescer.test.cjs && node tests/idle-gate.test.cjs && node tests/notification-store.test.cjs && node tests/permission-dedup.test.cjs && node tests/update-checker.test.cjs && node tests/session-resume-strategy.test.cjs && node tests/attach-client.test.cjs && node tests/terminal-guards.test.cjs && node tests/usage-reader.test.cjs","build":"vite build","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json && tsc --noEmit --strict","setup":"node scripts/setup.cjs","start":"tsx server.ts","format":"prettier --write .","prepare":"husky || true","preview":"vite preview","lint:fix":"eslint . --fix","gen:types":"npx type-crafter generate typescript-with-decoders ./specs/types/index.yaml ./src/lib/types/generated SingleFile SingleFile && bash scripts/postgen-types.sh && pnpm run format:generated","postbuild":"cp src/lib/modules/server/terminal/pty-holder.cjs build/pty-holder.cjs","postinstall":"node-gyp rebuild --directory=node_modules/node-pty --loglevel=silent > /dev/null 2>&1 || echo '⚠ node-pty build failed — terminal features will not work. Install build tools: macOS: xcode-select --install | Linux: apt install python3 make g++'; node-gyp rebuild --directory=node_modules/better-sqlite3 --loglevel=silent > /dev/null 2>&1 || echo '⚠ better-sqlite3 build failed — terminal persistence will not work.'","quality:all":"pnpm run lint && pnpm run format:check && pnpm run check","format:check":"prettier --check .","prepublishOnly":"pnpm build","format:generated":"prettier --write ./src/lib/types/generated/*","lint:fix:generated":"eslint './src/lib/types/generated/**/*.{js,ts}' --fix"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e40a3158-b971-425a-8717-adb79d3873a8"}},"homepage":"https://github.com/juspay/shooter#readme","keywords":["claude-code","claude","opencode","ai-coding","agentic","push-notifications","apns","fcm","web-push","remote-terminal","pty","websocket","mobile","sveltekit","cloudflare-tunnel","devtools","notifications","telemetry"],"repository":{"url":"git+https://github.com/juspay/shooter.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn your phone into a remote control for Claude Code — smart push notifications, a remote terminal, and live session views over a Cloudflare Tunnel","directories":{},"lint-staged":{"test/**/*.ts":["eslint --fix --no-warn-ignored --max-warnings 0","prettier --write"],"*.{json,md,css}":["prettier --write"],"src/**/*.{ts,svelte}":["eslint --fix --no-warn-ignored --max-warnings 0","prettier --write"]},"maintainers":[{"name":"balaganesh_juspay","email":"balaganesh@juspay.in"},{"name":"itadmin","email":"itadmin@juspay.in"},{"name":"murdore","email":"sachin.sharma@juspay.in"},{"name":"georgejames","email":"george.james@juspay.in"},{"name":"sahil_sinha","email":"sahil.sinha@juspay.in"},{"name":"dhineshrks","email":"dhinesh.radhakrishnan@juspay.in"},{"name":"swaroopvarma2359","email":"pinnamaraju.swaroop@juspay.in"}],"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.18.0","tsx":"^4.19.0","dotenv":"^17.2.3","marked":"^17.0.4","qrcode":"^1.5.4","chokidar":"^4.0.0","node-pty":"1.1.0","web-push":"^3.6.7","dompurify":"^3.4.0","@xterm/xterm":"^5.5.0","jsonwebtoken":"^9.0.3","type-decoder":"^2.2.0","better-sqlite3":"^12.8.0","firebase-admin":"^13.7.0","@xterm/headless":"6.0.0","@xterm/addon-fit":"^0.10.0","@xterm/addon-serialize":"0.14.0","@xterm/addon-web-links":"^0.11.0","@juspay/svelte-ui-components":"2.87.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.2","devDependencies":{"vite":"^7.3.2","husky":"^9.1.7","eslint":"^9.39.2","svelte":"^5.55.7","globals":"^17.3.0","prettier":"^3.8.1","@types/ws":"^8.18.1","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","lint-staged":"^16.4.0","svelte-check":"^4.3.6","type-crafter":"^0.10.0","@sveltejs/kit":"^2.69.1","@types/qrcode":"^1.5.6","@types/web-push":"^3.6.4","semantic-release":"24.2.8","typescript-eslint":"^8.54.0","@types/jsonwebtoken":"^9.0.10","eslint-plugin-svelte":"^3.14.0","@semantic-release/git":"10.0.1","@semantic-release/npm":"12.0.2","@types/better-sqlite3":"^7.6.13","@sveltejs/adapter-node":"^5.2.0","eslint-config-prettier":"^10.1.8","prettier-plugin-svelte":"^3.4.1","@semantic-release/github":"11.0.6","@semantic-release/changelog":"6.0.3","eslint-plugin-perfectionist":"^5.4.0","@sveltejs/vite-plugin-svelte":"^6.2.4","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0","conventional-changelog-conventionalcommits":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/shooter_1.36.1_1787087094373_0.8463104011754459","host":"s3://npm-registry-packages-npm-production"},"_id":"@juspay/shooter@1.36.1","version":"1.36.1"}