{
  "name": "portable-agent-layer",
  "version": "0.78.0",
  "description": "PAL — Portable Agent Layer: persistent personal context for AI coding assistants",
  "type": "module",
  "bin": {
    "pal": "src/cli/index.ts"
  },
  "files": [
    "src/",
    "assets/",
    ".husky/install.mjs",
    "README.md",
    "LICENSE"
  ],
  "workspaces": [
    "src/tools/control-room/ui"
  ],
  "engines": {
    "bun": ">=1.4.0"
  },
  "keywords": [
    "ai",
    "claude",
    "opencode",
    "personal-ai",
    "context",
    "memory",
    "telos",
    "agent",
    "portable"
  ],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/kovrichard/portable-agent-layer.git"
  },
  "scripts": {
    "type-check": "tsc --noEmit",
    "test": "bun test --randomize",
    "test:mutate": "stryker run",
    "test:mutate:diff": "bun .agents/scripts/mutate-diff.ts",
    "format": "biome format",
    "format-write": "biome format --write",
    "lint": "biome lint",
    "lint-write": "biome lint --write",
    "check": "biome check",
    "check-write": "bun .agents/scripts/check-write.ts",
    "knip": "knip-bun",
    "klint": "klint",
    "jscpd": "jscpd --noTips",
    "madge": "madge --circular --extensions ts --ts-config tsconfig.json src",
    "lf": "bun .agents/scripts/check-lf.ts",
    "lf:fix": "bun .agents/scripts/check-lf.ts --fix",
    "secretlint": "secretlint \"**/*\"",
    "lint-staged": "lint-staged",
    "prepare": "bun .husky/install.mjs",
    "build:skill-tools": "bun run scripts/build-skill-tools.ts",
    "build:ui": "bun run --filter @pal/control-room-ui build",
    "dev:ui": "bun run --filter @pal/control-room-ui dev",
    "prepack": "bun run build:skill-tools && bun run build:ui",
    "install:all": "bun run src/cli/index.ts cli install",
    "uninstall": "bun run src/cli/index.ts cli uninstall",
    "tool:synthesize": "bun run src/tools/agent/synthesize.ts",
    "tool:thread": "bun run src/tools/agent/thread.ts",
    "tool:wisdom-frame": "bun run src/tools/agent/wisdom-frame.ts",
    "tool:reflect": "bun run src/tools/relationship-reflect.ts",
    "eval:sentiment": "bun eval/run.ts sentiment",
    "eval:failure-principle": "bun eval/run.ts failure-principle",
    "eval:goal-links": "bun eval/run.ts goal-links",
    "eval:waiting-on": "bun eval/run.ts waiting-on"
  },
  "lint-staged": {
    "*.ts": [
      "bun run check"
    ]
  },
  "devDependencies": {
    "@biomejs/biome": "2.4.15",
    "@commitlint/cli": "21.0.1",
    "@commitlint/config-conventional": "21.0.1",
    "@hughescr/stryker-bun-runner": "1.3.8",
    "@konvert7/klint": "0.34.0",
    "@opencode-ai/plugin": "latest",
    "@secretlint/secretlint-rule-preset-recommend": "13.0.2",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^12.0.8",
    "@stryker-mutator/core": "9.6.1",
    "@types/adm-zip": "^0.5.8",
    "@types/bun": "latest",
    "@types/node": "latest",
    "husky": "^9.1.7",
    "jscpd": "^4.2.3",
    "knip": "^6.14.1",
    "lint-staged": "17.0.5",
    "madge": "8.0.0",
    "promptfoo": "0.121.14",
    "secretlint": "13.0.2",
    "semantic-release": "^25.0.3",
    "typescript": "^5.9.3"
  },
  "dependencies": {
    "@clack/prompts": "^1.4.0",
    "adm-zip": "^0.5.17",
    "fast-myers-diff": "^3.2.0",
    "marked": "18.0.4",
    "pdf-lib": "1.17.1",
    "playwright": "^1.60.0",
    "unpdf": "^0.12.0"
  }
}
