Ctrl K
ComunidadGuías…

package.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "open-walnut",
  "version": "0.6.30",
  "description": "Personal AI powered by Claude — task management, Claude Code sessions, memory system, and web UI",
  "license": "MIT",
  "homepage": "https://github.com/EvanZhang008/open-walnut",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/EvanZhang008/open-walnut.git"
  },
  "keywords": [
    "ai",
    "task-manager",
    "claude",
    "claude-code",
    "personal-assistant",
    "productivity",
    "self-hosted",
    "local-first",
    "ai-agent",
    "web-ui",
    "knowledge-management",
    "typescript",
    "cli",
    "personal-ai",
    "automation"
  ],
  "type": "module",
  "imports": {
    "#ws": {
      "bun": "./src/lib/ws-npm.ts",
      "default": "ws"
    }
  },
  "workspaces": [
    "packages/plugin-api",
    "packages/plugin-cli"
  ],
  "bin": {
    "open-walnut": "bin/open-walnut.js",
    "walnut": "bin/open-walnut.js"
  },
  "main": "./dist/cli.js",
  "engines": {
    "bun": ">=1.4.4"
  },
  "packageManager": "bun@1.4.4",
  "allowScripts": {
    "esbuild": true,
    "onnxruntime-node": true,
    "protobufjs": true,
    "screencapturekit-audio-capture": true,
    "sharp": true
  },
  "trustedDependencies": [
    "esbuild",
    "onnxruntime-node",
    "protobufjs",
    "screencapturekit-audio-capture",
    "sharp"
  ],
  "files": [
    "bin",
    "dist",
    "!dist/daemon-binaries/daemon-linux-*",
    "!dist/daemon-binaries/daemon-darwin-*",
    "!dist/daemon-binaries/walnut-net-*",
    "dist/daemon-binaries/dtach-*",
    "!dist/**/*.map",
    "!dist/**/*.gz",
    "patches",
    "scripts/postinstall.mjs",
    "infra/bin",
    "infra/lib",
    "infra/cdk.json",
    "infra/package.json",
    "infra/bun.lock",
    "infra/tsconfig.json",
    "infra/README.md",
    "!infra/**/*.js",
    "!infra/**/*.d.ts",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "postinstall": "node scripts/postinstall.mjs",
    "prepublishOnly": "WALNUT_REQUIRE_BUN=1 bun run build && cd web && bun x vite build && cd .. && bun scripts/check-publish.mjs",
    "start": "bun run web:build && bun dist/cli.js web --port 3456",
    "build:plugins": "bun run --filter @open-walnut/plugin-api build && bun run --filter @open-walnut/plugin-cli build",
    "build": "bun run build:plugins && bash scripts/build-daemon.sh && tsup && rm -rf dist/data && cp -r src/data dist/ && for d in src/integrations/*/manifest.json; do t=\"dist/integrations/$(basename $(dirname $d))\"; mkdir -p \"$t\"; cp \"$d\" \"$t/\"; i=\"$(dirname $d)/icon.svg\"; rm -f \"$t/icon.svg\"; if [ -f \"$i\" ]; then cp \"$i\" \"$t/\"; fi; for sub in skills agent-skills; do s=\"$(dirname $d)/$sub\"; rm -rf \"$t/$sub\"; if [ -d \"$s\" ]; then cp -r \"$s\" \"$t/\"; fi; done; done && bun scripts/ship-builtin-plugins.mjs && bun scripts/ship-store-plugins.mjs",
    "docs:check": "bun scripts/generate-ops-docs.mjs --check --repo-only && bun scripts/check-plugin-doc-snippets.mjs",
    "test:plugin-packages": "bun run build:plugins && WALNUT_REQUIRE_NPM=1 bun --bun vitest run --config vitest.focus.config.ts tests/core/plugin-package-metadata.test.ts tests/core/plugin-cli-dev.test.ts tests/core/plugin-cli-scaffold.test.ts tests/core/plugin-publish-check.test.ts && bun scripts/check-plugin-packages.mjs",
    "test:npm-channel": "WALNUT_REQUIRE_NPM=1 bun --bun vitest run --config vitest.focus.config.ts tests/scripts/release-rehearsal.test.ts tests/scripts/release-archives.test.ts tests/providers/daemon-service-artifact.test.ts tests/scripts/file-distribution.e2e.test.ts tests/scripts/field-rehearsal.test.ts tests/scripts/npm-launcher-fetch.test.ts",
    "test:source-twin-node": "WALNUT_REQUIRE_NODE=1 bun --bun vitest run --config vitest.focus.config.ts -t 'source twin \\(node\\)' tests/providers/daemon-service-update-force-twins-e2e.test.ts tests/providers/transcript-archive-twins-e2e.test.ts tests/providers/daemon-big-stream-resume-twins-e2e.test.ts tests/providers/daemon-client-role-twins-e2e.test.ts tests/providers/daemon-gateway-resend-twins-e2e.test.ts tests/providers/daemon-isolated-twins-e2e.test.ts tests/providers/daemon-restart-ride-twins-e2e.test.ts tests/providers/daemon-restart-ride-cli-twins.test.ts tests/providers/daemon-cwd-heal-twins-e2e.test.ts tests/providers/daemon-bounded-reads-twins-e2e.test.ts tests/providers/daemon-host-vitals-twins-e2e.test.ts tests/providers/daemon-bridge-slow-link-twins-e2e.test.ts tests/providers/daemon-bridge-wss-twins-e2e.test.ts tests/providers/daemon-changes-memo-twins-e2e.test.ts tests/providers/daemon-git-compare-twins-e2e.test.ts tests/providers/daemon-cli-owner-twins-e2e.test.ts tests/providers/daemon-argv-files-twins-e2e.test.ts tests/providers/daemon-session-walnut-twins-e2e.test.ts tests/providers/daemon-runtime-keep-twins-e2e.test.ts tests/providers/daemon-service-handover-busy-twins-e2e.test.ts tests/providers/daemon-external-scan-twins-e2e.test.ts tests/providers/daemon-fallback-dir-twins-e2e.test.ts tests/providers/daemon-fold-checkpoint-twins-e2e.test.ts tests/providers/daemon-fs-find-config-dir-twins.test.ts tests/providers/daemon-isolated-exit-reap-twins.test.ts tests/providers/daemon-link-liveness-twins-e2e.test.ts tests/providers/daemon-send-dedupe-twins-e2e.test.ts tests/providers/daemon-user-line-images-twins-e2e.test.ts tests/providers/daemon-send-boot-wait-twins-e2e.test.ts tests/providers/daemon-spawn-gate-e2e.test.ts tests/providers/daemon-spawn-journal-twins-e2e.test.ts tests/providers/daemon-stale-pid-twins-e2e.test.ts tests/providers/daemon-startup-failure-twins-e2e.test.ts tests/providers/daemon-stream-compact-twins-e2e.test.ts tests/providers/daemon-transfer-twins-e2e.test.ts tests/providers/daemon-workspace-twins-e2e.test.ts tests/providers/feature-relay-twins-e2e.test.ts tests/providers/oneshot-twins-e2e.test.ts tests/providers/task-dir-reboot-twins-e2e.test.ts tests/providers/host-exec-twins-e2e.test.ts tests/providers/net-twins-e2e.test.ts tests/providers/host-reach-twins-e2e.test.ts tests/providers/secrets-twins-e2e.test.ts tests/providers/pw-silence-twins-e2e.test.ts tests/providers/daemon-walnut-scope-hooks-twins-e2e.test.ts tests/providers/turn-settings-twins-e2e.test.ts tests/providers/daemon-served-walnuts-twins-e2e.test.ts tests/providers/daemon-caller-proof-twins-e2e.test.ts tests/setup/exec-guard.test.ts && WALNUT_REQUIRE_NODE=1 bun --bun vitest run --config vitest.e2e.config.ts -t 'source twin \\(node\\)' tests/e2e/daemon-bridge-uplink.test.ts tests/e2e/feature-relay-journey-e2e.test.ts",
    "test:source-twin-node-suites": "WALNUT_REQUIRE_NODE=1 bun --bun vitest run --config vitest.focus.config.ts --maxWorkers=1 --retry=2 tests/e2e/acp-daemon-e2e.test.ts tests/e2e/acp-host-daemon-e2e.test.ts tests/e2e/asks-relay-e2e.test.ts tests/e2e/clock-routine-cluster-e2e.test.ts tests/e2e/cloud-file-content-relay-e2e.test.ts tests/e2e/cloud-host-hop-e2e.test.ts tests/e2e/cloud-send-daemon-death-redelivery-e2e.test.ts tests/e2e/control-host-policy-e2e.test.ts tests/e2e/daemon-bridge-e2e.test.ts tests/e2e/daemon-bridge-file-read-e2e.test.ts tests/e2e/daemon-bridge-image-save-e2e.test.ts tests/e2e/daemon-bridge-session-launch-e2e.test.ts tests/e2e/daemon-bridge-session-message-e2e.test.ts tests/e2e/daemon-fs-mkdir-e2e.test.ts tests/e2e/daemon-lifecycle-e2e.test.ts tests/e2e/daemon-parent-watchdog-e2e.test.ts tests/e2e/host-server-alone-e2e.test.ts tests/e2e/host-server-e2e.test.ts tests/e2e/host-server-file-e2e.test.ts tests/e2e/leader-takeover-live-e2e.test.ts tests/e2e/offline-trigger-create-server-e2e.test.ts tests/e2e/offline-triggers-server-e2e.test.ts tests/e2e/remote-session-autorespawn-e2e.test.ts tests/e2e/remote-session-e2e.test.ts tests/e2e/replica-api-v1-away.test.ts tests/e2e/replica-ask-e2e.test.ts tests/e2e/replica-cluster-e2e.test.ts tests/e2e/replica-console-static-e2e.test.ts tests/e2e/replica-old-mac-e2e.test.ts tests/e2e/replica-scale-e2e.test.ts tests/e2e/same-host-send-e2e.test.ts tests/e2e/session-cron-metadata-wire.test.ts tests/e2e/session-cron-supervision.test.ts tests/e2e/session-manager-e2e.test.ts tests/e2e/trigger-host-resume-server-e2e.test.ts tests/integration/agent-gateway.test.ts tests/integration/bridge-stream-twins.test.ts tests/integration/clock-routine-twins.test.ts tests/integration/host-replica-twins.test.ts tests/integration/host-server-twins.test.ts tests/integration/plugin-jobs-twins.test.ts tests/integration/host-slice-probe-twins.test.ts tests/integration/journal-v2-twins.test.ts tests/integration/leader-takeover-twins.test.ts tests/integration/letter-journal-twins.test.ts tests/integration/note-journal-twins.test.ts tests/integration/offline-host-gateway.test.ts tests/integration/offline-triggers-twins.test.ts tests/integration/replica-ask-twins.test.ts tests/integration/replica-front-twins.test.ts tests/integration/replica-local-routes-twins.test.ts tests/integration/replica-logs-twins.test.ts tests/integration/trigger-check-repair-daemon.test.ts tests/integration/trigger-host-delivery-daemon.test.ts tests/integration/trigger-host-resume-daemon.test.ts tests/lib/entry-runtime.test.ts tests/providers/daemon-control-cancel.test.ts tests/providers/daemon-crash-guards-e2e.test.ts tests/providers/daemon-orphan-stop-real-e2e.test.ts tests/providers/daemon-relay-reroute.test.ts tests/providers/daemon-relay-target-liveness.test.ts tests/providers/daemon-snapshot-wiring.test.ts tests/providers/daemon-source-fallback-loaders-e2e.test.ts tests/providers/daemon-streams-migration.test.ts tests/providers/daemon-trigger-state-reboot.test.ts tests/providers/daemon-triggers-two-walnuts.test.ts tests/providers/daemon-bridge-per-walnut-twins-e2e.test.ts tests/providers/daemon-turn-retry-e2e.test.ts tests/providers/follower-owner-scope-twins.test.ts tests/providers/oneshot-via-daemon-e2e.test.ts tests/unit/peers/wn-env-fallback.test.ts tests/unit/peers/tools-call-trailing-args.test.ts tests/unit/peers/tool-call-json-errors.test.ts tests/unit/peers/tool-call-force-color.test.ts tests/unit/peers/wn-shell-dollar.test.ts tests/unit/peers/host-exec-run-id.test.ts tests/providers/daemon-net-update-twins-e2e.test.ts tests/unit/peers/op-call-id-clients.test.ts tests/providers/daemon-trigger-state-snapshot.test.ts",
    "dev": "tsup --watch",
    "release": "bun scripts/release.mjs",
    "test": "bun scripts/test-layers.mjs run local",
    "test:ci": "bun scripts/test-parallel.mjs",
    "test:quick": "bun run docs:check && bun --bun vitest run --config vitest.quick.config.ts",
    "search:eval": "bun scripts/search-eval.mjs",
    "search:robustness": "bun scripts/search-robustness-eval.mjs",
    "test:slow": "bun --bun vitest run --config vitest.slow.config.ts",
    "test:focus": "bun --bun vitest run --config vitest.focus.config.ts",
    "test:local": "bun scripts/test-layers.mjs run local",
    "test:land": "bun scripts/test-layers.mjs run land",
    "test:frontend:ci": "bun scripts/test-frontend.mjs",
    "test:changed": "bun scripts/test-changed.mjs",
    "test:baseline": "bun scripts/test-baseline.mjs check",
    "test:baseline:record": "bun scripts/test-baseline.mjs record",
    "test:browser:baseline": "bun scripts/browser-baseline.mjs check --run",
    "test:browser:baseline:record": "bun scripts/browser-baseline.mjs record --run",
    "test:pre-commit": "bun run docs:check && bun scripts/test-changed.mjs --tiers",
    "test:unit": "bun --bun vitest run --config vitest.unit.config.ts",
    "test:integration": "bun --bun vitest run --config vitest.integration.config.ts",
    "test:infra": "bun install --frozen-lockfile --cwd infra && bun --bun vitest run --root infra",
    "test:e2e": "bun --bun vitest run --config vitest.e2e.config.ts",
    "test:live": "WALNUT_LIVE_TEST=1 bun --bun vitest run --config vitest.live.config.ts",
    "test:live:daemon": "bash scripts/run-live-daemon-tests.sh",
    "test:live:cloud": "bash scripts/run-live-cloud-tests.sh",
    "test:live:providers": "bun --bun vitest run --config vitest.live.config.ts tests/live/provider-matrix/matrix.live.test.ts",
    "test:live:aws-setup": "bash scripts/run-live-aws-cloud-setup.sh",
    "test:fleet": "bash scripts/run-fleet-tests.sh",
    "test:full": "bun run test && bun run test:e2e && bun run test:live:daemon && bun run test:live:cloud",
    "test:all": "bun run lint && bun run lint:paths && bun run test:ci && bun x playwright test",
    "lint:paths": "bash scripts/lint-production-paths.sh",
    "lint:plugins": "bun run build:plugins && tsc --noEmit -p packages/browser-extension/tsconfig.json && tsc --noEmit -p packages/plugin-api/tsconfig.json && tsc --noEmit -p packages/plugin-cli/tsconfig.json && tsc -p tests/typechecks/tsconfig.plugin-api.json && tsc --noEmit -p examples/plugins/walnut-demo/tsconfig.json && tsc --noEmit -p examples/plugins/walnut-time/tsconfig.json",
    "test:coverage": "bun --bun vitest run --coverage",
    "test:watch": "bun --bun vitest",
    "build:daemon": "bash scripts/build-daemon.sh",
    "build:binary": "bun scripts/build-binary.mjs",
    "lint": "tsc --noEmit && bun run lint:plugins",
    "web": "bun dist/cli.js web",
    "web:dev": "concurrently \"tsup --watch\" \"cd web && bun x vite\"",
    "web:build": "bash scripts/build-daemon.sh && tsup && rm -rf dist/data && cp -r src/data dist/ && for d in src/integrations/*/manifest.json; do t=\"dist/integrations/$(basename $(dirname $d))\"; mkdir -p \"$t\"; cp \"$d\" \"$t/\"; i=\"$(dirname $d)/icon.svg\"; rm -f \"$t/icon.svg\"; if [ -f \"$i\" ]; then cp \"$i\" \"$t/\"; fi; for sub in skills agent-skills; do s=\"$(dirname $d)/$sub\"; rm -rf \"$t/$sub\"; if [ -d \"$s\" ]; then cp -r \"$s\" \"$t/\"; fi; done; done && bun scripts/ship-builtin-plugins.mjs && bun scripts/ship-store-plugins.mjs && cd web && ./node_modules/.bin/vite build && cd .. && bun scripts/build-extension.mjs",
    "extension:build": "bun scripts/build-extension.mjs",
    "dev:ephemeral": "bash scripts/dev-ephemeral.sh",
    "dev:demo": "bun run web:build && (lsof -ti:3457 -sTCP:LISTEN | xargs kill -15 2>/dev/null || true); (cat /tmp/open-walnut-demo/daemon.pid 2>/dev/null | xargs kill -15 2>/dev/null || true); sleep 1; echo \"Demo server: http://localhost:3457  (data: $HOME/.open-walnut-demo, daemon: /tmp/open-walnut-demo; isolated from prod)\"; OPEN_WALNUT_HOME=\"$HOME/.open-walnut-demo\" WALNUT_DAEMON_DIR=/tmp/open-walnut-demo bun dist/cli.js web --port 3457",
    "dev:prod": "bash scripts/dev-prod.sh",
    "prepare": "husky"
  },
  "dependencies": {
    "@agentclientprotocol/codex-acp": "1.4.0",
    "@agentclientprotocol/sdk": "1.2.1",
    "@anthropic-ai/bedrock-sdk": "^0.26.3",
    "@anthropic-ai/claude-agent-sdk": "0.2.50",
    "@anthropic-ai/tokenizer": "^0.0.4",
    "@aws-sdk/client-s3": "^3.1110.0",
    "@aws-sdk/client-sts": "^3.996.0",
    "@aws-sdk/lib-storage": "^3.1110.0",
    "@azure/msal-node": "^5.0.3",
    "@google/generative-ai": "^0.24.1",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "@mozilla/readability": "^0.6.0",
    "@slack/web-api": "^7.14.0",
    "@tiptap/extension-image": "^3.20.1",
    "chalk": "^5.4.1",
    "commander": "^14.0.0",
    "compression": "^1.8.1",
    "cors": "^2.8.6",
    "croner": "^10.0.1",
    "diff": "^9.0.0",
    "express": "^5.2.1",
    "entities": "7.0.1",
    "htmlparser2": "10.1.0",
    "image-size": "^2.0.2",
    "imapflow": "^1.7.8",
    "js-yaml": "^4.1.0",
    "linkedom": "^0.18.12",
    "mailparser": "^3.9.20",
    "marked": "^15.0.12",
    "marked-terminal": "^7.3.0",
    "nodemailer": "^9.1.1",
    "openai": "^6.29.0",
    "parse5": "8.0.0",
    "tldts": "7.4.19",
    "ws": "^8.19.0",
    "zod": "^4.3.6"
  },
  "optionalDependencies": {
    "@huggingface/transformers": "^4.2.0",
    "screencapturekit-audio-capture": "^1.3.6",
    "sharp": "^0.34.5"
  },
  "devDependencies": {
    "@playwright/test": "^1.58.2",
    "@types/compression": "^1.8.1",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@types/image-size": "^0.7.0",
    "@types/js-yaml": "^4.0.9",
    "@types/marked-terminal": "^6.1.1",
    "@types/node": "^22.15.0",
    "@types/sharp": "^0.31.1",
    "@types/supertest": "^6.0.3",
    "@types/ws": "^8.18.1",
    "@vitest/coverage-v8": "^3.1.0",
    "acorn": "^8.16.0",
    "concurrently": "^9.2.1",
    "esbuild": "^0.27.3",
    "husky": "^9.1.7",
    "pi-acp": "0.0.33",
    "supertest": "^7.2.2",
    "tsup": "^8.5.0",
    "tsx": "^4.23.1",
    "typescript": "^5.8.0",
    "vitest": "^3.1.0",
    "yaml": "^2.8.3"
  },
  "patchedDependencies": {
    "@anthropic-ai/claude-agent-sdk@0.2.50": "patches/@anthropic-ai%2Fclaude-agent-sdk@0.2.50.patch",
    "@agentclientprotocol/codex-acp@1.4.0": "patches/@agentclientprotocol%2Fcodex-acp@1.4.0.patch"
  }
}