{
  "name": "@mcp-abap-adt/core",
  "mcpName": "io.github.fr0ster/mcp-abap-adt",
  "version": "6.9.2",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.js"
    },
    "./handlers": {
      "types": "./dist/lib/handlers/index.d.ts",
      "import": "./dist/lib/handlers/index.js",
      "require": "./dist/lib/handlers/index.js"
    },
    "./utils": {
      "types": "./dist/lib/utils.d.ts",
      "import": "./dist/lib/utils.js",
      "require": "./dist/lib/utils.js"
    },
    "./server": {
      "types": "./dist/server/index.d.ts",
      "import": "./dist/server/index.js",
      "require": "./dist/server/index.js"
    }
  },
  "typesVersions": {
    "*": {
      "handlers": [
        "dist/lib/handlers/index.d.ts"
      ],
      "utils": [
        "dist/lib/utils.d.ts"
      ],
      "server": [
        "dist/server/index.d.ts"
      ]
    }
  },
  "scripts": {
    "test:init": "node -e \"const fs=require('fs'),s='tests/test-config.yaml',t=s+'.template';if(fs.existsSync(s)){console.log(s+' already exists, skipping (use test:reinit to overwrite)')}else{fs.copyFileSync(t,s);console.log('Created '+s+' — edit lines marked CHANGE')}\"",
    "test:reinit": "node -e \"const fs=require('fs'),s='tests/test-config.yaml',t=s+'.template';fs.copyFileSync(t,s);console.log('Recreated '+s+' from template')\"",
    "test": "jest --passWithNoTests",
    "test:integration": "jest --testPathPatterns=integration --testPathIgnorePatterns='__tests__/admin/' --runInBand --passWithNoTests --forceExit",
    "test:high": "jest --testPathPatterns='integration.*High' --testPathIgnorePatterns='__tests__/admin/' --runInBand --passWithNoTests --forceExit",
    "test:low": "jest --testPathPatterns='integration.*Low' --testPathIgnorePatterns='__tests__/admin/' --runInBand --passWithNoTests --forceExit",
    "test:check": "npx tsc --noEmit -p tsconfig.test.json",
    "shared:setup": "jest --testPathPatterns='admin/shared-deps/setup' --testPathIgnorePatterns='[]' --runInBand --passWithNoTests",
    "shared:teardown": "jest --testPathPatterns='admin/shared-deps/teardown' --testPathIgnorePatterns='[]' --runInBand --passWithNoTests",
    "shared:check": "jest --testPathPatterns='admin/shared-deps/check' --testPathIgnorePatterns='[]' --passWithNoTests",
    "lint": "npx biome check --write src",
    "lint:check": "npx biome check src",
    "format": "npx biome format --write src",
    "build": "npx biome check --write --diagnostic-level=error src && npx tsc -p tsconfig.json",
    "build:fast": "npx tsc -p tsconfig.json",
    "check-todos": "node tools/check-todos.js",
    "start": "node ./bin/mcp-abap-adt.js",
    "start:http": "node ./bin/mcp-abap-adt.js --transport=http",
    "start:sse": "node ./bin/mcp-abap-adt.js --transport=sse",
    "dev": "npm run build && npx @modelcontextprotocol/inspector node ./dist/server/launcher.js --transport=stdio",
    "dev:http": "npm run build && node ./tools/dev-http-v2.js",
    "dev:sse": "npm run build && node ./tools/dev-sse-v2.js",
    "kill-ports": "lsof -ti:3000,3001,4000,4001,5000,6274,6277 | xargs -r kill -9 2>/dev/null || true",
    "auth": "npx sap-abap-auth auth",
    "clean": "make clean",
    "chrono": "./tools/version-stats.sh",
    "smoke:mcp:crud": "node ./tools/mcp-crud-smoke.js",
    "smoke:mcp:matrix": "node ./tools/mcp-crud-matrix.js",
    "docs:tools": "node ./tools/generate-tools-docs.js",
    "prepublishOnly": "npm run build",
    "package": "npm pack",
    "package:build": "npm run build && npm pack",
    "docker:pack": "npm pack && mkdir -p docker/packages && mv *.tgz docker/packages/",
    "docker:build": "cd docker && docker-compose build",
    "docker:build:package": "npm run docker:pack && cd docker && docker-compose -f docker-compose.package.yml build",
    "docker:build:headerless": "cd docker && docker-compose -f docker-compose.headerless.yml build",
    "docker:up": "cd docker && docker-compose up -d",
    "docker:up:package": "npm run docker:pack && cd docker && docker-compose -f docker-compose.package.yml up -d",
    "docker:up:headerless": "cd docker && docker-compose -f docker-compose.headerless.yml up -d",
    "docker:down": "cd docker && docker-compose down",
    "docker:down:package": "cd docker && docker-compose -f docker-compose.package.yml down",
    "docker:down:headerless": "cd docker && docker-compose -f docker-compose.headerless.yml down",
    "docker:logs": "cd docker && docker-compose logs -f",
    "docker:logs:package": "cd docker && docker-compose -f docker-compose.package.yml logs -f",
    "docker:logs:headerless": "cd docker && docker-compose -f docker-compose.headerless.yml logs -f",
    "docker:rebuild": "npm run docker:down && npm run docker:build && npm run docker:up",
    "docker:rebuild:package": "npm run docker:down:package && npm run docker:build:package && npm run docker:up:package",
    "docker:rebuild:headerless": "npm run docker:down:headerless && npm run docker:build:headerless && npm run docker:up:headerless",
    "prepare": "husky"
  },
  "keywords": [
    "abap",
    "sap",
    "adt",
    "mcp",
    "model-context-protocol",
    "mcp-server",
    "abap-cloud",
    "sap-btp",
    "xsuaa",
    "jwt-auth",
    "service-key",
    "crud"
  ],
  "author": "Oleksii Kyslytsia <oleksij.kyslytsja@gmail.com>",
  "description": "SAP ABAP ADT MCP server with full CRUD for on-prem and ABAP Cloud (BTP), plus JWT/XSUAA and service-key destination auth",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/fr0ster/mcp-abap-adt.git"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.4.10",
    "@modelcontextprotocol/inspector": "^0.21.1",
    "@types/jest": "^30.0.0",
    "@types/js-yaml": "^4.0.9",
    "@types/node": "^25.5.2",
    "commander": "^14.0.3",
    "cors": "^2.8.6",
    "dotenv": "^17.4.0",
    "express": "^5.1.0",
    "express-rate-limit": "^8.3.2",
    "husky": "^9.1.7",
    "jest": "^30.3.0",
    "jest-util": "^30.3.0",
    "lint-staged": "^16.4.0",
    "open": "^11.0.0",
    "pino": "^10.3.0",
    "pino-pretty": "^13.1.3",
    "serve-handler": "^6.1.7",
    "ts-jest": "^29.2.0",
    "tsx": "^4.21.0",
    "typescript": "^6.0.2",
    "yaml": "^2.8.1"
  },
  "dependencies": {
    "@mcp-abap-adt/adt-clients": "^5.4.2",
    "@mcp-abap-adt/auth-broker": "^1.0.5",
    "@mcp-abap-adt/auth-providers": "^1.0.5",
    "@mcp-abap-adt/auth-stores": "^1.0.4",
    "@mcp-abap-adt/connection": "^1.9.1",
    "@mcp-abap-adt/header-validator": "^0.1.8",
    "@mcp-abap-adt/interfaces": "^7.2.0",
    "@mcp-abap-adt/logger": "^0.1.4",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "axios": "^1.14.0",
    "fast-xml-parser": "^5.5.10",
    "js-yaml": "^4.1.1",
    "pino": "^10.1.0",
    "pino-pretty": "^13.1.3",
    "xml-js": "^1.6.11",
    "zod": "^4.3.6"
  },
  "optionalDependencies": {
    "@mcp-abap-adt/sap-rfc-lite": "^0.1.0"
  },
  "engines": {
    "node": ">=22.0.0",
    "npm": ">=9.0.0"
  },
  "files": [
    "dist/",
    "bin/",
    "docs/",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "bin": {
    "mcp-abap-adt": "./bin/mcp-abap-adt.js",
    "mcp-abap-adt-v2": "./bin/mcp-abap-adt-v2.js"
  },
  "jest": {
    "preset": "ts-jest",
    "testEnvironment": "node",
    "roots": [
      "<rootDir>/src"
    ],
    "testMatch": [
      "**/__tests__/**/*.test.ts"
    ],
    "transform": {
      "^.+\\.ts$": [
        "ts-jest",
        {
          "tsconfig": "tsconfig.test.json"
        }
      ]
    },
    "moduleFileExtensions": [
      "ts",
      "js",
      "json"
    ],
    "moduleNameMapper": {
      "^(\\.{1,2}/.*)\\.js$": "$1"
    },
    "collectCoverageFrom": [
      "src/**/*.ts",
      "!src/**/*.test.ts",
      "!src/**/__tests__/**",
      "!src/**/index.ts"
    ],
    "testPathIgnorePatterns": [
      "__tests__/admin/",
      "__tests__/integration/"
    ],
    "maxWorkers": 1,
    "testTimeout": 600000,
    "globalSetup": "<rootDir>/src/__tests__/integration/globalSetup.ts"
  },
  "lint-staged": {
    "src/**/*.{ts,js}": [
      "biome check --write"
    ]
  },
  "private": false
}
