Quickstart
1) Install​
npm install @mappa-ai/conduit
2) Set API key​
export CONDUIT_API_KEY="your_api_key_here"
3) Create a report job​
quickstart.ts
import { Conduit } from "@mappa-ai/conduit";
const conduitClient = new Conduit({ apiKey: process.env.CONDUIT_API_KEY! });
const receipt = await conduitClient.reports.create({
source: { url: "https://example.com/sales-call.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
});
console.info(receipt.jobId, receipt.status);
4) Run​
node quickstart.ts
4) Handle completion​
const payload = await req.text()
await conduitClient.webhooks.verifySignature({
payload,
headers: Object.fromEntries(req.headers),
secret: process.env.CONDUIT_WEBHOOK_SECRET!,
})
const event = conduitClient.webhooks.parseEvent(payload)
if (event.type !== "report.completed") return new Response("ok")
const report = await conduitClient.reports.get(event.data.reportId)
console.info(report.id, report.markdown)
Local-dev fallback​
const receipt = await conduitClient.reports.create({
source: { path: "./sales-call.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
})
const report = await receipt.handle?.wait({ timeoutMs: 5 * 60_000 })
console.info(report?.id)