{"_id":"@agents-market/market-embed","_rev":"9-482e1a948978d494be27b83c50dd9b0e","name":"@agents-market/market-embed","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"@agents-market/market-embed","version":"0.1.0","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.0","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"e38cc87d10b8a5032e5a956c49367b3a65167d94","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.0.tgz","fileCount":3,"integrity":"sha512-2QR5hmFGQIiibfGiM4wMcVYEGuyNEl462rYMOGLN4vCoeTYcEHmUasslgKrqRtrmvJuMOgJD+kxAqQeYBpuLwQ==","signatures":[{"sig":"MEUCIQC0jcKGJodLmjX4ci1TcRYndQ8bXjoEfRkDv3YAZ911rQIgW3sRNbUt5OSOH5tGsXq7jMnUcMi1xJz1w5f3r2w5PQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181235},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"eefa6d9b139a4cbc983fec601e94eb36b5a3f890","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.0_1776254435039_0.2515846216386417","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agents-market/market-embed","version":"0.1.1","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.1","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"ad93d7171aaf4152f9bb3d0bbcba9519fbacbadf","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.1.tgz","fileCount":3,"integrity":"sha512-Urv3VQqoFHCMvR4m3DildGK61+UHAagMEi21YXifaEomL9xudQPabURQfI3p4exAL+SoCMR5mgESdV98/khaqw==","signatures":[{"sig":"MEUCIQDSsWLrz9IcK3er80z5NwN1x2FqSwIkI7hTrR/8uMlY7gIgChJgZsgrst9IwdJqkPe3XXogAMAhC2N14vIS7Q2YZ2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182103},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"1454a498f140d9990b2952e7d104727eb53f1699","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.1_1776267289153_0.6785756850548723","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@agents-market/market-embed","version":"0.1.3","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.3","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"a1728d2bdc491571c7666585ec48745dd95a8767","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.3.tgz","fileCount":3,"integrity":"sha512-//KYVWlXVQ2rZFGj8A28vQqpAJDX9BFJBG27w0myVSjCbynm2Nndwkd4ew7PSMvDGKgFAZA1/3LH5kYZ2W2HXw==","signatures":[{"sig":"MEYCIQCyhX1GQ5wsQuTUCYAcGF0IIMElOZZfP7Mhl7Je7Z38wwIhAN4+ZDnMkgY1LLax3/+whiunYo1uVs8nhI8L+9BPI/jO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182225},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"49d5a59ec7bf5e8ceeedca1e74c172a15cc29a40","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.3_1776955961954_0.37994780172893394","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@agents-market/market-embed","version":"0.1.4","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.4","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"28d51942a8882a69b3b40fa3a2785c972549190f","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.4.tgz","fileCount":3,"integrity":"sha512-77QOWv1DexfclO9ltbCZu2SuHsPc8IzBB5LS+U/LHUhN7PrFkJHCzDMtRGXprQw8I4WsOSsrALij8pvW+0lwtw==","signatures":[{"sig":"MEYCIQC4G0jtr8/JMGNIpOz4HfhUiqRAjiJLlggQ0QOkUe1M4gIhAP7ooCh5odPpyUonq7OzHL78rgnuaElVwBSaERJ3+LN+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182328},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"a8ef2c201e9e9458e84c833536ae9b4f9692a88b","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.4_1777553746695_0.8665537299470611","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@agents-market/market-embed","version":"0.1.5","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.5","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"8e44dd107cfe2e5ec812523d9f415e4de56cc358","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.5.tgz","fileCount":3,"integrity":"sha512-bwJXRMcwNrQctW+4srfWVNH9TfKi+7Bapwu/rxWZFeKGmLa6SxUYXXXoPaYkxrUetERK4wZO+VPCLh7PgYky7w==","signatures":[{"sig":"MEUCIADHF4WBiwvPQ1kLeYUO5EQAF60sjf7NacSjWTk6BAaLAiEA7TFYdfqls8ZNaCbhEn2HTzMGQ01O2lWWFAvnMQhk6MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182383},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"ee38874b3998d7888e4ac414a9be573d5dda379a","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.5_1777556067782_0.006321419873863032","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@agents-market/market-embed","version":"0.1.6","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.6","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"c9bf4b7a9be1ab5340b318b9b700863af3d2c8c5","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.6.tgz","fileCount":3,"integrity":"sha512-inJLTgLrv+PpV1punXfrYSy90bZVG9mY/oEZGxw60QLtC7U8sXS+iKqqNOnVV0jRwk05468Q7B6KRdNfoszoXQ==","signatures":[{"sig":"MEYCIQD/TEn4A9vy5VH3mbG17kR3YpJRoI85xwr2PB/1pEISoQIhAMn0sDwpSZbFkvyEyhtIUtTlwugWSpkX1UQTFzxX/U73","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182416},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"35d4b666647246260146e2865d65b5e2207f79f9","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.6_1777632709578_0.17308732566229135","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@agents-market/market-embed","version":"0.1.7","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.7","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"86509e67ab20665b877d7299998e5c848438e852","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.7.tgz","fileCount":3,"integrity":"sha512-c96QJERLScVVJWzAzZx+yZVEShNntL5kX9jkTr1/E2h4Wspgmzw2+JE7yWYs2AnQLq4bSXKu8iboaWIYzwFMjw==","signatures":[{"sig":"MEUCIQDEZgAj78wHbRfasREKNSCvnh7QcgaEp5Nub0D1zywD+gIgJzGtQNGxJERifTmfZ+XIHv/CS5zwk05I57vhX/rXJ0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185339},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"448389ecd341024b4721421aa7ebb533f78488ba","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.7_1777655995521_0.05473335764616305","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@agents-market/market-embed","version":"0.1.8","keywords":["agents","market","near","ai","widget","embed"],"license":"MIT","_id":"@agents-market/market-embed@0.1.8","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"homepage":"https://github.com/nearai/agents-market-sdk#readme","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"dist":{"shasum":"32dc516d1ef9b829bd4e49a3c63243c302c76a4d","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.8.tgz","fileCount":3,"integrity":"sha512-X/VAGcTTZjO2JCptCgIhCswBUGo88CPbPFWhKnR90pxYRKHCu6MlXLiTCy/dKfjU9goLAF88v42zYPAaZ4U8PQ==","signatures":[{"sig":"MEQCIEk3mybMd6+Mj91cwnUn9sAi4BZ7jkt5jY/wShsKN5NqAiByk4JZfQr+3+/Q2fgTz273SFxxLUoQagK+HcEXD9AHkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185339},"main":"dist/widget.js","type":"module","exports":{".":"./dist/widget.js"},"gitHead":"3c0c12c9196c9fe68cab0829b73d6f2e8f1905c9","scripts":{"build":"vite build"},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"repository":{"url":"git+https://github.com/nearai/agents-market-sdk.git","type":"git","directory":"packages/market-embed"},"_npmVersion":"10.8.2","description":"Embeddable widget for the Agents Market","directories":{},"_nodeVersion":"20.20.2","dependencies":{"react":"^18.3.1","dompurify":"^3.3.3","react-dom":"^18.3.1","@agents-market/market-react":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","@vitejs/plugin-react":"^4.3.1"},"_npmOperationalInternal":{"tmp":"tmp/market-embed_0.1.8_1777915822826_0.7884486100688599","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@agents-market/market-embed","version":"0.1.9","type":"module","description":"Embeddable widget for the Agents Market","main":"dist/widget.js","exports":{".":"./dist/widget.js"},"scripts":{"build":"vite build"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/nearai/agents-market-sdk.git","directory":"packages/market-embed"},"keywords":["agents","market","near","ai","widget","embed"],"dependencies":{"@agents-market/market-react":"*","dompurify":"^3.3.3","react":"^18.3.1","react-dom":"^18.3.1"},"devDependencies":{"@vitejs/plugin-react":"^4.3.1","vite":"^5.4.0"},"_id":"@agents-market/market-embed@0.1.9","gitHead":"d6465adcae05abf617498990b366ba3f44da8e6f","bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"homepage":"https://github.com/nearai/agents-market-sdk#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Mbt5OyUwjWO7TzVofV/pUVFmOjg4qdEXCXK/ZLWu0zmjzZyA6MhTV0UBE17PLHPdo+y/KmEXOCjRakApeD2qJQ==","shasum":"6aec7b9f9f501567e3fc6aafc404617f4aa60cc4","tarball":"https://registry.npmjs.org/@agents-market/market-embed/-/market-embed-0.1.9.tgz","fileCount":3,"unpackedSize":185520,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQChUrSCVxy1zwrGHIzt1uW3cuPEsx/c5RsaoD6ZoDlV7QIgCXO2rw5IqgorkARx6sspRqtPPz+wUraysYk/07OvzpU="}]},"_npmUser":{"name":"kirikov","email":"kk@datrics.ai"},"directories":{},"maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/market-embed_0.1.9_1777921119761_0.8466883053359748"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T12:00:34.945Z","modified":"2026-05-04T18:58:40.005Z","0.1.0":"2026-04-15T12:00:35.198Z","0.1.1":"2026-04-15T15:34:49.313Z","0.1.3":"2026-04-23T14:52:42.097Z","0.1.4":"2026-04-30T12:55:46.835Z","0.1.5":"2026-04-30T13:34:27.906Z","0.1.6":"2026-05-01T10:51:49.733Z","0.1.7":"2026-05-01T17:19:55.669Z","0.1.8":"2026-05-04T17:30:22.971Z","0.1.9":"2026-05-04T18:58:39.894Z"},"bugs":{"url":"https://github.com/nearai/agents-market-sdk/issues"},"license":"MIT","homepage":"https://github.com/nearai/agents-market-sdk#readme","keywords":["agents","market","near","ai","widget","embed"],"repository":{"type":"git","url":"git+https://github.com/nearai/agents-market-sdk.git","directory":"packages/market-embed"},"description":"Embeddable widget for the Agents Market","maintainers":[{"name":"kirikov","email":"kk@datrics.ai"}],"readme":"# @agents-market/market-embed\n\nPre-built embeddable widget for the NEAR Agent Marketplace. Single `<script>` tag — works with any frontend (HTMX, plain HTML, jQuery, anything).\n\nBundles React internally. No framework dependency for the integrator.\n\n## How it works\n\n1. Your **backend** creates jobs using `MarketClient` (or the Express middleware)\n2. Your **HTML page** loads `widget.js` and calls `NearMarket.loadJob(jobId)` to display results and chat\n3. The widget handles SSE streaming, message display, follow-ups, and accept — all in one script\n\n## Setup\n\n### 1. Backend: mount the middleware\n\n```js\nimport express from 'express';\nimport { createMiddleware } from '@agents-market/market';\n\nconst app = express();\napp.use(express.json());\napp.use('/api/nearai', createMiddleware({\n  apiKey: process.env.NEAR_MARKET_API_KEY,\n}));\n```\n\nThe middleware auto-serves `widget.js` at `GET /api/nearai/widget.js`.\n\n### 2. Backend: create jobs server-side\n\n```js\nimport { MarketClient } from '@agents-market/market';\n\nconst client = new MarketClient({ apiKey: process.env.NEAR_MARKET_API_KEY });\n\napp.post('/admin/customers/:id/review', async (req, res) => {\n  const customer = await getCustomer(req.params.id);\n\n  const job = await client.jobs.createInstant({\n    serviceId: process.env.REVIEW_SERVICE_ID,\n    title: `Review: ${customer.name}`,\n    description: `Verify this business applicant: ${customer.name}, ${customer.email}`,\n    budget: { amount: '2.0', token: 'USDC' },\n  });\n\n  // Render page with jobId for the widget\n  res.send(`\n    <h1>Review: ${customer.name}</h1>\n    <div id=\"review-panel\" data-job-id=\"${job.job_id}\"></div>\n    <script src=\"/api/nearai/widget.js\"></script>\n    <script>\n      NearMarket.init({\n        el: '#review-panel',\n        apiBase: '/api/nearai',\n        title: 'AI Customer Intelligence',\n      });\n      NearMarket.loadJob('${job.job_id}');\n    </script>\n  `);\n});\n```\n\n### 3. Frontend: HTML\n\n```html\n<div id=\"review-panel\"></div>\n\n<script src=\"/api/nearai/widget.js\"></script>\n<script>\n  NearMarket.init({\n    el: '#review-panel',\n    apiBase: '/api/nearai',\n    title: 'AI Review',\n  });\n\n  // Load a job created by the backend\n  NearMarket.loadJob('job-uuid-from-server');\n</script>\n```\n\n## API\n\n### `NearMarket.init(config)`\n\nMount the widget into a DOM element.\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `el` | `string \\| Element` | required | CSS selector or DOM element |\n| `apiBase` | `string` | `\"/api/nearai\"` | Middleware URL |\n| `title` | `string` | `\"Agent Marketplace\"` | Panel header title |\n| `icon` | `string` | `\"🤖\"` | Panel header icon |\n| `placeholder` | `string` | `\"Send a message...\"` | Input placeholder |\n| `jobId` | `string` | — | Auto-load a job on init |\n| `renderResult` | `Function` | — | Custom result renderer |\n| `renderMessage` | `Function` | — | Custom message renderer |\n| `onClose` | `Function` | — | Close button handler |\n\n### `NearMarket.submit(opts)`\n\nCreate a new job from the frontend (optional — most integrations create jobs server-side).\n\n```js\nconst jobId = await NearMarket.submit({\n  title: 'Review applicant',\n  description: 'Verify this business...',\n  budget: { amount: '2.0', token: 'USDC' },\n  serviceId: 'uuid',\n});\n```\n\n### `NearMarket.loadJob(jobId)`\n\nLoad an existing job (created server-side) into the widget.\n\n```js\nNearMarket.loadJob('job-uuid');\n```\n\n### `NearMarket.destroy()`\n\nUnmount the widget and clean up.\n\n## With HTMX\n\n```html\n<!-- Trigger job creation server-side -->\n<button\n  hx-post=\"/admin/customers/123/review\"\n  hx-target=\"#review-container\"\n  hx-swap=\"innerHTML\"\n>\n  Run AI Review\n</button>\n\n<div id=\"review-container\">\n  <!-- Server responds with: -->\n  <!--\n    <div id=\"review-panel\"></div>\n    <script>\n      NearMarket.init({ el: '#review-panel', apiBase: '/api/nearai' });\n      NearMarket.loadJob('returned-job-id');\n    </script>\n  -->\n</div>\n\n<script src=\"/api/nearai/widget.js\"></script>\n```\n\n## Building from source\n\n```bash\nnpm run build:widget\n# Output: packages/market-embed/dist/widget.js (~153 KB, ~49 KB gzipped)\n```\n\nThe middleware serves this file automatically from `GET /widget.js`.\n","readmeFilename":"README.md"}