{ "name": "astrail", "version": "0.5.2", "private": true, "bin": { "astrail": "bin/astrail.mjs" }, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "eslint . --max-warnings=0", "audit:prod": "npm audit --omit=dev --audit-level=moderate", "verify:env": "tsc --outDir .tmp/verify-env --module commonjs --target ES2022 --moduleResolution node --esModuleInterop scripts/verify-env.ts --skipLibCheck && node .tmp/verify-env/verify-env.js", "verify:schema": "node --env-file-if-exists=.env.local scripts/verify-neon-schema.ts", "verify:neon": "node --env-file-if-exists=.env.local scripts/verify-neon.mjs", "smoke:neon-auth": "node --env-file-if-exists=.env.local scripts/smoke-neon-auth.mjs", "apply:neon:schema": "node --env-file-if-exists=.env.local scripts/apply-neon-schema.mjs", "configure:neon:data-api": "node --env-file-if-exists=.env.local scripts/configure-neon-data-api.mjs", "configure:neon:service-user": "node --env-file-if-exists=.env.local scripts/create-neon-service-user.mjs", "audit:neon:identities": "node --env-file-if-exists=.env.local scripts/audit-neon-identities.mjs", "configure:neon:identity-relink": "node --env-file-if-exists=.env.local scripts/configure-neon-identity-relink.mjs", "reconcile:neon:identities": "node --env-file-if-exists=.env.local scripts/reconcile-neon-identities.mjs", "smoke:mcp": "node scripts/smoke-mcp-endpoint.mjs", "smoke:code-mode": "node scripts/smoke-code-mode-sandbox.mjs", "smoke:search-docs": "tsc --outDir .tmp/search-docs-smoke --module commonjs --target ES2022 --moduleResolution node --esModuleInterop scripts/smoke-search-docs.ts lib/codeModeDocs.ts --skipLibCheck && node .tmp/search-docs-smoke/scripts/smoke-search-docs.js", "smoke:google-discovery": "tsc -p config/typescript/tsconfig.google-discovery-smoke.json && mkdir -p .tmp/google-discovery-smoke/node_modules/@ && ln -sfn ../../lib .tmp/google-discovery-smoke/node_modules/@/lib && node .tmp/google-discovery-smoke/scripts/smoke-google-discovery-import.js", "smoke:graphql-import": "tsc -p config/typescript/tsconfig.google-discovery-smoke.json && mkdir -p .tmp/google-discovery-smoke/node_modules/@ && ln -sfn ../../lib .tmp/google-discovery-smoke/node_modules/@/lib && node .tmp/google-discovery-smoke/scripts/smoke-graphql-import.js", "smoke:mcp-proxy": "tsx scripts/smoke-mcp-proxy-import.ts", "smoke:approvals": "tsx scripts/smoke-tool-approvals.ts", "smoke:cli": "node scripts/smoke-cli.mjs", "smoke:connectors": "tsx scripts/smoke-connectors.ts", "smoke:runtime-policy": "tsc --outDir .tmp/runtime-policy-smoke --module commonjs --target ES2022 --moduleResolution node --esModuleInterop scripts/smoke-runtime-policy-presets.ts --skipLibCheck && node .tmp/runtime-policy-smoke/scripts/smoke-runtime-policy-presets.js", "smoke:waitlist-security": "tsc --outDir .tmp/waitlist-security-smoke --module commonjs --target ES2022 --moduleResolution node --esModuleInterop scripts/smoke-waitlist-security.ts lib/security.ts --skipLibCheck && node .tmp/waitlist-security-smoke/scripts/smoke-waitlist-security.js", "smoke:website-mcp": "node scripts/smoke-website-mcp.mjs", "smoke:runtime": "node scripts/smoke-production-runtime.mjs", "smoke:rate-limit": "node scripts/smoke-runtime-rate-limit.mjs", "smoke:publish-toggle": "node scripts/smoke-publish-toggle-state.mjs", "smoke:landing-clients": "node scripts/smoke-landing-clients.mjs", "smoke:billing-plans": "node scripts/smoke-billing-plan-limits.mjs", "smoke:billing-reset": "node scripts/smoke-billing-reset.mjs", "smoke:dashboard-render": "node scripts/smoke-dashboard-render-path.mjs", "smoke:x402": "tsc -p config/typescript/tsconfig.x402-smoke.json && mkdir -p .tmp/x402-smoke/lib/neon .tmp/x402-smoke/node_modules/@ && cp scripts/smoke-fixtures/neon-server-stub.cjs .tmp/x402-smoke/lib/neon/server.js && ln -sfn ../../lib .tmp/x402-smoke/node_modules/@/lib && node .tmp/x402-smoke/scripts/smoke-x402.js", "smoke:env-readiness": "node scripts/smoke-env-readiness.mjs", "smoke:oauth": "node scripts/smoke-oauth-token-vault.mjs", "smoke:oauth-revocation": "node scripts/smoke-oauth-revocation.mjs", "smoke:composable-auth": "npx tsc -p config/typescript/tsconfig.composable-auth-smoke.json && mkdir -p .tmp/composable-auth/node_modules/@ && ln -sfn ../../lib .tmp/composable-auth/node_modules/@/lib && node .tmp/composable-auth/scripts/smoke-composable-auth-lifecycle.js", "smoke:audit-attribution": "node scripts/smoke-audit-attribution.mjs", "smoke:integration-hardening": "node scripts/smoke-integration-hardening.mjs", "smoke:observability-redaction": "tsc --outDir .tmp/observability-redaction-smoke --module commonjs --target ES2022 --moduleResolution node --esModuleInterop scripts/smoke-observability-redaction.ts lib/runtime/observability.ts --skipLibCheck && node .tmp/observability-redaction-smoke/scripts/smoke-observability-redaction.js", "smoke:integration-operations": "tsx scripts/smoke-integration-operations.ts", "smoke:sdk-edge": "node scripts/smoke-sdk-factory-edge-cases.mjs", "smoke:production-governance": "node scripts/smoke-production-tool-governance.mjs", "smoke:launch-demo": "tsc -p config/typescript/tsconfig.launch-demo-smoke.json && mkdir -p .tmp/launch-demo-smoke/node_modules/@ && ln -sfn ../../lib .tmp/launch-demo-smoke/node_modules/@/lib && node .tmp/launch-demo-smoke/scripts/smoke-launch-demo.js", "smoke:audit-github": "tsc -p config/typescript/tsconfig.audit-github-smoke.json && node .tmp/audit-github/scripts/smoke-audit-github-reference.js", "smoke:p1": "tsx scripts/smoke-p1-operations.ts", "smoke:p2": "tsc -p config/typescript/tsconfig.p2-smoke.json && mkdir -p .tmp/p2-smoke/node_modules/@ && ln -sfn ../../lib .tmp/p2-smoke/node_modules/@/lib && node .tmp/p2-smoke/scripts/smoke-p2-integration-reduction.js", "smoke:p3": "tsc -p config/typescript/tsconfig.p3-smoke.json && mkdir -p .tmp/p3-smoke/node_modules/@ && ln -sfn ../../lib .tmp/p3-smoke/node_modules/@/lib && node .tmp/p3-smoke/scripts/smoke-p3-enterprise-events.js", "test:ui": "playwright test", "test:ui:chromium": "playwright test --project=chromium", "test:ui:report": "playwright show-report reports/playwright", "smoke:schema-validation": "tsc -p config/typescript/tsconfig.schema-smoke.json && node .tmp/schema-validation-smoke/scripts/smoke-openapi-schema-validation.js", "eval:mcp": "node scripts/eval-mcp-code-mode.mjs", "sdk:pull": "node scripts/pull-sdk-bundle.mjs", "typecheck": "tsc --noEmit --pretty false", "demo:offline": "tsx examples/openapi-to-tools/demo.ts", "test:core": "npm run demo:offline && npm run smoke:schema-validation && npm run smoke:cli && npm run smoke:billing-plans", "check": "npm run verify:repo && npm run lint && npm run typecheck && npm test && npm run build", "test:unit": "tsx --test tests/unit/*.test.mjs", "test": "npm run test:unit && npm run test:core", "verify:repo": "node scripts/verify-repository.mjs" }, "dependencies": { "@anthropic-ai/sdk": "^0.98.0", "@modelcontextprotocol/sdk": "^1.32.1", "@neon/config": "^0.9.5", "@neondatabase/auth": "^0.4.2-beta", "@neondatabase/neon-js": "^0.6.2-beta", "@neondatabase/serverless": "^1.1.0", "@radix-ui/react-slot": "^1.2.4", "@sparticuz/chromium": "149.0.0", "@tanstack/react-query": "^5.101.2", "@tanstack/react-query-devtools": "^5.101.2", "@x402/core": "^2.18.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "graphql": "^16.14.2", "lucide-react": "^1.16.0", "next": "^16.4.0", "pg": "^8.22.0", "playwright": "^1.60.0", "playwright-core": "1.60.0", "react": "19.2.7", "react-dom": "19.2.7", "standardwebhooks": "^1.0.0", "tailwind-merge": "^3.6.0", "undici": "^6.27.0", "yaml": "^2.9.0", "zod": "^4.4.3" }, "devDependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", "@openai/agents": "0.13.4", "@tailwindcss/postcss": "^4.3.3", "@types/node": "^20", "@types/pg": "^8.20.0", "@types/react": "19.2.17", "@types/react-dom": "19.2.3", "eslint": "^9.0.0", "eslint-config-next": "^16.4.0", "postcss": "8.5.23", "tailwindcss": "^4.3.3", "tsx": "^4.23.1", "typescript": "^5" }, "overrides": { "better-auth": "1.6.25", "fast-uri": "^3.1.6", "dompurify": "^3.4.9", "hono": "^4.12.28", "@hono/node-server": "^2.0.11", "sharp": "^0.35.4", "postcss": "$postcss", "@types/react": "19.2.17", "@types/react-dom": "19.2.3" }, "license": "MIT", "engines": { "node": ">=22.18.0" }, "repository": { "type": "git", "url": "https://github.com/codewithriza/astrail.git" } }