{
  "name": "oysterun-host-service",
  "version": "1.5.8",
  "type": "module",
  "description": "Oysterun host service — runs on Mac mini, manages Claude Code sessions",
  "oysterun_service_definition": {
    "serializer": "legacy_1_5_7"
  },
  "scripts": {
    "setup": "node setup.mjs --release-setup",
    "setup:local": "node setup.mjs",
    "service:install": "../tool_scripts/oysterun_release_service.sh install",
    "service:start": "../tool_scripts/oysterun_release_service.sh start",
    "service:stop": "../tool_scripts/oysterun_release_service.sh stop",
    "service:restart": "../tool_scripts/oysterun_release_service.sh restart",
    "service:update": "../tool_scripts/oysterun_release_service.sh update",
    "service:complete-update": "../tool_scripts/oysterun_release_service.sh complete-update",
    "service:repair": "../tool_scripts/oysterun_release_service.sh repair",
    "service:restore": "../tool_scripts/oysterun_release_service.sh restore",
    "service:lifecycle-status": "../tool_scripts/oysterun_release_service.sh lifecycle-status",
    "service:status": "../tool_scripts/oysterun_release_service.sh status",
    "service:logs": "../tool_scripts/oysterun_release_service.sh logs",
    "service:uninstall": "../tool_scripts/oysterun_release_service.sh uninstall",
    "start": "node server.mjs",
    "dev": "node --watch server.mjs",
    "cli": "node cli.mjs",
    "test": "node test-jwt-auth.mjs && node test-telegram-markdown-delivery.mjs && node test-p077-telegram-images.mjs && node test-p034-scheduler-first-create.mjs && node test-p075-host2-turn-started-idempotency.mjs && node test-voice-input.mjs && node test-voice-input-usage.mjs && node test-p052-dashboard-compression.mjs && node ../dev/client/web-chat/scripts/test-routec-capacitor-bundle-parity.mjs && node test-host-boundary.mjs && node test-apns-push.mjs && node test-host-telemetry.mjs",
    "test:p052": "node test-p052-dashboard-compression.mjs",
    "test:p055": "node --test test-p055-session-lifecycle-snapshot.mjs",
    "test:p058": "node test-p058-claude-acp-readiness.mjs",
    "test:p061": "node test-p061-host-unavailable-presence.mjs && node test-p061-notification-feed-gate.mjs",
    "test:p070": "node test-p070-fixture-history-resume.mjs && node test-p070-fixture-history-resume-http.mjs",
    "test:telegram-markdown": "node test-telegram-markdown-delivery.mjs",
    "test:voice-input": "node test-voice-input.mjs && node test-voice-input-usage.mjs",
    "test:telemetry": "node test-host-telemetry.mjs",
    "test:p037-frp": "node test-p037-frp-agent.mjs && node test-p037-frp-credential-rotation.mjs && node test-p037-managed-tunnel-setup.mjs",
    "test:p037-webrtc": "node test-p037-managed-tunnel-contract.mjs && node test-p037-background-transport-lifecycle.mjs && node test-p037-browser-lifecycle-race.mjs && node test-p064-history-resume-transport-recovery.mjs && node test-p037-webrtc-logical-transport.mjs && node test-p037-webrtc-browser-interop.mjs && node test-p037-logical-host-connection.mjs && node test-p037-webrtc-host-dispatcher.mjs && node test-p037-webrtc-signaling-service.mjs",
    "test:p037-turn-data-plane": "node test-p037-turn-data-plane.mjs",
    "test:p073": "node --test test-p073-session-loop-lifecycle.mjs && node test-p073-loop-menu-browser.mjs",
    "test:p075": "node test-p075-host2-turn-started-idempotency.mjs",
    "test:p076": "node --test test-p076-same-agent-folder-loop-reconciliation.mjs",
    "test:p077": "node test-p077-telegram-images.mjs && node test-telegram-bridge-turn-finalization.mjs && node test-telegram-markdown-delivery.mjs",
    "test:p082": "node test-p082-traffic-reduction-contract.mjs && node test-p007-matrix-sqlite-storage.mjs && node test-p037-webrtc-logical-transport.mjs && node test-p037-logical-host-connection.mjs",
    "test:p090": "node test-p090-node-npm-runtime-identity.mjs && node test-p090-host-update-transaction.mjs && node test-p090-update-restart-runner.mjs && node test-p018-npm-native-install.mjs && node test-p021-host-preferences-beta-update.mjs",
    "test:p098": "node test-p098-codex-subagent-thread-ownership.mjs",
    "test:p112": "node --test test-p112-unified-host-lifecycle.mjs",
    "test:p117": "node --test test-p117-automatic-host-update-recovery.mjs",
    "test:p118": "node test-p118-exact-matrix-event-context.mjs",
    "test:p119": "node test-p119-telegram-multi-chat-origin-routing.mjs",
    "test:p226": "node --test test-p226-lifecycle-diagnostics.mjs test-p226-service-definition-migration.mjs",
    "test:p237": "node --test test-p237-stable-bridge.mjs"
  },
  "dependencies": {
    "@agentclientprotocol/claude-agent-acp": "0.44.0",
    "better-sqlite3": "12.8.0",
    "busboy": "^1.6.0",
    "node-datachannel": "0.32.3",
    "qrcode-terminal": "^0.12.0",
    "ws": "^8.21.1"
  },
  "overrides": {
    "@hono/node-server": "2.0.12",
    "@modelcontextprotocol/sdk": "1.30.0",
    "body-parser": "2.3.0",
    "fast-uri": "3.1.5",
    "hono": "4.12.33"
  }
}
