{
  "name": "@tiens.nguyen/gu-cli",
  "version": "1.0.831",
  "description": "Gu CLI — the gu terminal plus the local worker that runs agent / OCR / PDF / embedding jobs on your Mac (Ollama / MLX / OpenAI-compatible).",
  "type": "module",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/tiennsloit/gu.git"
  },
  "homepage": "https://github.com/tiennsloit/gu#readme",
  "bugs": {
    "url": "https://github.com/tiennsloit/gu/issues"
  },
  "bin": {
    "gu-cli": "gu-cli.mjs",
    "gu-local-worker": "gu-cli.mjs",
    "gu": "gu-repl.mjs"
  },
  "scripts": {
    "postinstall": "node install-path.mjs",
    "test": "python3 -m unittest discover tests -v && node --test",
    "test:js": "node --test",
    "test:ui": "node --test --test-concurrency=1 tests/ui/ui.test.mjs",
    "ui:show": "node tests/ui/show.mjs",
    "ui:accept": "UPDATE_UI=1 node --test --test-concurrency=1 tests/ui/ui.test.mjs",
    "test:keys": "node --test tests/key-choice-regression.test.mjs tests/coding-key-line.test.mjs tests/coding-key-picker.test.mjs tests/coding-key-prompt.test.mjs tests/coding-key-notice.test.mjs tests/coding-key-fallback-line.test.mjs tests/manage-coding-providers.test.mjs tests/add-coding-provider.test.mjs tests/coding-provider-setup.test.mjs",
    "deploy:local": "npm install -g .",
    "run": "gu-cli",
    "publish:org": "npm publish --access public",
    "preflight": "node scripts/preflight.mjs",
    "test:e2e": "GONEXT_E2E=1 node --test tests/client-expert-e2e.test.mjs",
    "test:linux": "bash scripts/e2e-linux.sh",
    "test:rag": "node scripts/rag-e2e.mjs",
    "test:ollama1-e2e": "GONEXT_OLLAMA1_LIVE=1 node --test --test-timeout=1800000 tests/ollama1-e2e.test.mjs",
    "test:ollama1": "GONEXT_OLLAMA1_LIVE=1 python3 -m unittest discover tests -p \"test_ollama1_live.py\" -v",
    "test:proxy": "python3 -m unittest discover tests -p \"test_proxy.py\" && node --test --test-timeout=30000 tests/proxy-config.test.mjs tests/proxy-transport.test.mjs tests/proxy-local-bypass.test.mjs tests/proxy-selftest.test.mjs tests/proxy-command.test.mjs",
    "coverage": "node scripts/coverage.mjs",
    "capture:cache": "GONEXT_OLLAMA1_LIVE=1 node scripts/capture-cache-fixture.mjs",
    "test:cache-e2e": "GONEXT_OLLAMA1_LIVE=1 node --test --test-timeout=1800000 tests/prefix-cache-e2e.test.mjs",
    "test:tokens": "python3 -m unittest discover tests -p \"test_cached_tokens.py\" -v && node --test tests/prefix-cache.test.mjs tests/agent-turn-shape.test.mjs",
    "test:selection": "node --test tests/selection-scrollback.test.mjs tests/selection-while-thinking.test.mjs tests/terminal-selection.test.mjs tests/terminal-copy.test.mjs tests/terminal-viewport.test.mjs tests/hover-repaint.test.mjs",
    "test:autoscroll": "node --test tests/no-autoscroll-hide-total.test.mjs tests/thought-spacing.test.mjs tests/terminal-viewport.test.mjs tests/selection-scrollback.test.mjs",
    "test:steps": "python3 scripts/py-tap.py tests/test_read_caps.py tests/test_trim_payback.py tests/test_explore.py tests/test_and_chains.py tests/test_edit_file_primary.py tests/test_bare_code_rescue.py tests/test_batching_rule.py tests/test_no_pdf_routing.py",
    "check:image": "node scripts/image-paste-check.mjs",
    "check:image-clipboard": "node scripts/image-paste-check.mjs --clipboard",
    "test:presets": "node --test tests/open-presets.test.mjs tests/preset-safety.test.mjs tests/preset-more.test.mjs tests/preset-apply.test.mjs tests/preset-full.test.mjs tests/presets-transfer.test.mjs tests/preset-editor.test.mjs tests/load-preset-paste.test.mjs",
    "test:skills": "python3 scripts/py-tap.py tests/test_skills_mcp_turn.py tests/test_hooks_turn.py tests/test_claude_hooks.py tests/test_mcp_client.py && node --test tests/skills.test.mjs tests/mcp-config.test.mjs tests/hooks-config.test.mjs tests/switch-skill.test.mjs tests/slash-menu.test.mjs tests/conversation-archive.test.mjs",
    "capture:turn": "GONEXT_OLLAMA1_LIVE=1 node scripts/capture-turn-fixture.mjs",
    "test:bearer": "node --test tests/bearer-routing.test.mjs tests/bearer-verify.test.mjs",
    "test:bearer-e2e": "bash scripts/bearer-e2e.sh"
  },
  "files": [
    "accent.mjs",
    "edit-card-render.mjs",
    "diff-syntax.mjs",
    "theme.mjs",
    "gu-cli.mjs",
    "gu-repl.mjs",
    "step-tokens.mjs",
    "model-setup-ui.mjs",
    "setup-prompts.mjs",
    "turn-stop.mjs",
    "workspace-revert.mjs",
    "mongo-native.mjs",
    "terminal-hover.mjs",
    "terminal-layout.mjs",
    "terminal-viewport.mjs",
    "terminal-copy.mjs",
    "version-check.mjs",
    "rag-selftest.mjs",
    "cli-token.mjs",
    "credential-recovery.mjs",
    "settings-transfer.mjs",
    "presets-transfer.mjs",
    "image-capable-coders.json",
    "preset-editor.mjs",
    "preset-apply.mjs",
    "model-prices.mjs",
    "model-limits-notice.mjs",
    "device-login.mjs",
    "daemon-control.mjs",
    "log-policy.mjs",
    "log-level.mjs",
    "full-log-command.mjs",
    "poll-errors.mjs",
    "node-version.mjs",
    "clear-state.mjs",
    "clear-logs.mjs",
    "platform-tools.mjs",
    "job-pools.mjs",
    "agent-stop.mjs",
    "image-paste.mjs",
    "scripts/image-paste-check.mjs",
    "rag-job-config.mjs",
    "completed-flush.mjs",
    "verbose-lines.mjs",
    "agent-model-label.mjs",
    "coding-choice-tags.mjs",
    "coding-provider-setup.mjs",
    "client-expert-setup.mjs",
    "client-expert-run.mjs",
    "client-expert-api.mjs",
    "first-run-steps.mjs",
    "proxy-config.mjs",
    "agent-model-command.mjs",
    "ollama-setup.mjs",
    "s3-setup.mjs",
    "doctor-check.mjs",
    "embed-model-command.mjs",
    "proxy-command.mjs",
    "proxy-selftest.mjs",
    "proxy-store.mjs",
    "proxy-dispatcher.mjs",
    "model-doctor.mjs",
    "coding-key-prompt.mjs",
    "model-fallback.mjs",
    "terminal-title.mjs",
    "gu-relaunch.mjs",
    "server-keys.mjs",
    "add-server.mjs",
    "powershell-alias.mjs",
    "install-path.mjs",
    "update-verify.mjs",
    "skills.mjs",
    "skill-source.mjs",
    "shell-details.mjs",
    "step-group.mjs",
    "mcp-config.mjs",
    "mcp-command.mjs",
    "hooks-config.mjs",
    "hooks-command.mjs",
    "conversation-archive.mjs",
    "gonext_probe_agent.py",
    "gonext_agent_chat.py",
    "gu_mcp.py",
    "gu_skills.py",
    "gu_hooks.py",
    "prompt_scaffold_check.py",
    "gonext_transcribe.py",
    "gonext_mlx_embed.py",
    "thinking_words.txt",
    "README.md",
    "launchd/"
  ],
  "publishConfig": {
    "access": "public"
  },
  "dependencies": {
    "dotenv": "^16.4.5",
    "express": "^4.21.0",
    "openai": "^4.77.0",
    "undici": "^7.29.0"
  },
  "engines": {
    "node": ">=18"
  }
}
