{
  "name": "@ggui-ai/ui-gen",
  "version": "0.12.0",
  "description": "UI generation harness for ggui — the LLM system prompt, multi-turn coding loop, and evaluation engine that turn a DataContract into a React component. Implements the UiGenerator contract from @ggui-ai/mcp-server-core; consumed by @ggui-ai/mcp-server.",
  "license": "Apache-2.0",
  "keywords": [
    "ggui",
    "ui-generation",
    "llm",
    "code-generation",
    "react",
    "mcp",
    "agent-interface"
  ],
  "homepage": "https://github.com/ggui-ai/ggui/tree/main/packages/ui-gen",
  "repository": {
    "type": "git",
    "url": "https://github.com/ggui-ai/ggui.git",
    "directory": "packages/ui-gen"
  },
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "LICENSE",
    "README.md",
    "dist",
    "src",
    "!**/*.test.ts",
    "!**/*.test.tsx",
    "!**/*.test-d.ts",
    "!**/*.test-d.tsx",
    "!**/*.test.js",
    "!**/*.test.d.ts",
    "!**/*.test.d.ts.map",
    "!**/*.test.js.map",
    "!**/*.test-d.js",
    "!**/*.test-d.d.ts",
    "!**/__tests__/**",
    "!**/*.spec.ts",
    "!**/*.spec.tsx",
    "!**/*.test-util.ts"
  ],
  "type": "module",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./classifier": {
      "types": "./dist/classifier/index.d.ts",
      "import": "./dist/classifier/index.js"
    },
    "./fragments": {
      "types": "./dist/fragments/index.d.ts",
      "import": "./dist/fragments/index.js"
    },
    "./compose": {
      "types": "./dist/compose.d.ts",
      "import": "./dist/compose.js"
    },
    "./hash": {
      "types": "./dist/hash.d.ts",
      "import": "./dist/hash.js"
    },
    "./evaluation": {
      "types": "./dist/evaluation/index.d.ts",
      "import": "./dist/evaluation/index.js"
    },
    "./evaluation/axis-checks": {
      "types": "./dist/evaluation/axis-checks/index.d.ts",
      "import": "./dist/evaluation/axis-checks/index.js"
    },
    "./evaluation/axis-checks/registry": {
      "types": "./dist/evaluation/axis-checks/registry.d.ts",
      "import": "./dist/evaluation/axis-checks/registry.js"
    },
    "./evaluation/types": {
      "types": "./dist/evaluation/types.d.ts",
      "import": "./dist/evaluation/types.js"
    },
    "./llm": {
      "types": "./dist/llm.d.ts",
      "import": "./dist/llm.js"
    },
    "./policy": {
      "types": "./dist/policy.d.ts",
      "import": "./dist/policy.js"
    },
    "./harness": {
      "types": "./dist/harness/index.d.ts",
      "import": "./dist/harness/index.js"
    },
    "./harness/prompts": {
      "types": "./dist/harness/prompts.d.ts",
      "import": "./dist/harness/prompts.js"
    },
    "./harness/result-types": {
      "types": "./dist/harness/result-types.d.ts",
      "import": "./dist/harness/result-types.js"
    },
    "./harness/runtime": {
      "types": "./dist/harness/runtime.d.ts",
      "import": "./dist/harness/runtime.js"
    },
    "./harness/types": {
      "types": "./dist/harness/types-public.d.ts",
      "import": "./dist/harness/types-public.js"
    },
    "./harness/llm-trace-sink": {
      "types": "./dist/harness/llm-trace-sink.d.ts",
      "import": "./dist/harness/llm-trace-sink.js"
    },
    "./harness/validator-trace-sink": {
      "types": "./dist/harness/validator-trace-sink.d.ts",
      "import": "./dist/harness/validator-trace-sink.js"
    },
    "./harness/check/runtime-render": {
      "types": "./dist/harness/check/runtime-render/index.d.ts",
      "import": "./dist/harness/check/runtime-render/index.js"
    },
    "./adapters": {
      "types": "./dist/adapters/index.d.ts",
      "import": "./dist/adapters/index.js"
    },
    "./adapters/base": {
      "types": "./dist/adapters/base.d.ts",
      "import": "./dist/adapters/base.js"
    },
    "./adapters/types": {
      "types": "./dist/adapters/types.d.ts",
      "import": "./dist/adapters/types.js"
    },
    "./adapters/generation-dispatch": {
      "types": "./dist/adapters/generation-dispatch.d.ts",
      "import": "./dist/adapters/generation-dispatch.js"
    },
    "./workflows": {
      "types": "./dist/workflows.d.ts",
      "import": "./dist/workflows.js"
    },
    "./patch": {
      "types": "./dist/patch.d.ts",
      "import": "./dist/patch.js"
    },
    "./boilerplate": {
      "types": "./dist/boilerplate.d.ts",
      "import": "./dist/boilerplate.js"
    },
    "./provider-adapter": {
      "types": "./dist/provider-adapter.d.ts",
      "import": "./dist/provider-adapter.js"
    },
    "./provider-adapter-contract": {
      "types": "./dist/provider-adapter-contract.d.ts",
      "import": "./dist/provider-adapter-contract.js"
    },
    "./providers": {
      "types": "./dist/providers/index.d.ts",
      "import": "./dist/providers/index.js"
    },
    "./check": {
      "types": "./dist/check/index.d.ts",
      "import": "./dist/check/index.js"
    },
    "./validation": {
      "types": "./dist/validation/index.d.ts",
      "import": "./dist/validation/index.js"
    },
    "./blueprint-validator": {
      "types": "./dist/blueprint-validator.d.ts",
      "import": "./dist/blueprint-validator.js"
    },
    "./tools/get-primitives-ts": {
      "types": "./dist/tools/get-primitives-ts.d.ts",
      "import": "./dist/tools/get-primitives-ts.js"
    },
    "./advanced": {
      "types": "./dist/advanced/index.d.ts",
      "import": "./dist/advanced/index.js"
    }
  },
  "peerDependencies": {
    "@google/adk": "^0.5.0",
    "@openai/agents": "^0.7.1",
    "puppeteer-core": "^24.40.0 || ^25.0.0",
    "react": "^18.0.0 || ^19.0.0",
    "react-dom": "^18.0.0 || ^19.0.0",
    "@ggui-ai/mcp-server-core": "0.12.0",
    "@ggui-ai/protocol": "0.12.0",
    "@ggui-ai/project-config": "0.12.0"
  },
  "peerDependenciesMeta": {
    "@google/adk": {
      "optional": true
    },
    "@openai/agents": {
      "optional": true
    },
    "puppeteer-core": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "react-dom": {
      "optional": true
    }
  },
  "dependencies": {
    "@anthropic-ai/bedrock-sdk": "^0.32.1",
    "@anthropic-ai/claude-agent-sdk": "0.3.229",
    "@anthropic-ai/sdk": "^0.116.0",
    "@google/genai": "^2.8.0",
    "@testing-library/dom": "^10.4.0",
    "@testing-library/react": "^16.0.0",
    "@testing-library/user-event": "^14.6.1",
    "@typescript-eslint/parser": "^8.0.0",
    "diff": "^8.0.3",
    "esbuild": "^0.25.0",
    "eslint": "^8.56.0",
    "eslint-plugin-react": "^7.37.0",
    "eslint-plugin-react-hooks": "^5.0.0",
    "happy-dom": "^20.8.9",
    "isomorphic-git": "^1.37.4",
    "memfs": "^4.56.11",
    "openai": "^6.29.0",
    "typescript": "^5.0.0",
    "zod": "^4.3.6",
    "@ggui-ai/design": "0.12.0",
    "@ggui-ai/gadgets": "0.12.0",
    "@ggui-ai/sandbox": "0.12.0",
    "@ggui-ai/ui-visual-tester": "0.12.0",
    "@ggui-ai/wire": "0.12.0"
  },
  "devDependencies": {
    "@google/adk": "^0.5.0",
    "@openai/agents": "^0.7.1",
    "@sparticuz/chromium": "^149.0.0",
    "@types/eslint": "^9.6.1",
    "@types/node": "^22.0.0",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0",
    "puppeteer-core": "^25.6.0",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "tsup": "^8.5.0",
    "vitest": "^3.2.6",
    "@ggui-ai/mcp-server-core": "0.12.0",
    "@ggui-ai/protocol": "0.12.0",
    "@ggui-ai/project-config": "0.12.0"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "author": "ggui contributors <hello@ggui.ai>",
  "scripts": {
    "build": "NODE_OPTIONS=--max-old-space-size=8192 tsup",
    "dev": "tsup --watch",
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest"
  }
}