{"_id":"@blockxai/evi-sdk","_rev":"5-c1583b0cd84fbd69faa776f2ea27c06e","name":"@blockxai/evi-sdk","dist-tags":{"latest":"3.1.4"},"versions":{"3.1.0":{"name":"@blockxai/evi-sdk","version":"3.1.0","keywords":["evi","sdk","ai","solidity","blockchain","smart-contracts","wallet","metamask","deployment","security","audit","compliance","verification","erc20","erc721","erc1155","web3","defi","ethereum","base","basecamp"],"author":{"name":"BlockX Internet"},"license":"MIT","_id":"@blockxai/evi-sdk@3.1.0","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"bin":{"evi":"bin/cli.mjs","acad":"bin/cli.mjs","camp":"bin/cli.mjs"},"dist":{"shasum":"41335a7f452a5a3a62d8e79b10d28433694ffb6f","tarball":"https://registry.npmjs.org/@blockxai/evi-sdk/-/evi-sdk-3.1.0.tgz","fileCount":27,"integrity":"sha512-mcCJ/uyBnSxC3ft0Lh1AxA+ynxi9GWxTZN6NM0cvtQ+g4EbR6RYSEEA5guMtOtstkCmlaRSq7qHBB92wYrAtfA==","signatures":[{"sig":"MEYCIQDuTAZu8USqr3kSDSyVFLAHMqB7Psvo2dJvgJo92SlFzQIhAJK2ce5nMRfaRFKu102OMdSnC0ZOYBEWgJqNO5FgwnYC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168795},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","$schema":"https://json.schemastore.org/package","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"cli":"node bin/cli.mjs","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"blockxai","email":"mohit@blockxint.com"},"_npmVersion":"11.5.1","description":"EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification","directories":{},"_nodeVersion":"24.5.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rimraf":"^5.0.5","typescript":"^5.9.3","@types/node":"^20.12.8","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/evi-sdk_3.1.0_1764958237274_0.8304758889636947","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@blockxai/evi-sdk","version":"3.1.1","keywords":["evi","sdk","ai","solidity","blockchain","smart-contracts","wallet","metamask","deployment","security","audit","compliance","verification","erc20","erc721","erc1155","web3","defi","ethereum","base","basecamp"],"author":{"name":"BlockX Internet"},"license":"MIT","_id":"@blockxai/evi-sdk@3.1.1","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"bin":{"evi":"bin/cli.mjs","acad":"bin/cli.mjs","camp":"bin/cli.mjs"},"dist":{"shasum":"b224ecdba703a33e105d768471a76c6cea267449","tarball":"https://registry.npmjs.org/@blockxai/evi-sdk/-/evi-sdk-3.1.1.tgz","fileCount":27,"integrity":"sha512-IQkqrDdFVlsxoP6SvWT+/HIS3Ly4uCOW1QXbg0+0Lyt/kScMsoIQpE1vkrQ5GlAQJ8dgH96xMfsojiziPEyTNQ==","signatures":[{"sig":"MEUCIQDFw+Fw9Ow36T4v3yUxCcIBT0idj3BbmcGWTFlZr6BybQIgTuBBKgsoi+hpucP0ICFyHgxQllFBl31EEGSVjn6U+3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168552},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","$schema":"https://json.schemastore.org/package","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"cli":"node bin/cli.mjs","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"blockxai","email":"mohit@blockxint.com"},"_npmVersion":"11.5.1","description":"EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification","directories":{},"_nodeVersion":"24.5.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rimraf":"^5.0.5","typescript":"^5.9.3","@types/node":"^20.12.8","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/evi-sdk_3.1.1_1765010595622_0.74468738033832","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@blockxai/evi-sdk","version":"3.1.2","keywords":["evi","sdk","ai","solidity","blockchain","smart-contracts","wallet","metamask","deployment","security","audit","compliance","verification","erc20","erc721","erc1155","web3","defi","ethereum","base","basecamp"],"author":{"name":"BlockX Internet"},"license":"MIT","_id":"@blockxai/evi-sdk@3.1.2","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"bin":{"evi":"bin/cli.mjs","acad":"bin/cli.mjs","camp":"bin/cli.mjs"},"dist":{"shasum":"d1bc65464aa9c542104ab20bc1aed2ff7f979e32","tarball":"https://registry.npmjs.org/@blockxai/evi-sdk/-/evi-sdk-3.1.2.tgz","fileCount":27,"integrity":"sha512-K1NPm7RZyzJeOhsIhV5Z4GNPYc1NnXDJR/S+1SfqFY4DHXt9dGb6YkYDcUNbbgxNGmtQdBRFDdegY4k1tnfIWA==","signatures":[{"sig":"MEUCIQD4GzIHuWabV6at1rtXx3EenNKDNOqdjOX+7thBWcVsrAIgWZ3oQR6F/C0NcYPcI5QhwIhPtmwP0oCNMttaD824Z8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168548},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","$schema":"https://json.schemastore.org/package","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"cli":"node bin/cli.mjs","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"blockxai","email":"mohit@blockxint.com"},"_npmVersion":"11.5.1","description":"EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification","directories":{},"_nodeVersion":"24.5.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rimraf":"^5.0.5","typescript":"^5.9.3","@types/node":"^20.12.8","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/evi-sdk_3.1.2_1765011494191_0.77088287567714","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"@blockxai/evi-sdk","version":"3.1.3","keywords":["evi","sdk","ai","solidity","blockchain","smart-contracts","wallet","metamask","deployment","security","audit","compliance","verification","erc20","erc721","erc1155","web3","defi","ethereum","base","basecamp"],"author":{"name":"BlockX Internet"},"license":"MIT","_id":"@blockxai/evi-sdk@3.1.3","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"bin":{"evi":"bin/cli.mjs","acad":"bin/cli.mjs","camp":"bin/cli.mjs"},"dist":{"shasum":"229206de256a977dd8dc8fcb9ecf0731b1a5cc89","tarball":"https://registry.npmjs.org/@blockxai/evi-sdk/-/evi-sdk-3.1.3.tgz","fileCount":27,"integrity":"sha512-uHo6Rzpf7xJsjinI/HPuEg4C6I7jmVXtVXk2FSwB3iy3dly2F6JgxypGb2FZ3ADQ+zpZqLhUpHIjQnJC9V+Qkg==","signatures":[{"sig":"MEUCIF7JJXKcWvNeLNXSETLQeXe89xWmLVcSCOr4Y73HvkGYAiEA7SHRCwAtzOEH4UOYQ+XsC2OVbns9THA4uWH1m1vVoPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169915},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","$schema":"https://json.schemastore.org/package","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"cli":"node bin/cli.mjs","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"blockxai","email":"mohit@blockxint.com"},"_npmVersion":"11.5.1","description":"EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification","directories":{},"_nodeVersion":"24.5.0","dependencies":{"prompts":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","rimraf":"^5.0.5","typescript":"^5.9.3","@types/node":"^20.12.8","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/evi-sdk_3.1.3_1765011667214_0.2940782834277209","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"$schema":"https://json.schemastore.org/package","name":"@blockxai/evi-sdk","version":"3.1.4","description":"EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification","license":"MIT","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"bin":{"evi":"bin/cli.mjs","camp":"bin/cli.mjs","acad":"bin/cli.mjs"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","cli":"node bin/cli.mjs","clean":"rm -rf dist","lint":"eslint \"src/**/*.{ts,tsx}\""},"engines":{"node":">=18"},"keywords":["evi","sdk","ai","solidity","blockchain","smart-contracts","wallet","metamask","deployment","security","audit","compliance","verification","erc20","erc721","erc1155","web3","defi","ethereum","base","basecamp"],"author":{"name":"BlockX Internet"},"dependencies":{"prompts":"^2.4.2"},"devDependencies":{"@types/node":"^20.12.8","@types/prompts":"^2.4.9","eslint":"^9.0.0","rimraf":"^5.0.5","typescript":"^5.9.3"},"_id":"@blockxai/evi-sdk@3.1.4","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-f2h6tzdsHKf9OX8ppP1VNy7aXEVJK+Rgg6cXX9HbD/GenrwIRn57F6AEi/xYblB3KZVu+678zm1cyXy3ECqI2A==","shasum":"61b2d1743a49354ae0dff5237ce0670a7c9825da","tarball":"https://registry.npmjs.org/@blockxai/evi-sdk/-/evi-sdk-3.1.4.tgz","fileCount":27,"unpackedSize":178582,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCLEfIFKmzVBIqz4iBgu+lBmyN2W0HNR03ZMhYzhEz+qgIgT8PK90N2CiX3pGdMDXtNUBg8mqpZfJJ4pu5KnKOsvNA="}]},"_npmUser":{"name":"blockxai","email":"mohit@blockxint.com"},"directories":{},"maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/evi-sdk_3.1.4_1765013503198_0.25749122113294853"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-05T18:10:37.181Z","modified":"2025-12-06T09:31:43.565Z","3.1.0":"2025-12-05T18:10:37.444Z","3.1.1":"2025-12-06T08:43:15.778Z","3.1.2":"2025-12-06T08:58:14.334Z","3.1.3":"2025-12-06T09:01:07.373Z","3.1.4":"2025-12-06T09:31:43.356Z"},"author":{"name":"BlockX Internet"},"license":"MIT","keywords":["evi","sdk","ai","solidity","blockchain","smart-contracts","wallet","metamask","deployment","security","audit","compliance","verification","erc20","erc721","erc1155","web3","defi","ethereum","base","basecamp"],"description":"EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"readme":"# 🚀 EVI SDK\n\n```\n   ███████╗██╗   ██╗██╗    ███████╗██████╗ ██╗  ██╗\n   ██╔════╝██║   ██║██║    ██╔════╝██╔══██╗██║ ██╔╝\n   █████╗  ██║   ██║██║    ███████╗██║  ██║█████╔╝ \n   ██╔══╝  ╚██╗ ██╔╝██║    ╚════██║██║  ██║██╔═██╗ \n   ███████╗ ╚████╔╝ ██║    ███████║██████╔╝██║  ██╗\n   ╚══════╝  ╚═══╝  ╚═╝    ╚══════╝╚═════╝ ╚═╝  ╚═╝\n```\n\n**Latest:** `v3.1.4` 🎉\n\n> **EVI SDK** — AI-powered smart contract development platform with **wallet deployment**, **security auditing**, **compliance validation**, and **blockchain verification**. Turn your Web3 ideas into reality in minutes, not months.\n\n## ✨ What's New in v3.1.4\n\n- 🤖 **Automated Post-Deployment Checks** - After deployment, automatically:\n  - Find all .sol files in your deployment\n  - Prompt to run security audit with results\n  - Prompt to run compliance check with profile selection\n  - Auto-save reports to deployment directory\n  - Show smart suggestions when not compliant\n- 🔐 **Wallet Deployment** - Deploy with YOUR wallet (MetaMask, WalletConnect)\n- 🛡️ **Pre-Deployment Security** - Audit Solidity files BEFORE deploying\n- ✅ **Compliance Validation** - Check ERC standards before deployment\n- 📊 **Session Statistics** - Monitor platform usage\n- 🎨 **Interactive CLI** - Beautiful dropdown menus, just type `evi`\n- 🐛 **Artifacts Auto-Download** - Files saved automatically after deployment\n\n**Default API:** `https://evi-wallet-production.up.railway.app`  \n**Default Network:** `basecamp`\n\n---\n\n## 🚀 Quick Start\n\n### Install\n\n```bash\n# Install globally for CLI\nnpm install -g @blockxai/evi-sdk@latest\n\n# Or install in your project\nnpm install @blockxai/evi-sdk@latest\n```\n\n**Requirements:** Node 18+ (native `fetch` support)\n\n### Launch Interactive Mode\n\n```bash\nevi\n```\n\nThat's it! Just type `evi` and you'll get a beautiful interactive menu:\n\n```\n? What shall we do today?\n❯ ✨ Generate from Prompt and Deploy\n  📦 Deploy an Existing Solidity File\n  🔐 Deploy with YOUR Wallet\n  🛡️  Security Audit\n  ✅ Compliance Check\n  📊 Platform Statistics\n```\n\nUse arrow keys to navigate, press Enter to select!\n\n---\n\n## 🔥 NEW Features in v3.1\n\n### 🔐 **Wallet Deployment**\nDeploy contracts with YOUR wallet - complete self-custody\n\n```typescript\nimport { AcadClient } from '@blockxai/evi-sdk';\n\nconst client = new AcadClient();\n\n// Start wallet deployment\nconst job = await client.start_wallet_deployment({\n  prompt: 'ERC20 token with 1M supply',\n  network: 'basecamp-testnet'\n});\n\n// Get magic link for signing\nconst session = await client.get_wallet_magic_link(job.jobId);\nconsole.log('Sign with MetaMask:', session.magicLink);\n// Opens browser → User signs → Contract deploys\n```\n\n**CLI:**\n```bash\nevi wallet:deploy \"ERC20 token with 1M supply\"\n# Generates contract → Opens MetaMask → YOU sign → Deploys\n```\n\n---\n\n### 🛡️ **Pre-Deployment Security Auditing**\nAudit Solidity files BEFORE deploying - save gas, prevent hacks\n\n```typescript\nimport fs from 'fs';\n\nconst code = fs.readFileSync('MyToken.sol', 'utf-8');\nconst report = await client.audit_source({\n  code,\n  filename: 'MyToken.sol'\n});\n\nconsole.log(`Security Score: ${report.report.score}/100`);\nconsole.log(`Critical Issues: ${report.report.severity?.critical}`);\n\nif (report.report.severity?.critical > 0) {\n  console.error('❌ Fix critical issues before deploying!');\n  process.exit(1); // Fail CI/CD build\n}\n```\n\n**CLI:**\n```bash\nevi audit:source MyToken.sol --fail-on-critical\n# Perfect for CI/CD pipelines!\n```\n\n---\n\n### ✅ **Compliance Validation**\nCheck if your token follows ERC standards\n\n```typescript\nconst report = await client.compliance_source({\n  code: tokenCode,\n  filename: 'MyToken.sol',\n  profile: 'erc20',\n  strict: true\n});\n\nif (!report.compliance.passed) {\n  console.log('Missing functions:', report.compliance.missingFunctions);\n  console.log('Missing events:', report.compliance.missingEvents);\n}\n```\n\n**CLI:**\n```bash\nevi compliance:check MyToken.sol --profile erc20 --strict\n# Ensure DEXs will accept your token\n```\n\n---\n\n### 📊 **Session Statistics**\nMonitor platform usage\n\n```typescript\nconst stats = await client.get_session_stats();\nconsole.log(`Total: ${stats.total}, Active: ${stats.active}`);\n```\n\n**CLI:**\n```bash\nevi stats\n```\n\n---\n\n## ✨ ACV Features (v3.0)\n\n### 🔍 **Contract Verification**\nVerify deployed contracts on block explorers (Etherscan, Basescan, etc.)\n\n```typescript\nconst result = await client.verify_by_job('job-id', 'basecamp');\nconsole.log('Verified:', result.verified);\nconsole.log('Explorer URL:', result.explorerUrl);\n```\n\n### 🛡️ **Security Auditing**\nAI-powered vulnerability detection with severity levels\n\n```typescript\nconst audit = await client.audit_orchestrate({ jobId: 'job-id' });\nconst report = await client.get_audit_report('job-id');\nconsole.log('Security Score:', report.score); // 0-100\nconsole.log('Critical Issues:', report.summary?.critical);\n```\n\n### ✅ **Compliance Checking**\nValidate contracts against ERC standards (ERC-20, ERC-721, ERC-1155, DeFi, DAO)\n\n```typescript\nconst comp = await client.compliance_orchestrate({ \n  jobId: 'job-id', \n  targetProfile: 'erc721',\n  strict: true \n});\nconst report = await client.get_compliance_report('job-id');\nconsole.log('Compliance Passed:', report.passed);\n```\n\n### 🚀 **Full ACV Pipeline**\nComplete workflow in one call: Generate → Deploy → Verify → Audit → Compliance\n\n```typescript\nconst result = await client.run_acv_pipeline({\n  prompt: 'ERC721 NFT with minting',\n  runVerify: true,\n  runAudit: true,\n  runCompliance: true,\n  complianceProfile: 'erc721'\n});\n```\n\n**See:** [QUICK_START_ACV.md](./QUICK_START_ACV.md) for complete usage guide\n\n---\n\n## Environment\n\n- No API key required\n- Optional overrides:\n  - `API_BASE_URL` (or `ACAD_BASE_URL`)\n  - `NETWORK` (default: `basecamp`)\n  - `MAX_ITERS` (default: `11`)\n  - `NO_ANIMATION=1` (disable intro animation; colors still apply)\n\n- Magical Logger (narrative logs → webhook):\n  - `MAGICAL_LOGS=1` (default on; set `0` to disable)\n  - `MAGICAL_WEBHOOK_URL=https://your-bridge.example.com/magical` (optional)\n  - `MAGICAL_STREAM=1` (stream each event) or `0` (send one final summary)\n\n## 🎨 CLI Commands\n\nAfter install, you get the `evi` command (aliases: `camp`, `acad` for backwards compatibility).\n\n### Basic Commands\n\n```bash\n# Generate and deploy with AI\nevi deploy:prompt --prompt \"ERC20 with 1M supply\"\n\n# Deploy existing Solidity file\nevi deploy:file --file ./MyToken.sol\n\n# Wallet-based deployment (sign with MetaMask)\nevi wallet:deploy \"ERC20 token with 1M supply\" --network basecamp-testnet\n```\n\n### Security & Compliance\n\n```bash\n# Audit Solidity file for vulnerabilities\nevi audit:source MyToken.sol --fail-on-critical\n\n# Check ERC standard compliance\nevi compliance:check MyToken.sol --profile erc20 --strict\n\n# Platform statistics\nevi stats\n```\n\n### Interactive Wizard (Recommended)\n\nJust run `evi` with no arguments to launch the interactive wizard:\n\n```bash\nevi           # Opens interactive wizard\nevi wizard    # Alias\ncamp          # Backwards compatibility\n```\n\nThe wizard guides you through:\n- 🔐 Wallet deployment\n- 🛡️ Security auditing\n- ✅ Compliance checking\n- 🚀 Contract generation & deployment\n- 📊 Platform monitoring\n\n- Run directories are named after your prompt (or filename), no timestamps:\n  - `ai_pipeline_runs/<prompt-slug>/pipeline/` for prompt-based runs\n  - `ai_pipeline_runs/<file-slug>/file/` for file-based runs\n  - If a folder already exists, a simple `-2`, `-3`, … suffix is added.\n  - Example: `ai_pipeline_runs/erc721-with-minting-and-baseuri/pipeline/`\n\nWhat you’ll see and where things are saved:\n\n- Colorful, live logs streamed while the job runs (plus “magical” narrative logs)\n- All outputs under `./ai_pipeline_runs/<name>/`:\n  - `pipeline/` or `file/`\n  - `job.id`, `final.status.json`\n  - `logs.ndjson`\n  - `artifacts/` with `sources/`, `abis/`, `scripts/`\n\nExamples:\n\n```bash\n# Generate and deploy from a prompt\ncamp deploy:prompt --prompt \"ERC721 with minting and baseURI\"\n\n# Deploy from a local Solidity file\ncamp deploy:file --file ./contracts/MyNFT.sol --contractName MyNFT\n```\n\n## Programmatic (optional)\n\nThe SDK exports `AcadClient` if you want to call the API directly.\n\n```ts\nimport { AcadClient } from \"@blockxai/camp-codegen\";\n\nconst client = new AcadClient();\nconst jobId = await client.start_pipeline(\"ERC20 token\", \"basecamp\", 11, \"Token.sol\", [1000000]);\nconst job = await client.wait_for_completion(jobId, { intervalSec: 2, timeoutSec: 2700 });\n```\n\n## Build (for contributors)\n\n```bash\n# inside camp-codegen-js/\nnpm install\nnpm run build\n```\n\nOutputs ESM to `dist/`.\n\n---\n\n## Preset library (search)\n\nIn the wizard, pick “🔎 Browse preset library (search)” to choose from built-in and user-provided presets.\n\n- User presets can be added via any of:\n  - `presets.user.json` (array of `{ title, prompt }`)\n  - `presets.user.txt` (one preset per paragraph; first token before `:` is the title)\n  - `src/presets.user.json`\n\nExamples:\n\n```jsonc\n// presets.user.json\n[\n  { \"title\": \"MessageBoard\", \"prompt\": \"MessageBoard: EMPTY CONSTRUCTOR. post(string message). Events: MessagePosted. No constructor args.\" },\n  { \"title\": \"SimpleBank\", \"prompt\": \"SimpleBank: EMPTY CONSTRUCTOR. deposit() payable. withdraw(uint256 amount). Events: Deposited, Withdrawn.\" }\n]\n```\n\n```text\nMessageBoard: EMPTY CONSTRUCTOR. post(string message). Events: MessagePosted. No constructor args.\n\nSimpleBank: EMPTY CONSTRUCTOR. deposit() payable. withdraw(uint256 amount). Events: Deposited, Withdrawn.\n```\n\nSearch is fuzzy across title, description, and prompt text. If your prompts version lacks `autocomplete`, it falls back to a simple select list.\n\n## Magical logs (GTM/CS friendly)\n\nWe emit a narrative alongside raw SSE logs to keep non-technical teammates engaged. \n\n**Categories:** `generation`, `compilation`, `errors`, `deployment`, `celebration`, `bonus`, **`verification`** 🔍, **`audit`** 🛡️, **`compliance`** ✅\n\nConfigure via env vars:\n\n- `MAGICAL_LOGS` — enable/disable (default `1`)\n- `MAGICAL_WEBHOOK_URL` — optional webhook to receive events\n- `MAGICAL_STREAM` — `1` to stream events, or `0` to receive one `magical_log_summary`\n\nPayload fields include `runLabel`, `jobId`, `network`, `prompt`, `filename`, `contractName`, `category`, `msg`, and optional `meta`.\n\nTip: route the webhook to a tiny middleware (e.g., Cloudflare Worker, Vercel, Express) that transforms into Apollo.io Notes/Activities for GTM/CS visibility.\n\n## Colors and banners\n\n- Intro banner: animated rainbow gradient (respects `NO_ANIMATION=1`)\n- Log theme: orange & white after banner\n- Deploy congrats banner: static, clean orange-only (no animation) with deployed address\n\n## Notes\n\n- No API key required to try it out\n- Default network is `basecamp`\n- Works best on a TTY; `NO_ANIMATION=1` is recommended for CI logs\n","readmeFilename":"README.md"}