{
  "name": "@juspay/neurolink",
  "version": "13.0.0",
  "packageManager": "pnpm@10.15.1",
  "description": "The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002/call) for routing, tool selection and context budgeting. MCP-native (4 transports), voice TTS/STT/realtime, RAG, agents, memory, compaction, 9 observability exporters. OpenAI · Anthropic · Gemini · Bedrock · Azure · Ollama · TypeSafe Jev and more.",
  "author": {
    "name": "Juspay Technologies",
    "email": "support@juspay.in",
    "url": "https://juspay.io"
  },
  "license": "MIT",
  "homepage": "https://github.com/juspay/neurolink#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/juspay/neurolink.git"
  },
  "bugs": {
    "url": "https://github.com/juspay/neurolink/issues"
  },
  "funding": {
    "type": "individual",
    "url": "https://github.com/sponsors/juspay"
  },
  "engines": {
    "node": ">=22.0.0",
    "pnpm": ">=10.0.0"
  },
  "scripts": {
    "dev": "vite dev",
    "build": "vite build && pnpm run prepack",
    "build:browser": "node scripts/build-browser.mjs",
    "build:browser:dev": "node scripts/build-browser.mjs --dev",
    "build:cli": "echo 'Building CLI...' && svelte-kit sync && tsc --project tsconfig.cli.json && node scripts/collapse-cli-lib-duplicate.mjs",
    "build:action": "ncc build src/action/index.ts -o action-dist --source-map",
    "build:cli:link": "pnpm run build:cli && pnpm link --global",
    "check:deps": "tsx scripts/check-banned-deps.ts",
    "check:dts": "tsx scripts/check-shipped-types.ts",
    "check:docs-api": "tsx scripts/check-docs-api.ts",
    "codegen:catalog": "tsx tools/codegen-catalog.ts",
    "cli": "node dist/cli/index.js",
    "preview": "vite preview",
    "prepare": "git rev-parse --git-dir > /dev/null 2>&1 && husky install || echo 'Skipping husky in non-git environment'",
    "prepack": "svelte-kit sync && svelte-package && pnpm run build:react-hooks && pnpm run build:cli && pnpm run build:browser && publint",
    "build:react-hooks": "pnpm exec tsc --jsx react-jsx --module nodenext --moduleResolution nodenext --target esnext --esModuleInterop --skipLibCheck --strict --outDir dist --declaration false src/lib/client/reactHooks.tsx",
    "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json && tsc --noEmit --strict",
    "check:models": "tsx tools/check-model-liveness.ts",
    "check:ci-scripts": "svelte-kit sync && tsc -p tsconfig.ci-scripts.json",
    "check:test-parse": "node scripts/parse-check-tests.mjs",
    "check:tools-tests": "svelte-kit sync && tsc -p tsconfig.tools-tests.json",
    "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
    "typecheck": "tsc --noEmit",
    "modelServer": "tsx scripts/modelServer.ts",
    "lint": "prettier --check . && NODE_OPTIONS='--max-old-space-size=8192' eslint .",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "format:staged": "tsx scripts/format-staged.ts",
    "changeset": "changeset",
    "changeset:version": "changeset version && git add --all",
    "format:changelog": "tsx scripts/format-changelog.ts",
    "// ===== NEUROLINK DEVELOPER EXPERIENCE ENHANCEMENT 2.0 =====": "",
    "// Environment & Setup (pnpm-first)": "",
    "setup": "pnpm install && tsx tools/setup.ts",
    "setup:complete": "pnpm run setup && pnpm run project:organize && pnpm run env:validate",
    "env:setup": "tsx tools/automation/environmentManager.ts",
    "env:validate": "tsx tools/automation/environmentManager.ts --validate",
    "env:backup": "tsx tools/automation/environmentManager.ts --backup",
    "env:list-backups": "tsx tools/automation/environmentManager.ts --list-backups",
    "// Project Management & Analysis": "",
    "project:organize": "tsx tools/automation/projectOrganizer.ts",
    "project:health": "tsx tools/development/healthMonitor.ts",
    "// Shell Script Conversion": "",
    "convert:shell-scripts": "tsx tools/automation/shellConverter.ts",
    "convert:specific": "tsx tools/automation/shellConverter.ts --specific",
    "// Testing (Continuous Test Suites)": "",
    "test": "pnpm exec tsx test/continuous-test-suite.ts",
    "test:agent-delegation": "pnpm exec tsx test/continuous-test-suite-agent-delegation.ts",
    "test:agent-tasks": "pnpm exec tsx test/continuous-test-suite-agent-tasks.ts",
    "test:agent:session-stream": "pnpm exec tsx test/continuous-test-suite-agent-session-stream.ts",
    "test:agent:platform-router": "pnpm exec tsx test/continuous-test-suite-agent-platform-router.ts",
    "test:artifact-banking": "pnpm exec tsx test/continuous-test-suite-artifact-banking.ts",
    "test:background-commands": "pnpm exec tsx test/continuous-test-suite-background-commands.ts",
    "test:client": "pnpm exec tsx test/continuous-test-suite-client.ts",
    "test:context": "pnpm exec tsx test/continuous-test-suite-context.ts",
    "test:evaluation": "pnpm exec tsx test/continuous-test-suite-evaluation.ts",
    "test:harness-offline-timeout": "pnpm exec tsx test/continuous-test-suite-harness-offline-timeout.ts",
    "test:resolve-request-kind": "pnpm exec tsx test/continuous-test-suite-resolve-request-kind.ts",
    "test:mcp": "pnpm exec tsx test/continuous-test-suite-mcp-infra.ts",
    "test:mcp:egress": "pnpm exec tsx test/continuous-test-suite-mcp-egress.ts",
    "test:mcp:deadline-health": "pnpm exec tsx test/continuous-test-suite-mcp-deadline-health.ts",
    "test:mcp:timeout-compat": "pnpm exec tsx test/continuous-test-suite-mcp-timeout-compat.ts",
    "test:tool-resolution": "pnpm exec tsx test/continuous-test-suite-tool-resolution.ts",
    "test:mcp:http": "pnpm exec tsx test/continuous-test-suite-mcp-http.ts",
    "test:mcp:sdk": "pnpm exec tsx test/continuous-test-suite-mcp-sdk.ts",
    "test:mcp:cli": "pnpm exec tsx test/continuous-test-suite-mcp-cli.ts",
    "test:mcp:stdio-lifecycle": "pnpm exec tsx test/continuous-test-suite-mcp-stdio-lifecycle.ts",
    "test:process-exit": "pnpm exec tsx test/continuous-test-suite-process-exit.ts",
    "test:mcp-direct-name-repair": "pnpm exec tsx test/continuous-test-suite-mcp-direct-name-repair.ts",
    "test:mcp:min-tools-readiness": "pnpm exec tsx test/continuous-test-suite-mcp-min-tools-readiness.ts",
    "test:mcp:full": "pnpm run test:mcp:infra && pnpm run test:mcp:spans && pnpm run test:mcp:stdio-lifecycle && pnpm run test:mcp:min-tools-readiness && pnpm run test:mcp:sdk && pnpm run test:mcp:cli && pnpm run test:mcp:http",
    "test:media": "pnpm exec tsx test/continuous-test-suite-media-gen.ts",
    "test:media-registry-collisions": "pnpm exec tsx test/continuous-test-suite-media-registry-collisions.ts",
    "test:memory": "pnpm exec tsx test/continuous-test-suite-memory.ts",
    "test:logger-routing": "pnpm exec tsx test/continuous-test-suite-logger-instance-routing.ts",
    "test:multimodal-rag": "pnpm exec tsx test/continuous-test-suite-multimodal-rag.ts",
    "test:multimodal-text-content-fold": "pnpm exec tsx test/continuous-test-suite-multimodal-text-content-fold.ts",
    "test:proxy-sharing": "pnpm run build && pnpm exec tsx test/continuous-test-suite-proxy-sharing.ts",
    "test:openai-compat-streaming-retry": "pnpm exec tsx test/continuous-test-suite-openai-compat-streaming-retry.ts",
    "test:anthropic-streaming-retry": "pnpm exec tsx test/continuous-test-suite-anthropic-streaming-retry.ts",
    "test:anthropic-silent-truncation": "pnpm exec tsx test/continuous-test-suite-anthropic-silent-truncation.ts",
    "test:anthropic-thinking-disabled": "pnpm exec tsx test/continuous-test-suite-anthropic-thinking-disabled.ts",
    "test:cache-cost-accounting": "pnpm exec tsx test/continuous-test-suite-cache-cost-accounting.ts",
    "test:agent:cost": "pnpm exec tsx test/continuous-test-suite-agent-cost.ts",
    "test:adjust-body-after-400": "pnpm exec tsx test/continuous-test-suite-adjust-body-after-400.ts",
    "test:zod3-schema-native-path": "pnpm exec tsx test/continuous-test-suite-zod3-schema-native-path.ts",
    "test:forced-tool-declared": "pnpm exec tsx test/continuous-test-suite-forced-tool-declared.ts",
    "test:span-content-redaction": "pnpm exec tsx test/continuous-test-suite-span-content-redaction.ts",
    "test:voice-turn-memory": "pnpm exec tsx test/continuous-test-suite-voice-turn-memory.ts",
    "test:error-classification-e2e": "pnpm exec tsx test/continuous-test-suite-error-classification-e2e.ts",
    "test:error-classifier-contract": "pnpm exec tsx test/continuous-test-suite-error-classifier-contract.ts",
    "test:bedrock-inference-profile": "pnpm exec tsx test/continuous-test-suite-bedrock-inference-profile.ts",
    "test:retired-model-defaults": "pnpm exec tsx test/continuous-test-suite-retired-model-defaults.ts",
    "test:loop-engine": "pnpm exec tsx test/continuous-test-suite-loop-engine.ts",
    "test:middleware": "pnpm exec tsx test/continuous-test-suite-middleware.ts",
    "test:stream-middleware": "pnpm exec tsx test/continuous-test-suite-stream-middleware.ts",
    "test:stream-tool-telemetry": "pnpm exec tsx test/continuous-test-suite-stream-tool-telemetry.ts",
    "test:tool-replay": "pnpm exec tsx test/continuous-test-suite-tool-replay.ts",
    "test:memory:hippocampus": "pnpm exec tsx test/continuous-test-suite-memory-hippocampus.ts",
    "test:security-check-filter": "pnpm exec tsx test/continuous-test-suite-security-check-filter.ts",
    "test:stream-teardown-abort": "pnpm exec tsx test/continuous-test-suite-stream-teardown-abort.ts",
    "test:observability": "pnpm exec tsx test/continuous-test-suite-observability.ts",
    "test:ppt": "pnpm exec tsx test/continuous-test-suite-ppt.ts",
    "test:vertex-loop-characterization": "tsx test/continuous-test-suite-vertex-loop-characterization.ts",
    "test:vertex-claude-thinking": "pnpm exec tsx test/continuous-test-suite-vertex-claude-thinking.ts",
    "test:providers": "pnpm exec tsx test/continuous-test-suite-providers.ts",
    "test:new-providers": "pnpm exec tsx test/continuous-test-suite-new-providers.ts",
    "test:matrix": "pnpm exec tsx test/continuous-test-suite-provider-matrix.ts",
    "test:matrix:cli": "pnpm exec tsx test/continuous-test-suite-provider-matrix-cli.ts",
    "test:thinking-config": "pnpm exec tsx test/continuous-test-suite-sdk-thinking-config.ts",
    "test:gemini-thinking-level": "pnpm exec tsx test/continuous-test-suite-gemini-thinking-level.ts",
    "test:gemini-thinking-level-ai-studio": "pnpm exec tsx test/continuous-test-suite-gemini-thinking-level-ai-studio.ts",
    "test:anthropic-toolchoice": "pnpm exec tsx test/continuous-test-suite-anthropic-toolchoice.ts",
    "test:mcp:spans": "pnpm exec tsx test/continuous-test-suite-mcp-spans.ts",
    "test:mcp:infra": "pnpm exec tsx test/continuous-test-suite-mcp-infra.ts",
    "test:vendor-recovery": "pnpm exec tsx test/continuous-test-suite-native-vendor-recovery.ts",
    "test:anthropic-generate-guard": "pnpm exec tsx test/continuous-test-suite-anthropic-generate-guard.ts",
    "test:stream-structured-output": "pnpm exec tsx test/continuous-test-suite-stream-structured-output.ts",
    "test:browser-bundle": "pnpm exec tsx test/continuous-test-suite-browser-bundle.ts",
    "test:providers-mocked": "pnpm exec tsx test/continuous-test-suite-providers-mocked.ts",
    "test:image-download-transport": "pnpm exec tsx test/continuous-test-suite-image-download-transport.ts",
    "test:decide-contract": "pnpm exec tsx test/continuous-test-suite-decide-provider-contract.ts",
    "test:acceptance-gate": "pnpm exec tsx test/continuous-test-suite-acceptance-gate.ts",
    "test:cli-fallback": "pnpm exec tsx test/continuous-test-suite-cli-fallback.ts",
    "test:package-declarations": "pnpm exec tsx test/continuous-test-suite-package-declarations.ts",
    "scaffold:provider": "pnpm exec tsx tools/scaffold-provider.ts",
    "verify:provider-onboarding": "pnpm exec tsx tools/verify-provider-onboarding.ts",
    "test:openai-compat-catalog": "pnpm exec tsx test/continuous-test-suite-openai-compat-catalog.ts",
    "test:catalog-auth-header-style": "pnpm exec tsx test/continuous-test-suite-catalog-auth-header-style.ts",
    "test:decide-catalog-schema": "pnpm exec tsx test/continuous-test-suite-decide-catalog-schema.ts",
    "test:provider-descriptors": "pnpm exec tsx test/continuous-test-suite-provider-descriptors.ts",
    "test:ollama-diagnostics": "pnpm exec tsx test/continuous-test-suite-ollama-diagnostics.ts",
    "test:decide-engine": "pnpm exec tsx test/continuous-test-suite-decide-engine.ts",
    "test:provider-structure": "pnpm exec tsx test/continuous-test-suite-provider-structure.ts",
    "test:model-manifests": "pnpm exec tsx test/continuous-test-suite-model-manifests.ts",
    "test:cli-models-list": "pnpm exec tsx test/continuous-test-suite-cli-models-list.ts",
    "test:provider-fallback": "pnpm exec tsx test/continuous-test-suite-provider-fallback.ts",
    "test:provider-fallback-latency": "pnpm exec tsx test/continuous-test-suite-provider-fallback-latency.ts",
    "test:provider-wiring": "pnpm exec tsx test/continuous-test-suite-provider-wiring.ts",
    "test:orchestrated-provider-selection": "pnpm exec tsx test/continuous-test-suite-orchestrated-provider-selection.ts",
    "test:embedding-response-validation": "pnpm exec tsx test/continuous-test-suite-embedding-response-validation.ts",
    "test:xiaomi-mimo-pilot": "pnpm exec tsx test/continuous-test-suite-xiaomi-mimo-pilot.ts",
    "test:mimo-overflow-budget": "pnpm exec tsx test/continuous-test-suite-mimo-overflow-budget.ts",
    "test:longcat-pilot": "pnpm exec tsx test/continuous-test-suite-longcat-pilot.ts",
    "test:runinfra-pilot": "pnpm exec tsx test/continuous-test-suite-runinfra-pilot.ts",
    "test:pdf-image-streaming": "pnpm exec tsx test/continuous-test-suite-pdf-image-streaming.ts",
    "test:rag": "pnpm exec tsx test/continuous-test-suite-rag.ts",
    "test:rag-html-markup": "pnpm exec tsx test/continuous-test-suite-rag-html-markup.ts",
    "test:rag-bounds": "pnpm exec tsx test/continuous-test-suite-rag-bounds.ts",
    "test:skills": "pnpm exec tsx test/continuous-test-suite-skills.ts",
    "test:decide": "pnpm exec tsx test/continuous-test-suite-decide.ts",
    "test:decide-catalog": "pnpm exec tsx test/continuous-test-suite-decide-catalog.ts",
    "test:agent-mode": "pnpm exec tsx test/continuous-test-suite-agent-mode.ts",
    "test:servers": "pnpm exec tsx test/continuous-test-suite-servers.ts",
    "test:server-boundaries": "pnpm exec tsx test/continuous-test-suite-server-boundaries.ts",
    "test:websocket-agent-handler": "pnpm exec tsx test/continuous-test-suite-websocket-agent-handler.ts",
    "test:tool-reliability": "pnpm exec tsx test/continuous-test-suite-tool-reliability.ts",
    "test:video-abort": "pnpm exec tsx test/continuous-test-suite-video-abort.ts",
    "test:video-options-allowlist": "pnpm exec tsx test/continuous-test-suite-video-options-allowlist.ts",
    "test:tts": "pnpm exec tsx test/continuous-test-suite-tts.ts",
    "test:tts:sixtydb": "pnpm exec tsx test/continuous-test-suite-sixtydb.ts",
    "test:tts:unit": "pnpm exec tsx test/continuous-test-suite-tts-unit.ts",
    "test:stt:unit": "pnpm exec tsx test/continuous-test-suite-stt-unit.ts",
    "test:transcribe": "pnpm exec tsx test/continuous-test-suite-transcribe.ts",
    "test:transcribe:stream": "pnpm exec tsx test/continuous-test-suite-transcribe-stream.ts",
    "test:realtime:unit": "pnpm exec tsx test/continuous-test-suite-realtime-unit.ts",
    "test:video:unit": "pnpm exec tsx test/continuous-test-suite-video-generation-unit.ts",
    "test:voice": "pnpm exec tsx test/continuous-test-suite-voice.ts",
    "test:avatar": "pnpm exec tsx test/continuous-test-suite-avatar.ts",
    "test:avatar:unit": "pnpm exec tsx test/continuous-test-suite-avatar-unit.ts",
    "test:music": "pnpm exec tsx test/continuous-test-suite-music.ts",
    "test:music:unit": "pnpm exec tsx test/continuous-test-suite-music-unit.ts",
    "test:image-gen": "pnpm exec tsx test/continuous-test-suite-image-gen-extras.ts",
    "test:credentials": "pnpm exec tsx test/continuous-test-suite-credentials.ts",
    "test:local-usage": "pnpm exec tsx test/continuous-test-suite-local-usage.ts",
    "test:dynamic": "pnpm exec tsx test/continuous-test-suite-dynamic.ts",
    "test:proxy": "pnpm exec tsx test/continuous-test-suite-proxy.ts",
    "test:proxy-connect-retry": "pnpm exec tsx test/continuous-test-suite-proxy-connect-retry.ts",
    "test:proxy-reliability": "node scripts/run-proxy-reliability.mjs",
    "test:proxy-telemetry": "pnpm exec tsx test/continuous-test-suite-proxy-telemetry.ts",
    "test:proxy-restart": "pnpm exec tsx test/continuous-test-suite-proxy-restart.ts",
    "test:codex": "pnpm exec tsx test/continuous-test-suite-codex.ts",
    "test:bugfixes": "pnpm exec tsx test/continuous-test-suite-bugfixes.ts",
    "test:json-e2e": "pnpm exec tsx test/continuous-test-suite-json-e2e.ts",
    "test:workflow": "pnpm exec tsx test/continuous-test-suite-workflow.ts",
    "test:workflow-deadlines": "pnpm exec tsx test/continuous-test-suite-workflow-deadlines.ts",
    "test:hitl": "pnpm exec tsx test/continuous-test-suite-hitl.ts",
    "test:hitl:timeout-exclusions": "pnpm exec tsx test/continuous-test-suite-hitl-timeout-exclusions.ts",
    "test:tasks": "pnpm exec tsx test/continuous-test-suite-tasks.ts",
    "test:auth": "pnpm exec tsx test/continuous-test-suite-auth.ts",
    "test:autoresearch": "pnpm exec tsx test/continuous-test-suite-autoresearch.ts",
    "test:codex-quota": "svelte-kit sync && vitest run test/codex-quota-observability.test.ts",
    "test:agents-live": "tsx test/continuous-test-agents-live.ts",
    "test:tool-routing-cli": "pnpm exec tsx test/continuous-test-suite-tool-routing-cli.ts",
    "test:tool-dedup": "pnpm exec tsx test/continuous-test-suite-tool-dedup.ts",
    "test:tools-manager-truncation": "pnpm exec tsx test/continuous-test-suite-tools-manager-truncation.ts",
    "test:tooling-scripts": "pnpm exec tsx test/continuous-test-suite-tooling-scripts.ts",
    "test:tooling-shell-safety": "pnpm exec tsx test/continuous-test-suite-tooling-shell-safety.ts",
    "test:model-not-found-retryable": "pnpm exec tsx test/continuous-test-suite-model-not-found-retryable.ts",
    "test:reasoning-parity-live": "pnpm exec tsx test/continuous-test-suite-reasoning-parity-live.ts",
    "test:ci": "pnpm run test && pnpm run test:client && pnpm run test:hitl",
    "// CI tier — fast, no live AI calls, safe for every commit (test:unit; also see the separate provider-safety-net CI job, which runs build + test:providers-mocked + test:provider-structure + test:error-classifier-contract on every PR)": "",
    "test:tool-routing": "pnpm exec tsx test/continuous-test-suite-tool-routing.ts",
    "test:tool-routing-semantic": "pnpm exec tsx test/continuous-test-suite-tool-routing-semantic.ts",
    "test:unit": "pnpm run test:bugfixes && pnpm run test:mcp:infra && pnpm run test:mcp:spans && pnpm run test:tool-routing && pnpm run test:tool-routing-cli && pnpm run test:tool-dedup && pnpm run test:model-pool && pnpm run test:classifier-router && pnpm run test:tool-routing-semantic && pnpm run test:mcp-result-cache && pnpm run test:mcp-direct-name-repair && pnpm run test:mcp-breaker-resolved-errors && pnpm run test:archive:security && pnpm run test:office:security && pnpm run test:image-exif && pnpm run test:vector-chroma && pnpm run test:vector-pgvector && pnpm run test:vector-pinecone && pnpm run test:provider-wiring && pnpm run test:docs-mcp && pnpm run test:retired-model-defaults && pnpm run test:cli-fallback && pnpm run test:embedding-response-validation && pnpm run test:xiaomi-mimo-pilot && pnpm run test:rag-bounds && pnpm run test:longcat-pilot && pnpm run test:runinfra-pilot && pnpm run test:package-declarations",
    "// CI tier — live providers, runs only when API keys are present (test:credentials and test:dynamic make real provider calls when keys are set, so they live here, not in test:unit; test:matrix, a different suite covering the full provider capability matrix, runs nightly via .github/workflows/live-matrix.yml — test:providers itself is still only wired into test:live, not any GitHub Actions workflow)": "",
    "test:live": "pnpm run test:providers && pnpm run test:mcp:http && pnpm run test:mcp:sdk && pnpm run test:mcp:cli && pnpm run test:observability && pnpm run test:context && pnpm run test:memory && pnpm run test:tool-reliability && pnpm run test:evaluation && pnpm run test:autoresearch && pnpm run test:credentials && pnpm run test:dynamic && pnpm run test:model-not-found-retryable",
    "// CI tier — product output (image/video/TTS/PPT) — costs $$ per run (not wired into any GitHub Actions workflow as of this comment; run manually or add to live-matrix.yml if nightly coverage is needed)": "",
    "test:product": "pnpm run test:media && pnpm run test:tts && pnpm run test:ppt && pnpm run test:proxy",
    "test:performance": "tsx tools/testing/performanceMonitor.ts",
    "// Content Generation (Cross-platform JS)": "",
    "content:videos": "tsx tools/converted-scripts/generateAllVideos.ts",
    "content:cleanup": "tsx tools/converted-scripts/cleanupHashNamedVideos.ts",
    "content:all": "pnpm run content:videos",
    "// Documentation Automation (Legacy MkDocs)": "",
    "docs:api": "typedoc",
    "docs:sync": "bash scripts/sync-readme.sh",
    "docs:validate": "tsx tools/content/documentationSync.ts --validate",
    "docs:generate": "pnpm run docs:validate",
    "// Documentation (Docusaurus)": "",
    "docs:start": "pnpm --dir docs-site start",
    "docs:build": "pnpm --dir docs-site build",
    "docs:serve": "pnpm --dir docs-site serve",
    "docs:clear": "pnpm --dir docs-site clear",
    "// Proxy Observability (Local OpenObserve)": "",
    "proxy:observability:setup": "bash scripts/observability/manage-local-openobserve.sh setup",
    "proxy:observability:up": "bash scripts/observability/manage-local-openobserve.sh up",
    "proxy:observability:down": "bash scripts/observability/manage-local-openobserve.sh down",
    "proxy:observability:logs": "bash scripts/observability/manage-local-openobserve.sh logs",
    "proxy:observability:status": "bash scripts/observability/manage-local-openobserve.sh status",
    "proxy:observability:doctor": "node scripts/observability/check-proxy-telemetry.mjs",
    "proxy:observability:import-dashboard": "bash scripts/observability/manage-local-openobserve.sh import-dashboard",
    "proxy:performance:lifecycle": "tsx tools/testing/proxyLifecycleBenchmark.ts",
    "proxy:performance:stats": "tsx tools/testing/proxyUsageStatsBenchmark.ts",
    "proxy:performance:transport": "tsx tools/testing/proxyTransportBenchmark.ts",
    "proxy:performance:rolling": "tsx tools/testing/proxyRollingHandoffBenchmark.ts",
    "proxy:performance": "pnpm run proxy:performance:lifecycle && pnpm run proxy:performance:stats && pnpm run proxy:performance:transport && pnpm run proxy:performance:rolling",
    "// Development & Monitoring": "",
    "dev:health": "tsx tools/development/healthMonitor.ts",
    "dev:demo": "concurrently \"pnpm run dev\" \"node neurolink-demo/complete-enhanced-server.js\"",
    "demo:voice": "pnpm build && tsx examples/voice-demo/server.ts",
    "// Build & Deploy (Complete Pipeline)": "",
    "build:complete": "tsx tools/automation/buildSystem.ts",
    "// Quality & Maintenance": "",
    "quality:all": "pnpm run lint && pnpm run format && pnpm run test:ci",
    "clean": "pnpm run content:cleanup && rm -rf dist .svelte-kit node_modules/.cache",
    "reset": "pnpm run clean && pnpm install",
    "audit": "pnpm audit",
    "// Release & Publishing": "",
    "release": "pnpm run build:complete && pnpm run test:ci && changeset publish",
    "test:semantic-release": "node scripts/test-semantic-release.js",
    "release:dry-run": "pnpm exec semantic-release --dry-run",
    "// Build Rule Enforcement Scripts": "",
    "validate": "tsx scripts/build-validations.ts",
    "validate:env": "tsx scripts/env-validation.ts",
    "validate:security": "tsx scripts/security-check.ts",
    "validate:all": "pnpm run validate && pnpm run lint && pnpm run validate:env && pnpm run validate:security",
    "validate:commit": "tsx scripts/commit-validation.ts",
    "quality:metrics": "tsx scripts/quality-metrics.ts",
    "quality:report": "pnpm run quality:metrics && echo 'Quality metrics saved to quality-metrics.json'",
    "pre-push": "pnpm run check:deps && pnpm run check:docs-api && pnpm run build && pnpm run test:provider-structure && pnpm run test:model-manifests",
    "check:all": "pnpm run lint && pnpm run format --check && pnpm run validate && pnpm run validate:commit",
    "test:file-formats": "pnpm exec tsx test/continuous-test-suite-file-formats.ts",
    "test:audio-transcription": "pnpm exec tsx test/continuous-test-suite-audio-transcription.ts",
    "test:multimodal": "pnpm run test:file-formats && pnpm run test:multimodal:sdk && pnpm run test:video-native && pnpm run test:video-frames && pnpm run test:video-no-ffprobe",
    "test:multimodal:sdk": "pnpm exec tsx test/continuous-test-suite-multimodal-sdk.ts",
    "test:video-frames": "pnpm exec tsx test/continuous-test-suite-video-frames.ts",
    "test:video-no-ffprobe": "pnpm exec tsx test/continuous-test-suite-video-no-ffprobe.ts",
    "test:model-default-resolution": "pnpm exec tsx test/continuous-test-suite-model-default-resolution.ts",
    "test:provider-model-resolution": "pnpm exec tsx test/continuous-test-suite-provider-model-resolution.ts",
    "test:video-native": "pnpm exec tsx test/continuous-test-suite-video-native.ts",
    "test:mcp-result-cache": "pnpm exec tsx test/continuous-test-suite-mcp-result-cache.ts",
    "test:mcp-breaker-resolved-errors": "pnpm exec tsx test/continuous-test-suite-mcp-breaker-resolved-errors.ts",
    "test:archive:security": "pnpm exec tsx test/continuous-test-suite-archive-security.ts",
    "test:office": "pnpm exec tsx test/continuous-test-suite-office.ts",
    "test:office:security": "pnpm exec tsx test/continuous-test-suite-office-security.ts",
    "test:vision-image-format": "pnpm exec tsx test/continuous-test-suite-vision-image-format.ts",
    "test:image-exif": "pnpm exec tsx test/continuous-test-suite-image-exif.ts",
    "test:model-pool": "pnpm exec tsx test/continuous-test-suite-model-pool.ts",
    "test:agents": "pnpm exec tsx test/continuous-test-suite-agents.ts",
    "test:classifier-router": "pnpm exec tsx test/continuous-test-suite-classifier-router.ts",
    "test:vector-chroma": "pnpm exec tsx test/continuous-test-suite-vector-chroma.ts",
    "test:vector-pgvector": "pnpm exec tsx test/continuous-test-suite-vector-pgvector.ts",
    "test:vector-pinecone": "pnpm exec tsx test/continuous-test-suite-vector-pinecone.ts",
    "test:bedrock-loop-characterization": "tsx test/continuous-test-suite-bedrock-loop-characterization.ts",
    "test:sagemaker-streaming": "tsx test/continuous-test-suite-sagemaker-streaming.ts",
    "test:anthropic-loop-characterization": "tsx test/continuous-test-suite-anthropic-loop-characterization.ts",
    "test:anthropic-execution-control": "tsx test/continuous-test-suite-anthropic-execution-control.ts",
    "test:aistudio-loop-characterization": "tsx test/continuous-test-suite-aistudio-loop-characterization.ts",
    "test:google-genai-proxy": "tsx test/continuous-test-suite-google-genai-proxy.ts",
    "test:google-genai-sdk": "tsx test/continuous-test-suite-google-genai-sdk.ts",
    "test:docs-mcp": "pnpm exec tsx test/continuous-test-suite-docs-mcp.ts",
    "test:docs-search-index": "pnpm exec tsx test/continuous-test-suite-docs-search-index.ts",
    "test:docs-snippets": "pnpm exec tsx test/continuous-test-suite-docs-snippets.ts",
    "test:docs-snippets:update": "pnpm exec tsx test/continuous-test-suite-docs-snippets.ts --update-ledger",
    "test:import-cost": "pnpm exec tsx test/continuous-test-suite-import-cost.ts",
    "test:vertex-claude-characterization": "tsx test/continuous-test-suite-vertex-claude-characterization.ts",
    "test:toolfree-guard-overhead": "pnpm exec tsx test/continuous-test-suite-toolfree-guard-overhead.ts",
    "test:file-tool-roots": "pnpm exec tsx test/continuous-test-suite-file-tool-roots.ts",
    "test:native-failure-events": "pnpm exec tsx test/continuous-test-suite-native-failure-events.ts",
    "test:native-audio-model-aware": "pnpm exec tsx test/continuous-test-suite-native-audio-model-aware.ts",
    "test:cli-json-output": "pnpm exec tsx test/continuous-test-suite-cli-json-output.ts",
    "test:logging-guidelines": "pnpm exec tsx test/continuous-test-suite-logging-guidelines.ts",
    "test:proxy-polyfills": "pnpm exec tsx test/continuous-test-suite-proxy-polyfills.ts",
    "test:mcp:startup-readiness": "pnpm exec tsx test/continuous-test-suite-mcp-startup-readiness.ts"
  },
  "files": [
    "dist",
    "!dist/**/*.test.*",
    "!dist/**/*.spec.*",
    "!dist/**/*.tsx",
    "!dist/**/*.map",
    "docs/assets/dashboards/*.json",
    "docs-site/mcp-server/*.js",
    "docs-site/mcp-server/*.d.ts",
    "docs-site/static/search-index.json",
    "models/whistle/*",
    "scripts/observability/*",
    "README.md",
    "CHANGELOG.md",
    "LICENSE"
  ],
  "sideEffects": [
    "**/*.css",
    "./dist/voice/index.js",
    "./dist/music/index.js",
    "./dist/avatar/index.js"
  ],
  "svelte": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "type": "module",
  "main": "./dist/index.js",
  "bin": {
    "neurolink": "./dist/cli/index.js"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "svelte": "./dist/index.js",
      "import": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./client": {
      "types": "./dist/client/index.d.ts",
      "import": "./dist/client/index.js",
      "default": "./dist/client/index.js"
    },
    "./types": {
      "types": "./dist/types/sdk.d.ts",
      "import": "./dist/types/sdk.js",
      "default": "./dist/types/sdk.js"
    },
    "./package.json": "./package.json",
    "./cli": {
      "types": "./dist/cli/index.d.ts",
      "import": "./dist/cli/index.js",
      "default": "./dist/cli/index.js"
    },
    "./server": {
      "types": "./dist/server/index.d.ts",
      "import": "./dist/server/index.js",
      "default": "./dist/server/index.js"
    },
    "./browser": {
      "types": "./dist/index.d.ts",
      "import": "./dist/browser/neurolink.min.js",
      "default": "./dist/browser/neurolink.min.js"
    },
    "./voice": {
      "types": "./dist/voice/index.d.ts",
      "import": "./dist/voice/index.js",
      "default": "./dist/voice/index.js"
    },
    "./voice/endpointer": {
      "types": "./dist/voice/streaming/endpointer.d.ts",
      "import": "./dist/voice/streaming/endpointer.js",
      "default": "./dist/voice/streaming/endpointer.js"
    },
    "./music": {
      "types": "./dist/music/index.d.ts",
      "import": "./dist/music/index.js",
      "default": "./dist/music/index.js"
    },
    "./avatar": {
      "types": "./dist/avatar/index.d.ts",
      "import": "./dist/avatar/index.js",
      "default": "./dist/avatar/index.js"
    },
    "./autoresearch": {
      "types": "./dist/autoresearch/index.d.ts",
      "import": "./dist/autoresearch/index.js",
      "default": "./dist/autoresearch/index.js"
    },
    "./image-gen": {
      "types": "./dist/image-gen/index.d.ts",
      "import": "./dist/image-gen/index.js",
      "default": "./dist/image-gen/index.js"
    },
    "./hitl": {
      "types": "./dist/hitl/index.d.ts",
      "import": "./dist/hitl/index.js",
      "default": "./dist/hitl/index.js"
    },
    "./evaluation": {
      "types": "./dist/evaluation/index.d.ts",
      "import": "./dist/evaluation/index.js",
      "default": "./dist/evaluation/index.js"
    },
    "./workflow": {
      "types": "./dist/workflow/index.d.ts",
      "import": "./dist/workflow/index.js",
      "default": "./dist/workflow/index.js"
    },
    "./rag": {
      "types": "./dist/rag/index.d.ts",
      "import": "./dist/rag/index.js",
      "default": "./dist/rag/index.js"
    },
    "./files": {
      "types": "./dist/files/index.d.ts",
      "import": "./dist/files/index.js",
      "default": "./dist/files/index.js"
    },
    "./processors": {
      "types": "./dist/processors/index.d.ts",
      "import": "./dist/processors/index.js",
      "default": "./dist/processors/index.js"
    },
    "./processors/*": {
      "types": "./dist/processors/*.d.ts",
      "import": "./dist/processors/*.js",
      "default": "./dist/processors/*.js"
    },
    "./adapters/*": {
      "types": "./dist/adapters/*.d.ts",
      "import": "./dist/adapters/*.js",
      "default": "./dist/adapters/*.js"
    },
    "./livekit": {
      "types": "./dist/voice/livekit/index.d.ts",
      "import": "./dist/voice/livekit/index.js",
      "default": "./dist/voice/livekit/index.js"
    }
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.102.0",
    "@anthropic-ai/vertex-sdk": "^0.16.0",
    "@aws-sdk/types": "^3.862.0",
    "@cfworker/json-schema": "^4.1.1",
    "@google/genai": "^2.23.0",
    "@langfuse/core": "^5.13.1",
    "@langfuse/tracing": "^5.13.1",
    "@modelcontextprotocol/sdk": "^1.31.0",
    "@opentelemetry/api-logs": "^0.214.0",
    "@opentelemetry/context-async-hooks": "^2.6.1",
    "@opentelemetry/core": "^2.8.0",
    "@opentelemetry/exporter-logs-otlp-http": "^0.214.0",
    "@opentelemetry/exporter-metrics-otlp-http": "^0.214.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
    "@opentelemetry/otlp-transformer": "^0.214.0",
    "@opentelemetry/resources": "^2.6.0",
    "@opentelemetry/sdk-logs": "^0.214.0",
    "@opentelemetry/sdk-metrics": "^2.6.1",
    "@opentelemetry/sdk-trace-base": "^2.6.0",
    "@opentelemetry/sdk-trace-node": "^2.6.0",
    "@opentelemetry/semantic-conventions": "^1.40.0",
    "@types/json-schema": "^7.0.15",
    "@types/ws": "^8.18.1",
    "adm-zip": "^0.6.0",
    "chalk": "^5.6.2",
    "chardet": "2.1.1",
    "croner": "^9.1.0",
    "csv-parser": "^3.2.0",
    "diff": "^9.0.0",
    "dotenv": "^17.3.1",
    "eventsource-parser": "^3.0.8",
    "fast-xml-parser": "^5.7.0",
    "google-auth-library": "^10.6.1",
    "hono": "4.13.13",
    "iconv-lite": "0.7.2",
    "inquirer": "^13.3.0",
    "jose": "^6.1.3",
    "js-yaml": "^4.3.2",
    "json-schema-to-zod": "^2.7.0",
    "jsonrepair": "^3.14.0",
    "minisearch": "^7.2.0",
    "nanoid": "^5.1.16",
    "ora": "^9.3.0",
    "p-limit": "^7.3.0",
    "redis": "^5.11.0",
    "tar-stream": "^3.1.8",
    "type-decoder": "^2.3.1",
    "undici": ">=7.24.0 <8.0.0",
    "ws": "^8.20.1",
    "yargs": "^18.0.0",
    "zod": "^4.3.6",
    "zod-to-json-schema": "^3.25.1"
  },
  "peerDependencies": {
    "@juspay/hippocampus": ">=0.2.1",
    "@opentelemetry/api": "^1.9.0",
    "react": ">=18.0.0",
    "react-dom": ">=18.0.0"
  },
  "peerDependenciesMeta": {
    "@juspay/hippocampus": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "react-dom": {
      "optional": true
    }
  },
  "optionalDependencies": {
    "@aws-sdk/client-bedrock": "^3.1000.0",
    "@aws-sdk/client-bedrock-runtime": "^3.1000.0",
    "@aws-sdk/client-sagemaker": "^3.1000.0",
    "@aws-sdk/client-sagemaker-runtime": "^3.1000.0",
    "@aws-sdk/credential-provider-node": "^3.886.0",
    "@fastify/cors": "^11.2.0",
    "@fastify/rate-limit": "^10.3.0",
    "@google-cloud/text-to-speech": "^6.4.0",
    "@hono/node-server": "^1.19.15",
    "@koa/cors": "^5.0.0",
    "@koa/router": "^15.3.1",
    "@livekit/agents": "^1.4.5",
    "@livekit/agents-plugin-cartesia": "^1.4.5",
    "@livekit/agents-plugin-deepgram": "^1.4.5",
    "@livekit/agents-plugin-elevenlabs": "^1.4.5",
    "@livekit/agents-plugin-google": "^1.4.5",
    "@livekit/agents-plugin-livekit": "^1.4.5",
    "@livekit/agents-plugin-silero": "^1.4.5",
    "@livekit/agents-plugin-soniox": "^1.4.5",
    "@livekit/rtc-node": "^0.13.29",
    "@picovoice/cobra-node": "^3.0.2",
    "bullmq": "^5.52.2",
    "cors": "^2.8.5",
    "exceljs": "^4.4.0",
    "express": "^5.1.0",
    "express-rate-limit": "^8.2.1",
    "fastify": "^5.12.5",
    "ffmpeg-static": "^5.3.0",
    "fluent-ffmpeg": "^2.1.3",
    "koa": "^3.1.1",
    "koa-bodyparser": "^4.4.1",
    "livekit-server-sdk": "^2.15.4",
    "mammoth": "1.12.0",
    "mediabunny": "^1.40.1",
    "music-metadata": "^11.16.1",
    "pdf-parse": "^2.4.5",
    "pptxgenjs": "^4.0.1",
    "sharp": "^0.35.3"
  },
  "devDependencies": {
    "@actions/core": "^3.0.0",
    "@actions/exec": "^3.0.0",
    "@actions/github": "^9.0.0",
    "@changesets/changelog-github": "^0.6.0",
    "@changesets/cli": "^2.29.8",
    "@electric-sql/pglite": "^0.4.6",
    "@eslint/js": "^10.0.1",
    "@langfuse/otel": "^5.13.1",
    "@opentelemetry/api": "^1.9.0",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/commit-analyzer": "^13.0.1",
    "@semantic-release/github": "^12.0.6",
    "@semantic-release/npm": "^13.1.4",
    "@semantic-release/release-notes-generator": "^14.1.0",
    "@smithy/types": "^4.13.0",
    "@sveltejs/adapter-auto": "^7.0.1",
    "@sveltejs/kit": "^2.70.3",
    "@sveltejs/package": "^2.5.7",
    "@sveltejs/vite-plugin-svelte": "^7.0.0",
    "@types/cors": "^2.8.19",
    "@types/diff": "^8.0.0",
    "@types/emscripten": "^1.41.6",
    "@types/express": "^5.0.6",
    "@types/fluent-ffmpeg": "^2.1.28",
    "@types/js-yaml": "^4.0.9",
    "@types/koa": "^3.0.1",
    "@types/koa-bodyparser": "^4.3.13",
    "@types/koa__cors": "^5.0.1",
    "@types/node": "^22.20.0",
    "@types/react": "^19.2.10",
    "@types/tar-stream": "^3.1.4",
    "@types/yargs": "^17.0.35",
    "@typescript-eslint/eslint-plugin": "^8.57.2",
    "@typescript-eslint/parser": "^8.57.2",
    "@vercel/ncc": "^0.38.4",
    "concurrently": "^9.2.1",
    "conventional-changelog-conventionalcommits": "^9.1.0",
    "esbuild": "^0.28.1",
    "eslint": "^10.0.2",
    "glob": "^13.0.6",
    "husky": "^9.1.7",
    "playwright": "^1.58.2",
    "prettier": "^3.8.1",
    "publint": "^0.3.17",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "semantic-release": "^25.0.3",
    "svelte": "^5.55.7",
    "svelte-check": "^4.4.4",
    "tsx": "^4.21.0",
    "typedoc": "^0.28.17",
    "typedoc-plugin-markdown": "^4.10.0",
    "typescript": "^5.9.3",
    "vite": "^8.2.2",
    "vitest": "^4.1.0"
  },
  "keywords": [
    "ai",
    "llm",
    "mcp",
    "model-context-protocol",
    "lighthouse",
    "tool-orchestration",
    "ai-platform",
    "openai",
    "anthropic",
    "google",
    "bedrock",
    "vertex",
    "azure",
    "mistral",
    "ollama",
    "huggingface",
    "litellm",
    "openrouter",
    "deepseek",
    "nvidia-nim",
    "lm-studio",
    "llama-cpp",
    "tts",
    "stt",
    "voice",
    "realtime",
    "elevenlabs",
    "deepgram",
    "whisper",
    "azure-speech",
    "rag",
    "streaming",
    "tools",
    "neurolink",
    "juspay",
    "svelte",
    "chatgpt",
    "gpt-4",
    "claude",
    "gemini",
    "gemini-3",
    "ai-sdk",
    "typescript",
    "cli-tool",
    "developer-tools",
    "automation",
    "machine-learning",
    "artificial-intelligence",
    "multi-provider",
    "ai-agents",
    "prompt-engineering",
    "ai-workflow",
    "universal-ai",
    "ai-development",
    "llm-integration",
    "decision-model",
    "system-one",
    "typesafe",
    "typesafe-ai",
    "laya",
    "xor",
    "perplexity-decider",
    "cloudflare-clef",
    "openai-decisions",
    "jev",
    "model-routing",
    "semantic-router",
    "llm-router",
    "context-compaction",
    "calibrated-confidence",
    "ai-gateway",
    "vercel-ai-gateway"
  ],
  "pnpm": {
    "onlyBuiltDependencies": [
      "esbuild",
      "protobufjs",
      "puppeteer",
      "ffmpeg-static",
      "sharp"
    ],
    "overrides": {
      "esbuild@<=0.24.2": ">=0.25.0",
      "cookie@<0.7.0": "^0.7.2",
      "@types/dom-webcodecs@<0.1.19": "^0.1.19",
      "@eslint/plugin-kit@<0.3.4": ">=0.3.4",
      "tmp@<0.2.6": ">=0.2.6",
      "axios@<1.13.5": ">=1.13.5",
      "handlebars@<=4.7.9": ">=4.7.10",
      "glob@>=10.3.7 <=11.0.3": ">=11.1.0",
      "@semantic-release/npm": "^13.1.4",
      "@opentelemetry/sdk-trace-base": "^2.6.0",
      "@opentelemetry/sdk-trace-node": "^2.6.0",
      "jws@<4.0.1": ">=4.0.1",
      "tar@<7.5.8": ">=7.5.8",
      "qs@<6.16.0": ">=6.16.0",
      "proxy-addr@<2.0.8": ">=2.0.8",
      "fast-copy@>=3.0.0 <3.1.0": ">=3.1.0 <4.0.0",
      "fast-copy@>=4.0.0 <4.1.0": ">=4.1.0 <5.0.0",
      "minimatch@>=10.0.0 <10.2.3": ">=10.2.3",
      "minimatch@>=9.0.0 <9.0.7": ">=9.0.7",
      "typedoc>minimatch": ">=10.2.3",
      "minimatch@>=5.0.0 <5.1.8": ">=5.1.8",
      "minimatch@>=3.0.0 <3.1.4": ">=3.1.4",
      "fast-xml-parser@>=5.0.0 <5.7.0": ">=5.7.0",
      "lodash@<4.18.0": ">=4.18.0",
      "lodash-es@<4.18.0": ">=4.18.0",
      "undici@>=7.0.0 <7.24.0": ">=7.24.0 <8.0.0",
      "undici@>=6.0.0 <6.23.0": ">=6.23.0",
      "undici@<5.29.0": ">=5.29.0",
      "js-yaml@>=4.0.0 <4.3.2": ">=4.3.2",
      "js-yaml@>=3.0.0 <3.15.2": ">=3.15.2",
      "ajv@>=8.0.0 <8.18.0": ">=8.18.0",
      "@grpc/grpc-js@<1.14.5": ">=1.14.5",
      "@protobufjs/utf8@<1.1.1": ">=1.1.1",
      "fast-uri@<3.1.8": ">=3.1.8 <4",
      "ip-address@<10.1.1": ">=10.1.1",
      "basic-ftp@<5.2.2": ">=5.2.2",
      "fast-xml-builder@<1.1.7": ">=1.1.7",
      "esbuild@>=0.17.0 <0.28.1": ">=0.28.1",
      "rollup@>=4.0.0 <4.59.0": ">=4.59.0",
      "shell-quote@<1.11.0": ">=1.11.0",
      "@modelcontextprotocol/sdk@<1.31.0": ">=1.31.0",
      "undici@>=8.0.0": ">=7.24.0 <8.0.0",
      "markdown-it@<14.2.0": ">=14.2.0",
      "@xmldom/xmldom@<0.9.12": ">=0.9.12",
      "protobufjs@<7.6.5": ">=7.6.5",
      "brace-expansion@>=5.0.0 <5.0.12": ">=5.0.12",
      "@opentelemetry/core@>=2.0.0 <2.8.0": ">=2.8.0",
      "qs": "6.16.0",
      "fastify": "5.12.5",
      "fast-uri": "3.1.8",
      "@xmldom/xmldom": "0.9.12"
    },
    "patchedDependencies": {
      "hono@4.13.13": "patches/hono@4.13.13.patch",
      "mammoth@1.12.0": "patches/mammoth@1.12.0.patch"
    }
  },
  "os": [
    "darwin",
    "linux",
    "win32"
  ],
  "prettier": {
    "tabWidth": 2,
    "useTabs": false,
    "proseWrap": "preserve"
  }
}
