{
  "name": "@cursor/july",
  "version": "0.1.108",
  "description": "(early alpha) Filesystem-first framework for defining Cursor agents as markdown and TypeScript and serving them over channels with the Cursor SDK.",
  "license": "SEE LICENSE IN LICENSE.md",
  "repository": {
    "type": "git",
    "url": "https://github.com/cursor/cursor"
  },
  "homepage": "https://cursor.com",
  "type": "module",
  "main": "dist/index.js",
  "module": "dist/index.js",
  "types": "./dist/index.d.ts",
  "bin": {
    "agent-sdk": "./dist/bin/agent-serve.js"
  },
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "dist/**/*",
    "!dist/playground-central/**",
    "!dist/internal/tenant-mcp/**",
    "!dist/internal/grokbot/**",
    "!dist/extensions/cursor-grokbot-agents/**",
    "!dist/internal/review-comments*",
    "!dist/internal/shallow-clone.*",
    "!dist/internal/managed-delivery.*",
    "src/**/*",
    "!src/**/*.test.ts",
    "!src/internal/tenant-mcp/**",
    "!src/internal/grokbot/**",
    "!src/extensions/cursor-grokbot-agents/**",
    "!src/internal/review-comments*",
    "!src/internal/shallow-clone.ts",
    "!src/internal/managed-delivery.ts",
    "skills/**/*",
    "templates/**/*",
    "docs/**/*.md",
    "!docs/.cursor/**",
    "scripts/install-cursor-skills.mjs",
    "package.json",
    "LICENSE.md",
    "README.md",
    "AGENTS.md"
  ],
  "exports": {
    ".": {
      "anysphere-source": "./src/index.ts",
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./internal/hosted-delivery-protocol": {
      "anysphere-source": "./src/internal/hosted-delivery-protocol.ts",
      "bun": "./dist/internal/hosted-delivery-protocol.js",
      "types": "./dist/internal/hosted-delivery-protocol.d.ts",
      "import": "./dist/internal/hosted-delivery-protocol.js",
      "default": "./dist/internal/hosted-delivery-protocol.js"
    },
    "./tools": {
      "anysphere-source": "./src/tools.ts",
      "types": "./dist/tools.d.ts",
      "import": "./dist/tools.js",
      "default": "./dist/tools.js"
    },
    "./channels": {
      "anysphere-source": "./src/channels.ts",
      "types": "./dist/channels.d.ts",
      "import": "./dist/channels.js",
      "default": "./dist/channels.js"
    },
    "./channels/slack": {
      "anysphere-source": "./src/channels/slack/index.ts",
      "types": "./dist/channels/slack/index.d.ts",
      "import": "./dist/channels/slack/index.js",
      "default": "./dist/channels/slack/index.js"
    },
    "./channels/github": {
      "anysphere-source": "./src/channels/github/index.ts",
      "types": "./dist/channels/github/index.d.ts",
      "import": "./dist/channels/github/index.js",
      "default": "./dist/channels/github/index.js"
    },
    "./channels/origin": {
      "anysphere-source": "./src/channels/origin/index.ts",
      "types": "./dist/channels/origin/index.d.ts",
      "import": "./dist/channels/origin/index.js",
      "default": "./dist/channels/origin/index.js"
    },
    "./channels/gitlab": {
      "anysphere-source": "./src/channels/gitlab/index.ts",
      "types": "./dist/channels/gitlab/index.d.ts",
      "import": "./dist/channels/gitlab/index.js",
      "default": "./dist/channels/gitlab/index.js"
    },
    "./channels/bitbucket": {
      "anysphere-source": "./src/channels/bitbucket/index.ts",
      "types": "./dist/channels/bitbucket/index.d.ts",
      "import": "./dist/channels/bitbucket/index.js",
      "default": "./dist/channels/bitbucket/index.js"
    },
    "./channels/deployments": {
      "anysphere-source": "./src/channels/deployments/index.ts",
      "types": "./dist/channels/deployments/index.d.ts",
      "import": "./dist/channels/deployments/index.js",
      "default": "./dist/channels/deployments/index.js"
    },
    "./channels/change-monitors": {
      "anysphere-source": "./src/channels/change-monitors/index.ts",
      "types": "./dist/channels/change-monitors/index.d.ts",
      "import": "./dist/channels/change-monitors/index.js",
      "default": "./dist/channels/change-monitors/index.js"
    },
    "./channels/issues": {
      "anysphere-source": "./src/channels/issues/index.ts",
      "types": "./dist/channels/issues/index.d.ts",
      "import": "./dist/channels/issues/index.js",
      "default": "./dist/channels/issues/index.js"
    },
    "./skills": {
      "anysphere-source": "./src/skills.ts",
      "types": "./dist/skills.d.ts",
      "import": "./dist/skills.js",
      "default": "./dist/skills.js"
    },
    "./extensions": {
      "anysphere-source": "./src/extensions.ts",
      "bun": "./dist/extensions.js",
      "types": "./dist/extensions.d.ts",
      "import": "./dist/extensions.js",
      "default": "./dist/extensions.js"
    },
    "./extensions/cursor-cloud-agents": {
      "anysphere-source": "./src/extensions/cursor-cloud-agents/extension.ts",
      "bun": "./dist/extensions/cursor-cloud-agents/extension.js",
      "types": "./dist/extensions/cursor-cloud-agents/extension.d.ts",
      "import": "./dist/extensions/cursor-cloud-agents/extension.js",
      "default": "./dist/extensions/cursor-cloud-agents/extension.js"
    },
    "./extensions/cursor-grokbot-agents": {
      "anysphere-source": "./src/extensions/cursor-grokbot-agents/extension.ts",
      "bun": "./dist/extensions/cursor-grokbot-agents/extension.js",
      "types": "./dist/extensions/cursor-grokbot-agents/extension.d.ts",
      "import": "./dist/extensions/cursor-grokbot-agents/extension.js",
      "default": "./dist/extensions/cursor-grokbot-agents/extension.js"
    },
    "./extensions/improve": {
      "anysphere-source": "./src/extensions/improve/extension.ts",
      "bun": "./dist/extensions/improve/extension.js",
      "types": "./dist/extensions/improve/extension.d.ts",
      "import": "./dist/extensions/improve/extension.js",
      "default": "./dist/extensions/improve/extension.js"
    },
    "./schedules": {
      "anysphere-source": "./src/schedules.ts",
      "types": "./dist/schedules.d.ts",
      "import": "./dist/schedules.js",
      "default": "./dist/schedules.js"
    },
    "./reminders": {
      "anysphere-source": "./src/reminders.ts",
      "types": "./dist/reminders.d.ts",
      "import": "./dist/reminders.js",
      "default": "./dist/reminders.js"
    },
    "./connections": {
      "anysphere-source": "./src/connections.ts",
      "types": "./dist/connections.d.ts",
      "import": "./dist/connections.js",
      "default": "./dist/connections.js"
    },
    "./hooks": {
      "anysphere-source": "./src/hooks.ts",
      "types": "./dist/hooks.d.ts",
      "import": "./dist/hooks.js",
      "default": "./dist/hooks.js"
    },
    "./client": {
      "anysphere-source": "./src/client.ts",
      "bun": "./dist/client.js",
      "types": "./dist/client.d.ts",
      "import": "./dist/client.js",
      "default": "./dist/client.js"
    },
    "./memory": {
      "anysphere-source": "./src/memory.ts",
      "types": "./dist/memory.d.ts",
      "import": "./dist/memory.js",
      "default": "./dist/memory.js"
    },
    "./prompt": {
      "anysphere-source": "./src/prompt.ts",
      "types": "./dist/prompt.d.ts",
      "import": "./dist/prompt.js",
      "default": "./dist/prompt.js"
    },
    "./evals": {
      "anysphere-source": "./src/evals.ts",
      "types": "./dist/evals.d.ts",
      "import": "./dist/evals.js",
      "default": "./dist/evals.js"
    },
    "./evals/reporters": {
      "anysphere-source": "./src/evals/reporters.ts",
      "types": "./dist/evals/reporters.d.ts",
      "import": "./dist/evals/reporters.js",
      "default": "./dist/evals/reporters.js"
    },
    "./evals/loaders": {
      "anysphere-source": "./src/evals/loaders.ts",
      "types": "./dist/evals/loaders.d.ts",
      "import": "./dist/evals/loaders.js",
      "default": "./dist/evals/loaders.js"
    },
    "./ab": {
      "anysphere-source": "./src/ab.ts",
      "types": "./dist/ab.d.ts",
      "import": "./dist/ab.js",
      "default": "./dist/ab.js"
    },
    "./artifacts": {
      "anysphere-source": "./src/artifacts.ts",
      "types": "./dist/artifacts.d.ts",
      "import": "./dist/artifacts.js",
      "default": "./dist/artifacts.js"
    },
    "./result": {
      "anysphere-source": "./src/result.ts",
      "bun": "./dist/result.js",
      "types": "./dist/result.d.ts",
      "import": "./dist/result.js",
      "default": "./dist/result.js"
    },
    "./kv": {
      "anysphere-source": "./src/kv.ts",
      "bun": "./dist/kv.js",
      "types": "./dist/kv.d.ts",
      "import": "./dist/kv.js",
      "default": "./dist/kv.js"
    },
    "./kv/memory": {
      "anysphere-source": "./src/kv/memory-kv.ts",
      "bun": "./dist/kv/memory-kv.js",
      "types": "./dist/kv/memory-kv.d.ts",
      "import": "./dist/kv/memory-kv.js",
      "default": "./dist/kv/memory-kv.js"
    },
    "./storage": {
      "anysphere-source": "./src/storage.ts",
      "types": "./dist/storage.d.ts",
      "import": "./dist/storage.js",
      "default": "./dist/storage.js"
    },
    "./storage/file-kv": {
      "anysphere-source": "./src/storage-backends/file-kv.ts",
      "types": "./dist/storage-backends/file-kv.d.ts",
      "import": "./dist/storage-backends/file-kv.js",
      "default": "./dist/storage-backends/file-kv.js"
    },
    "./storage/cursor-hosted": {
      "anysphere-source": "./src/storage-backends/cursor-hosted.ts",
      "types": "./dist/storage-backends/cursor-hosted.d.ts",
      "import": "./dist/storage-backends/cursor-hosted.js",
      "default": "./dist/storage-backends/cursor-hosted.js"
    },
    "./otel": {
      "anysphere-source": "./src/otel.ts",
      "types": "./dist/otel.d.ts",
      "import": "./dist/otel.js",
      "default": "./dist/otel.js"
    },
    "./package.json": {
      "anysphere-source": "./package.json",
      "bun": "./package.json",
      "types": "./package.json",
      "import": "./package.json",
      "default": "./package.json"
    }
  },
  "scripts": {
    "build": "tsgo -p tsconfig.build.json && node scripts/bundle-publish-shims.mjs && node scripts/copy-extension-assets.mjs && pnpm run build:playground && pnpm run docs:build",
    "build:dist": "node scripts/build-hosted-dist.mjs",
    "postinstall": "node -e \"try{const p='./scripts/install-cursor-skills.mjs';if(require('fs').existsSync(p))require('child_process').execFileSync(process.execPath,[p],{stdio:'inherit'})}catch{}\"",
    "build:playground": "vite build --config playground/vite.config.ts",
    "build:playground:central": "vite build --mode central --config playground/vite.config.ts",
    "dev:playground": "vite --config playground/vite.config.ts",
    "check": "biome check src && tsgo --noEmit && tsgo --noEmit -p playground/tsconfig.json",
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:preview": "vitepress preview docs",
    "docs:verify-links": "node scripts/verify-docs-links.mjs",
    "fix": "biome check --write --unsafe src",
    "test": "vitest run --passWithNoTests",
    "type-check": "tsgo --noEmit && tsgo --noEmit -p playground/tsconfig.json",
    "build-dev": "echo noop",
    "build-types": "tsgo -p tsconfig.build.json --emitDeclarationOnly",
    "verify-publish": "node scripts/verify-publish-artifacts.mjs",
    "smoke-publish": "node scripts/smoke-publish-artifact.mjs",
    "publish-check": "pnpm run build && pnpm run verify-publish && pnpm run smoke-publish"
  },
  "engines": {
    "node": ">=22.13"
  },
  "dependencies": {
    "@bazel/runfiles": "6.5.0",
    "@cursor/sdk": "1.0.31",
    "@modelcontextprotocol/sdk": "1.25.1",
    "@octokit/auth-app": "^7.2.0",
    "@octokit/rest": "^21.1.1",
    "@opentelemetry/api": "^1.9.0",
    "@opentelemetry/api-logs": "^0.208.0",
    "@opentelemetry/core": "^2.6.1",
    "@opentelemetry/exporter-logs-otlp-http": "^0.208.0",
    "@opentelemetry/exporter-logs-otlp-proto": "^0.208.0",
    "@opentelemetry/exporter-metrics-otlp-http": "^0.208.0",
    "@opentelemetry/exporter-metrics-otlp-proto": "^0.208.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.208.0",
    "@opentelemetry/exporter-trace-otlp-proto": "^0.208.0",
    "@opentelemetry/resources": "^2.6.1",
    "@opentelemetry/sdk-logs": "^0.208.0",
    "@opentelemetry/sdk-metrics": "^2.2.0",
    "@opentelemetry/sdk-trace-base": "^2.6.1",
    "@opentelemetry/sdk-trace-node": "^2.6.1",
    "@opentelemetry/semantic-conventions": "^1.27.0",
    "@slack/socket-mode": "^2.0.7",
    "@slack/web-api": "^7.18.0",
    "croner": "^8.0.1",
    "esbuild": "^0.25.0",
    "javascript-time-ago": "^2.6.4",
    "js-yaml": "4.1.0",
    "minimatch": "^10.2.5",
    "ms": "^2.1.3",
    "proper-lockfile": "^4.1.2",
    "slackify-markdown": "^5.0.0",
    "tsx": "^4.0.0",
    "zod": "^3.25.0",
    "zod-to-json-schema": "^3.24.5"
  },
  "devDependencies": {
    "@anysphere/agent-store-sync": "workspace:*",
    "@anysphere/ui": "workspace:*",
    "@stylexswc/rs-compiler": "^0.18.0",
    "@tanstack/react-virtual": "3.13.23",
    "@types/js-yaml": "4.0.9",
    "@types/ms": "^2.1.0",
    "@types/node": "catalog:",
    "@types/pg": "^8.16.0",
    "@types/proper-lockfile": "^4.1.4",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0",
    "@typescript/native-preview": "7.0.0-dev.20260701.1",
    "@vitejs/plugin-react": "^5.1.2",
    "pg": "^8.18.0",
    "pretty-ms": "^9.2.0",
    "react": "^19.2.1",
    "react-dom": "^19.2.1",
    "react-markdown": "^10.1.0",
    "rehype-highlight": "^7.0.2",
    "remark-gfm": "^4.0.1",
    "typescript": "catalog:",
    "vite": "^7.3.0",
    "vitepress": "1.6.4",
    "vitest": "^4.0.18",
    "yaml": "^2.4.2",
    "zustand": "^5.0.9"
  }
}