{"_id":"@cart.fun/a2a-pages","_rev":"3-5b594be1dc1f979d290f5294d930b301","name":"@cart.fun/a2a-pages","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@cart.fun/a2a-pages","version":"1.0.0","keywords":["a2a","agent","landing-page","documentation","x402","cart.fun"],"author":{"name":"cart.fun"},"license":"MIT","_id":"@cart.fun/a2a-pages@1.0.0","maintainers":[{"name":"neuralcortex","email":"dev@cortexjs.com"}],"dist":{"shasum":"c2ef4d5eb6c1908b2325da561530302c0d106ceb","tarball":"https://registry.npmjs.org/@cart.fun/a2a-pages/-/a2a-pages-1.0.0.tgz","fileCount":66,"integrity":"sha512-UcmlcBLoqjX6RlG8KcXGC4qyfbEkRY+6tSTtDrxnOEq+yrwemeP01VlN7myK+Y6cYqLefaK/62V2PNYLfm0Xmg==","signatures":[{"sig":"MEUCIQDgpfDoylPT52dLW6QWYHAmP/kW1+SYPHxpEuulyMuU3QIgd9iDLn59OkdZ77k335VshPRStZECCZoy81gAAd0elJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53331},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e3ac4cb39ef44b5365b4fec7e4f968be7d52e11f","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"neuralcortex","email":"dev@cortexjs.com"},"_npmVersion":"10.9.2","description":"Generate beautiful developer documentation pages from A2A agent cards","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"express":"^4.18.2","typescript":"^5.3.0","@types/node":"^20.10.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/a2a-pages_1.0.0_1766020661697_0.04874271706068112","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cart.fun/a2a-pages","version":"1.0.1","keywords":["a2a","agent","landing-page","documentation","x402","cart.fun"],"author":{"name":"cart.fun"},"license":"MIT","_id":"@cart.fun/a2a-pages@1.0.1","maintainers":[{"name":"neuralcortex","email":"dev@cortexjs.com"}],"dist":{"shasum":"901010afb92408ddad54ff989b70c6cfa7688569","tarball":"https://registry.npmjs.org/@cart.fun/a2a-pages/-/a2a-pages-1.0.1.tgz","fileCount":66,"integrity":"sha512-wNX7YGO44KkMqnzoCkch4Q0MXPx663d/y1N52TX0Hcd51zm3f+n3W4q2yqg3zVrQsm2TwLGVC8uMxdsq3xyu1w==","signatures":[{"sig":"MEQCIH7qLcoBkcbTfAVUZ9YCSQGV83UOk3K7yRPlbszbmHYHAiAjTk6FqhyDMpDF9pVTSRpgLyYfNZEqCSPbanfxDngZUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53299},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e3ac4cb39ef44b5365b4fec7e4f968be7d52e11f","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"neuralcortex","email":"dev@cortexjs.com"},"_npmVersion":"10.9.2","description":"Generate beautiful developer documentation pages from A2A agent cards","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"express":"^4.18.2","typescript":"^5.3.0","@types/node":"^20.10.0","@types/express":"^4.17.21"},"peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/a2a-pages_1.0.1_1766020899636_0.44946947491549016","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cart.fun/a2a-pages","version":"1.1.0","description":"Generate beautiful developer documentation pages from A2A agent cards","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","prepublishOnly":"npm run build"},"keywords":["a2a","agent","landing-page","documentation","x402","cart.fun"],"author":{"name":"cart.fun"},"license":"MIT","peerDependencies":{"express":"^4.0.0 || ^5.0.0"},"devDependencies":{"@types/express":"^4.17.21","@types/node":"^20.10.0","express":"^4.18.2","typescript":"^5.3.0"},"_id":"@cart.fun/a2a-pages@1.1.0","gitHead":"263fad3f33e8e7ba7b0f5edff61326376a22c8be","_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-aFGpqSrgpoiQ1ry/F3qyyJXwQ+9l6SBLkDYqPU78NFNoa4oYg1TRCQ5ooZ/W2GHVsYToaC8G/SzoNyCbXjE8bQ==","shasum":"07ff5782d1a6ccd7cd85845e92b32bb86da6d873","tarball":"https://registry.npmjs.org/@cart.fun/a2a-pages/-/a2a-pages-1.1.0.tgz","fileCount":66,"unpackedSize":55396,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID5R9ff5HumA1vHVI0DeuKGYCJ50ZXI8uEm9SHYKYanVAiEAtN3L4FvWjU0h8S+Dueqnj55/3c/X1t0yAUqlvULZMQw="}]},"_npmUser":{"name":"neuralcortex","email":"dev@cortexjs.com"},"directories":{},"maintainers":[{"name":"neuralcortex","email":"dev@cortexjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/a2a-pages_1.1.0_1766022226395_0.19531489649780243"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T01:17:41.635Z","modified":"2025-12-18T01:43:46.746Z","1.0.0":"2025-12-18T01:17:41.839Z","1.0.1":"2025-12-18T01:21:39.803Z","1.1.0":"2025-12-18T01:43:46.546Z"},"author":{"name":"cart.fun"},"license":"MIT","keywords":["a2a","agent","landing-page","documentation","x402","cart.fun"],"description":"Generate beautiful developer documentation pages from A2A agent cards","maintainers":[{"name":"neuralcortex","email":"dev@cortexjs.com"}],"readme":"# @cart.fun/a2a-pages\n\n> Generate beautiful developer documentation pages from A2A agent cards\n\n[![npm version](https://img.shields.io/npm/v/@cart.fun/a2a-pages.svg)](https://www.npmjs.com/package/@cart.fun/a2a-pages)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\n## Features\n\n- 🎨 **Beautiful dark/light themes** - Professional documentation pages out of the box\n- ⚡ **One-line integration** - Add a landing page with a single import\n- 🔧 **Fully customizable** - Themes, sections, footer links, and more\n- 📱 **Responsive design** - Looks great on all devices\n- 💳 **x402 payment flow** - Built-in documentation for x402 payments\n- 📊 **Symbol grids** - Automatic rendering of supported assets\n\n## Installation\n\n```bash\nnpm install @cart.fun/a2a-pages\n```\n\n## Quick Start\n\n```typescript\nimport express from 'express'\nimport { createAgentLanding } from '@cart.fun/a2a-pages'\n\nconst app = express()\n\n// Serve landing page from agent-card.json file\napp.get('/', createAgentLanding('./agent-card.json'))\n\napp.listen(3000)\n```\n\n## Usage\n\n### Using a file path\n\n```typescript\napp.get('/', createAgentLanding('./.well-known/agent-card.json'))\n```\n\n### Using an agent card object\n\n```typescript\nconst agentCard = {\n  name: 'My Agent',\n  description: 'A powerful AI agent',\n  url: 'https://my-agent.example.com',\n  version: '1.0.0',\n  skills: [\n    {\n      id: 'message/send',\n      name: 'Send Message',\n      description: 'Send a message to the agent'\n    }\n  ],\n  pricing: {\n    model: 'per-request',\n    price: '$0.001',\n    currency: 'USDC',\n    network: 'base'\n  }\n}\n\napp.get('/', createAgentLanding(agentCard))\n```\n\n### With options\n\n```typescript\napp.get('/', createAgentLanding('./agent-card.json', {\n  // Theme: 'dark' | 'light' | custom Theme object\n  theme: 'dark',\n  \n  // Toggle sections\n  showPaymentFlow: true,\n  showSymbols: true,\n  showAgentCard: true,\n  \n  // Add custom sections\n  customSections: [\n    {\n      title: 'Rate Limits',\n      content: '<p>100 requests per minute</p>'\n    }\n  ],\n  \n  // Customize footer\n  footer: {\n    links: [\n      { label: 'GitHub', url: 'https://github.com/...' },\n      { label: 'Discord', url: 'https://discord.gg/...' },\n      { label: 'Docs', url: 'https://docs.example.com' }\n    ]\n  },\n  \n  // Enable caching (default: true in production)\n  cache: true\n}))\n```\n\n## Custom Themes\n\nCreate your own theme by providing a Theme object:\n\n```typescript\nimport { createAgentLanding, type Theme } from '@cart.fun/a2a-pages'\n\nconst myTheme: Theme = {\n  colors: {\n    bg: '#0f0f23',\n    surface: '#1a1a2e',\n    border: '#2d2d44',\n    text: '#e4e4e7',\n    textDim: '#8b8b9e',\n    accent: '#ff6b6b',\n    accentDim: '#4a3333',\n    codeBg: '#16162a'\n  },\n  fonts: {\n    heading: \"'Space Grotesk', sans-serif\",\n    body: \"'Inter', sans-serif\",\n    mono: \"'Fira Code', monospace\"\n  }\n}\n\napp.get('/', createAgentLanding('./agent-card.json', { theme: myTheme }))\n```\n\n## Advanced: Direct HTML Generation\n\nFor more control, use the generator function directly:\n\n```typescript\nimport { generateLandingPage, darkTheme } from '@cart.fun/a2a-pages'\n\nconst html = generateLandingPage(agentCard, {\n  theme: darkTheme,\n  showPaymentFlow: true\n})\n\n// Use the HTML however you need\nfs.writeFileSync('landing.html', html)\n```\n\n## Advanced: Individual Components\n\nFor maximum flexibility, use individual components:\n\n```typescript\nimport {\n  renderHero,\n  renderQuickstart,\n  renderSkills,\n  renderSymbols,\n  renderPaymentFlow,\n  renderFooter,\n  darkTheme\n} from '@cart.fun/a2a-pages'\n\n// Build your own page structure\nconst hero = renderHero(agentCard, darkTheme)\nconst quickstart = renderQuickstart(agentCard, darkTheme)\n// ... compose as needed\n```\n\n## Agent Card Schema\n\nThe agent card should follow the A2A protocol specification:\n\n```typescript\ninterface AgentCard {\n  name: string\n  description: string\n  url: string\n  version: string\n  skills: Array<{\n    id: string\n    name: string\n    description: string\n    tags?: string[]\n    examples?: string[]\n    inputSchema?: object\n    outputSchema?: object\n  }>\n  supportedSymbols?: {\n    [category: string]: {\n      source: string\n      symbols: string[]\n    }\n  }\n  pricing?: {\n    model: string\n    price: string\n    currency: string\n    network: string\n  }\n}\n```\n\n## License\n\nMIT © [cart.fun](https://cart.fun)\n","readmeFilename":"README.md"}