import {
isConduitError,
isInsufficientCreditsError,
isRateLimitError,
isRemoteFetchTimeoutError,
isStreamError,
} from "@mappa-ai/conduit"
try {
const receipt = await conduit.reports.create({
source: { url: "https://example.com/call.mp3" },
output: { template: "general_report" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
})
console.info(receipt.jobId)
} catch (err) {
if (isInsufficientCreditsError(err)) {
console.error(err.required, err.available)
throw err
}
if (isRateLimitError(err)) {
console.error(err.retryAfterMs)
throw err
}
if (isRemoteFetchTimeoutError(err)) {
console.error(err.url)
throw err
}
if (isStreamError(err)) {
console.error(err.jobId, err.retryCount)
throw err
}
if (isConduitError(err)) {
console.error(err.code, err.requestId, err.message)
throw err
}
throw err
}