{
  "name": "@geminixiang/mikan",
  "version": "1.3.0",
  "description": "Self-hosted AI coding agent for organizations: every Slack channel and DM gets its own sandboxed workspace, credentials, and memory.",
  "keywords": [
    "agent",
    "ai",
    "bot",
    "discord",
    "slack",
    "telegram"
  ],
  "license": "MIT",
  "author": "geminixiang",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/geminixiang/mikan.git"
  },
  "bin": {
    "mikan": "dist/main.js"
  },
  "files": [
    "dist",
    "CHANGELOG.md"
  ],
  "type": "module",
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./package.json": "./package.json"
  },
  "scripts": {
    "clean": "shx rm -rf dist",
    "build": "npm run clean && tsgo -p src/tsconfig.build.json && shx chmod +x dist/main.js",
    "dev": "tsgo -p src/tsconfig.build.json --watch --preserveWatchOutput",
    "test": "vitest --run --config .config/vitest.config.ts",
    "typecheck": "tsgo -p .config/tsconfig.typecheck.json",
    "test:coverage": "vitest --run --coverage --config .config/vitest.config.ts",
    "test:office:docker": "node scripts/verify-office-docker.mjs",
    "lint": "oxlint -c .config/oxlintrc.json --deny-warnings",
    "lint:fix": "oxlint -c .config/oxlintrc.json --fix",
    "fmt": "oxfmt -c .config/oxfmtrc.json",
    "fmt:check": "oxfmt -c .config/oxfmtrc.json --check",
    "knip": "knip && knip --production --dependencies",
    "duplication": "jscpd src --format typescript --min-tokens 70 --ignore \"**/test/**,**/*.test.ts,**/content/**\"",
    "knip:unused": "knip --production --exclude files --no-exit-code",
    "prepublishOnly": "npm run build",
    "prepare": "husky",
    "test:e2e": "vitest --run --config .config/vitest.e2e.config.ts",
    "test:e2e:slack": "vitest --run --config .config/vitest.e2e.config.ts e2e/slack",
    "test:e2e:slack:local": "npm run build && node scripts/run-local-slack-e2e.mjs",
    "test:e2e:slack:coverage": "vitest --run --coverage --coverage.reportsDirectory=.workspace/coverage --config .config/vitest.e2e.config.ts e2e/slack",
    "docs:dev": "astro dev --config .config/astro.config.mjs",
    "docs:build": "astro build --config .config/astro.config.mjs",
    "docs:preview": "astro preview --config .config/astro.config.mjs"
  },
  "dependencies": {
    "@clack/prompts": "^1.8.1",
    "@earendil-works/chord": "^1.1.0",
    "@earendil-works/pi-agent-core": "^1.1.0",
    "@earendil-works/pi-ai": "^1.1.0",
    "@earendil-works/pi-codemode": "^1.1.0",
    "@earendil-works/pi-durable": "^1.1.0",
    "@earendil-works/pi-mcp": "^1.1.0",
    "@opentelemetry/api": "^1.9.1",
    "@opentelemetry/exporter-metrics-otlp-proto": "^0.221.0",
    "@opentelemetry/exporter-trace-otlp-proto": "^0.221.0",
    "@opentelemetry/resources": "^2.10.0",
    "@opentelemetry/sdk-metrics": "^2.10.0",
    "@opentelemetry/sdk-trace-node": "^2.10.0",
    "@sentry/node": "^10.60.0",
    "@sentry/opentelemetry": "^10.68.0",
    "@slack/socket-mode": "^2.0.7",
    "@slack/web-api": "^8.0.0",
    "chalk": "^5.6.2",
    "commander": "^15.0.0",
    "croner": "^10.0.1",
    "discord.js": "^14.26.4",
    "grammy": "^1.44.0",
    "markdown-it": "^14.2.0",
    "typebox": "1.3.27",
    "undici": "^8.5.0"
  },
  "devDependencies": {
    "@astrojs/mdx": "^7.0.0",
    "@astrojs/starlight": "^0.41.0",
    "@geminixiang/mikan-starlight-theme": "github:geminixiang/mikan-starlight-theme",
    "@slack/types": "^3.0.0",
    "@types/markdown-it": "^14.1.2",
    "@types/node": "^26.0.1",
    "@typescript/native-preview": "^7.0.0-dev.20260624.1",
    "@vitest/coverage-v8": "^4.1.9",
    "astro": "^7.0.2",
    "husky": "^9.1.7",
    "jscpd": "^5.3.3",
    "knip": "^6.20.0",
    "oxfmt": "^0.60.0",
    "oxlint": "^1.71.0",
    "remark-gfm": "^4.0.1",
    "shx": "^0.4.0",
    "typescript": "^6.0.3",
    "vitest": "^4.1.9"
  },
  "overrides": {
    "@discordjs/rest": {
      "undici": "6.27.0"
    },
    "astro-expressive-code": {
      "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0"
    },
    "discord.js": {
      "undici": "6.27.0"
    }
  },
  "engines": {
    "node": ">=24.15.0"
  },
  "knip": {
    "entry": [
      "src/index.ts!",
      "src/main.ts!",
      "src/observability/instrument.ts!"
    ],
    "ignore": [
      ".pi/**",
      "scripts/**",
      "deploy/**"
    ],
    "astro": {
      "config": [
        ".config/astro.config.mjs"
      ]
    },
    "vitest": {
      "config": [
        ".config/vitest.config.ts",
        ".config/vitest.e2e.config.ts"
      ]
    }
  }
}
