[{"data":1,"prerenderedAt":10196},["ShallowReactive",2],{"docs-navigation":3,"content-query-QFb0E3LmL3":342},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,175,178,181,184,187,190,193,196,199,202,205,208,211,214,217,220,223,226,229,232,235,238,241,244,247,250,253,256,259,262,265,268,271,274,277,280,283,285,288,291,294,297,300,303,306,309,312,315,318,321,324,327,330,333,336,339],{"_path":5,"title":6},"/docs/account/account-management","Account management",{"_path":8,"title":9},"/docs/account/mfa","Multi-factor authentication (MFA)",{"_path":11,"title":12},"/docs/account/team","Teams and sub-accounts",{"_path":14,"title":15},"/docs/account/billing-and-subscriptions","Billing & subscriptions",{"_path":17,"title":18},"/docs/account/access-tokens","Webhook Relay access tokens: permissions and subscription scopes",{"_path":20,"title":21},"/docs/clawhub","Webhook Relay on ClawHub",{"_path":23,"title":24},"/docs/email","Receive emails as webhooks",{"_path":26,"title":27},"/docs/email/payload","Email webhook payload",{"_path":29,"title":30},"/docs/email/filtering-and-policy","Sender filtering & policy",{"_path":32,"title":33},"/docs/email/cli","Create & poll email addresses from the CLI",{"_path":35,"title":36},"/docs","Getting Started",{"_path":38,"title":39},"/docs/installation/cli","CLI",{"_path":41,"title":42},"/docs/installation/docker","Docker container",{"_path":44,"title":45},"/docs/installation/docker-compose","Docker Compose",{"_path":47,"title":48},"/docs/installation/kubernetes","Kubernetes",{"_path":50,"title":51},"/docs/installation/autostart-windows","Autostart (Windows)",{"_path":53,"title":54},"/docs/installation/autostart-linux","Autostart (Linux)",{"_path":56,"title":57},"/docs/installation/autostart-macos","Autostart (MacOS)",{"_path":59,"title":60},"/docs/installation/behind-proxy","HTTP proxy configuration",{"_path":62,"title":63},"/docs/mcp","MCP Server",{"_path":65,"title":66},"/docs/outbound","Outbound Gateway: send webhooks to your customers",{"_path":68,"title":69},"/docs/outbound/setup","Set up the Outbound Gateway",{"_path":71,"title":72},"/docs/outbound/receiving","Receive and verify outbound webhooks",{"_path":74,"title":75},"/docs/outbound/operating","Monitor, retry and recover deliveries",{"_path":77,"title":78},"/docs/outbound/migrate","Migrate to the Outbound Gateway",{"_path":80,"title":81},"/docs/outbound/migrate/svix","Migrate from Svix",{"_path":83,"title":84},"/docs/outbound/migrate/hookdeck-outpost","Migrate from Hookdeck Outpost",{"_path":86,"title":87},"/docs/outbound/migrate/convoy","Migrate from Convoy",{"_path":89,"title":90},"/docs/outbound/migrate/hook0","Migrate from Hook0",{"_path":92,"title":93},"/docs/outbound/migrate/diy","Migrate a homegrown webhook sender",{"_path":95,"title":96},"/docs/security","Security & Tech",{"_path":98,"title":99},"/docs/service-connections","Service Connections",{"_path":101,"title":102},"/docs/service-connections/ai-providers","AI provider connections",{"_path":104,"title":105},"/docs/service-connections/aws_s3","AWS S3",{"_path":107,"title":108},"/docs/service-connections/aws_sns","AWS SNS",{"_path":110,"title":111},"/docs/service-connections/aws_sqs","AWS SQS",{"_path":113,"title":114},"/docs/service-connections/azure","Azure",{"_path":116,"title":117},"/docs/service-connections/gcp_gcs","GCP Cloud Storage",{"_path":119,"title":120},"/docs/service-connections/gcp_pubsub","GCP Pub/Sub",{"_path":122,"title":123},"/docs/service-connections/secrets","Secrets",{"_path":125,"title":126},"/docs/skills","Agent Skills",{"_path":128,"title":129},"/docs/skills-cli","skills.sh — the Agent Skills CLI",{"_path":131,"title":132},"/docs/tunnels/demoing-your-website","Demoing your website",{"_path":134,"title":135},"/docs/tunnels/regions","Regions",{"_path":137,"title":138},"/docs/tutorials/cicd/jenkins-bitbucket","Jenkins and Bitbucket",{"_path":140,"title":141},"/docs/tutorials/cicd/jenkins-github","Jenkins and GitHub",{"_path":143,"title":144},"/docs/tutorials/cicd/jenkins-plugin","Jenkins Plugin",{"_path":146,"title":147},"/docs/tutorials/cicd/jenkins-plugin-multibranch","Jenkins Multibranch Pipelines",{"_path":149,"title":150},"/docs/tutorials/cicd/kubernetes-operator","Kubernetes Operator",{"_path":152,"title":153},"/docs/tutorials/cicd/terraform-atlantis","Terraform Atlantis",{"_path":155,"title":156},"/docs/tutorials/cicd/webhook-exec","Execute scripts on webhook",{"_path":158,"title":159},"/docs/tutorials/edge/home-assistant","Home Assistant",{"_path":161,"title":162},"/docs/tutorials/edge/javascript-app","JavaScript app",{"_path":164,"title":165},"/docs/tutorials/edge/node-red","Node-RED",{"_path":167,"title":168},"/docs/tutorials/email/airtable","Email to Airtable",{"_path":170,"title":171},"/docs/tutorials/email/api","Email to API",{"_path":173,"title":174},"/docs/tutorials/email/database","Email to Database",{"_path":176,"title":177},"/docs/tutorials/email/discord","Email to Discord",{"_path":179,"title":180},"/docs/tutorials/email/google-sheets","Email to Google Sheets",{"_path":182,"title":183},"/docs/tutorials/email/microsoft-teams","Email to Microsoft Teams",{"_path":185,"title":186},"/docs/tutorials/email/notion","Email to Notion",{"_path":188,"title":189},"/docs/tutorials/email/slack","Email to Slack",{"_path":191,"title":192},"/docs/tutorials","Tutorials",{"_path":194,"title":195},"/docs/tutorials/n8n/email-trigger","n8n Email Trigger (Inbound Email)",{"_path":197,"title":198},"/docs/tutorials/n8n/webhook-trigger","n8n Webhook Trigger (No Public IP)",{"_path":200,"title":201},"/docs/tutorials/n8n/whatsapp-cloud-api-webhook","n8n WhatsApp Cloud API Webhook Setup",{"_path":203,"title":204},"/docs/tutorials/outbound/send-webhooks-nodejs","Send webhooks to your customers from a Node.js / TypeScript app",{"_path":206,"title":207},"/docs/tutorials/outbound/send-webhooks-go","Send webhooks to your customers from a Go service",{"_path":209,"title":210},"/docs/tutorials/outbound/nextjs-saas-webhooks","Add webhooks to a Next.js SaaS app",{"_path":212,"title":213},"/docs/tutorials/transform/docker-to-slack","DockerHub webhook to Slack notification",{"_path":215,"title":216},"/docs/tutorials/transform/enrich-webhooks","Enrich webhooks from APIs",{"_path":218,"title":219},"/docs/tutorials/transform/stripe-to-plain","Sync Stripe subscriptions to Plain.com tenants",{"_path":221,"title":222},"/docs/tutorials/warehouse/bigquery","GCP BigQuery",{"_path":224,"title":225},"/docs/webhooks/alerts","Alerts",{"_path":227,"title":228},"/docs/webhooks/auth/username-password","Username and password",{"_path":230,"title":231},"/docs/webhooks/auth/hmac","HMAC",{"_path":233,"title":234},"/docs/webhooks/auth/jwt","JWT authentication",{"_path":236,"title":237},"/docs/webhooks/auth/http-method","Auth using request method",{"_path":239,"title":240},"/docs/webhooks/cors","CORS for webhooks",{"_path":242,"title":243},"/docs/webhooks/cron/using-cron-webhooks","Schedule recurring webhooks",{"_path":245,"title":246},"/docs/webhooks/custom-domains","Custom webhook domains",{"_path":248,"title":249},"/docs/webhooks/custom-subdomains","Custom webhook subdomains",{"_path":251,"title":252},"/docs/webhooks/custom-webhook-response","Custom response to webhooks",{"_path":254,"title":255},"/docs/webhooks/durable-webhooks","Durable webhooks: reliable delivery with automatic retries",{"_path":257,"title":258},"/docs/webhooks/functions/manipulating-json","JSON encoding",{"_path":260,"title":261},"/docs/webhooks/functions/make-http-request","Make HTTP request",{"_path":263,"title":264},"/docs/webhooks/functions/modify-request","Modify webhook headers, body, method and path",{"_path":266,"title":267},"/docs/webhooks/functions/multipart-form-data","Multipart form to JSON",{"_path":269,"title":270},"/docs/webhooks/functions/url-encoded-data","URL Encoded Form",{"_path":272,"title":273},"/docs/webhooks/functions/working-with-time","Working with time",{"_path":275,"title":276},"/docs/webhooks/functions/send-emails","Sending emails",{"_path":278,"title":279},"/docs/webhooks/functions/crypto-functions","Base64, encryption",{"_path":281,"title":282},"/docs/webhooks/functions/integrate-into-cicd","Integrating into CI/CD",{"_path":284,"title":222},"/docs/webhooks/functions/big-query",{"_path":286,"title":287},"/docs/webhooks/functions/accessing-metadata","Accessing metadata",{"_path":289,"title":290},"/docs/webhooks/functions/response-functions","Response (post-delivery) functions",{"_path":292,"title":293},"/docs/webhooks/functions/alerting","Alerting from functions",{"_path":295,"title":296},"/docs/webhooks/functions/helper-libraries","Helper libraries",{"_path":298,"title":299},"/docs/webhooks/functions/transform-webhook-payload","Transform a webhook payload",{"_path":301,"title":302},"/docs/webhooks/functions/filter-webhooks","Filter or drop webhooks before forwarding",{"_path":304,"title":305},"/docs/webhooks/functions/provider-helpers","Provider-aware function helpers",{"_path":307,"title":308},"/docs/webhooks/functions","Webhook transformations (functions): modify body, headers, method and path",{"_path":310,"title":311},"/docs/webhooks/internal/localhost","Receive webhooks on localhost with the relay CLI",{"_path":313,"title":314},"/docs/webhooks/large-webhooks","Large Webhooks",{"_path":316,"title":317},"/docs/webhooks/outbound-throttling","Outbound throttling: control webhook delivery speed",{"_path":319,"title":320},"/docs/webhooks/polling-webhooks","Polling webhooks with /v1/events",{"_path":322,"title":323},"/docs/webhooks/public/public-destination","Forward to public URL",{"_path":325,"title":326},"/docs/webhooks/public/multiple-destination-urls","Forward webhooks to multiple destinations",{"_path":328,"title":329},"/docs/webhooks/replay-on-agent-connect","Webhook replay on agent connect: recover missed webhooks",{"_path":331,"title":332},"/docs/webhooks/static-ip-address","Static IP Address",{"_path":334,"title":335},"/docs/webhooks/tls-ssl-errors","Fix TLS/SSL handshake errors: unsupported protocol, wrong version number, handshake failure",{"_path":337,"title":338},"/docs/webhooks/websocket-server","Connecting to websocket server",{"_path":340,"title":341},"/docs/webhooks/zero-retention-buckets","Zero Retention Buckets",{"_path":89,"_dir":343,"_draft":344,"_partial":344,"_locale":345,"title":90,"description":346,"intro":347,"layout":348,"tags":349,"faq":355,"body":371,"_type":10189,"_id":10190,"_source":10191,"_file":10192,"_stem":10193,"_extension":10194,"sitemap":10195},"migrate",false,"","Move outbound webhooks from Hook0 to the Webhook Relay Outbound Gateway: applications, labels, subscriptions and event types mapped to consumers, endpoints and event types, the signature change for receivers, a dual-publish cutover with rollback and a TypeScript import script.","Hook0 routes events to subscriptions by label. In the Outbound Gateway, the label that identifies your customer becomes the consumer ID, each subscription becomes an endpoint of that consumer, and receivers move from X-Hook0-Signature to Standard Webhooks.","doc",[350,351,352,353,354],"Outbound webhooks","Hook0 alternative","Hook0 migration","Webhook migration","Standard Webhooks",[356,359,362,365,368],{"q":357,"a":358},"How do Hook0 labels map to Webhook Relay consumers?","Hook0 delivers an event to the subscriptions whose labels match the event's labels, and most producers use one label, such as a tenant or customer ID, to route events to a customer. That label's value becomes the consumer ID in the Outbound Gateway, and each subscription carrying it becomes an endpoint of that consumer. You then publish with consumer set to the same value.",{"q":360,"a":361},"What do my customers change when I move from Hook0 to Webhook Relay?","Their signature check. Hook0 sends X-Hook0-Signature with a timestamp, an optional list of signed headers and a hex HMAC-SHA256. Webhook Relay sends the Standard Webhooks headers webhook-id, webhook-timestamp and webhook-signature, signed with a new whsec_ secret per endpoint. During the migration window their receiver should accept either one.",{"q":363,"a":364},"Can I import my Hook0 subscription secrets into Webhook Relay?","No. Webhook Relay imports existing secrets only in the Standard Webhooks format: 32 to 100 standard base64 characters, with or without the whsec_ prefix. Hook0 subscription secrets are UUIDs, and their hyphens are not base64, so they don't fit the format. Every migrated Hook0 subscription gets a new whsec_ secret, and since the signature scheme changes too, each customer updates their receiver once.",{"q":366,"a":367},"Can I send non-JSON payloads with the Outbound Gateway?","No. Outbound Gateway payloads are JSON values up to 256 KiB. Hook0 events that use text/plain or base64 binary payloads need to be wrapped in a JSON object, for example as a string field, and receivers need to read that field.",{"q":369,"a":370},"Do Hook0 subscriptions that use GET or PUT carry over?","Outbound Gateway deliveries are always HTTPS POST requests. Subscriptions that use another method need the receiver to accept POST before you switch them.",{"type":372,"children":373,"toc":10176},"root",[374,438,466,473,820,826,1085,1107,1113,1126,1413,1425,1598,1611,2254,2259,2719,2725,2886,2963,2969,3152,3183,3529,3541,3547,3731,3737,4130,4136,4163,10062,10067,10073,10132,10138,10170],{"type":375,"tag":376,"props":377,"children":378},"element","p",{},[379,386,388,395,397,403,405,411,413,419,421,428,430,436],{"type":375,"tag":380,"props":381,"children":382},"strong",{},[383],{"type":384,"value":385},"text","Moving from Hook0 turns label routing into explicit consumers.",{"type":384,"value":387}," The label you use to route events to a customer (for example ",{"type":375,"tag":389,"props":390,"children":392},"code",{"className":391},[],[393],{"type":384,"value":394},"tenant_id",{"type":384,"value":396},") becomes the consumer ID, each subscription becomes an endpoint, event types keep their dotted names, and ",{"type":375,"tag":389,"props":398,"children":400},{"className":399},[],[401],{"type":384,"value":402},"sendEvent",{"type":384,"value":404}," becomes ",{"type":375,"tag":389,"props":406,"children":408},{"className":407},[],[409],{"type":384,"value":410},"relay.outbound.messages.publish",{"type":384,"value":412},". Receivers move from ",{"type":375,"tag":389,"props":414,"children":416},{"className":415},[],[417],{"type":384,"value":418},"X-Hook0-Signature",{"type":384,"value":420}," to Standard Webhooks. Hook0's subscription secrets are UUIDs, which don't fit the ",{"type":375,"tag":422,"props":423,"children":425},"a",{"href":424},"/docs/outbound/migrate#import-existing-signing-secrets",[426],{"type":384,"value":427},"importable secret format",{"type":384,"value":429},", so each endpoint gets a new ",{"type":375,"tag":389,"props":431,"children":433},{"className":432},[],[434],{"type":384,"value":435},"whsec_",{"type":384,"value":437}," secret and each customer updates their receiver once.",{"type":375,"tag":376,"props":439,"children":440},{},[441,443,448,450,456,458,464],{"type":384,"value":442},"Read the ",{"type":375,"tag":422,"props":444,"children":445},{"href":77},[446],{"type":384,"value":447},"migration overview",{"type":384,"value":449}," first for the plan limits and the general cutover plan. For what the Outbound Gateway is and how it compares with Hook0 and other providers, see the ",{"type":375,"tag":422,"props":451,"children":453},{"href":452},"/outbound-webhooks/",[454],{"type":384,"value":455},"Outbound Gateway overview",{"type":384,"value":457}," and the ",{"type":375,"tag":422,"props":459,"children":461},{"href":460},"/blog/webhooks-as-a-service-comparison/",[462],{"type":384,"value":463},"webhooks-as-a-service comparison",{"type":384,"value":465},".",{"type":375,"tag":467,"props":468,"children":470},"h2",{"id":469},"concept-map",[471],{"type":384,"value":472},"Concept map",{"type":375,"tag":474,"props":475,"children":476},"table",{},[477,501],{"type":375,"tag":478,"props":479,"children":480},"thead",{},[481],{"type":375,"tag":482,"props":483,"children":484},"tr",{},[485,491,496],{"type":375,"tag":486,"props":487,"children":488},"th",{},[489],{"type":384,"value":490},"Hook0",{"type":375,"tag":486,"props":492,"children":493},{},[494],{"type":384,"value":495},"Outbound Gateway",{"type":375,"tag":486,"props":497,"children":498},{},[499],{"type":384,"value":500},"Notes",{"type":375,"tag":502,"props":503,"children":504},"tbody",{},[505,522,540,566,599,635,671,692,717,742,774,796],{"type":375,"tag":482,"props":506,"children":507},{},[508,514,519],{"type":375,"tag":509,"props":510,"children":511},"td",{},[512],{"type":384,"value":513},"Organization",{"type":375,"tag":509,"props":515,"children":516},{},[517],{"type":384,"value":518},"Webhook Relay account",{"type":375,"tag":509,"props":520,"children":521},{},[],{"type":375,"tag":482,"props":523,"children":524},{},[525,530,535],{"type":375,"tag":509,"props":526,"children":527},{},[528],{"type":384,"value":529},"Application",{"type":375,"tag":509,"props":531,"children":532},{},[533],{"type":384,"value":534},"Webhook Relay account (or one per environment)",{"type":375,"tag":509,"props":536,"children":537},{},[538],{"type":384,"value":539},"Migrate one application at a time.",{"type":375,"tag":482,"props":541,"children":542},{},[543,556,561],{"type":375,"tag":509,"props":544,"children":545},{},[546,548,554],{"type":384,"value":547},"Customer label (for example ",{"type":375,"tag":389,"props":549,"children":551},{"className":550},[],[552],{"type":384,"value":553},"labels.tenant_id",{"type":384,"value":555},")",{"type":375,"tag":509,"props":557,"children":558},{},[559],{"type":384,"value":560},"Consumer",{"type":375,"tag":509,"props":562,"children":563},{},[564],{"type":384,"value":565},"The label value becomes the consumer ID (up to 128 letters, numbers, dots, colons, underscores or hyphens).",{"type":375,"tag":482,"props":567,"children":568},{},[569,574,579],{"type":375,"tag":509,"props":570,"children":571},{},[572],{"type":384,"value":573},"Subscription",{"type":375,"tag":509,"props":575,"children":576},{},[577],{"type":384,"value":578},"Endpoint",{"type":375,"tag":509,"props":580,"children":581},{},[582,584,590,592,597],{"type":384,"value":583},"Public HTTPS URL, always ",{"type":375,"tag":389,"props":585,"children":587},{"className":586},[],[588],{"type":384,"value":589},"POST",{"type":384,"value":591},". Hook0's UUID secret doesn't fit the importable format, so the endpoint gets a new ",{"type":375,"tag":389,"props":593,"children":595},{"className":594},[],[596],{"type":384,"value":435},{"type":384,"value":598}," secret.",{"type":375,"tag":482,"props":600,"children":601},{},[602,613,623],{"type":375,"tag":509,"props":603,"children":604},{},[605,607],{"type":384,"value":606},"Subscription ",{"type":375,"tag":389,"props":608,"children":610},{"className":609},[],[611],{"type":384,"value":612},"event_types",{"type":375,"tag":509,"props":614,"children":615},{},[616,618],{"type":384,"value":617},"Endpoint ",{"type":375,"tag":389,"props":619,"children":621},{"className":620},[],[622],{"type":384,"value":612},{"type":375,"tag":509,"props":624,"children":625},{},[626,628,634],{"type":384,"value":627},"Up to 100 per endpoint, or ",{"type":375,"tag":389,"props":629,"children":631},{"className":630},[],[632],{"type":384,"value":633},"[\"*\"]",{"type":384,"value":465},{"type":375,"tag":482,"props":636,"children":637},{},[638,648,658],{"type":375,"tag":509,"props":639,"children":640},{},[641,642],{"type":384,"value":606},{"type":375,"tag":389,"props":643,"children":645},{"className":644},[],[646],{"type":384,"value":647},"target.headers",{"type":375,"tag":509,"props":649,"children":650},{},[651,652],{"type":384,"value":617},{"type":375,"tag":389,"props":653,"children":655},{"className":654},[],[656],{"type":384,"value":657},"headers",{"type":375,"tag":509,"props":659,"children":660},{},[661,663,669],{"type":384,"value":662},"Up to 32. ",{"type":375,"tag":389,"props":664,"children":666},{"className":665},[],[667],{"type":384,"value":668},"webhook-*",{"type":384,"value":670}," headers are reserved.",{"type":375,"tag":482,"props":672,"children":673},{},[674,684,689],{"type":375,"tag":509,"props":675,"children":676},{},[677,678],{"type":384,"value":606},{"type":375,"tag":389,"props":679,"children":681},{"className":680},[],[682],{"type":384,"value":683},"is_enabled: false",{"type":375,"tag":509,"props":685,"children":686},{},[687],{"type":384,"value":688},"Paused endpoint",{"type":375,"tag":509,"props":690,"children":691},{},[],{"type":375,"tag":482,"props":693,"children":694},{},[695,707,712],{"type":375,"tag":509,"props":696,"children":697},{},[698,700,706],{"type":384,"value":699},"Event type (",{"type":375,"tag":389,"props":701,"children":703},{"className":702},[],[704],{"type":384,"value":705},"service.resource.verb",{"type":384,"value":555},{"type":375,"tag":509,"props":708,"children":709},{},[710],{"type":384,"value":711},"Event type",{"type":375,"tag":509,"props":713,"children":714},{},[715],{"type":384,"value":716},"Same dotted name.",{"type":375,"tag":482,"props":718,"children":719},{},[720,732,737],{"type":375,"tag":509,"props":721,"children":722},{},[723,725,731],{"type":384,"value":724},"Event (",{"type":375,"tag":389,"props":726,"children":728},{"className":727},[],[729],{"type":384,"value":730},"POST /api/v1/event/",{"type":384,"value":555},{"type":375,"tag":509,"props":733,"children":734},{},[735],{"type":384,"value":736},"Message",{"type":375,"tag":509,"props":738,"children":739},{},[740],{"type":384,"value":741},"JSON payload up to 256 KiB.",{"type":375,"tag":482,"props":743,"children":744},{},[745,754,771],{"type":375,"tag":509,"props":746,"children":747},{},[748],{"type":375,"tag":389,"props":749,"children":751},{"className":750},[],[752],{"type":384,"value":753},"event_id",{"type":375,"tag":509,"props":755,"children":756},{},[757,762,763,769],{"type":375,"tag":389,"props":758,"children":760},{"className":759},[],[761],{"type":384,"value":753},{"type":384,"value":457},{"type":375,"tag":389,"props":764,"children":766},{"className":765},[],[767],{"type":384,"value":768},"Idempotency-Key",{"type":384,"value":770}," header",{"type":375,"tag":509,"props":772,"children":773},{},[],{"type":375,"tag":482,"props":775,"children":776},{},[777,782,791],{"type":375,"tag":509,"props":778,"children":779},{},[780],{"type":384,"value":781},"Extra labels used for filtering",{"type":375,"tag":509,"props":783,"children":784},{},[785],{"type":375,"tag":422,"props":786,"children":788},{"href":787},"/docs/outbound/operating#transform-or-drop-payloads-with-functions",[789],{"type":384,"value":790},"Function",{"type":375,"tag":509,"props":792,"children":793},{},[794],{"type":384,"value":795},"Labels other than the customer label have no equivalent. A Function can drop messages based on the payload.",{"type":375,"tag":482,"props":797,"children":798},{},[799,810,815],{"type":375,"tag":509,"props":800,"children":801},{},[802,808],{"type":375,"tag":389,"props":803,"children":805},{"className":804},[],[806],{"type":384,"value":807},"payload_content_type",{"type":384,"value":809}," other than JSON",{"type":375,"tag":509,"props":811,"children":812},{},[813],{"type":384,"value":814},"No equivalent",{"type":375,"tag":509,"props":816,"children":817},{},[818],{"type":384,"value":819},"Wrap the payload in a JSON object.",{"type":375,"tag":467,"props":821,"children":823},{"id":822},"api-map",[824],{"type":384,"value":825},"API map",{"type":375,"tag":474,"props":827,"children":828},{},[829,848],{"type":375,"tag":478,"props":830,"children":831},{},[832],{"type":375,"tag":482,"props":833,"children":834},{},[835,840,844],{"type":375,"tag":486,"props":836,"children":837},{},[838],{"type":384,"value":839},"Task",{"type":375,"tag":486,"props":841,"children":842},{},[843],{"type":384,"value":490},{"type":375,"tag":486,"props":845,"children":846},{},[847],{"type":384,"value":495},{"type":375,"tag":502,"props":849,"children":850},{},[851,885,911,937,963,988,1022,1063],{"type":375,"tag":482,"props":852,"children":853},{},[854,859,868],{"type":375,"tag":509,"props":855,"children":856},{},[857],{"type":384,"value":858},"Add an endpoint",{"type":375,"tag":509,"props":860,"children":861},{},[862],{"type":375,"tag":389,"props":863,"children":865},{"className":864},[],[866],{"type":384,"value":867},"POST /api/v1/subscriptions/",{"type":375,"tag":509,"props":869,"children":870},{},[871,877,879],{"type":375,"tag":389,"props":872,"children":874},{"className":873},[],[875],{"type":384,"value":876},"PUT /v1/outbound/consumers/{id}",{"type":384,"value":878},", then ",{"type":375,"tag":389,"props":880,"children":882},{"className":881},[],[883],{"type":384,"value":884},"POST /v1/outbound/consumers/{consumer}/endpoints",{"type":375,"tag":482,"props":886,"children":887},{},[888,893,902],{"type":375,"tag":509,"props":889,"children":890},{},[891],{"type":384,"value":892},"List endpoints",{"type":375,"tag":509,"props":894,"children":895},{},[896],{"type":375,"tag":389,"props":897,"children":899},{"className":898},[],[900],{"type":384,"value":901},"GET /api/v1/subscriptions/?application_id=…",{"type":375,"tag":509,"props":903,"children":904},{},[905],{"type":375,"tag":389,"props":906,"children":908},{"className":907},[],[909],{"type":384,"value":910},"GET /v1/outbound/consumers/{consumer}/endpoints",{"type":375,"tag":482,"props":912,"children":913},{},[914,919,928],{"type":375,"tag":509,"props":915,"children":916},{},[917],{"type":384,"value":918},"Add an event type",{"type":375,"tag":509,"props":920,"children":921},{},[922],{"type":375,"tag":389,"props":923,"children":925},{"className":924},[],[926],{"type":384,"value":927},"POST /api/v1/event_types/",{"type":375,"tag":509,"props":929,"children":930},{},[931],{"type":375,"tag":389,"props":932,"children":934},{"className":933},[],[935],{"type":384,"value":936},"POST /v1/outbound/event-types",{"type":375,"tag":482,"props":938,"children":939},{},[940,945,954],{"type":375,"tag":509,"props":941,"children":942},{},[943],{"type":384,"value":944},"List event types",{"type":375,"tag":509,"props":946,"children":947},{},[948],{"type":375,"tag":389,"props":949,"children":951},{"className":950},[],[952],{"type":384,"value":953},"GET /api/v1/event_types/?application_id=…",{"type":375,"tag":509,"props":955,"children":956},{},[957],{"type":375,"tag":389,"props":958,"children":960},{"className":959},[],[961],{"type":384,"value":962},"GET /v1/outbound/event-types",{"type":375,"tag":482,"props":964,"children":965},{},[966,971,979],{"type":375,"tag":509,"props":967,"children":968},{},[969],{"type":384,"value":970},"Publish",{"type":375,"tag":509,"props":972,"children":973},{},[974],{"type":375,"tag":389,"props":975,"children":977},{"className":976},[],[978],{"type":384,"value":730},{"type":375,"tag":509,"props":980,"children":981},{},[982],{"type":375,"tag":389,"props":983,"children":985},{"className":984},[],[986],{"type":384,"value":987},"POST /v1/outbound/messages",{"type":375,"tag":482,"props":989,"children":990},{},[991,996,1005],{"type":375,"tag":509,"props":992,"children":993},{},[994],{"type":384,"value":995},"Replay an event",{"type":375,"tag":509,"props":997,"children":998},{},[999],{"type":375,"tag":389,"props":1000,"children":1002},{"className":1001},[],[1003],{"type":384,"value":1004},"POST /api/v1/events/{event_id}/replay",{"type":375,"tag":509,"props":1006,"children":1007},{},[1008,1014,1016],{"type":375,"tag":389,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":384,"value":1013},"POST /v1/outbound/endpoints/{id}/retry",{"type":384,"value":1015}," with ",{"type":375,"tag":389,"props":1017,"children":1019},{"className":1018},[],[1020],{"type":384,"value":1021},"message_id",{"type":375,"tag":482,"props":1023,"children":1024},{},[1025,1030,1046],{"type":375,"tag":509,"props":1026,"children":1027},{},[1028],{"type":384,"value":1029},"Disable / enable",{"type":375,"tag":509,"props":1031,"children":1032},{},[1033,1039,1040],{"type":375,"tag":389,"props":1034,"children":1036},{"className":1035},[],[1037],{"type":384,"value":1038},"PUT /api/v1/subscriptions/{subscription_id}",{"type":384,"value":1015},{"type":375,"tag":389,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":384,"value":1045},"is_enabled",{"type":375,"tag":509,"props":1047,"children":1048},{},[1049,1055,1057],{"type":375,"tag":389,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":384,"value":1054},"POST /v1/outbound/endpoints/{id}/pause",{"type":384,"value":1056}," / ",{"type":375,"tag":389,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":384,"value":1062},".../resume",{"type":375,"tag":482,"props":1064,"children":1065},{},[1066,1071,1076],{"type":375,"tag":509,"props":1067,"children":1068},{},[1069],{"type":384,"value":1070},"Rotate a secret",{"type":375,"tag":509,"props":1072,"children":1073},{},[1074],{"type":384,"value":1075},"Not in the Hook0 API reference",{"type":375,"tag":509,"props":1077,"children":1078},{},[1079],{"type":375,"tag":389,"props":1080,"children":1082},{"className":1081},[],[1083],{"type":384,"value":1084},"POST /v1/outbound/endpoints/{id}/secret/rotate",{"type":375,"tag":376,"props":1086,"children":1087},{},[1088,1090,1098,1100,1106],{"type":384,"value":1089},"Hook0 routes are from the ",{"type":375,"tag":422,"props":1091,"children":1095},{"href":1092,"rel":1093},"https://app.hook0.com/api/v1/swagger.json",[1094],"nofollow",[1096],{"type":384,"value":1097},"Hook0 OpenAPI spec",{"type":384,"value":1099},". The hosted API base URL is ",{"type":375,"tag":389,"props":1101,"children":1103},{"className":1102},[],[1104],{"type":384,"value":1105},"https://app.hook0.com/api/v1",{"type":384,"value":465},{"type":375,"tag":1108,"props":1109,"children":1111},"h3",{"id":1110},"publish",[1112],{"type":384,"value":970},{"type":375,"tag":376,"props":1114,"children":1115},{},[1116,1118,1124],{"type":384,"value":1117},"Before, with ",{"type":375,"tag":389,"props":1119,"children":1121},{"className":1120},[],[1122],{"type":384,"value":1123},"hook0-client",{"type":384,"value":1125},":",{"type":375,"tag":1127,"props":1128,"children":1129},"code-block",{},[1130],{"type":375,"tag":1131,"props":1132,"children":1136},"pre",{"className":1133,"code":1134,"language":1135,"meta":345,"style":345},"language-ts shiki shiki-themes github-dark","import { Event, Hook0Client } from \"hook0-client\";\n\nconst hook0 = new Hook0Client(\"https://app.hook0.com/api/v1\", process.env.HOOK0_APPLICATION_ID!, process.env.HOOK0_TOKEN!);\n\nawait hook0.sendEvent(\n  new Event(\n    \"billing.invoice.paid\",\n    JSON.stringify({ invoice_id: \"inv_123\", amount: 4900 }),\n    \"application/json\",\n    { tenant_id: \"customer_42\" },\n  ),\n);\n","ts",[1137],{"type":375,"tag":389,"props":1138,"children":1139},{"__ignoreMap":345},[1140,1174,1184,1258,1266,1289,1307,1321,1364,1377,1396,1405],{"type":375,"tag":1141,"props":1142,"children":1145},"span",{"class":1143,"line":1144},"line",1,[1146,1152,1158,1163,1169],{"type":375,"tag":1141,"props":1147,"children":1149},{"style":1148},"--shiki-default:#F97583",[1150],{"type":384,"value":1151},"import",{"type":375,"tag":1141,"props":1153,"children":1155},{"style":1154},"--shiki-default:#E1E4E8",[1156],{"type":384,"value":1157}," { Event, Hook0Client } ",{"type":375,"tag":1141,"props":1159,"children":1160},{"style":1148},[1161],{"type":384,"value":1162},"from",{"type":375,"tag":1141,"props":1164,"children":1166},{"style":1165},"--shiki-default:#9ECBFF",[1167],{"type":384,"value":1168}," \"hook0-client\"",{"type":375,"tag":1141,"props":1170,"children":1171},{"style":1154},[1172],{"type":384,"value":1173},";\n",{"type":375,"tag":1141,"props":1175,"children":1177},{"class":1143,"line":1176},2,[1178],{"type":375,"tag":1141,"props":1179,"children":1181},{"emptyLinePlaceholder":1180},true,[1182],{"type":384,"value":1183},"\n",{"type":375,"tag":1141,"props":1185,"children":1187},{"class":1143,"line":1186},3,[1188,1193,1199,1204,1209,1215,1220,1225,1230,1235,1240,1244,1249,1253],{"type":375,"tag":1141,"props":1189,"children":1190},{"style":1148},[1191],{"type":384,"value":1192},"const",{"type":375,"tag":1141,"props":1194,"children":1196},{"style":1195},"--shiki-default:#79B8FF",[1197],{"type":384,"value":1198}," hook0",{"type":375,"tag":1141,"props":1200,"children":1201},{"style":1148},[1202],{"type":384,"value":1203}," =",{"type":375,"tag":1141,"props":1205,"children":1206},{"style":1148},[1207],{"type":384,"value":1208}," new",{"type":375,"tag":1141,"props":1210,"children":1212},{"style":1211},"--shiki-default:#B392F0",[1213],{"type":384,"value":1214}," Hook0Client",{"type":375,"tag":1141,"props":1216,"children":1217},{"style":1154},[1218],{"type":384,"value":1219},"(",{"type":375,"tag":1141,"props":1221,"children":1222},{"style":1165},[1223],{"type":384,"value":1224},"\"https://app.hook0.com/api/v1\"",{"type":375,"tag":1141,"props":1226,"children":1227},{"style":1154},[1228],{"type":384,"value":1229},", process.env.",{"type":375,"tag":1141,"props":1231,"children":1232},{"style":1195},[1233],{"type":384,"value":1234},"HOOK0_APPLICATION_ID",{"type":375,"tag":1141,"props":1236,"children":1237},{"style":1148},[1238],{"type":384,"value":1239},"!",{"type":375,"tag":1141,"props":1241,"children":1242},{"style":1154},[1243],{"type":384,"value":1229},{"type":375,"tag":1141,"props":1245,"children":1246},{"style":1195},[1247],{"type":384,"value":1248},"HOOK0_TOKEN",{"type":375,"tag":1141,"props":1250,"children":1251},{"style":1148},[1252],{"type":384,"value":1239},{"type":375,"tag":1141,"props":1254,"children":1255},{"style":1154},[1256],{"type":384,"value":1257},");\n",{"type":375,"tag":1141,"props":1259,"children":1261},{"class":1143,"line":1260},4,[1262],{"type":375,"tag":1141,"props":1263,"children":1264},{"emptyLinePlaceholder":1180},[1265],{"type":384,"value":1183},{"type":375,"tag":1141,"props":1267,"children":1269},{"class":1143,"line":1268},5,[1270,1275,1280,1284],{"type":375,"tag":1141,"props":1271,"children":1272},{"style":1148},[1273],{"type":384,"value":1274},"await",{"type":375,"tag":1141,"props":1276,"children":1277},{"style":1154},[1278],{"type":384,"value":1279}," hook0.",{"type":375,"tag":1141,"props":1281,"children":1282},{"style":1211},[1283],{"type":384,"value":402},{"type":375,"tag":1141,"props":1285,"children":1286},{"style":1154},[1287],{"type":384,"value":1288},"(\n",{"type":375,"tag":1141,"props":1290,"children":1292},{"class":1143,"line":1291},6,[1293,1298,1303],{"type":375,"tag":1141,"props":1294,"children":1295},{"style":1148},[1296],{"type":384,"value":1297},"  new",{"type":375,"tag":1141,"props":1299,"children":1300},{"style":1211},[1301],{"type":384,"value":1302}," Event",{"type":375,"tag":1141,"props":1304,"children":1305},{"style":1154},[1306],{"type":384,"value":1288},{"type":375,"tag":1141,"props":1308,"children":1310},{"class":1143,"line":1309},7,[1311,1316],{"type":375,"tag":1141,"props":1312,"children":1313},{"style":1165},[1314],{"type":384,"value":1315},"    \"billing.invoice.paid\"",{"type":375,"tag":1141,"props":1317,"children":1318},{"style":1154},[1319],{"type":384,"value":1320},",\n",{"type":375,"tag":1141,"props":1322,"children":1324},{"class":1143,"line":1323},8,[1325,1330,1334,1339,1344,1349,1354,1359],{"type":375,"tag":1141,"props":1326,"children":1327},{"style":1195},[1328],{"type":384,"value":1329},"    JSON",{"type":375,"tag":1141,"props":1331,"children":1332},{"style":1154},[1333],{"type":384,"value":465},{"type":375,"tag":1141,"props":1335,"children":1336},{"style":1211},[1337],{"type":384,"value":1338},"stringify",{"type":375,"tag":1141,"props":1340,"children":1341},{"style":1154},[1342],{"type":384,"value":1343},"({ invoice_id: ",{"type":375,"tag":1141,"props":1345,"children":1346},{"style":1165},[1347],{"type":384,"value":1348},"\"inv_123\"",{"type":375,"tag":1141,"props":1350,"children":1351},{"style":1154},[1352],{"type":384,"value":1353},", amount: ",{"type":375,"tag":1141,"props":1355,"children":1356},{"style":1195},[1357],{"type":384,"value":1358},"4900",{"type":375,"tag":1141,"props":1360,"children":1361},{"style":1154},[1362],{"type":384,"value":1363}," }),\n",{"type":375,"tag":1141,"props":1365,"children":1367},{"class":1143,"line":1366},9,[1368,1373],{"type":375,"tag":1141,"props":1369,"children":1370},{"style":1165},[1371],{"type":384,"value":1372},"    \"application/json\"",{"type":375,"tag":1141,"props":1374,"children":1375},{"style":1154},[1376],{"type":384,"value":1320},{"type":375,"tag":1141,"props":1378,"children":1380},{"class":1143,"line":1379},10,[1381,1386,1391],{"type":375,"tag":1141,"props":1382,"children":1383},{"style":1154},[1384],{"type":384,"value":1385},"    { tenant_id: ",{"type":375,"tag":1141,"props":1387,"children":1388},{"style":1165},[1389],{"type":384,"value":1390},"\"customer_42\"",{"type":375,"tag":1141,"props":1392,"children":1393},{"style":1154},[1394],{"type":384,"value":1395}," },\n",{"type":375,"tag":1141,"props":1397,"children":1399},{"class":1143,"line":1398},11,[1400],{"type":375,"tag":1141,"props":1401,"children":1402},{"style":1154},[1403],{"type":384,"value":1404},"  ),\n",{"type":375,"tag":1141,"props":1406,"children":1408},{"class":1143,"line":1407},12,[1409],{"type":375,"tag":1141,"props":1410,"children":1411},{"style":1154},[1412],{"type":384,"value":1257},{"type":375,"tag":376,"props":1414,"children":1415},{},[1416,1418,1424],{"type":384,"value":1417},"After, with ",{"type":375,"tag":389,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":384,"value":1423},"@webhookrelay/sdk",{"type":384,"value":1125},{"type":375,"tag":1127,"props":1426,"children":1427},{},[1428],{"type":375,"tag":1131,"props":1429,"children":1431},{"className":1133,"code":1430,"language":1135,"meta":345,"style":345},"import { WebhookRelay } from \"@webhookrelay/sdk\";\n\nconst relay = new WebhookRelay(); // reads RELAY_KEY and RELAY_SECRET\n\nawait relay.outbound.messages.publish(\n  { consumer: \"customer_42\", eventType: \"billing.invoice.paid\", payload: { invoice_id: \"inv_123\", amount: 4900 } },\n  { idempotencyKey: \"invoice-paid:inv_123\" },\n);\n",[1432],{"type":375,"tag":389,"props":1433,"children":1434},{"__ignoreMap":345},[1435,1460,1467,1503,1510,1530,1574,1591],{"type":375,"tag":1141,"props":1436,"children":1437},{"class":1143,"line":1144},[1438,1442,1447,1451,1456],{"type":375,"tag":1141,"props":1439,"children":1440},{"style":1148},[1441],{"type":384,"value":1151},{"type":375,"tag":1141,"props":1443,"children":1444},{"style":1154},[1445],{"type":384,"value":1446}," { WebhookRelay } ",{"type":375,"tag":1141,"props":1448,"children":1449},{"style":1148},[1450],{"type":384,"value":1162},{"type":375,"tag":1141,"props":1452,"children":1453},{"style":1165},[1454],{"type":384,"value":1455}," \"@webhookrelay/sdk\"",{"type":375,"tag":1141,"props":1457,"children":1458},{"style":1154},[1459],{"type":384,"value":1173},{"type":375,"tag":1141,"props":1461,"children":1462},{"class":1143,"line":1176},[1463],{"type":375,"tag":1141,"props":1464,"children":1465},{"emptyLinePlaceholder":1180},[1466],{"type":384,"value":1183},{"type":375,"tag":1141,"props":1468,"children":1469},{"class":1143,"line":1186},[1470,1474,1479,1483,1487,1492,1497],{"type":375,"tag":1141,"props":1471,"children":1472},{"style":1148},[1473],{"type":384,"value":1192},{"type":375,"tag":1141,"props":1475,"children":1476},{"style":1195},[1477],{"type":384,"value":1478}," relay",{"type":375,"tag":1141,"props":1480,"children":1481},{"style":1148},[1482],{"type":384,"value":1203},{"type":375,"tag":1141,"props":1484,"children":1485},{"style":1148},[1486],{"type":384,"value":1208},{"type":375,"tag":1141,"props":1488,"children":1489},{"style":1211},[1490],{"type":384,"value":1491}," WebhookRelay",{"type":375,"tag":1141,"props":1493,"children":1494},{"style":1154},[1495],{"type":384,"value":1496},"(); ",{"type":375,"tag":1141,"props":1498,"children":1500},{"style":1499},"--shiki-default:#6A737D",[1501],{"type":384,"value":1502},"// reads RELAY_KEY and RELAY_SECRET\n",{"type":375,"tag":1141,"props":1504,"children":1505},{"class":1143,"line":1260},[1506],{"type":375,"tag":1141,"props":1507,"children":1508},{"emptyLinePlaceholder":1180},[1509],{"type":384,"value":1183},{"type":375,"tag":1141,"props":1511,"children":1512},{"class":1143,"line":1268},[1513,1517,1522,1526],{"type":375,"tag":1141,"props":1514,"children":1515},{"style":1148},[1516],{"type":384,"value":1274},{"type":375,"tag":1141,"props":1518,"children":1519},{"style":1154},[1520],{"type":384,"value":1521}," relay.outbound.messages.",{"type":375,"tag":1141,"props":1523,"children":1524},{"style":1211},[1525],{"type":384,"value":1110},{"type":375,"tag":1141,"props":1527,"children":1528},{"style":1154},[1529],{"type":384,"value":1288},{"type":375,"tag":1141,"props":1531,"children":1532},{"class":1143,"line":1291},[1533,1538,1542,1547,1552,1557,1561,1565,1569],{"type":375,"tag":1141,"props":1534,"children":1535},{"style":1154},[1536],{"type":384,"value":1537},"  { consumer: ",{"type":375,"tag":1141,"props":1539,"children":1540},{"style":1165},[1541],{"type":384,"value":1390},{"type":375,"tag":1141,"props":1543,"children":1544},{"style":1154},[1545],{"type":384,"value":1546},", eventType: ",{"type":375,"tag":1141,"props":1548,"children":1549},{"style":1165},[1550],{"type":384,"value":1551},"\"billing.invoice.paid\"",{"type":375,"tag":1141,"props":1553,"children":1554},{"style":1154},[1555],{"type":384,"value":1556},", payload: { invoice_id: ",{"type":375,"tag":1141,"props":1558,"children":1559},{"style":1165},[1560],{"type":384,"value":1348},{"type":375,"tag":1141,"props":1562,"children":1563},{"style":1154},[1564],{"type":384,"value":1353},{"type":375,"tag":1141,"props":1566,"children":1567},{"style":1195},[1568],{"type":384,"value":1358},{"type":375,"tag":1141,"props":1570,"children":1571},{"style":1154},[1572],{"type":384,"value":1573}," } },\n",{"type":375,"tag":1141,"props":1575,"children":1576},{"class":1143,"line":1309},[1577,1582,1587],{"type":375,"tag":1141,"props":1578,"children":1579},{"style":1154},[1580],{"type":384,"value":1581},"  { idempotencyKey: ",{"type":375,"tag":1141,"props":1583,"children":1584},{"style":1165},[1585],{"type":384,"value":1586},"\"invoice-paid:inv_123\"",{"type":375,"tag":1141,"props":1588,"children":1589},{"style":1154},[1590],{"type":384,"value":1395},{"type":375,"tag":1141,"props":1592,"children":1593},{"class":1143,"line":1323},[1594],{"type":375,"tag":1141,"props":1595,"children":1596},{"style":1154},[1597],{"type":384,"value":1257},{"type":375,"tag":376,"props":1599,"children":1600},{},[1601,1603,1609],{"type":384,"value":1602},"Go, before (a direct API call) and after (",{"type":375,"tag":389,"props":1604,"children":1606},{"className":1605},[],[1607],{"type":384,"value":1608},"github.com/webhookrelay/webhookrelay-go",{"type":384,"value":1610},"):",{"type":375,"tag":1127,"props":1612,"children":1613},{},[1614],{"type":375,"tag":1131,"props":1615,"children":1619},{"className":1616,"code":1617,"language":1618,"meta":345,"style":345},"language-go shiki shiki-themes github-dark","// Before\nbody, _ := json.Marshal(map[string]any{\n    \"application_id\":       os.Getenv(\"HOOK0_APPLICATION_ID\"),\n    \"event_type\":           \"billing.invoice.paid\",\n    \"labels\":               map[string]string{\"tenant_id\": \"customer_42\"},\n    \"occurred_at\":          time.Now().UTC().Format(time.RFC3339),\n    \"payload\":              `{\"invoice_id\":\"inv_123\",\"amount\":4900}`,\n    \"payload_content_type\": \"application/json\",\n})\nreq, _ := http.NewRequest(http.MethodPost, \"https://app.hook0.com/api/v1/event/\", bytes.NewReader(body))\nreq.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"HOOK0_TOKEN\"))\nreq.Header.Set(\"Content-Type\", \"application/json\")\n_, err := http.DefaultClient.Do(req)\n\n// After\n_, err = api.PublishOutboundMessage(&webhookrelay.OutboundMessagePublishOptions{\n    Consumer:       \"customer_42\",\n    EventType:      \"billing.invoice.paid\",\n    Payload:        map[string]interface{}{\"invoice_id\": \"inv_123\", \"amount\": 4900},\n    IdempotencyKey: \"invoice-paid:inv_123\",\n})\n","go",[1620],{"type":375,"tag":389,"props":1621,"children":1622},{"__ignoreMap":345},[1623,1631,1688,1720,1741,1798,1840,1862,1883,1891,1938,1998,2031,2059,2067,2076,2126,2143,2160,2229,2246],{"type":375,"tag":1141,"props":1624,"children":1625},{"class":1143,"line":1144},[1626],{"type":375,"tag":1141,"props":1627,"children":1628},{"style":1499},[1629],{"type":384,"value":1630},"// Before\n",{"type":375,"tag":1141,"props":1632,"children":1633},{"class":1143,"line":1176},[1634,1639,1644,1649,1654,1658,1663,1668,1673,1678,1683],{"type":375,"tag":1141,"props":1635,"children":1636},{"style":1154},[1637],{"type":384,"value":1638},"body, _ ",{"type":375,"tag":1141,"props":1640,"children":1641},{"style":1148},[1642],{"type":384,"value":1643},":=",{"type":375,"tag":1141,"props":1645,"children":1646},{"style":1154},[1647],{"type":384,"value":1648}," json.",{"type":375,"tag":1141,"props":1650,"children":1651},{"style":1211},[1652],{"type":384,"value":1653},"Marshal",{"type":375,"tag":1141,"props":1655,"children":1656},{"style":1154},[1657],{"type":384,"value":1219},{"type":375,"tag":1141,"props":1659,"children":1660},{"style":1148},[1661],{"type":384,"value":1662},"map",{"type":375,"tag":1141,"props":1664,"children":1665},{"style":1154},[1666],{"type":384,"value":1667},"[",{"type":375,"tag":1141,"props":1669,"children":1670},{"style":1148},[1671],{"type":384,"value":1672},"string",{"type":375,"tag":1141,"props":1674,"children":1675},{"style":1154},[1676],{"type":384,"value":1677},"]",{"type":375,"tag":1141,"props":1679,"children":1680},{"style":1211},[1681],{"type":384,"value":1682},"any",{"type":375,"tag":1141,"props":1684,"children":1685},{"style":1154},[1686],{"type":384,"value":1687},"{\n",{"type":375,"tag":1141,"props":1689,"children":1690},{"class":1143,"line":1186},[1691,1696,1701,1706,1710,1715],{"type":375,"tag":1141,"props":1692,"children":1693},{"style":1165},[1694],{"type":384,"value":1695},"    \"application_id\"",{"type":375,"tag":1141,"props":1697,"children":1698},{"style":1154},[1699],{"type":384,"value":1700},":       os.",{"type":375,"tag":1141,"props":1702,"children":1703},{"style":1211},[1704],{"type":384,"value":1705},"Getenv",{"type":375,"tag":1141,"props":1707,"children":1708},{"style":1154},[1709],{"type":384,"value":1219},{"type":375,"tag":1141,"props":1711,"children":1712},{"style":1165},[1713],{"type":384,"value":1714},"\"HOOK0_APPLICATION_ID\"",{"type":375,"tag":1141,"props":1716,"children":1717},{"style":1154},[1718],{"type":384,"value":1719},"),\n",{"type":375,"tag":1141,"props":1721,"children":1722},{"class":1143,"line":1260},[1723,1728,1733,1737],{"type":375,"tag":1141,"props":1724,"children":1725},{"style":1165},[1726],{"type":384,"value":1727},"    \"event_type\"",{"type":375,"tag":1141,"props":1729,"children":1730},{"style":1154},[1731],{"type":384,"value":1732},":           ",{"type":375,"tag":1141,"props":1734,"children":1735},{"style":1165},[1736],{"type":384,"value":1551},{"type":375,"tag":1141,"props":1738,"children":1739},{"style":1154},[1740],{"type":384,"value":1320},{"type":375,"tag":1141,"props":1742,"children":1743},{"class":1143,"line":1268},[1744,1749,1754,1758,1762,1766,1770,1774,1779,1784,1789,1793],{"type":375,"tag":1141,"props":1745,"children":1746},{"style":1165},[1747],{"type":384,"value":1748},"    \"labels\"",{"type":375,"tag":1141,"props":1750,"children":1751},{"style":1154},[1752],{"type":384,"value":1753},":               ",{"type":375,"tag":1141,"props":1755,"children":1756},{"style":1148},[1757],{"type":384,"value":1662},{"type":375,"tag":1141,"props":1759,"children":1760},{"style":1154},[1761],{"type":384,"value":1667},{"type":375,"tag":1141,"props":1763,"children":1764},{"style":1148},[1765],{"type":384,"value":1672},{"type":375,"tag":1141,"props":1767,"children":1768},{"style":1154},[1769],{"type":384,"value":1677},{"type":375,"tag":1141,"props":1771,"children":1772},{"style":1148},[1773],{"type":384,"value":1672},{"type":375,"tag":1141,"props":1775,"children":1776},{"style":1154},[1777],{"type":384,"value":1778},"{",{"type":375,"tag":1141,"props":1780,"children":1781},{"style":1165},[1782],{"type":384,"value":1783},"\"tenant_id\"",{"type":375,"tag":1141,"props":1785,"children":1786},{"style":1154},[1787],{"type":384,"value":1788},": ",{"type":375,"tag":1141,"props":1790,"children":1791},{"style":1165},[1792],{"type":384,"value":1390},{"type":375,"tag":1141,"props":1794,"children":1795},{"style":1154},[1796],{"type":384,"value":1797},"},\n",{"type":375,"tag":1141,"props":1799,"children":1800},{"class":1143,"line":1291},[1801,1806,1811,1816,1821,1826,1830,1835],{"type":375,"tag":1141,"props":1802,"children":1803},{"style":1165},[1804],{"type":384,"value":1805},"    \"occurred_at\"",{"type":375,"tag":1141,"props":1807,"children":1808},{"style":1154},[1809],{"type":384,"value":1810},":          time.",{"type":375,"tag":1141,"props":1812,"children":1813},{"style":1211},[1814],{"type":384,"value":1815},"Now",{"type":375,"tag":1141,"props":1817,"children":1818},{"style":1154},[1819],{"type":384,"value":1820},"().",{"type":375,"tag":1141,"props":1822,"children":1823},{"style":1211},[1824],{"type":384,"value":1825},"UTC",{"type":375,"tag":1141,"props":1827,"children":1828},{"style":1154},[1829],{"type":384,"value":1820},{"type":375,"tag":1141,"props":1831,"children":1832},{"style":1211},[1833],{"type":384,"value":1834},"Format",{"type":375,"tag":1141,"props":1836,"children":1837},{"style":1154},[1838],{"type":384,"value":1839},"(time.RFC3339),\n",{"type":375,"tag":1141,"props":1841,"children":1842},{"class":1143,"line":1309},[1843,1848,1853,1858],{"type":375,"tag":1141,"props":1844,"children":1845},{"style":1165},[1846],{"type":384,"value":1847},"    \"payload\"",{"type":375,"tag":1141,"props":1849,"children":1850},{"style":1154},[1851],{"type":384,"value":1852},":              ",{"type":375,"tag":1141,"props":1854,"children":1855},{"style":1165},[1856],{"type":384,"value":1857},"`{\"invoice_id\":\"inv_123\",\"amount\":4900}`",{"type":375,"tag":1141,"props":1859,"children":1860},{"style":1154},[1861],{"type":384,"value":1320},{"type":375,"tag":1141,"props":1863,"children":1864},{"class":1143,"line":1323},[1865,1870,1874,1879],{"type":375,"tag":1141,"props":1866,"children":1867},{"style":1165},[1868],{"type":384,"value":1869},"    \"payload_content_type\"",{"type":375,"tag":1141,"props":1871,"children":1872},{"style":1154},[1873],{"type":384,"value":1788},{"type":375,"tag":1141,"props":1875,"children":1876},{"style":1165},[1877],{"type":384,"value":1878},"\"application/json\"",{"type":375,"tag":1141,"props":1880,"children":1881},{"style":1154},[1882],{"type":384,"value":1320},{"type":375,"tag":1141,"props":1884,"children":1885},{"class":1143,"line":1366},[1886],{"type":375,"tag":1141,"props":1887,"children":1888},{"style":1154},[1889],{"type":384,"value":1890},"})\n",{"type":375,"tag":1141,"props":1892,"children":1893},{"class":1143,"line":1379},[1894,1899,1903,1908,1913,1918,1923,1928,1933],{"type":375,"tag":1141,"props":1895,"children":1896},{"style":1154},[1897],{"type":384,"value":1898},"req, _ ",{"type":375,"tag":1141,"props":1900,"children":1901},{"style":1148},[1902],{"type":384,"value":1643},{"type":375,"tag":1141,"props":1904,"children":1905},{"style":1154},[1906],{"type":384,"value":1907}," http.",{"type":375,"tag":1141,"props":1909,"children":1910},{"style":1211},[1911],{"type":384,"value":1912},"NewRequest",{"type":375,"tag":1141,"props":1914,"children":1915},{"style":1154},[1916],{"type":384,"value":1917},"(http.MethodPost, ",{"type":375,"tag":1141,"props":1919,"children":1920},{"style":1165},[1921],{"type":384,"value":1922},"\"https://app.hook0.com/api/v1/event/\"",{"type":375,"tag":1141,"props":1924,"children":1925},{"style":1154},[1926],{"type":384,"value":1927},", bytes.",{"type":375,"tag":1141,"props":1929,"children":1930},{"style":1211},[1931],{"type":384,"value":1932},"NewReader",{"type":375,"tag":1141,"props":1934,"children":1935},{"style":1154},[1936],{"type":384,"value":1937},"(body))\n",{"type":375,"tag":1141,"props":1939,"children":1940},{"class":1143,"line":1398},[1941,1946,1951,1955,1960,1965,1970,1975,1980,1984,1988,1993],{"type":375,"tag":1141,"props":1942,"children":1943},{"style":1154},[1944],{"type":384,"value":1945},"req.Header.",{"type":375,"tag":1141,"props":1947,"children":1948},{"style":1211},[1949],{"type":384,"value":1950},"Set",{"type":375,"tag":1141,"props":1952,"children":1953},{"style":1154},[1954],{"type":384,"value":1219},{"type":375,"tag":1141,"props":1956,"children":1957},{"style":1165},[1958],{"type":384,"value":1959},"\"Authorization\"",{"type":375,"tag":1141,"props":1961,"children":1962},{"style":1154},[1963],{"type":384,"value":1964},", ",{"type":375,"tag":1141,"props":1966,"children":1967},{"style":1165},[1968],{"type":384,"value":1969},"\"Bearer \"",{"type":375,"tag":1141,"props":1971,"children":1972},{"style":1148},[1973],{"type":384,"value":1974},"+",{"type":375,"tag":1141,"props":1976,"children":1977},{"style":1154},[1978],{"type":384,"value":1979},"os.",{"type":375,"tag":1141,"props":1981,"children":1982},{"style":1211},[1983],{"type":384,"value":1705},{"type":375,"tag":1141,"props":1985,"children":1986},{"style":1154},[1987],{"type":384,"value":1219},{"type":375,"tag":1141,"props":1989,"children":1990},{"style":1165},[1991],{"type":384,"value":1992},"\"HOOK0_TOKEN\"",{"type":375,"tag":1141,"props":1994,"children":1995},{"style":1154},[1996],{"type":384,"value":1997},"))\n",{"type":375,"tag":1141,"props":1999,"children":2000},{"class":1143,"line":1407},[2001,2005,2009,2013,2018,2022,2026],{"type":375,"tag":1141,"props":2002,"children":2003},{"style":1154},[2004],{"type":384,"value":1945},{"type":375,"tag":1141,"props":2006,"children":2007},{"style":1211},[2008],{"type":384,"value":1950},{"type":375,"tag":1141,"props":2010,"children":2011},{"style":1154},[2012],{"type":384,"value":1219},{"type":375,"tag":1141,"props":2014,"children":2015},{"style":1165},[2016],{"type":384,"value":2017},"\"Content-Type\"",{"type":375,"tag":1141,"props":2019,"children":2020},{"style":1154},[2021],{"type":384,"value":1964},{"type":375,"tag":1141,"props":2023,"children":2024},{"style":1165},[2025],{"type":384,"value":1878},{"type":375,"tag":1141,"props":2027,"children":2028},{"style":1154},[2029],{"type":384,"value":2030},")\n",{"type":375,"tag":1141,"props":2032,"children":2034},{"class":1143,"line":2033},13,[2035,2040,2044,2049,2054],{"type":375,"tag":1141,"props":2036,"children":2037},{"style":1154},[2038],{"type":384,"value":2039},"_, err ",{"type":375,"tag":1141,"props":2041,"children":2042},{"style":1148},[2043],{"type":384,"value":1643},{"type":375,"tag":1141,"props":2045,"children":2046},{"style":1154},[2047],{"type":384,"value":2048}," http.DefaultClient.",{"type":375,"tag":1141,"props":2050,"children":2051},{"style":1211},[2052],{"type":384,"value":2053},"Do",{"type":375,"tag":1141,"props":2055,"children":2056},{"style":1154},[2057],{"type":384,"value":2058},"(req)\n",{"type":375,"tag":1141,"props":2060,"children":2062},{"class":1143,"line":2061},14,[2063],{"type":375,"tag":1141,"props":2064,"children":2065},{"emptyLinePlaceholder":1180},[2066],{"type":384,"value":1183},{"type":375,"tag":1141,"props":2068,"children":2070},{"class":1143,"line":2069},15,[2071],{"type":375,"tag":1141,"props":2072,"children":2073},{"style":1499},[2074],{"type":384,"value":2075},"// After\n",{"type":375,"tag":1141,"props":2077,"children":2079},{"class":1143,"line":2078},16,[2080,2084,2089,2094,2099,2103,2108,2113,2117,2122],{"type":375,"tag":1141,"props":2081,"children":2082},{"style":1154},[2083],{"type":384,"value":2039},{"type":375,"tag":1141,"props":2085,"children":2086},{"style":1148},[2087],{"type":384,"value":2088},"=",{"type":375,"tag":1141,"props":2090,"children":2091},{"style":1154},[2092],{"type":384,"value":2093}," api.",{"type":375,"tag":1141,"props":2095,"children":2096},{"style":1211},[2097],{"type":384,"value":2098},"PublishOutboundMessage",{"type":375,"tag":1141,"props":2100,"children":2101},{"style":1154},[2102],{"type":384,"value":1219},{"type":375,"tag":1141,"props":2104,"children":2105},{"style":1148},[2106],{"type":384,"value":2107},"&",{"type":375,"tag":1141,"props":2109,"children":2110},{"style":1211},[2111],{"type":384,"value":2112},"webhookrelay",{"type":375,"tag":1141,"props":2114,"children":2115},{"style":1154},[2116],{"type":384,"value":465},{"type":375,"tag":1141,"props":2118,"children":2119},{"style":1211},[2120],{"type":384,"value":2121},"OutboundMessagePublishOptions",{"type":375,"tag":1141,"props":2123,"children":2124},{"style":1154},[2125],{"type":384,"value":1687},{"type":375,"tag":1141,"props":2127,"children":2129},{"class":1143,"line":2128},17,[2130,2135,2139],{"type":375,"tag":1141,"props":2131,"children":2132},{"style":1154},[2133],{"type":384,"value":2134},"    Consumer:       ",{"type":375,"tag":1141,"props":2136,"children":2137},{"style":1165},[2138],{"type":384,"value":1390},{"type":375,"tag":1141,"props":2140,"children":2141},{"style":1154},[2142],{"type":384,"value":1320},{"type":375,"tag":1141,"props":2144,"children":2146},{"class":1143,"line":2145},18,[2147,2152,2156],{"type":375,"tag":1141,"props":2148,"children":2149},{"style":1154},[2150],{"type":384,"value":2151},"    EventType:      ",{"type":375,"tag":1141,"props":2153,"children":2154},{"style":1165},[2155],{"type":384,"value":1551},{"type":375,"tag":1141,"props":2157,"children":2158},{"style":1154},[2159],{"type":384,"value":1320},{"type":375,"tag":1141,"props":2161,"children":2163},{"class":1143,"line":2162},19,[2164,2169,2173,2177,2181,2185,2190,2195,2200,2204,2208,2212,2217,2221,2225],{"type":375,"tag":1141,"props":2165,"children":2166},{"style":1154},[2167],{"type":384,"value":2168},"    Payload:        ",{"type":375,"tag":1141,"props":2170,"children":2171},{"style":1148},[2172],{"type":384,"value":1662},{"type":375,"tag":1141,"props":2174,"children":2175},{"style":1154},[2176],{"type":384,"value":1667},{"type":375,"tag":1141,"props":2178,"children":2179},{"style":1148},[2180],{"type":384,"value":1672},{"type":375,"tag":1141,"props":2182,"children":2183},{"style":1154},[2184],{"type":384,"value":1677},{"type":375,"tag":1141,"props":2186,"children":2187},{"style":1148},[2188],{"type":384,"value":2189},"interface",{"type":375,"tag":1141,"props":2191,"children":2192},{"style":1154},[2193],{"type":384,"value":2194},"{}{",{"type":375,"tag":1141,"props":2196,"children":2197},{"style":1165},[2198],{"type":384,"value":2199},"\"invoice_id\"",{"type":375,"tag":1141,"props":2201,"children":2202},{"style":1154},[2203],{"type":384,"value":1788},{"type":375,"tag":1141,"props":2205,"children":2206},{"style":1165},[2207],{"type":384,"value":1348},{"type":375,"tag":1141,"props":2209,"children":2210},{"style":1154},[2211],{"type":384,"value":1964},{"type":375,"tag":1141,"props":2213,"children":2214},{"style":1165},[2215],{"type":384,"value":2216},"\"amount\"",{"type":375,"tag":1141,"props":2218,"children":2219},{"style":1154},[2220],{"type":384,"value":1788},{"type":375,"tag":1141,"props":2222,"children":2223},{"style":1195},[2224],{"type":384,"value":1358},{"type":375,"tag":1141,"props":2226,"children":2227},{"style":1154},[2228],{"type":384,"value":1797},{"type":375,"tag":1141,"props":2230,"children":2232},{"class":1143,"line":2231},20,[2233,2238,2242],{"type":375,"tag":1141,"props":2234,"children":2235},{"style":1154},[2236],{"type":384,"value":2237},"    IdempotencyKey: ",{"type":375,"tag":1141,"props":2239,"children":2240},{"style":1165},[2241],{"type":384,"value":1586},{"type":375,"tag":1141,"props":2243,"children":2244},{"style":1154},[2245],{"type":384,"value":1320},{"type":375,"tag":1141,"props":2247,"children":2249},{"class":1143,"line":2248},21,[2250],{"type":375,"tag":1141,"props":2251,"children":2252},{"style":1154},[2253],{"type":384,"value":1890},{"type":375,"tag":376,"props":2255,"children":2256},{},[2257],{"type":384,"value":2258},"curl:",{"type":375,"tag":1127,"props":2260,"children":2261},{},[2262],{"type":375,"tag":1131,"props":2263,"children":2267},{"className":2264,"code":2265,"language":2266,"meta":345,"style":345},"language-bash shiki shiki-themes github-dark","# Before\ncurl -X POST https://app.hook0.com/api/v1/event/ \\\n  -H \"Authorization: Bearer $HOOK0_TOKEN\" -H 'Content-Type: application/json' \\\n  -d \"{\\\"application_id\\\":\\\"$HOOK0_APPLICATION_ID\\\",\\\"event_type\\\":\\\"billing.invoice.paid\\\",\\\"labels\\\":{\\\"tenant_id\\\":\\\"customer_42\\\"},\\\"occurred_at\\\":\\\"2026-10-11T09:00:00Z\\\",\\\"payload\\\":\\\"{\\\\\\\"invoice_id\\\\\\\":\\\\\\\"inv_123\\\\\\\"}\\\",\\\"payload_content_type\\\":\\\"application/json\\\"}\"\n\n# After\ncurl --user \"$RELAY_KEY:$RELAY_SECRET\" -X POST https://my.webhookrelay.com/v1/outbound/messages \\\n  -H 'Content-Type: application/json' -H 'Idempotency-Key: invoice-paid:inv_123' \\\n  -d '{\"consumer\":\"customer_42\",\"event_type\":\"billing.invoice.paid\",\"payload\":{\"invoice_id\":\"inv_123\",\"amount\":4900}}'\n","bash",[2268],{"type":375,"tag":389,"props":2269,"children":2270},{"__ignoreMap":345},[2271,2279,2307,2344,2616,2623,2631,2683,2707],{"type":375,"tag":1141,"props":2272,"children":2273},{"class":1143,"line":1144},[2274],{"type":375,"tag":1141,"props":2275,"children":2276},{"style":1499},[2277],{"type":384,"value":2278},"# Before\n",{"type":375,"tag":1141,"props":2280,"children":2281},{"class":1143,"line":1176},[2282,2287,2292,2297,2302],{"type":375,"tag":1141,"props":2283,"children":2284},{"style":1211},[2285],{"type":384,"value":2286},"curl",{"type":375,"tag":1141,"props":2288,"children":2289},{"style":1195},[2290],{"type":384,"value":2291}," -X",{"type":375,"tag":1141,"props":2293,"children":2294},{"style":1165},[2295],{"type":384,"value":2296}," POST",{"type":375,"tag":1141,"props":2298,"children":2299},{"style":1165},[2300],{"type":384,"value":2301}," https://app.hook0.com/api/v1/event/",{"type":375,"tag":1141,"props":2303,"children":2304},{"style":1195},[2305],{"type":384,"value":2306}," \\\n",{"type":375,"tag":1141,"props":2308,"children":2309},{"class":1143,"line":1186},[2310,2315,2320,2325,2330,2335,2340],{"type":375,"tag":1141,"props":2311,"children":2312},{"style":1195},[2313],{"type":384,"value":2314},"  -H",{"type":375,"tag":1141,"props":2316,"children":2317},{"style":1165},[2318],{"type":384,"value":2319}," \"Authorization: Bearer ",{"type":375,"tag":1141,"props":2321,"children":2322},{"style":1154},[2323],{"type":384,"value":2324},"$HOOK0_TOKEN",{"type":375,"tag":1141,"props":2326,"children":2327},{"style":1165},[2328],{"type":384,"value":2329},"\"",{"type":375,"tag":1141,"props":2331,"children":2332},{"style":1195},[2333],{"type":384,"value":2334}," -H",{"type":375,"tag":1141,"props":2336,"children":2337},{"style":1165},[2338],{"type":384,"value":2339}," 'Content-Type: application/json'",{"type":375,"tag":1141,"props":2341,"children":2342},{"style":1195},[2343],{"type":384,"value":2306},{"type":375,"tag":1141,"props":2345,"children":2346},{"class":1143,"line":1260},[2347,2352,2357,2362,2367,2371,2375,2379,2384,2388,2393,2397,2402,2406,2410,2414,2419,2423,2427,2431,2436,2440,2445,2449,2453,2457,2461,2465,2470,2474,2479,2483,2488,2492,2496,2500,2505,2509,2513,2517,2522,2526,2530,2534,2538,2543,2548,2552,2556,2560,2565,2569,2574,2578,2582,2586,2590,2594,2598,2602,2607,2611],{"type":375,"tag":1141,"props":2348,"children":2349},{"style":1195},[2350],{"type":384,"value":2351},"  -d",{"type":375,"tag":1141,"props":2353,"children":2354},{"style":1165},[2355],{"type":384,"value":2356}," \"{",{"type":375,"tag":1141,"props":2358,"children":2359},{"style":1195},[2360],{"type":384,"value":2361},"\\\"",{"type":375,"tag":1141,"props":2363,"children":2364},{"style":1165},[2365],{"type":384,"value":2366},"application_id",{"type":375,"tag":1141,"props":2368,"children":2369},{"style":1195},[2370],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2372,"children":2373},{"style":1165},[2374],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2376,"children":2377},{"style":1195},[2378],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2380,"children":2381},{"style":1154},[2382],{"type":384,"value":2383},"$HOOK0_APPLICATION_ID",{"type":375,"tag":1141,"props":2385,"children":2386},{"style":1195},[2387],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2389,"children":2390},{"style":1165},[2391],{"type":384,"value":2392},",",{"type":375,"tag":1141,"props":2394,"children":2395},{"style":1195},[2396],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2398,"children":2399},{"style":1165},[2400],{"type":384,"value":2401},"event_type",{"type":375,"tag":1141,"props":2403,"children":2404},{"style":1195},[2405],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2407,"children":2408},{"style":1165},[2409],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2411,"children":2412},{"style":1195},[2413],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2415,"children":2416},{"style":1165},[2417],{"type":384,"value":2418},"billing.invoice.paid",{"type":375,"tag":1141,"props":2420,"children":2421},{"style":1195},[2422],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2424,"children":2425},{"style":1165},[2426],{"type":384,"value":2392},{"type":375,"tag":1141,"props":2428,"children":2429},{"style":1195},[2430],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2432,"children":2433},{"style":1165},[2434],{"type":384,"value":2435},"labels",{"type":375,"tag":1141,"props":2437,"children":2438},{"style":1195},[2439],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2441,"children":2442},{"style":1165},[2443],{"type":384,"value":2444},":{",{"type":375,"tag":1141,"props":2446,"children":2447},{"style":1195},[2448],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2450,"children":2451},{"style":1165},[2452],{"type":384,"value":394},{"type":375,"tag":1141,"props":2454,"children":2455},{"style":1195},[2456],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2458,"children":2459},{"style":1165},[2460],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2462,"children":2463},{"style":1195},[2464],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2466,"children":2467},{"style":1165},[2468],{"type":384,"value":2469},"customer_42",{"type":375,"tag":1141,"props":2471,"children":2472},{"style":1195},[2473],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2475,"children":2476},{"style":1165},[2477],{"type":384,"value":2478},"},",{"type":375,"tag":1141,"props":2480,"children":2481},{"style":1195},[2482],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2484,"children":2485},{"style":1165},[2486],{"type":384,"value":2487},"occurred_at",{"type":375,"tag":1141,"props":2489,"children":2490},{"style":1195},[2491],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2493,"children":2494},{"style":1165},[2495],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2497,"children":2498},{"style":1195},[2499],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2501,"children":2502},{"style":1165},[2503],{"type":384,"value":2504},"2026-10-11T09:00:00Z",{"type":375,"tag":1141,"props":2506,"children":2507},{"style":1195},[2508],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2510,"children":2511},{"style":1165},[2512],{"type":384,"value":2392},{"type":375,"tag":1141,"props":2514,"children":2515},{"style":1195},[2516],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2518,"children":2519},{"style":1165},[2520],{"type":384,"value":2521},"payload",{"type":375,"tag":1141,"props":2523,"children":2524},{"style":1195},[2525],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2527,"children":2528},{"style":1165},[2529],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2531,"children":2532},{"style":1195},[2533],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2535,"children":2536},{"style":1165},[2537],{"type":384,"value":1778},{"type":375,"tag":1141,"props":2539,"children":2540},{"style":1195},[2541],{"type":384,"value":2542},"\\\\\\\"",{"type":375,"tag":1141,"props":2544,"children":2545},{"style":1165},[2546],{"type":384,"value":2547},"invoice_id",{"type":375,"tag":1141,"props":2549,"children":2550},{"style":1195},[2551],{"type":384,"value":2542},{"type":375,"tag":1141,"props":2553,"children":2554},{"style":1165},[2555],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2557,"children":2558},{"style":1195},[2559],{"type":384,"value":2542},{"type":375,"tag":1141,"props":2561,"children":2562},{"style":1165},[2563],{"type":384,"value":2564},"inv_123",{"type":375,"tag":1141,"props":2566,"children":2567},{"style":1195},[2568],{"type":384,"value":2542},{"type":375,"tag":1141,"props":2570,"children":2571},{"style":1165},[2572],{"type":384,"value":2573},"}",{"type":375,"tag":1141,"props":2575,"children":2576},{"style":1195},[2577],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2579,"children":2580},{"style":1165},[2581],{"type":384,"value":2392},{"type":375,"tag":1141,"props":2583,"children":2584},{"style":1195},[2585],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2587,"children":2588},{"style":1165},[2589],{"type":384,"value":807},{"type":375,"tag":1141,"props":2591,"children":2592},{"style":1195},[2593],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2595,"children":2596},{"style":1165},[2597],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2599,"children":2600},{"style":1195},[2601],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2603,"children":2604},{"style":1165},[2605],{"type":384,"value":2606},"application/json",{"type":375,"tag":1141,"props":2608,"children":2609},{"style":1195},[2610],{"type":384,"value":2361},{"type":375,"tag":1141,"props":2612,"children":2613},{"style":1165},[2614],{"type":384,"value":2615},"}\"\n",{"type":375,"tag":1141,"props":2617,"children":2618},{"class":1143,"line":1268},[2619],{"type":375,"tag":1141,"props":2620,"children":2621},{"emptyLinePlaceholder":1180},[2622],{"type":384,"value":1183},{"type":375,"tag":1141,"props":2624,"children":2625},{"class":1143,"line":1291},[2626],{"type":375,"tag":1141,"props":2627,"children":2628},{"style":1499},[2629],{"type":384,"value":2630},"# After\n",{"type":375,"tag":1141,"props":2632,"children":2633},{"class":1143,"line":1309},[2634,2638,2643,2648,2653,2657,2662,2666,2670,2674,2679],{"type":375,"tag":1141,"props":2635,"children":2636},{"style":1211},[2637],{"type":384,"value":2286},{"type":375,"tag":1141,"props":2639,"children":2640},{"style":1195},[2641],{"type":384,"value":2642}," --user",{"type":375,"tag":1141,"props":2644,"children":2645},{"style":1165},[2646],{"type":384,"value":2647}," \"",{"type":375,"tag":1141,"props":2649,"children":2650},{"style":1154},[2651],{"type":384,"value":2652},"$RELAY_KEY",{"type":375,"tag":1141,"props":2654,"children":2655},{"style":1165},[2656],{"type":384,"value":1125},{"type":375,"tag":1141,"props":2658,"children":2659},{"style":1154},[2660],{"type":384,"value":2661},"$RELAY_SECRET",{"type":375,"tag":1141,"props":2663,"children":2664},{"style":1165},[2665],{"type":384,"value":2329},{"type":375,"tag":1141,"props":2667,"children":2668},{"style":1195},[2669],{"type":384,"value":2291},{"type":375,"tag":1141,"props":2671,"children":2672},{"style":1165},[2673],{"type":384,"value":2296},{"type":375,"tag":1141,"props":2675,"children":2676},{"style":1165},[2677],{"type":384,"value":2678}," https://my.webhookrelay.com/v1/outbound/messages",{"type":375,"tag":1141,"props":2680,"children":2681},{"style":1195},[2682],{"type":384,"value":2306},{"type":375,"tag":1141,"props":2684,"children":2685},{"class":1143,"line":1323},[2686,2690,2694,2698,2703],{"type":375,"tag":1141,"props":2687,"children":2688},{"style":1195},[2689],{"type":384,"value":2314},{"type":375,"tag":1141,"props":2691,"children":2692},{"style":1165},[2693],{"type":384,"value":2339},{"type":375,"tag":1141,"props":2695,"children":2696},{"style":1195},[2697],{"type":384,"value":2334},{"type":375,"tag":1141,"props":2699,"children":2700},{"style":1165},[2701],{"type":384,"value":2702}," 'Idempotency-Key: invoice-paid:inv_123'",{"type":375,"tag":1141,"props":2704,"children":2705},{"style":1195},[2706],{"type":384,"value":2306},{"type":375,"tag":1141,"props":2708,"children":2709},{"class":1143,"line":1366},[2710,2714],{"type":375,"tag":1141,"props":2711,"children":2712},{"style":1195},[2713],{"type":384,"value":2351},{"type":375,"tag":1141,"props":2715,"children":2716},{"style":1165},[2717],{"type":384,"value":2718}," '{\"consumer\":\"customer_42\",\"event_type\":\"billing.invoice.paid\",\"payload\":{\"invoice_id\":\"inv_123\",\"amount\":4900}}'\n",{"type":375,"tag":1108,"props":2720,"children":2722},{"id":2721},"add-a-customer-and-an-endpoint",[2723],{"type":384,"value":2724},"Add a customer and an endpoint",{"type":375,"tag":1127,"props":2726,"children":2727},{},[2728],{"type":375,"tag":1131,"props":2729,"children":2731},{"className":1133,"code":2730,"language":1135,"meta":345,"style":345},"await relay.outbound.consumers.upsert(\"customer_42\", { name: \"Acme\" });\nconst endpoint = await relay.outbound.endpoints.create(\"customer_42\", {\n  url: \"https://acme.example/webhooks\",\n  eventTypes: [\"billing.invoice.paid\"],\n  autoDisable: true,\n});\n// endpoint.secret is the customer's new whsec_ secret. Store it like a password.\n",[2732],{"type":375,"tag":389,"props":2733,"children":2734},{"__ignoreMap":345},[2735,2775,2819,2836,2853,2870,2878],{"type":375,"tag":1141,"props":2736,"children":2737},{"class":1143,"line":1144},[2738,2742,2747,2752,2756,2760,2765,2770],{"type":375,"tag":1141,"props":2739,"children":2740},{"style":1148},[2741],{"type":384,"value":1274},{"type":375,"tag":1141,"props":2743,"children":2744},{"style":1154},[2745],{"type":384,"value":2746}," relay.outbound.consumers.",{"type":375,"tag":1141,"props":2748,"children":2749},{"style":1211},[2750],{"type":384,"value":2751},"upsert",{"type":375,"tag":1141,"props":2753,"children":2754},{"style":1154},[2755],{"type":384,"value":1219},{"type":375,"tag":1141,"props":2757,"children":2758},{"style":1165},[2759],{"type":384,"value":1390},{"type":375,"tag":1141,"props":2761,"children":2762},{"style":1154},[2763],{"type":384,"value":2764},", { name: ",{"type":375,"tag":1141,"props":2766,"children":2767},{"style":1165},[2768],{"type":384,"value":2769},"\"Acme\"",{"type":375,"tag":1141,"props":2771,"children":2772},{"style":1154},[2773],{"type":384,"value":2774}," });\n",{"type":375,"tag":1141,"props":2776,"children":2777},{"class":1143,"line":1176},[2778,2782,2787,2791,2796,2801,2806,2810,2814],{"type":375,"tag":1141,"props":2779,"children":2780},{"style":1148},[2781],{"type":384,"value":1192},{"type":375,"tag":1141,"props":2783,"children":2784},{"style":1195},[2785],{"type":384,"value":2786}," endpoint",{"type":375,"tag":1141,"props":2788,"children":2789},{"style":1148},[2790],{"type":384,"value":1203},{"type":375,"tag":1141,"props":2792,"children":2793},{"style":1148},[2794],{"type":384,"value":2795}," await",{"type":375,"tag":1141,"props":2797,"children":2798},{"style":1154},[2799],{"type":384,"value":2800}," relay.outbound.endpoints.",{"type":375,"tag":1141,"props":2802,"children":2803},{"style":1211},[2804],{"type":384,"value":2805},"create",{"type":375,"tag":1141,"props":2807,"children":2808},{"style":1154},[2809],{"type":384,"value":1219},{"type":375,"tag":1141,"props":2811,"children":2812},{"style":1165},[2813],{"type":384,"value":1390},{"type":375,"tag":1141,"props":2815,"children":2816},{"style":1154},[2817],{"type":384,"value":2818},", {\n",{"type":375,"tag":1141,"props":2820,"children":2821},{"class":1143,"line":1186},[2822,2827,2832],{"type":375,"tag":1141,"props":2823,"children":2824},{"style":1154},[2825],{"type":384,"value":2826},"  url: ",{"type":375,"tag":1141,"props":2828,"children":2829},{"style":1165},[2830],{"type":384,"value":2831},"\"https://acme.example/webhooks\"",{"type":375,"tag":1141,"props":2833,"children":2834},{"style":1154},[2835],{"type":384,"value":1320},{"type":375,"tag":1141,"props":2837,"children":2838},{"class":1143,"line":1260},[2839,2844,2848],{"type":375,"tag":1141,"props":2840,"children":2841},{"style":1154},[2842],{"type":384,"value":2843},"  eventTypes: [",{"type":375,"tag":1141,"props":2845,"children":2846},{"style":1165},[2847],{"type":384,"value":1551},{"type":375,"tag":1141,"props":2849,"children":2850},{"style":1154},[2851],{"type":384,"value":2852},"],\n",{"type":375,"tag":1141,"props":2854,"children":2855},{"class":1143,"line":1268},[2856,2861,2866],{"type":375,"tag":1141,"props":2857,"children":2858},{"style":1154},[2859],{"type":384,"value":2860},"  autoDisable: ",{"type":375,"tag":1141,"props":2862,"children":2863},{"style":1195},[2864],{"type":384,"value":2865},"true",{"type":375,"tag":1141,"props":2867,"children":2868},{"style":1154},[2869],{"type":384,"value":1320},{"type":375,"tag":1141,"props":2871,"children":2872},{"class":1143,"line":1291},[2873],{"type":375,"tag":1141,"props":2874,"children":2875},{"style":1154},[2876],{"type":384,"value":2877},"});\n",{"type":375,"tag":1141,"props":2879,"children":2880},{"class":1143,"line":1309},[2881],{"type":375,"tag":1141,"props":2882,"children":2883},{"style":1499},[2884],{"type":384,"value":2885},"// endpoint.secret is the customer's new whsec_ secret. Store it like a password.\n",{"type":375,"tag":376,"props":2887,"children":2888},{},[2889,2891,2897,2898,2904,2905,2911,2912,2918,2920,2926,2927,2933,2934,2940,2941,2947,2948,2954,2956,2961],{"type":384,"value":2890},"Go: ",{"type":375,"tag":389,"props":2892,"children":2894},{"className":2893},[],[2895],{"type":384,"value":2896},"api.UpsertOutboundConsumer(...)",{"type":384,"value":1964},{"type":375,"tag":389,"props":2899,"children":2901},{"className":2900},[],[2902],{"type":384,"value":2903},"api.CreateOutboundEndpoint(...)",{"type":384,"value":1964},{"type":375,"tag":389,"props":2906,"children":2908},{"className":2907},[],[2909],{"type":384,"value":2910},"api.PauseOutboundEndpoint(id)",{"type":384,"value":1964},{"type":375,"tag":389,"props":2913,"children":2915},{"className":2914},[],[2916],{"type":384,"value":2917},"api.RetryOutboundDelivery(endpointID, messageID)",{"type":384,"value":2919},". MCP: ",{"type":375,"tag":389,"props":2921,"children":2923},{"className":2922},[],[2924],{"type":384,"value":2925},"upsert_outbound_consumer",{"type":384,"value":1964},{"type":375,"tag":389,"props":2928,"children":2930},{"className":2929},[],[2931],{"type":384,"value":2932},"create_outbound_endpoint",{"type":384,"value":1964},{"type":375,"tag":389,"props":2935,"children":2937},{"className":2936},[],[2938],{"type":384,"value":2939},"publish_outbound_message",{"type":384,"value":1964},{"type":375,"tag":389,"props":2942,"children":2944},{"className":2943},[],[2945],{"type":384,"value":2946},"pause_outbound_endpoint",{"type":384,"value":1964},{"type":375,"tag":389,"props":2949,"children":2951},{"className":2950},[],[2952],{"type":384,"value":2953},"retry_outbound_delivery",{"type":384,"value":2955},". For a handful of customers, the dashboard's ",{"type":375,"tag":380,"props":2957,"children":2958},{},[2959],{"type":384,"value":2960},"Add endpoint",{"type":384,"value":2962}," dialog does the same without code.",{"type":375,"tag":467,"props":2964,"children":2966},{"id":2965},"signature-changes-for-your-customers",[2967],{"type":384,"value":2968},"Signature changes for your customers",{"type":375,"tag":474,"props":2970,"children":2971},{},[2972,2989],{"type":375,"tag":478,"props":2973,"children":2974},{},[2975],{"type":375,"tag":482,"props":2976,"children":2977},{},[2978,2981,2985],{"type":375,"tag":486,"props":2979,"children":2980},{},[],{"type":375,"tag":486,"props":2982,"children":2983},{},[2984],{"type":384,"value":490},{"type":375,"tag":486,"props":2986,"children":2987},{},[2988],{"type":384,"value":495},{"type":375,"tag":502,"props":2990,"children":2991},{},[2992,3018,3061,3079,3112,3132],{"type":375,"tag":482,"props":2993,"children":2994},{},[2995,3000,3009],{"type":375,"tag":509,"props":2996,"children":2997},{},[2998],{"type":384,"value":2999},"Signature header",{"type":375,"tag":509,"props":3001,"children":3002},{},[3003],{"type":375,"tag":389,"props":3004,"children":3006},{"className":3005},[],[3007],{"type":384,"value":3008},"X-Hook0-Signature: t=\u003Cts>,h=\u003Cheader names>,v1=\u003Chex>",{"type":375,"tag":509,"props":3010,"children":3011},{},[3012],{"type":375,"tag":389,"props":3013,"children":3015},{"className":3014},[],[3016],{"type":384,"value":3017},"webhook-signature: v1,\u003Cbase64>",{"type":375,"tag":482,"props":3019,"children":3020},{},[3021,3026,3052],{"type":375,"tag":509,"props":3022,"children":3023},{},[3024],{"type":384,"value":3025},"Signed content",{"type":375,"tag":509,"props":3027,"children":3028},{},[3029,3035,3037,3043,3045,3051],{"type":375,"tag":389,"props":3030,"children":3032},{"className":3031},[],[3033],{"type":384,"value":3034},"{t}.{header names}.{header values}.{body}",{"type":384,"value":3036}," (or ",{"type":375,"tag":389,"props":3038,"children":3040},{"className":3039},[],[3041],{"type":384,"value":3042},"{t}.{body}",{"type":384,"value":3044}," without ",{"type":375,"tag":389,"props":3046,"children":3048},{"className":3047},[],[3049],{"type":384,"value":3050},"h",{"type":384,"value":555},{"type":375,"tag":509,"props":3053,"children":3054},{},[3055],{"type":375,"tag":389,"props":3056,"children":3058},{"className":3057},[],[3059],{"type":384,"value":3060},"{webhook-id}.{webhook-timestamp}.{body}",{"type":375,"tag":482,"props":3062,"children":3063},{},[3064,3069,3074],{"type":375,"tag":509,"props":3065,"children":3066},{},[3067],{"type":384,"value":3068},"Algorithm",{"type":375,"tag":509,"props":3070,"children":3071},{},[3072],{"type":384,"value":3073},"HMAC-SHA256, hex",{"type":375,"tag":509,"props":3075,"children":3076},{},[3077],{"type":384,"value":3078},"HMAC-SHA256, base64",{"type":375,"tag":482,"props":3080,"children":3081},{},[3082,3087,3092],{"type":375,"tag":509,"props":3083,"children":3084},{},[3085],{"type":384,"value":3086},"Secret",{"type":375,"tag":509,"props":3088,"children":3089},{},[3090],{"type":384,"value":3091},"Per subscription (a UUID)",{"type":375,"tag":509,"props":3093,"children":3094},{},[3095,3097,3103,3105,3110],{"type":384,"value":3096},"A new ",{"type":375,"tag":389,"props":3098,"children":3100},{"className":3099},[],[3101],{"type":384,"value":3102},"whsec_…",{"type":384,"value":3104}," per endpoint (key = base64 part after ",{"type":375,"tag":389,"props":3106,"children":3108},{"className":3107},[],[3109],{"type":384,"value":435},{"type":384,"value":3111},"). UUIDs don't fit the importable format.",{"type":375,"tag":482,"props":3113,"children":3114},{},[3115,3120,3123],{"type":375,"tag":509,"props":3116,"children":3117},{},[3118],{"type":384,"value":3119},"ID header",{"type":375,"tag":509,"props":3121,"children":3122},{},[],{"type":375,"tag":509,"props":3124,"children":3125},{},[3126],{"type":375,"tag":389,"props":3127,"children":3129},{"className":3128},[],[3130],{"type":384,"value":3131},"webhook-id",{"type":375,"tag":482,"props":3133,"children":3134},{},[3135,3140,3143],{"type":375,"tag":509,"props":3136,"children":3137},{},[3138],{"type":384,"value":3139},"Event type header",{"type":375,"tag":509,"props":3141,"children":3142},{},[],{"type":375,"tag":509,"props":3144,"children":3145},{},[3146],{"type":375,"tag":389,"props":3147,"children":3149},{"className":3148},[],[3150],{"type":384,"value":3151},"webhook-event-type",{"type":375,"tag":376,"props":3153,"children":3154},{},[3155,3157,3164,3166,3172,3174,3181],{"type":384,"value":3156},"Hook0's scheme is described in ",{"type":375,"tag":422,"props":3158,"children":3161},{"href":3159,"rel":3160},"https://documentation.hook0.com/docs/verifying-webhook-signatures",[1094],[3162],{"type":384,"value":3163},"Verifying Signatures",{"type":384,"value":3165},". Every receiver needs Standard Webhooks verification: send your customers the ",{"type":375,"tag":422,"props":3167,"children":3169},{"href":3168},"/docs/outbound/receiving#verify-the-signature",[3170],{"type":384,"value":3171},"receiving guide",{"type":384,"value":3173}," or point them at any ",{"type":375,"tag":422,"props":3175,"children":3178},{"href":3176,"rel":3177},"https://github.com/standard-webhooks/standard-webhooks",[1094],[3179],{"type":384,"value":3180},"Standard Webhooks library",{"type":384,"value":3182},". During the migration window the receiver accepts either provider:",{"type":375,"tag":1127,"props":3184,"children":3185},{},[3186],{"type":375,"tag":1131,"props":3187,"children":3191},{"className":3188,"code":3189,"language":3190,"meta":345,"style":345},"language-js shiki shiki-themes github-dark","import { verifyWebhookSignature } from \"hook0-client\";\nimport { verifyWebhook } from \"./verify-webhook.js\"; // Standard Webhooks check from the receiving guide\n\nexport function verify(rawBody, headers) {\n  if (headers[\"webhook-signature\"]) {\n    return verifyWebhook(rawBody, headers, process.env.WEBHOOK_SECRET_RELAY);\n  }\n  if (headers[\"x-hook0-signature\"]) {\n    try {\n      // The receiver's existing Hook0 check; it throws on an invalid signature.\n      return verifyWebhookSignature(headers[\"x-hook0-signature\"], rawBody, new Headers(headers), process.env.WEBHOOK_SECRET_HOOK0, 300);\n    } catch {\n      return false;\n    }\n  }\n  return false;\n}\n","js",[3192],{"type":375,"tag":389,"props":3193,"children":3194},{"__ignoreMap":345},[3195,3219,3250,3257,3298,3321,3348,3356,3376,3389,3397,3457,3474,3490,3498,3505,3521],{"type":375,"tag":1141,"props":3196,"children":3197},{"class":1143,"line":1144},[3198,3202,3207,3211,3215],{"type":375,"tag":1141,"props":3199,"children":3200},{"style":1148},[3201],{"type":384,"value":1151},{"type":375,"tag":1141,"props":3203,"children":3204},{"style":1154},[3205],{"type":384,"value":3206}," { verifyWebhookSignature } ",{"type":375,"tag":1141,"props":3208,"children":3209},{"style":1148},[3210],{"type":384,"value":1162},{"type":375,"tag":1141,"props":3212,"children":3213},{"style":1165},[3214],{"type":384,"value":1168},{"type":375,"tag":1141,"props":3216,"children":3217},{"style":1154},[3218],{"type":384,"value":1173},{"type":375,"tag":1141,"props":3220,"children":3221},{"class":1143,"line":1176},[3222,3226,3231,3235,3240,3245],{"type":375,"tag":1141,"props":3223,"children":3224},{"style":1148},[3225],{"type":384,"value":1151},{"type":375,"tag":1141,"props":3227,"children":3228},{"style":1154},[3229],{"type":384,"value":3230}," { verifyWebhook } ",{"type":375,"tag":1141,"props":3232,"children":3233},{"style":1148},[3234],{"type":384,"value":1162},{"type":375,"tag":1141,"props":3236,"children":3237},{"style":1165},[3238],{"type":384,"value":3239}," \"./verify-webhook.js\"",{"type":375,"tag":1141,"props":3241,"children":3242},{"style":1154},[3243],{"type":384,"value":3244},"; ",{"type":375,"tag":1141,"props":3246,"children":3247},{"style":1499},[3248],{"type":384,"value":3249},"// Standard Webhooks check from the receiving guide\n",{"type":375,"tag":1141,"props":3251,"children":3252},{"class":1143,"line":1186},[3253],{"type":375,"tag":1141,"props":3254,"children":3255},{"emptyLinePlaceholder":1180},[3256],{"type":384,"value":1183},{"type":375,"tag":1141,"props":3258,"children":3259},{"class":1143,"line":1260},[3260,3265,3270,3275,3279,3285,3289,3293],{"type":375,"tag":1141,"props":3261,"children":3262},{"style":1148},[3263],{"type":384,"value":3264},"export",{"type":375,"tag":1141,"props":3266,"children":3267},{"style":1148},[3268],{"type":384,"value":3269}," function",{"type":375,"tag":1141,"props":3271,"children":3272},{"style":1211},[3273],{"type":384,"value":3274}," verify",{"type":375,"tag":1141,"props":3276,"children":3277},{"style":1154},[3278],{"type":384,"value":1219},{"type":375,"tag":1141,"props":3280,"children":3282},{"style":3281},"--shiki-default:#FFAB70",[3283],{"type":384,"value":3284},"rawBody",{"type":375,"tag":1141,"props":3286,"children":3287},{"style":1154},[3288],{"type":384,"value":1964},{"type":375,"tag":1141,"props":3290,"children":3291},{"style":3281},[3292],{"type":384,"value":657},{"type":375,"tag":1141,"props":3294,"children":3295},{"style":1154},[3296],{"type":384,"value":3297},") {\n",{"type":375,"tag":1141,"props":3299,"children":3300},{"class":1143,"line":1268},[3301,3306,3311,3316],{"type":375,"tag":1141,"props":3302,"children":3303},{"style":1148},[3304],{"type":384,"value":3305},"  if",{"type":375,"tag":1141,"props":3307,"children":3308},{"style":1154},[3309],{"type":384,"value":3310}," (headers[",{"type":375,"tag":1141,"props":3312,"children":3313},{"style":1165},[3314],{"type":384,"value":3315},"\"webhook-signature\"",{"type":375,"tag":1141,"props":3317,"children":3318},{"style":1154},[3319],{"type":384,"value":3320},"]) {\n",{"type":375,"tag":1141,"props":3322,"children":3323},{"class":1143,"line":1291},[3324,3329,3334,3339,3344],{"type":375,"tag":1141,"props":3325,"children":3326},{"style":1148},[3327],{"type":384,"value":3328},"    return",{"type":375,"tag":1141,"props":3330,"children":3331},{"style":1211},[3332],{"type":384,"value":3333}," verifyWebhook",{"type":375,"tag":1141,"props":3335,"children":3336},{"style":1154},[3337],{"type":384,"value":3338},"(rawBody, headers, process.env.",{"type":375,"tag":1141,"props":3340,"children":3341},{"style":1195},[3342],{"type":384,"value":3343},"WEBHOOK_SECRET_RELAY",{"type":375,"tag":1141,"props":3345,"children":3346},{"style":1154},[3347],{"type":384,"value":1257},{"type":375,"tag":1141,"props":3349,"children":3350},{"class":1143,"line":1309},[3351],{"type":375,"tag":1141,"props":3352,"children":3353},{"style":1154},[3354],{"type":384,"value":3355},"  }\n",{"type":375,"tag":1141,"props":3357,"children":3358},{"class":1143,"line":1323},[3359,3363,3367,3372],{"type":375,"tag":1141,"props":3360,"children":3361},{"style":1148},[3362],{"type":384,"value":3305},{"type":375,"tag":1141,"props":3364,"children":3365},{"style":1154},[3366],{"type":384,"value":3310},{"type":375,"tag":1141,"props":3368,"children":3369},{"style":1165},[3370],{"type":384,"value":3371},"\"x-hook0-signature\"",{"type":375,"tag":1141,"props":3373,"children":3374},{"style":1154},[3375],{"type":384,"value":3320},{"type":375,"tag":1141,"props":3377,"children":3378},{"class":1143,"line":1366},[3379,3384],{"type":375,"tag":1141,"props":3380,"children":3381},{"style":1148},[3382],{"type":384,"value":3383},"    try",{"type":375,"tag":1141,"props":3385,"children":3386},{"style":1154},[3387],{"type":384,"value":3388}," {\n",{"type":375,"tag":1141,"props":3390,"children":3391},{"class":1143,"line":1379},[3392],{"type":375,"tag":1141,"props":3393,"children":3394},{"style":1499},[3395],{"type":384,"value":3396},"      // The receiver's existing Hook0 check; it throws on an invalid signature.\n",{"type":375,"tag":1141,"props":3398,"children":3399},{"class":1143,"line":1398},[3400,3405,3410,3415,3419,3424,3429,3434,3439,3444,3448,3453],{"type":375,"tag":1141,"props":3401,"children":3402},{"style":1148},[3403],{"type":384,"value":3404},"      return",{"type":375,"tag":1141,"props":3406,"children":3407},{"style":1211},[3408],{"type":384,"value":3409}," verifyWebhookSignature",{"type":375,"tag":1141,"props":3411,"children":3412},{"style":1154},[3413],{"type":384,"value":3414},"(headers[",{"type":375,"tag":1141,"props":3416,"children":3417},{"style":1165},[3418],{"type":384,"value":3371},{"type":375,"tag":1141,"props":3420,"children":3421},{"style":1154},[3422],{"type":384,"value":3423},"], rawBody, ",{"type":375,"tag":1141,"props":3425,"children":3426},{"style":1148},[3427],{"type":384,"value":3428},"new",{"type":375,"tag":1141,"props":3430,"children":3431},{"style":1211},[3432],{"type":384,"value":3433}," Headers",{"type":375,"tag":1141,"props":3435,"children":3436},{"style":1154},[3437],{"type":384,"value":3438},"(headers), process.env.",{"type":375,"tag":1141,"props":3440,"children":3441},{"style":1195},[3442],{"type":384,"value":3443},"WEBHOOK_SECRET_HOOK0",{"type":375,"tag":1141,"props":3445,"children":3446},{"style":1154},[3447],{"type":384,"value":1964},{"type":375,"tag":1141,"props":3449,"children":3450},{"style":1195},[3451],{"type":384,"value":3452},"300",{"type":375,"tag":1141,"props":3454,"children":3455},{"style":1154},[3456],{"type":384,"value":1257},{"type":375,"tag":1141,"props":3458,"children":3459},{"class":1143,"line":1407},[3460,3465,3470],{"type":375,"tag":1141,"props":3461,"children":3462},{"style":1154},[3463],{"type":384,"value":3464},"    } ",{"type":375,"tag":1141,"props":3466,"children":3467},{"style":1148},[3468],{"type":384,"value":3469},"catch",{"type":375,"tag":1141,"props":3471,"children":3472},{"style":1154},[3473],{"type":384,"value":3388},{"type":375,"tag":1141,"props":3475,"children":3476},{"class":1143,"line":2033},[3477,3481,3486],{"type":375,"tag":1141,"props":3478,"children":3479},{"style":1148},[3480],{"type":384,"value":3404},{"type":375,"tag":1141,"props":3482,"children":3483},{"style":1195},[3484],{"type":384,"value":3485}," false",{"type":375,"tag":1141,"props":3487,"children":3488},{"style":1154},[3489],{"type":384,"value":1173},{"type":375,"tag":1141,"props":3491,"children":3492},{"class":1143,"line":2061},[3493],{"type":375,"tag":1141,"props":3494,"children":3495},{"style":1154},[3496],{"type":384,"value":3497},"    }\n",{"type":375,"tag":1141,"props":3499,"children":3500},{"class":1143,"line":2069},[3501],{"type":375,"tag":1141,"props":3502,"children":3503},{"style":1154},[3504],{"type":384,"value":3355},{"type":375,"tag":1141,"props":3506,"children":3507},{"class":1143,"line":2078},[3508,3513,3517],{"type":375,"tag":1141,"props":3509,"children":3510},{"style":1148},[3511],{"type":384,"value":3512},"  return",{"type":375,"tag":1141,"props":3514,"children":3515},{"style":1195},[3516],{"type":384,"value":3485},{"type":375,"tag":1141,"props":3518,"children":3519},{"style":1154},[3520],{"type":384,"value":1173},{"type":375,"tag":1141,"props":3522,"children":3523},{"class":1143,"line":2128},[3524],{"type":375,"tag":1141,"props":3525,"children":3526},{"style":1154},[3527],{"type":384,"value":3528},"}\n",{"type":375,"tag":376,"props":3530,"children":3531},{},[3532,3534,3539],{"type":384,"value":3533},"Deduplicate on ",{"type":375,"tag":389,"props":3535,"children":3537},{"className":3536},[],[3538],{"type":384,"value":3131},{"type":384,"value":3540}," for Webhook Relay deliveries. Because each provider assigns its own IDs, include your own event ID in the payload if receivers must deduplicate across providers.",{"type":375,"tag":467,"props":3542,"children":3544},{"id":3543},"cutover-plan",[3545],{"type":384,"value":3546},"Cutover plan",{"type":375,"tag":3548,"props":3549,"children":3550},"ol",{},[3551,3600,3644,3674,3705,3721],{"type":375,"tag":3552,"props":3553,"children":3554},"li",{},[3555,3560,3562,3568,3569,3575,3577,3583,3585,3590,3592,3598],{"type":375,"tag":380,"props":3556,"children":3557},{},[3558],{"type":384,"value":3559},"Import.",{"type":384,"value":3561}," Run the ",{"type":375,"tag":422,"props":3563,"children":3565},{"href":3564},"#import-script",[3566],{"type":384,"value":3567},"import script",{"type":384,"value":1015},{"type":375,"tag":389,"props":3570,"children":3572},{"className":3571},[],[3573],{"type":384,"value":3574},"DRY_RUN=true",{"type":384,"value":3576},", review the report, then with ",{"type":375,"tag":389,"props":3578,"children":3580},{"className":3579},[],[3581],{"type":384,"value":3582},"DRY_RUN=false",{"type":384,"value":3584},". It creates event types, one consumer per customer label value and an endpoint per subscription, then pauses every new endpoint. Each endpoint gets a new ",{"type":375,"tag":389,"props":3586,"children":3588},{"className":3587},[],[3589],{"type":384,"value":435},{"type":384,"value":3591}," secret. ",{"type":375,"tag":3593,"props":3594,"children":3595},"em",{},[3596],{"type":384,"value":3597},"Rollback:",{"type":384,"value":3599}," nothing is live. Leave the endpoints paused or delete them.",{"type":375,"tag":3552,"props":3601,"children":3602},{},[3603,3608,3610,3615,3616,3621,3623,3628,3630,3636,3638,3642],{"type":375,"tag":380,"props":3604,"children":3605},{},[3606],{"type":384,"value":3607},"Shadow publish.",{"type":384,"value":3609}," Next to every ",{"type":375,"tag":389,"props":3611,"children":3613},{"className":3612},[],[3614],{"type":384,"value":402},{"type":384,"value":3036},{"type":375,"tag":389,"props":3617,"children":3619},{"className":3618},[],[3620],{"type":384,"value":730},{"type":384,"value":3622},"), publish to Webhook Relay with the customer label as the consumer, the same event type, the payload as JSON and the Hook0 ",{"type":375,"tag":389,"props":3624,"children":3626},{"className":3625},[],[3627],{"type":384,"value":753},{"type":384,"value":3629}," as the idempotency key, behind a feature flag. Hook0 still delivers. Webhook Relay records each message as ",{"type":375,"tag":389,"props":3631,"children":3633},{"className":3632},[],[3634],{"type":384,"value":3635},"rejected",{"type":384,"value":3637}," on the paused endpoints. ",{"type":375,"tag":3593,"props":3639,"children":3640},{},[3641],{"type":384,"value":3597},{"type":384,"value":3643}," turn the flag off.",{"type":375,"tag":3552,"props":3645,"children":3646},{},[3647,3652,3654,3660,3662,3666,3668,3672],{"type":375,"tag":380,"props":3648,"children":3649},{},[3650],{"type":384,"value":3651},"Receiver changes (every Hook0 customer).",{"type":384,"value":3653}," Both the signature scheme and the secret change, so this stage applies to every customer. Show each customer their new secret in your product (",{"type":375,"tag":389,"props":3655,"children":3657},{"className":3656},[],[3658],{"type":384,"value":3659},"POST /v1/outbound/endpoints/{id}/secret/reveal",{"type":384,"value":3661},"), send the ",{"type":375,"tag":422,"props":3663,"children":3664},{"href":71},[3665],{"type":384,"value":3171},{"type":384,"value":3667},", and have their receiver accept either provider as shown above. ",{"type":375,"tag":3593,"props":3669,"children":3670},{},[3671],{"type":384,"value":3597},{"type":384,"value":3673}," nothing to undo: receivers still verify Hook0.",{"type":375,"tag":3552,"props":3675,"children":3676},{},[3677,3682,3684,3689,3691,3697,3699,3703],{"type":375,"tag":380,"props":3678,"children":3679},{},[3680],{"type":384,"value":3681},"Switch, one customer at a time",{"type":384,"value":3683}," (needs approval). Resume the customer's Webhook Relay endpoints and set ",{"type":375,"tag":389,"props":3685,"children":3687},{"className":3686},[],[3688],{"type":384,"value":683},{"type":384,"value":3690}," on their Hook0 subscriptions. Don't delete anything, and don't call ",{"type":375,"tag":389,"props":3692,"children":3694},{"className":3693},[],[3695],{"type":384,"value":3696},"replay-missing",{"type":384,"value":3698}," for the shadow period. Start with an internal test customer. ",{"type":375,"tag":3593,"props":3700,"children":3701},{},[3702],{"type":384,"value":3597},{"type":384,"value":3704}," pause the Webhook Relay endpoints and re-enable the Hook0 subscriptions.",{"type":375,"tag":3552,"props":3706,"children":3707},{},[3708,3713,3715,3719],{"type":375,"tag":380,"props":3709,"children":3710},{},[3711],{"type":384,"value":3712},"End dual publish.",{"type":384,"value":3714}," When every customer is switched and Hook0 has no deliveries left in retry, remove the Hook0 calls and SDK. ",{"type":375,"tag":3593,"props":3716,"children":3717},{},[3718],{"type":384,"value":3597},{"type":384,"value":3720}," restore the calls; the Hook0 application is untouched.",{"type":375,"tag":3552,"props":3722,"children":3723},{},[3724,3729],{"type":375,"tag":380,"props":3725,"children":3726},{},[3727],{"type":384,"value":3728},"Decommission.",{"type":384,"value":3730}," A human closes the Hook0 application or deployment after exporting any history they need.",{"type":375,"tag":467,"props":3732,"children":3734},{"id":3733},"verify",[3735],{"type":384,"value":3736},"Verify",{"type":375,"tag":3548,"props":3738,"children":3739},{},[3740,4041,4061,4074,4110],{"type":375,"tag":3552,"props":3741,"children":3742},{},[3743,3745,3751,3753],{"type":384,"value":3744},"Create a free ",{"type":375,"tag":422,"props":3746,"children":3748},{"href":3747},"/webhook-bin",[3749],{"type":384,"value":3750},"Webhook Bin",{"type":384,"value":3752}," and add it as an endpoint of a test consumer:",{"type":375,"tag":1131,"props":3754,"children":3756},{"className":2264,"code":3755,"language":2266,"meta":345,"style":345},"BIN=$(curl -s -X POST https://bin.webhookrelay.com/v1/bins | jq -r .id)\ncurl --user \"$RELAY_KEY:$RELAY_SECRET\" -X PUT https://my.webhookrelay.com/v1/outbound/consumers/migration-test \\\n  -H 'Content-Type: application/json' -d '{\"name\":\"Migration test\"}'\ncurl --user \"$RELAY_KEY:$RELAY_SECRET\" -X POST https://my.webhookrelay.com/v1/outbound/consumers/migration-test/endpoints \\\n  -H 'Content-Type: application/json' \\\n  -d \"{\\\"url\\\":\\\"https://bin.webhookrelay.com/v1/webhooks/$BIN\\\",\\\"event_types\\\":[\\\"*\\\"]}\"\n",[3757],{"type":375,"tag":389,"props":3758,"children":3759},{"__ignoreMap":345},[3760,3823,3872,3893,3941,3956],{"type":375,"tag":1141,"props":3761,"children":3762},{"class":1143,"line":1144},[3763,3768,3772,3777,3781,3786,3790,3794,3799,3804,3809,3814,3819],{"type":375,"tag":1141,"props":3764,"children":3765},{"style":1154},[3766],{"type":384,"value":3767},"BIN",{"type":375,"tag":1141,"props":3769,"children":3770},{"style":1148},[3771],{"type":384,"value":2088},{"type":375,"tag":1141,"props":3773,"children":3774},{"style":1154},[3775],{"type":384,"value":3776},"$(",{"type":375,"tag":1141,"props":3778,"children":3779},{"style":1211},[3780],{"type":384,"value":2286},{"type":375,"tag":1141,"props":3782,"children":3783},{"style":1195},[3784],{"type":384,"value":3785}," -s",{"type":375,"tag":1141,"props":3787,"children":3788},{"style":1195},[3789],{"type":384,"value":2291},{"type":375,"tag":1141,"props":3791,"children":3792},{"style":1165},[3793],{"type":384,"value":2296},{"type":375,"tag":1141,"props":3795,"children":3796},{"style":1165},[3797],{"type":384,"value":3798}," https://bin.webhookrelay.com/v1/bins",{"type":375,"tag":1141,"props":3800,"children":3801},{"style":1148},[3802],{"type":384,"value":3803}," |",{"type":375,"tag":1141,"props":3805,"children":3806},{"style":1211},[3807],{"type":384,"value":3808}," jq",{"type":375,"tag":1141,"props":3810,"children":3811},{"style":1195},[3812],{"type":384,"value":3813}," -r",{"type":375,"tag":1141,"props":3815,"children":3816},{"style":1165},[3817],{"type":384,"value":3818}," .id",{"type":375,"tag":1141,"props":3820,"children":3821},{"style":1154},[3822],{"type":384,"value":2030},{"type":375,"tag":1141,"props":3824,"children":3825},{"class":1143,"line":1176},[3826,3830,3834,3838,3842,3846,3850,3854,3858,3863,3868],{"type":375,"tag":1141,"props":3827,"children":3828},{"style":1211},[3829],{"type":384,"value":2286},{"type":375,"tag":1141,"props":3831,"children":3832},{"style":1195},[3833],{"type":384,"value":2642},{"type":375,"tag":1141,"props":3835,"children":3836},{"style":1165},[3837],{"type":384,"value":2647},{"type":375,"tag":1141,"props":3839,"children":3840},{"style":1154},[3841],{"type":384,"value":2652},{"type":375,"tag":1141,"props":3843,"children":3844},{"style":1165},[3845],{"type":384,"value":1125},{"type":375,"tag":1141,"props":3847,"children":3848},{"style":1154},[3849],{"type":384,"value":2661},{"type":375,"tag":1141,"props":3851,"children":3852},{"style":1165},[3853],{"type":384,"value":2329},{"type":375,"tag":1141,"props":3855,"children":3856},{"style":1195},[3857],{"type":384,"value":2291},{"type":375,"tag":1141,"props":3859,"children":3860},{"style":1165},[3861],{"type":384,"value":3862}," PUT",{"type":375,"tag":1141,"props":3864,"children":3865},{"style":1165},[3866],{"type":384,"value":3867}," https://my.webhookrelay.com/v1/outbound/consumers/migration-test",{"type":375,"tag":1141,"props":3869,"children":3870},{"style":1195},[3871],{"type":384,"value":2306},{"type":375,"tag":1141,"props":3873,"children":3874},{"class":1143,"line":1186},[3875,3879,3883,3888],{"type":375,"tag":1141,"props":3876,"children":3877},{"style":1195},[3878],{"type":384,"value":2314},{"type":375,"tag":1141,"props":3880,"children":3881},{"style":1165},[3882],{"type":384,"value":2339},{"type":375,"tag":1141,"props":3884,"children":3885},{"style":1195},[3886],{"type":384,"value":3887}," -d",{"type":375,"tag":1141,"props":3889,"children":3890},{"style":1165},[3891],{"type":384,"value":3892}," '{\"name\":\"Migration test\"}'\n",{"type":375,"tag":1141,"props":3894,"children":3895},{"class":1143,"line":1260},[3896,3900,3904,3908,3912,3916,3920,3924,3928,3932,3937],{"type":375,"tag":1141,"props":3897,"children":3898},{"style":1211},[3899],{"type":384,"value":2286},{"type":375,"tag":1141,"props":3901,"children":3902},{"style":1195},[3903],{"type":384,"value":2642},{"type":375,"tag":1141,"props":3905,"children":3906},{"style":1165},[3907],{"type":384,"value":2647},{"type":375,"tag":1141,"props":3909,"children":3910},{"style":1154},[3911],{"type":384,"value":2652},{"type":375,"tag":1141,"props":3913,"children":3914},{"style":1165},[3915],{"type":384,"value":1125},{"type":375,"tag":1141,"props":3917,"children":3918},{"style":1154},[3919],{"type":384,"value":2661},{"type":375,"tag":1141,"props":3921,"children":3922},{"style":1165},[3923],{"type":384,"value":2329},{"type":375,"tag":1141,"props":3925,"children":3926},{"style":1195},[3927],{"type":384,"value":2291},{"type":375,"tag":1141,"props":3929,"children":3930},{"style":1165},[3931],{"type":384,"value":2296},{"type":375,"tag":1141,"props":3933,"children":3934},{"style":1165},[3935],{"type":384,"value":3936}," https://my.webhookrelay.com/v1/outbound/consumers/migration-test/endpoints",{"type":375,"tag":1141,"props":3938,"children":3939},{"style":1195},[3940],{"type":384,"value":2306},{"type":375,"tag":1141,"props":3942,"children":3943},{"class":1143,"line":1268},[3944,3948,3952],{"type":375,"tag":1141,"props":3945,"children":3946},{"style":1195},[3947],{"type":384,"value":2314},{"type":375,"tag":1141,"props":3949,"children":3950},{"style":1165},[3951],{"type":384,"value":2339},{"type":375,"tag":1141,"props":3953,"children":3954},{"style":1195},[3955],{"type":384,"value":2306},{"type":375,"tag":1141,"props":3957,"children":3958},{"class":1143,"line":1291},[3959,3963,3967,3971,3976,3980,3984,3988,3993,3998,4002,4006,4010,4014,4018,4023,4027,4032,4036],{"type":375,"tag":1141,"props":3960,"children":3961},{"style":1195},[3962],{"type":384,"value":2351},{"type":375,"tag":1141,"props":3964,"children":3965},{"style":1165},[3966],{"type":384,"value":2356},{"type":375,"tag":1141,"props":3968,"children":3969},{"style":1195},[3970],{"type":384,"value":2361},{"type":375,"tag":1141,"props":3972,"children":3973},{"style":1165},[3974],{"type":384,"value":3975},"url",{"type":375,"tag":1141,"props":3977,"children":3978},{"style":1195},[3979],{"type":384,"value":2361},{"type":375,"tag":1141,"props":3981,"children":3982},{"style":1165},[3983],{"type":384,"value":1125},{"type":375,"tag":1141,"props":3985,"children":3986},{"style":1195},[3987],{"type":384,"value":2361},{"type":375,"tag":1141,"props":3989,"children":3990},{"style":1165},[3991],{"type":384,"value":3992},"https://bin.webhookrelay.com/v1/webhooks/",{"type":375,"tag":1141,"props":3994,"children":3995},{"style":1154},[3996],{"type":384,"value":3997},"$BIN",{"type":375,"tag":1141,"props":3999,"children":4000},{"style":1195},[4001],{"type":384,"value":2361},{"type":375,"tag":1141,"props":4003,"children":4004},{"style":1165},[4005],{"type":384,"value":2392},{"type":375,"tag":1141,"props":4007,"children":4008},{"style":1195},[4009],{"type":384,"value":2361},{"type":375,"tag":1141,"props":4011,"children":4012},{"style":1165},[4013],{"type":384,"value":612},{"type":375,"tag":1141,"props":4015,"children":4016},{"style":1195},[4017],{"type":384,"value":2361},{"type":375,"tag":1141,"props":4019,"children":4020},{"style":1165},[4021],{"type":384,"value":4022},":[",{"type":375,"tag":1141,"props":4024,"children":4025},{"style":1195},[4026],{"type":384,"value":2361},{"type":375,"tag":1141,"props":4028,"children":4029},{"style":1165},[4030],{"type":384,"value":4031},"*",{"type":375,"tag":1141,"props":4033,"children":4034},{"style":1195},[4035],{"type":384,"value":2361},{"type":375,"tag":1141,"props":4037,"children":4038},{"style":1165},[4039],{"type":384,"value":4040},"]}\"\n",{"type":375,"tag":3552,"props":4042,"children":4043},{},[4044,4046,4052,4054,4060],{"type":384,"value":4045},"Publish a test message to ",{"type":375,"tag":389,"props":4047,"children":4049},{"className":4048},[],[4050],{"type":384,"value":4051},"migration-test",{"type":384,"value":4053}," through your new code path and read the capture with ",{"type":375,"tag":389,"props":4055,"children":4057},{"className":4056},[],[4058],{"type":384,"value":4059},"curl -s https://bin.webhookrelay.com/v1/bins/$BIN | jq '.requests[0]'",{"type":384,"value":465},{"type":375,"tag":3552,"props":4062,"children":4063},{},[4064,4066,4072],{"type":384,"value":4065},"Paste the headers, body and that endpoint's secret into the ",{"type":375,"tag":422,"props":4067,"children":4069},{"href":4068},"/verify-standard-webhooks-signature",[4070],{"type":384,"value":4071},"Standard Webhooks signature verifier",{"type":384,"value":4073},", then run the same request through your customers' sample receiver.",{"type":375,"tag":3552,"props":4075,"children":4076},{},[4077,4079,4085,4087,4093,4095,4100,4102,4108],{"type":384,"value":4078},"During shadow publishing, compare per customer and event type: Hook0's events (",{"type":375,"tag":389,"props":4080,"children":4082},{"className":4081},[],[4083],{"type":384,"value":4084},"GET /api/v1/events/?application_id=…",{"type":384,"value":4086},") against ",{"type":375,"tag":389,"props":4088,"children":4090},{"className":4089},[],[4091],{"type":384,"value":4092},"GET /v1/outbound/messages?consumer=\u003Cid>",{"type":384,"value":4094},", and the ",{"type":375,"tag":389,"props":4096,"children":4098},{"className":4097},[],[4099],{"type":384,"value":3635},{"type":384,"value":4101}," deliveries on each paused endpoint (",{"type":375,"tag":389,"props":4103,"children":4105},{"className":4104},[],[4106],{"type":384,"value":4107},"GET /v1/outbound/endpoints/{id}/deliveries?status=rejected",{"type":384,"value":4109},").",{"type":375,"tag":3552,"props":4111,"children":4112},{},[4113,4115,4121,4123,4129],{"type":384,"value":4114},"After switching a customer, watch ",{"type":375,"tag":389,"props":4116,"children":4118},{"className":4117},[],[4119],{"type":384,"value":4120},"GET /v1/outbound/endpoints/{id}/deliveries?status=failed",{"type":384,"value":4122}," and ",{"type":375,"tag":389,"props":4124,"children":4126},{"className":4125},[],[4127],{"type":384,"value":4128},"GET /v1/outbound/health",{"type":384,"value":465},{"type":375,"tag":467,"props":4131,"children":4133},{"id":4132},"import-script",[4134],{"type":384,"value":4135},"Import script",{"type":375,"tag":376,"props":4137,"children":4138},{},[4139,4141,4146,4148,4154,4156,4162],{"type":384,"value":4140},"This script reads Hook0 (read-only) and creates the same configuration through ",{"type":375,"tag":389,"props":4142,"children":4144},{"className":4143},[],[4145],{"type":384,"value":1423},{"type":384,"value":4147},". Set ",{"type":375,"tag":389,"props":4149,"children":4151},{"className":4150},[],[4152],{"type":384,"value":4153},"HOOK0_CONSUMER_LABEL",{"type":384,"value":4155}," to the label you route customers by. Subscriptions without that label are reported and skipped. The script checks your plan limits before writing anything, doesn't read Hook0 secrets (they are UUIDs, which can't be imported, so each endpoint gets a generated secret), never prints Webhook Relay secrets, pauses every endpoint it creates and stops at the first error with its progress saved. Run it with ",{"type":375,"tag":389,"props":4157,"children":4159},{"className":4158},[],[4160],{"type":384,"value":4161},"npx tsx migrate-hook0.mts",{"type":384,"value":465},{"type":375,"tag":1127,"props":4164,"children":4165},{},[4166],{"type":375,"tag":1131,"props":4167,"children":4169},{"className":1133,"code":4168,"language":1135,"meta":345,"style":345},"// migrate-hook0.mts\n// Env: HOOK0_API_URL (default https://app.hook0.com/api/v1), HOOK0_TOKEN, HOOK0_APPLICATION_ID,\n//      HOOK0_CONSUMER_LABEL (e.g. tenant_id), RELAY_KEY, RELAY_SECRET (\"Outbound: manage\"), DRY_RUN=false to write.\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { WebhookRelay, WebhookRelayAPIError } from \"@webhookrelay/sdk\";\n\nconst HOOK0_API = process.env.HOOK0_API_URL ?? \"https://app.hook0.com/api/v1\";\nconst APP = process.env.HOOK0_APPLICATION_ID!;\nconst LABEL = process.env.HOOK0_CONSUMER_LABEL!;\nconst DRY_RUN = process.env.DRY_RUN !== \"false\";\nconst STATE_FILE = \"migration-state.json\"; // source subscription ID -> Webhook Relay endpoint ID. Never secrets.\nconst ID = /^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,127}$/;\nconst RESERVED = /^(webhook-|host$|content-length$|transfer-encoding$|connection$)/i;\n\nconst relay = new WebhookRelay();\n\ntype PlanEndpoint = {\n  sourceId: string; url: string; eventTypes: string[]; description?: string;\n  headers?: Record\u003Cstring, string>; rate?: number; disabledAtSource?: boolean;\n};\ntype Plan = {\n  eventTypes: { name: string; description?: string; deprecated?: boolean }[];\n  consumers: { id: string; name?: string; endpoints: PlanEndpoint[] }[];\n  warnings: string[];\n};\n\n// ---- 1. Export from Hook0 (read-only) ----\nasync function hook0\u003CT>(path: string): Promise\u003CT> {\n  const res = await fetch(`${HOOK0_API}${path}?application_id=${APP}`, {\n    headers: { Authorization: `Bearer ${process.env.HOOK0_TOKEN}` },\n  });\n  if (!res.ok) throw new Error(`Hook0 GET ${path}: ${res.status} ${await res.text()}`);\n  return res.json() as Promise\u003CT>;\n}\n\nasync function exportPlan(): Promise\u003CPlan> {\n  const plan: Plan = { eventTypes: [], consumers: [], warnings: [] };\n  plan.eventTypes = (await hook0\u003Cany[]>(\"/event_types/\")).map((et) => ({ name: et.event_type_name }));\n  const consumers = new Map\u003Cstring, Plan[\"consumers\"][number]>();\n  for (const sub of await hook0\u003Cany[]>(\"/subscriptions/\")) {\n    // sub.secret is deliberately ignored: Hook0 secrets are UUIDs, which don't fit the\n    // Standard Webhooks secret format, so Webhook Relay generates a new whsec_ secret.\n    const labels: Record\u003Cstring, string> = sub.labels ?? (sub.label_key ? { [sub.label_key]: sub.label_value } : {});\n    const consumerId = labels[LABEL];\n    if (!consumerId) {\n      plan.warnings.push(`subscription ${sub.subscription_id} (${sub.target?.url}) has no \"${LABEL}\" label; skipped`);\n      continue;\n    }\n    if (Object.keys(labels).length > 1) plan.warnings.push(`${consumerId} ${sub.target.url}: extra labels ${JSON.stringify(labels)} are not carried over`);\n    if (sub.target.type !== \"http\") { plan.warnings.push(`${consumerId}: target type ${sub.target.type} skipped`); continue; }\n    if (sub.target.method && sub.target.method.toUpperCase() !== \"POST\")\n      plan.warnings.push(`${consumerId} ${sub.target.url}: uses ${sub.target.method}; deliveries will be POST`);\n    const headers = Object.fromEntries(Object.entries(sub.target.headers ?? {}).filter(([k]) => !RESERVED.test(k))) as Record\u003Cstring, string>;\n    const consumer = consumers.get(consumerId) ?? { id: consumerId, endpoints: [] as PlanEndpoint[] };\n    consumer.endpoints.push({\n      sourceId: sub.subscription_id, url: sub.target.url,\n      eventTypes: sub.event_types?.length ? sub.event_types : [\"*\"],\n      description: sub.description || undefined, headers, disabledAtSource: !sub.is_enabled,\n    });\n    consumers.set(consumerId, consumer);\n  }\n  plan.consumers = [...consumers.values()];\n  return plan;\n}\n\n// ---- 2. Check access and limits before writing anything ----\nasync function checkPlan(plan: Plan) {\n  const auth = Buffer.from(`${process.env.RELAY_KEY}:${process.env.RELAY_SECRET}`).toString(\"base64\");\n  const res = await fetch(\"https://my.webhookrelay.com/v1/outbound/access\", { headers: { Authorization: `Basic ${auth}` } });\n  const access = await res.json();\n  if (!access.enabled) throw new Error(\"The Outbound Gateway needs a Basic, Business or Pro plan: upgrade at https://my.webhookrelay.com/account.\");\n  const limits = access.limits as { consumers: number; endpoints_per_consumer: number; event_types: number };\n\n  const haveConsumers = new Set((await relay.outbound.consumers.list()).map((c) => c.id));\n  const haveTypes = new Set((await relay.outbound.eventTypes.list()).map((e) => e.name));\n  const consumers = new Set([...haveConsumers, ...plan.consumers.map((c) => c.id)]).size;\n  const types = new Set([...haveTypes, ...plan.eventTypes.map((e) => e.name)]).size;\n\n  const problems: string[] = [];\n  if (consumers > limits.consumers) problems.push(`${consumers} consumers exceed the limit of ${limits.consumers}`);\n  if (types > limits.event_types) problems.push(`${types} event types exceed the limit of ${limits.event_types}`);\n  for (const et of plan.eventTypes) if (!ID.test(et.name)) problems.push(`event type \"${et.name}\" is not a valid name`);\n  for (const c of plan.consumers) {\n    if (!ID.test(c.id)) problems.push(`consumer \"${c.id}\" is not a valid ID: map it to your own customer ID`);\n    if (c.endpoints.length > limits.endpoints_per_consumer)\n      problems.push(`${c.id} has ${c.endpoints.length} endpoints, the limit is ${limits.endpoints_per_consumer}`);\n    for (const e of c.endpoints) {\n      if (!e.url.startsWith(\"https://\")) problems.push(`${c.id} ${e.url}: endpoints must be public HTTPS`);\n      if (e.eventTypes.length > 100) problems.push(`${c.id} ${e.url}: more than 100 event types`);\n    }\n  }\n  for (const w of plan.warnings) console.warn(`warning: ${w}`);\n  if (problems.length) {\n    console.error(`Not importing:\\n- ${problems.join(\"\\n- \")}`);\n    process.exit(1);\n  }\n}\n\n// ---- 3. Import into Webhook Relay ----\nconst state: Record\u003Cstring, string> = existsSync(STATE_FILE) ? JSON.parse(readFileSync(STATE_FILE, \"utf8\")) : {};\n\nasync function step\u003CT>(what: string, fn: () => Promise\u003CT>): Promise\u003CT> {\n  for (let attempt = 1; ; attempt++) {\n    try {\n      return await fn();\n    } catch (err) {\n      if (err instanceof WebhookRelayAPIError && err.status === 429 && attempt \u003C 5) {\n        await new Promise((r) => setTimeout(r, attempt * 2000));\n        continue;\n      }\n      console.error(`Stopped at ${what}: ${err instanceof Error ? err.message : String(err)}`);\n      console.error(`Progress is saved in ${STATE_FILE}. Fix the cause and run the script again.`);\n      process.exit(1);\n    }\n  }\n}\n\nasync function importPlan(plan: Plan) {\n  for (const et of plan.eventTypes) {\n    await step(`event type ${et.name}`, () =>\n      relay.outbound.eventTypes.upsert(et.name, { description: et.description, deprecated: et.deprecated }));\n  }\n  for (const c of plan.consumers) {\n    await step(`consumer ${c.id}`, () => relay.outbound.consumers.upsert(c.id, { name: c.name }));\n    for (const e of c.endpoints) {\n      if (state[e.sourceId]) continue; // imported on an earlier run\n      const { id, created } = await step(`endpoint ${c.id} ${e.url}`, async () => {\n        try {\n          const ep = await relay.outbound.endpoints.create(c.id, {\n            url: e.url, eventTypes: e.eventTypes, description: e.description, headers: e.headers, rate: e.rate,\n          });\n          return { id: ep.id, created: true }; // ep.secret is intentionally not logged or stored\n        } catch (err) {\n          if (err instanceof WebhookRelayAPIError && err.status === 409) {\n            const existing = (await relay.outbound.endpoints.list(c.id)).find((x) => x.url === e.url);\n            if (existing) return { id: existing.id, created: false }; // already there: leave its state alone\n          }\n          throw err;\n        }\n      });\n      if (created) await step(`pause ${id}`, () => relay.outbound.endpoints.pause(id));\n      state[e.sourceId] = id;\n      writeFileSync(STATE_FILE, JSON.stringify(state, null, 2));\n      console.log(`${c.id}: ${e.url} -> ${id} ${created ? \"(created, paused)\" : \"(already existed, unchanged)\"}${e.disabledAtSource ? \" [disabled at Hook0]\" : \"\"}`);\n    }\n  }\n}\n\nconst plan = await exportPlan();\nawait checkPlan(plan);\nconst endpoints = plan.consumers.reduce((n, c) => n + c.endpoints.length, 0);\nconsole.log(`Plan: ${plan.eventTypes.length} event types, ${plan.consumers.length} consumers, ${endpoints} endpoints.`);\nif (DRY_RUN) console.log(\"Dry run: nothing was written. Run again with DRY_RUN=false to import.\");\nelse await importPlan(plan);\n",[4170],{"type":375,"tag":389,"props":4171,"children":4172},{"__ignoreMap":345},[4173,4181,4189,4197,4222,4246,4253,4293,4325,4357,4396,4426,4471,4561,4568,4596,4603,4624,4697,4772,4780,4800,4869,4937,4959,4967,4975,4984,5054,5123,5167,5176,5278,5323,5331,5339,5381,5411,5488,5554,5611,5620,5629,5710,5742,5764,5846,5859,5867,5990,6079,6124,6207,6334,6388,6406,6415,6456,6489,6498,6517,6525,6562,6575,6583,6591,6600,6638,6745,6802,6835,6881,6962,6970,7044,7116,7188,7260,7268,7303,7368,7432,7527,7557,7624,7650,7733,7764,7854,7934,7942,7950,8007,8028,8104,8131,8139,8147,8155,8164,8285,8293,8394,8438,8450,8471,8488,8552,8610,8623,8632,8724,8758,8783,8791,8799,8807,8815,8852,8881,8929,8947,8955,8983,9041,9069,9095,9199,9212,9247,9256,9265,9293,9310,9352,9427,9465,9474,9488,9497,9506,9566,9584,9640,9758,9766,9774,9782,9790,9818,9835,9918,10003,10041],{"type":375,"tag":1141,"props":4174,"children":4175},{"class":1143,"line":1144},[4176],{"type":375,"tag":1141,"props":4177,"children":4178},{"style":1499},[4179],{"type":384,"value":4180},"// migrate-hook0.mts\n",{"type":375,"tag":1141,"props":4182,"children":4183},{"class":1143,"line":1176},[4184],{"type":375,"tag":1141,"props":4185,"children":4186},{"style":1499},[4187],{"type":384,"value":4188},"// Env: HOOK0_API_URL (default https://app.hook0.com/api/v1), HOOK0_TOKEN, HOOK0_APPLICATION_ID,\n",{"type":375,"tag":1141,"props":4190,"children":4191},{"class":1143,"line":1186},[4192],{"type":375,"tag":1141,"props":4193,"children":4194},{"style":1499},[4195],{"type":384,"value":4196},"//      HOOK0_CONSUMER_LABEL (e.g. tenant_id), RELAY_KEY, RELAY_SECRET (\"Outbound: manage\"), DRY_RUN=false to write.\n",{"type":375,"tag":1141,"props":4198,"children":4199},{"class":1143,"line":1260},[4200,4204,4209,4213,4218],{"type":375,"tag":1141,"props":4201,"children":4202},{"style":1148},[4203],{"type":384,"value":1151},{"type":375,"tag":1141,"props":4205,"children":4206},{"style":1154},[4207],{"type":384,"value":4208}," { existsSync, readFileSync, writeFileSync } ",{"type":375,"tag":1141,"props":4210,"children":4211},{"style":1148},[4212],{"type":384,"value":1162},{"type":375,"tag":1141,"props":4214,"children":4215},{"style":1165},[4216],{"type":384,"value":4217}," \"node:fs\"",{"type":375,"tag":1141,"props":4219,"children":4220},{"style":1154},[4221],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4223,"children":4224},{"class":1143,"line":1268},[4225,4229,4234,4238,4242],{"type":375,"tag":1141,"props":4226,"children":4227},{"style":1148},[4228],{"type":384,"value":1151},{"type":375,"tag":1141,"props":4230,"children":4231},{"style":1154},[4232],{"type":384,"value":4233}," { WebhookRelay, WebhookRelayAPIError } ",{"type":375,"tag":1141,"props":4235,"children":4236},{"style":1148},[4237],{"type":384,"value":1162},{"type":375,"tag":1141,"props":4239,"children":4240},{"style":1165},[4241],{"type":384,"value":1455},{"type":375,"tag":1141,"props":4243,"children":4244},{"style":1154},[4245],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4247,"children":4248},{"class":1143,"line":1291},[4249],{"type":375,"tag":1141,"props":4250,"children":4251},{"emptyLinePlaceholder":1180},[4252],{"type":384,"value":1183},{"type":375,"tag":1141,"props":4254,"children":4255},{"class":1143,"line":1309},[4256,4260,4265,4269,4274,4279,4284,4289],{"type":375,"tag":1141,"props":4257,"children":4258},{"style":1148},[4259],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4261,"children":4262},{"style":1195},[4263],{"type":384,"value":4264}," HOOK0_API",{"type":375,"tag":1141,"props":4266,"children":4267},{"style":1148},[4268],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4270,"children":4271},{"style":1154},[4272],{"type":384,"value":4273}," process.env.",{"type":375,"tag":1141,"props":4275,"children":4276},{"style":1195},[4277],{"type":384,"value":4278},"HOOK0_API_URL",{"type":375,"tag":1141,"props":4280,"children":4281},{"style":1148},[4282],{"type":384,"value":4283}," ??",{"type":375,"tag":1141,"props":4285,"children":4286},{"style":1165},[4287],{"type":384,"value":4288}," \"https://app.hook0.com/api/v1\"",{"type":375,"tag":1141,"props":4290,"children":4291},{"style":1154},[4292],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4294,"children":4295},{"class":1143,"line":1323},[4296,4300,4305,4309,4313,4317,4321],{"type":375,"tag":1141,"props":4297,"children":4298},{"style":1148},[4299],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4301,"children":4302},{"style":1195},[4303],{"type":384,"value":4304}," APP",{"type":375,"tag":1141,"props":4306,"children":4307},{"style":1148},[4308],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4310,"children":4311},{"style":1154},[4312],{"type":384,"value":4273},{"type":375,"tag":1141,"props":4314,"children":4315},{"style":1195},[4316],{"type":384,"value":1234},{"type":375,"tag":1141,"props":4318,"children":4319},{"style":1148},[4320],{"type":384,"value":1239},{"type":375,"tag":1141,"props":4322,"children":4323},{"style":1154},[4324],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4326,"children":4327},{"class":1143,"line":1366},[4328,4332,4337,4341,4345,4349,4353],{"type":375,"tag":1141,"props":4329,"children":4330},{"style":1148},[4331],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4333,"children":4334},{"style":1195},[4335],{"type":384,"value":4336}," LABEL",{"type":375,"tag":1141,"props":4338,"children":4339},{"style":1148},[4340],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4342,"children":4343},{"style":1154},[4344],{"type":384,"value":4273},{"type":375,"tag":1141,"props":4346,"children":4347},{"style":1195},[4348],{"type":384,"value":4153},{"type":375,"tag":1141,"props":4350,"children":4351},{"style":1148},[4352],{"type":384,"value":1239},{"type":375,"tag":1141,"props":4354,"children":4355},{"style":1154},[4356],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4358,"children":4359},{"class":1143,"line":1379},[4360,4364,4369,4373,4377,4382,4387,4392],{"type":375,"tag":1141,"props":4361,"children":4362},{"style":1148},[4363],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4365,"children":4366},{"style":1195},[4367],{"type":384,"value":4368}," DRY_RUN",{"type":375,"tag":1141,"props":4370,"children":4371},{"style":1148},[4372],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4374,"children":4375},{"style":1154},[4376],{"type":384,"value":4273},{"type":375,"tag":1141,"props":4378,"children":4379},{"style":1195},[4380],{"type":384,"value":4381},"DRY_RUN",{"type":375,"tag":1141,"props":4383,"children":4384},{"style":1148},[4385],{"type":384,"value":4386}," !==",{"type":375,"tag":1141,"props":4388,"children":4389},{"style":1165},[4390],{"type":384,"value":4391}," \"false\"",{"type":375,"tag":1141,"props":4393,"children":4394},{"style":1154},[4395],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4397,"children":4398},{"class":1143,"line":1398},[4399,4403,4408,4412,4417,4421],{"type":375,"tag":1141,"props":4400,"children":4401},{"style":1148},[4402],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4404,"children":4405},{"style":1195},[4406],{"type":384,"value":4407}," STATE_FILE",{"type":375,"tag":1141,"props":4409,"children":4410},{"style":1148},[4411],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4413,"children":4414},{"style":1165},[4415],{"type":384,"value":4416}," \"migration-state.json\"",{"type":375,"tag":1141,"props":4418,"children":4419},{"style":1154},[4420],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4422,"children":4423},{"style":1499},[4424],{"type":384,"value":4425},"// source subscription ID -> Webhook Relay endpoint ID. Never secrets.\n",{"type":375,"tag":1141,"props":4427,"children":4428},{"class":1143,"line":1407},[4429,4433,4438,4442,4447,4452,4457,4462,4467],{"type":375,"tag":1141,"props":4430,"children":4431},{"style":1148},[4432],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4434,"children":4435},{"style":1195},[4436],{"type":384,"value":4437}," ID",{"type":375,"tag":1141,"props":4439,"children":4440},{"style":1148},[4441],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4443,"children":4444},{"style":1165},[4445],{"type":384,"value":4446}," /",{"type":375,"tag":1141,"props":4448,"children":4449},{"style":1148},[4450],{"type":384,"value":4451},"^",{"type":375,"tag":1141,"props":4453,"children":4454},{"style":1195},[4455],{"type":384,"value":4456},"[a-zA-Z0-9][a-zA-Z0-9_.:-]",{"type":375,"tag":1141,"props":4458,"children":4459},{"style":1148},[4460],{"type":384,"value":4461},"{0,127}$",{"type":375,"tag":1141,"props":4463,"children":4464},{"style":1165},[4465],{"type":384,"value":4466},"/",{"type":375,"tag":1141,"props":4468,"children":4469},{"style":1154},[4470],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4472,"children":4473},{"class":1143,"line":2033},[4474,4478,4483,4487,4491,4495,4501,4506,4511,4516,4521,4525,4530,4534,4539,4544,4548,4552,4557],{"type":375,"tag":1141,"props":4475,"children":4476},{"style":1148},[4477],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4479,"children":4480},{"style":1195},[4481],{"type":384,"value":4482}," RESERVED",{"type":375,"tag":1141,"props":4484,"children":4485},{"style":1148},[4486],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4488,"children":4489},{"style":1165},[4490],{"type":384,"value":4446},{"type":375,"tag":1141,"props":4492,"children":4493},{"style":1148},[4494],{"type":384,"value":4451},{"type":375,"tag":1141,"props":4496,"children":4498},{"style":4497},"--shiki-default:#DBEDFF",[4499],{"type":384,"value":4500},"(webhook-",{"type":375,"tag":1141,"props":4502,"children":4503},{"style":1148},[4504],{"type":384,"value":4505},"|",{"type":375,"tag":1141,"props":4507,"children":4508},{"style":4497},[4509],{"type":384,"value":4510},"host",{"type":375,"tag":1141,"props":4512,"children":4513},{"style":1148},[4514],{"type":384,"value":4515},"$|",{"type":375,"tag":1141,"props":4517,"children":4518},{"style":4497},[4519],{"type":384,"value":4520},"content-length",{"type":375,"tag":1141,"props":4522,"children":4523},{"style":1148},[4524],{"type":384,"value":4515},{"type":375,"tag":1141,"props":4526,"children":4527},{"style":4497},[4528],{"type":384,"value":4529},"transfer-encoding",{"type":375,"tag":1141,"props":4531,"children":4532},{"style":1148},[4533],{"type":384,"value":4515},{"type":375,"tag":1141,"props":4535,"children":4536},{"style":4497},[4537],{"type":384,"value":4538},"connection",{"type":375,"tag":1141,"props":4540,"children":4541},{"style":1148},[4542],{"type":384,"value":4543},"$",{"type":375,"tag":1141,"props":4545,"children":4546},{"style":4497},[4547],{"type":384,"value":555},{"type":375,"tag":1141,"props":4549,"children":4550},{"style":1165},[4551],{"type":384,"value":4466},{"type":375,"tag":1141,"props":4553,"children":4554},{"style":1148},[4555],{"type":384,"value":4556},"i",{"type":375,"tag":1141,"props":4558,"children":4559},{"style":1154},[4560],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4562,"children":4563},{"class":1143,"line":2061},[4564],{"type":375,"tag":1141,"props":4565,"children":4566},{"emptyLinePlaceholder":1180},[4567],{"type":384,"value":1183},{"type":375,"tag":1141,"props":4569,"children":4570},{"class":1143,"line":2069},[4571,4575,4579,4583,4587,4591],{"type":375,"tag":1141,"props":4572,"children":4573},{"style":1148},[4574],{"type":384,"value":1192},{"type":375,"tag":1141,"props":4576,"children":4577},{"style":1195},[4578],{"type":384,"value":1478},{"type":375,"tag":1141,"props":4580,"children":4581},{"style":1148},[4582],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4584,"children":4585},{"style":1148},[4586],{"type":384,"value":1208},{"type":375,"tag":1141,"props":4588,"children":4589},{"style":1211},[4590],{"type":384,"value":1491},{"type":375,"tag":1141,"props":4592,"children":4593},{"style":1154},[4594],{"type":384,"value":4595},"();\n",{"type":375,"tag":1141,"props":4597,"children":4598},{"class":1143,"line":2078},[4599],{"type":375,"tag":1141,"props":4600,"children":4601},{"emptyLinePlaceholder":1180},[4602],{"type":384,"value":1183},{"type":375,"tag":1141,"props":4604,"children":4605},{"class":1143,"line":2128},[4606,4611,4616,4620],{"type":375,"tag":1141,"props":4607,"children":4608},{"style":1148},[4609],{"type":384,"value":4610},"type",{"type":375,"tag":1141,"props":4612,"children":4613},{"style":1211},[4614],{"type":384,"value":4615}," PlanEndpoint",{"type":375,"tag":1141,"props":4617,"children":4618},{"style":1148},[4619],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4621,"children":4622},{"style":1154},[4623],{"type":384,"value":3388},{"type":375,"tag":1141,"props":4625,"children":4626},{"class":1143,"line":2145},[4627,4632,4636,4641,4645,4649,4653,4657,4661,4666,4670,4674,4679,4684,4689,4693],{"type":375,"tag":1141,"props":4628,"children":4629},{"style":3281},[4630],{"type":384,"value":4631},"  sourceId",{"type":375,"tag":1141,"props":4633,"children":4634},{"style":1148},[4635],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4637,"children":4638},{"style":1195},[4639],{"type":384,"value":4640}," string",{"type":375,"tag":1141,"props":4642,"children":4643},{"style":1154},[4644],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4646,"children":4647},{"style":3281},[4648],{"type":384,"value":3975},{"type":375,"tag":1141,"props":4650,"children":4651},{"style":1148},[4652],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4654,"children":4655},{"style":1195},[4656],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4658,"children":4659},{"style":1154},[4660],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4662,"children":4663},{"style":3281},[4664],{"type":384,"value":4665},"eventTypes",{"type":375,"tag":1141,"props":4667,"children":4668},{"style":1148},[4669],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4671,"children":4672},{"style":1195},[4673],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4675,"children":4676},{"style":1154},[4677],{"type":384,"value":4678},"[]; ",{"type":375,"tag":1141,"props":4680,"children":4681},{"style":3281},[4682],{"type":384,"value":4683},"description",{"type":375,"tag":1141,"props":4685,"children":4686},{"style":1148},[4687],{"type":384,"value":4688},"?:",{"type":375,"tag":1141,"props":4690,"children":4691},{"style":1195},[4692],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4694,"children":4695},{"style":1154},[4696],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4698,"children":4699},{"class":1143,"line":2162},[4700,4705,4709,4714,4719,4723,4727,4731,4736,4741,4745,4750,4754,4759,4763,4768],{"type":375,"tag":1141,"props":4701,"children":4702},{"style":3281},[4703],{"type":384,"value":4704},"  headers",{"type":375,"tag":1141,"props":4706,"children":4707},{"style":1148},[4708],{"type":384,"value":4688},{"type":375,"tag":1141,"props":4710,"children":4711},{"style":1211},[4712],{"type":384,"value":4713}," Record",{"type":375,"tag":1141,"props":4715,"children":4716},{"style":1154},[4717],{"type":384,"value":4718},"\u003C",{"type":375,"tag":1141,"props":4720,"children":4721},{"style":1195},[4722],{"type":384,"value":1672},{"type":375,"tag":1141,"props":4724,"children":4725},{"style":1154},[4726],{"type":384,"value":1964},{"type":375,"tag":1141,"props":4728,"children":4729},{"style":1195},[4730],{"type":384,"value":1672},{"type":375,"tag":1141,"props":4732,"children":4733},{"style":1154},[4734],{"type":384,"value":4735},">; ",{"type":375,"tag":1141,"props":4737,"children":4738},{"style":3281},[4739],{"type":384,"value":4740},"rate",{"type":375,"tag":1141,"props":4742,"children":4743},{"style":1148},[4744],{"type":384,"value":4688},{"type":375,"tag":1141,"props":4746,"children":4747},{"style":1195},[4748],{"type":384,"value":4749}," number",{"type":375,"tag":1141,"props":4751,"children":4752},{"style":1154},[4753],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4755,"children":4756},{"style":3281},[4757],{"type":384,"value":4758},"disabledAtSource",{"type":375,"tag":1141,"props":4760,"children":4761},{"style":1148},[4762],{"type":384,"value":4688},{"type":375,"tag":1141,"props":4764,"children":4765},{"style":1195},[4766],{"type":384,"value":4767}," boolean",{"type":375,"tag":1141,"props":4769,"children":4770},{"style":1154},[4771],{"type":384,"value":1173},{"type":375,"tag":1141,"props":4773,"children":4774},{"class":1143,"line":2231},[4775],{"type":375,"tag":1141,"props":4776,"children":4777},{"style":1154},[4778],{"type":384,"value":4779},"};\n",{"type":375,"tag":1141,"props":4781,"children":4782},{"class":1143,"line":2248},[4783,4787,4792,4796],{"type":375,"tag":1141,"props":4784,"children":4785},{"style":1148},[4786],{"type":384,"value":4610},{"type":375,"tag":1141,"props":4788,"children":4789},{"style":1211},[4790],{"type":384,"value":4791}," Plan",{"type":375,"tag":1141,"props":4793,"children":4794},{"style":1148},[4795],{"type":384,"value":1203},{"type":375,"tag":1141,"props":4797,"children":4798},{"style":1154},[4799],{"type":384,"value":3388},{"type":375,"tag":1141,"props":4801,"children":4803},{"class":1143,"line":4802},22,[4804,4809,4813,4818,4823,4827,4831,4835,4839,4843,4847,4851,4856,4860,4864],{"type":375,"tag":1141,"props":4805,"children":4806},{"style":3281},[4807],{"type":384,"value":4808},"  eventTypes",{"type":375,"tag":1141,"props":4810,"children":4811},{"style":1148},[4812],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4814,"children":4815},{"style":1154},[4816],{"type":384,"value":4817}," { ",{"type":375,"tag":1141,"props":4819,"children":4820},{"style":3281},[4821],{"type":384,"value":4822},"name",{"type":375,"tag":1141,"props":4824,"children":4825},{"style":1148},[4826],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4828,"children":4829},{"style":1195},[4830],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4832,"children":4833},{"style":1154},[4834],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4836,"children":4837},{"style":3281},[4838],{"type":384,"value":4683},{"type":375,"tag":1141,"props":4840,"children":4841},{"style":1148},[4842],{"type":384,"value":4688},{"type":375,"tag":1141,"props":4844,"children":4845},{"style":1195},[4846],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4848,"children":4849},{"style":1154},[4850],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4852,"children":4853},{"style":3281},[4854],{"type":384,"value":4855},"deprecated",{"type":375,"tag":1141,"props":4857,"children":4858},{"style":1148},[4859],{"type":384,"value":4688},{"type":375,"tag":1141,"props":4861,"children":4862},{"style":1195},[4863],{"type":384,"value":4767},{"type":375,"tag":1141,"props":4865,"children":4866},{"style":1154},[4867],{"type":384,"value":4868}," }[];\n",{"type":375,"tag":1141,"props":4870,"children":4872},{"class":1143,"line":4871},23,[4873,4878,4882,4886,4891,4895,4899,4903,4907,4911,4915,4919,4924,4928,4932],{"type":375,"tag":1141,"props":4874,"children":4875},{"style":3281},[4876],{"type":384,"value":4877},"  consumers",{"type":375,"tag":1141,"props":4879,"children":4880},{"style":1148},[4881],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4883,"children":4884},{"style":1154},[4885],{"type":384,"value":4817},{"type":375,"tag":1141,"props":4887,"children":4888},{"style":3281},[4889],{"type":384,"value":4890},"id",{"type":375,"tag":1141,"props":4892,"children":4893},{"style":1148},[4894],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4896,"children":4897},{"style":1195},[4898],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4900,"children":4901},{"style":1154},[4902],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4904,"children":4905},{"style":3281},[4906],{"type":384,"value":4822},{"type":375,"tag":1141,"props":4908,"children":4909},{"style":1148},[4910],{"type":384,"value":4688},{"type":375,"tag":1141,"props":4912,"children":4913},{"style":1195},[4914],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4916,"children":4917},{"style":1154},[4918],{"type":384,"value":3244},{"type":375,"tag":1141,"props":4920,"children":4921},{"style":3281},[4922],{"type":384,"value":4923},"endpoints",{"type":375,"tag":1141,"props":4925,"children":4926},{"style":1148},[4927],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4929,"children":4930},{"style":1211},[4931],{"type":384,"value":4615},{"type":375,"tag":1141,"props":4933,"children":4934},{"style":1154},[4935],{"type":384,"value":4936},"[] }[];\n",{"type":375,"tag":1141,"props":4938,"children":4940},{"class":1143,"line":4939},24,[4941,4946,4950,4954],{"type":375,"tag":1141,"props":4942,"children":4943},{"style":3281},[4944],{"type":384,"value":4945},"  warnings",{"type":375,"tag":1141,"props":4947,"children":4948},{"style":1148},[4949],{"type":384,"value":1125},{"type":375,"tag":1141,"props":4951,"children":4952},{"style":1195},[4953],{"type":384,"value":4640},{"type":375,"tag":1141,"props":4955,"children":4956},{"style":1154},[4957],{"type":384,"value":4958},"[];\n",{"type":375,"tag":1141,"props":4960,"children":4962},{"class":1143,"line":4961},25,[4963],{"type":375,"tag":1141,"props":4964,"children":4965},{"style":1154},[4966],{"type":384,"value":4779},{"type":375,"tag":1141,"props":4968,"children":4970},{"class":1143,"line":4969},26,[4971],{"type":375,"tag":1141,"props":4972,"children":4973},{"emptyLinePlaceholder":1180},[4974],{"type":384,"value":1183},{"type":375,"tag":1141,"props":4976,"children":4978},{"class":1143,"line":4977},27,[4979],{"type":375,"tag":1141,"props":4980,"children":4981},{"style":1499},[4982],{"type":384,"value":4983},"// ---- 1. Export from Hook0 (read-only) ----\n",{"type":375,"tag":1141,"props":4985,"children":4987},{"class":1143,"line":4986},28,[4988,4993,4997,5001,5005,5010,5015,5020,5024,5028,5032,5036,5041,5045,5049],{"type":375,"tag":1141,"props":4989,"children":4990},{"style":1148},[4991],{"type":384,"value":4992},"async",{"type":375,"tag":1141,"props":4994,"children":4995},{"style":1148},[4996],{"type":384,"value":3269},{"type":375,"tag":1141,"props":4998,"children":4999},{"style":1211},[5000],{"type":384,"value":1198},{"type":375,"tag":1141,"props":5002,"children":5003},{"style":1154},[5004],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5006,"children":5007},{"style":1211},[5008],{"type":384,"value":5009},"T",{"type":375,"tag":1141,"props":5011,"children":5012},{"style":1154},[5013],{"type":384,"value":5014},">(",{"type":375,"tag":1141,"props":5016,"children":5017},{"style":3281},[5018],{"type":384,"value":5019},"path",{"type":375,"tag":1141,"props":5021,"children":5022},{"style":1148},[5023],{"type":384,"value":1125},{"type":375,"tag":1141,"props":5025,"children":5026},{"style":1195},[5027],{"type":384,"value":4640},{"type":375,"tag":1141,"props":5029,"children":5030},{"style":1154},[5031],{"type":384,"value":555},{"type":375,"tag":1141,"props":5033,"children":5034},{"style":1148},[5035],{"type":384,"value":1125},{"type":375,"tag":1141,"props":5037,"children":5038},{"style":1211},[5039],{"type":384,"value":5040}," Promise",{"type":375,"tag":1141,"props":5042,"children":5043},{"style":1154},[5044],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5046,"children":5047},{"style":1211},[5048],{"type":384,"value":5009},{"type":375,"tag":1141,"props":5050,"children":5051},{"style":1154},[5052],{"type":384,"value":5053},"> {\n",{"type":375,"tag":1141,"props":5055,"children":5057},{"class":1143,"line":5056},29,[5058,5063,5068,5072,5076,5081,5085,5090,5095,5100,5104,5109,5114,5119],{"type":375,"tag":1141,"props":5059,"children":5060},{"style":1148},[5061],{"type":384,"value":5062},"  const",{"type":375,"tag":1141,"props":5064,"children":5065},{"style":1195},[5066],{"type":384,"value":5067}," res",{"type":375,"tag":1141,"props":5069,"children":5070},{"style":1148},[5071],{"type":384,"value":1203},{"type":375,"tag":1141,"props":5073,"children":5074},{"style":1148},[5075],{"type":384,"value":2795},{"type":375,"tag":1141,"props":5077,"children":5078},{"style":1211},[5079],{"type":384,"value":5080}," fetch",{"type":375,"tag":1141,"props":5082,"children":5083},{"style":1154},[5084],{"type":384,"value":1219},{"type":375,"tag":1141,"props":5086,"children":5087},{"style":1165},[5088],{"type":384,"value":5089},"`${",{"type":375,"tag":1141,"props":5091,"children":5092},{"style":1195},[5093],{"type":384,"value":5094},"HOOK0_API",{"type":375,"tag":1141,"props":5096,"children":5097},{"style":1165},[5098],{"type":384,"value":5099},"}${",{"type":375,"tag":1141,"props":5101,"children":5102},{"style":1154},[5103],{"type":384,"value":5019},{"type":375,"tag":1141,"props":5105,"children":5106},{"style":1165},[5107],{"type":384,"value":5108},"}?application_id=${",{"type":375,"tag":1141,"props":5110,"children":5111},{"style":1195},[5112],{"type":384,"value":5113},"APP",{"type":375,"tag":1141,"props":5115,"children":5116},{"style":1165},[5117],{"type":384,"value":5118},"}`",{"type":375,"tag":1141,"props":5120,"children":5121},{"style":1154},[5122],{"type":384,"value":2818},{"type":375,"tag":1141,"props":5124,"children":5126},{"class":1143,"line":5125},30,[5127,5132,5137,5142,5146,5151,5155,5159,5163],{"type":375,"tag":1141,"props":5128,"children":5129},{"style":1154},[5130],{"type":384,"value":5131},"    headers: { Authorization: ",{"type":375,"tag":1141,"props":5133,"children":5134},{"style":1165},[5135],{"type":384,"value":5136},"`Bearer ${",{"type":375,"tag":1141,"props":5138,"children":5139},{"style":1154},[5140],{"type":384,"value":5141},"process",{"type":375,"tag":1141,"props":5143,"children":5144},{"style":1165},[5145],{"type":384,"value":465},{"type":375,"tag":1141,"props":5147,"children":5148},{"style":1154},[5149],{"type":384,"value":5150},"env",{"type":375,"tag":1141,"props":5152,"children":5153},{"style":1165},[5154],{"type":384,"value":465},{"type":375,"tag":1141,"props":5156,"children":5157},{"style":1195},[5158],{"type":384,"value":1248},{"type":375,"tag":1141,"props":5160,"children":5161},{"style":1165},[5162],{"type":384,"value":5118},{"type":375,"tag":1141,"props":5164,"children":5165},{"style":1154},[5166],{"type":384,"value":1395},{"type":375,"tag":1141,"props":5168,"children":5170},{"class":1143,"line":5169},31,[5171],{"type":375,"tag":1141,"props":5172,"children":5173},{"style":1154},[5174],{"type":384,"value":5175},"  });\n",{"type":375,"tag":1141,"props":5177,"children":5179},{"class":1143,"line":5178},32,[5180,5184,5189,5193,5198,5203,5207,5212,5216,5221,5225,5230,5235,5239,5244,5249,5253,5257,5261,5265,5270,5274],{"type":375,"tag":1141,"props":5181,"children":5182},{"style":1148},[5183],{"type":384,"value":3305},{"type":375,"tag":1141,"props":5185,"children":5186},{"style":1154},[5187],{"type":384,"value":5188}," (",{"type":375,"tag":1141,"props":5190,"children":5191},{"style":1148},[5192],{"type":384,"value":1239},{"type":375,"tag":1141,"props":5194,"children":5195},{"style":1154},[5196],{"type":384,"value":5197},"res.ok) ",{"type":375,"tag":1141,"props":5199,"children":5200},{"style":1148},[5201],{"type":384,"value":5202},"throw",{"type":375,"tag":1141,"props":5204,"children":5205},{"style":1148},[5206],{"type":384,"value":1208},{"type":375,"tag":1141,"props":5208,"children":5209},{"style":1211},[5210],{"type":384,"value":5211}," Error",{"type":375,"tag":1141,"props":5213,"children":5214},{"style":1154},[5215],{"type":384,"value":1219},{"type":375,"tag":1141,"props":5217,"children":5218},{"style":1165},[5219],{"type":384,"value":5220},"`Hook0 GET ${",{"type":375,"tag":1141,"props":5222,"children":5223},{"style":1154},[5224],{"type":384,"value":5019},{"type":375,"tag":1141,"props":5226,"children":5227},{"style":1165},[5228],{"type":384,"value":5229},"}: ${",{"type":375,"tag":1141,"props":5231,"children":5232},{"style":1154},[5233],{"type":384,"value":5234},"res",{"type":375,"tag":1141,"props":5236,"children":5237},{"style":1165},[5238],{"type":384,"value":465},{"type":375,"tag":1141,"props":5240,"children":5241},{"style":1154},[5242],{"type":384,"value":5243},"status",{"type":375,"tag":1141,"props":5245,"children":5246},{"style":1165},[5247],{"type":384,"value":5248},"} ${",{"type":375,"tag":1141,"props":5250,"children":5251},{"style":1148},[5252],{"type":384,"value":1274},{"type":375,"tag":1141,"props":5254,"children":5255},{"style":1154},[5256],{"type":384,"value":5067},{"type":375,"tag":1141,"props":5258,"children":5259},{"style":1165},[5260],{"type":384,"value":465},{"type":375,"tag":1141,"props":5262,"children":5263},{"style":1211},[5264],{"type":384,"value":384},{"type":375,"tag":1141,"props":5266,"children":5267},{"style":1165},[5268],{"type":384,"value":5269},"()",{"type":375,"tag":1141,"props":5271,"children":5272},{"style":1165},[5273],{"type":384,"value":5118},{"type":375,"tag":1141,"props":5275,"children":5276},{"style":1154},[5277],{"type":384,"value":1257},{"type":375,"tag":1141,"props":5279,"children":5281},{"class":1143,"line":5280},33,[5282,5286,5291,5296,5301,5306,5310,5314,5318],{"type":375,"tag":1141,"props":5283,"children":5284},{"style":1148},[5285],{"type":384,"value":3512},{"type":375,"tag":1141,"props":5287,"children":5288},{"style":1154},[5289],{"type":384,"value":5290}," res.",{"type":375,"tag":1141,"props":5292,"children":5293},{"style":1211},[5294],{"type":384,"value":5295},"json",{"type":375,"tag":1141,"props":5297,"children":5298},{"style":1154},[5299],{"type":384,"value":5300},"() ",{"type":375,"tag":1141,"props":5302,"children":5303},{"style":1148},[5304],{"type":384,"value":5305},"as",{"type":375,"tag":1141,"props":5307,"children":5308},{"style":1211},[5309],{"type":384,"value":5040},{"type":375,"tag":1141,"props":5311,"children":5312},{"style":1154},[5313],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5315,"children":5316},{"style":1211},[5317],{"type":384,"value":5009},{"type":375,"tag":1141,"props":5319,"children":5320},{"style":1154},[5321],{"type":384,"value":5322},">;\n",{"type":375,"tag":1141,"props":5324,"children":5326},{"class":1143,"line":5325},34,[5327],{"type":375,"tag":1141,"props":5328,"children":5329},{"style":1154},[5330],{"type":384,"value":3528},{"type":375,"tag":1141,"props":5332,"children":5334},{"class":1143,"line":5333},35,[5335],{"type":375,"tag":1141,"props":5336,"children":5337},{"emptyLinePlaceholder":1180},[5338],{"type":384,"value":1183},{"type":375,"tag":1141,"props":5340,"children":5342},{"class":1143,"line":5341},36,[5343,5347,5351,5356,5360,5364,5368,5372,5377],{"type":375,"tag":1141,"props":5344,"children":5345},{"style":1148},[5346],{"type":384,"value":4992},{"type":375,"tag":1141,"props":5348,"children":5349},{"style":1148},[5350],{"type":384,"value":3269},{"type":375,"tag":1141,"props":5352,"children":5353},{"style":1211},[5354],{"type":384,"value":5355}," exportPlan",{"type":375,"tag":1141,"props":5357,"children":5358},{"style":1154},[5359],{"type":384,"value":5269},{"type":375,"tag":1141,"props":5361,"children":5362},{"style":1148},[5363],{"type":384,"value":1125},{"type":375,"tag":1141,"props":5365,"children":5366},{"style":1211},[5367],{"type":384,"value":5040},{"type":375,"tag":1141,"props":5369,"children":5370},{"style":1154},[5371],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5373,"children":5374},{"style":1211},[5375],{"type":384,"value":5376},"Plan",{"type":375,"tag":1141,"props":5378,"children":5379},{"style":1154},[5380],{"type":384,"value":5053},{"type":375,"tag":1141,"props":5382,"children":5384},{"class":1143,"line":5383},37,[5385,5389,5394,5398,5402,5406],{"type":375,"tag":1141,"props":5386,"children":5387},{"style":1148},[5388],{"type":384,"value":5062},{"type":375,"tag":1141,"props":5390,"children":5391},{"style":1195},[5392],{"type":384,"value":5393}," plan",{"type":375,"tag":1141,"props":5395,"children":5396},{"style":1148},[5397],{"type":384,"value":1125},{"type":375,"tag":1141,"props":5399,"children":5400},{"style":1211},[5401],{"type":384,"value":4791},{"type":375,"tag":1141,"props":5403,"children":5404},{"style":1148},[5405],{"type":384,"value":1203},{"type":375,"tag":1141,"props":5407,"children":5408},{"style":1154},[5409],{"type":384,"value":5410}," { eventTypes: [], consumers: [], warnings: [] };\n",{"type":375,"tag":1141,"props":5412,"children":5414},{"class":1143,"line":5413},38,[5415,5420,5424,5428,5432,5436,5440,5444,5449,5454,5459,5463,5468,5473,5478,5483],{"type":375,"tag":1141,"props":5416,"children":5417},{"style":1154},[5418],{"type":384,"value":5419},"  plan.eventTypes ",{"type":375,"tag":1141,"props":5421,"children":5422},{"style":1148},[5423],{"type":384,"value":2088},{"type":375,"tag":1141,"props":5425,"children":5426},{"style":1154},[5427],{"type":384,"value":5188},{"type":375,"tag":1141,"props":5429,"children":5430},{"style":1148},[5431],{"type":384,"value":1274},{"type":375,"tag":1141,"props":5433,"children":5434},{"style":1211},[5435],{"type":384,"value":1198},{"type":375,"tag":1141,"props":5437,"children":5438},{"style":1154},[5439],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5441,"children":5442},{"style":1195},[5443],{"type":384,"value":1682},{"type":375,"tag":1141,"props":5445,"children":5446},{"style":1154},[5447],{"type":384,"value":5448},"[]>(",{"type":375,"tag":1141,"props":5450,"children":5451},{"style":1165},[5452],{"type":384,"value":5453},"\"/event_types/\"",{"type":375,"tag":1141,"props":5455,"children":5456},{"style":1154},[5457],{"type":384,"value":5458},")).",{"type":375,"tag":1141,"props":5460,"children":5461},{"style":1211},[5462],{"type":384,"value":1662},{"type":375,"tag":1141,"props":5464,"children":5465},{"style":1154},[5466],{"type":384,"value":5467},"((",{"type":375,"tag":1141,"props":5469,"children":5470},{"style":3281},[5471],{"type":384,"value":5472},"et",{"type":375,"tag":1141,"props":5474,"children":5475},{"style":1154},[5476],{"type":384,"value":5477},") ",{"type":375,"tag":1141,"props":5479,"children":5480},{"style":1148},[5481],{"type":384,"value":5482},"=>",{"type":375,"tag":1141,"props":5484,"children":5485},{"style":1154},[5486],{"type":384,"value":5487}," ({ name: et.event_type_name }));\n",{"type":375,"tag":1141,"props":5489,"children":5491},{"class":1143,"line":5490},39,[5492,5496,5501,5505,5509,5514,5518,5522,5526,5530,5534,5539,5544,5549],{"type":375,"tag":1141,"props":5493,"children":5494},{"style":1148},[5495],{"type":384,"value":5062},{"type":375,"tag":1141,"props":5497,"children":5498},{"style":1195},[5499],{"type":384,"value":5500}," consumers",{"type":375,"tag":1141,"props":5502,"children":5503},{"style":1148},[5504],{"type":384,"value":1203},{"type":375,"tag":1141,"props":5506,"children":5507},{"style":1148},[5508],{"type":384,"value":1208},{"type":375,"tag":1141,"props":5510,"children":5511},{"style":1211},[5512],{"type":384,"value":5513}," Map",{"type":375,"tag":1141,"props":5515,"children":5516},{"style":1154},[5517],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5519,"children":5520},{"style":1195},[5521],{"type":384,"value":1672},{"type":375,"tag":1141,"props":5523,"children":5524},{"style":1154},[5525],{"type":384,"value":1964},{"type":375,"tag":1141,"props":5527,"children":5528},{"style":1211},[5529],{"type":384,"value":5376},{"type":375,"tag":1141,"props":5531,"children":5532},{"style":1154},[5533],{"type":384,"value":1667},{"type":375,"tag":1141,"props":5535,"children":5536},{"style":1165},[5537],{"type":384,"value":5538},"\"consumers\"",{"type":375,"tag":1141,"props":5540,"children":5541},{"style":1154},[5542],{"type":384,"value":5543},"][",{"type":375,"tag":1141,"props":5545,"children":5546},{"style":1195},[5547],{"type":384,"value":5548},"number",{"type":375,"tag":1141,"props":5550,"children":5551},{"style":1154},[5552],{"type":384,"value":5553},"]>();\n",{"type":375,"tag":1141,"props":5555,"children":5557},{"class":1143,"line":5556},40,[5558,5563,5567,5571,5576,5581,5585,5589,5593,5597,5601,5606],{"type":375,"tag":1141,"props":5559,"children":5560},{"style":1148},[5561],{"type":384,"value":5562},"  for",{"type":375,"tag":1141,"props":5564,"children":5565},{"style":1154},[5566],{"type":384,"value":5188},{"type":375,"tag":1141,"props":5568,"children":5569},{"style":1148},[5570],{"type":384,"value":1192},{"type":375,"tag":1141,"props":5572,"children":5573},{"style":1195},[5574],{"type":384,"value":5575}," sub",{"type":375,"tag":1141,"props":5577,"children":5578},{"style":1148},[5579],{"type":384,"value":5580}," of",{"type":375,"tag":1141,"props":5582,"children":5583},{"style":1148},[5584],{"type":384,"value":2795},{"type":375,"tag":1141,"props":5586,"children":5587},{"style":1211},[5588],{"type":384,"value":1198},{"type":375,"tag":1141,"props":5590,"children":5591},{"style":1154},[5592],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5594,"children":5595},{"style":1195},[5596],{"type":384,"value":1682},{"type":375,"tag":1141,"props":5598,"children":5599},{"style":1154},[5600],{"type":384,"value":5448},{"type":375,"tag":1141,"props":5602,"children":5603},{"style":1165},[5604],{"type":384,"value":5605},"\"/subscriptions/\"",{"type":375,"tag":1141,"props":5607,"children":5608},{"style":1154},[5609],{"type":384,"value":5610},")) {\n",{"type":375,"tag":1141,"props":5612,"children":5614},{"class":1143,"line":5613},41,[5615],{"type":375,"tag":1141,"props":5616,"children":5617},{"style":1499},[5618],{"type":384,"value":5619},"    // sub.secret is deliberately ignored: Hook0 secrets are UUIDs, which don't fit the\n",{"type":375,"tag":1141,"props":5621,"children":5623},{"class":1143,"line":5622},42,[5624],{"type":375,"tag":1141,"props":5625,"children":5626},{"style":1499},[5627],{"type":384,"value":5628},"    // Standard Webhooks secret format, so Webhook Relay generates a new whsec_ secret.\n",{"type":375,"tag":1141,"props":5630,"children":5632},{"class":1143,"line":5631},43,[5633,5638,5643,5647,5651,5655,5659,5663,5667,5672,5676,5681,5686,5691,5696,5701,5705],{"type":375,"tag":1141,"props":5634,"children":5635},{"style":1148},[5636],{"type":384,"value":5637},"    const",{"type":375,"tag":1141,"props":5639,"children":5640},{"style":1195},[5641],{"type":384,"value":5642}," labels",{"type":375,"tag":1141,"props":5644,"children":5645},{"style":1148},[5646],{"type":384,"value":1125},{"type":375,"tag":1141,"props":5648,"children":5649},{"style":1211},[5650],{"type":384,"value":4713},{"type":375,"tag":1141,"props":5652,"children":5653},{"style":1154},[5654],{"type":384,"value":4718},{"type":375,"tag":1141,"props":5656,"children":5657},{"style":1195},[5658],{"type":384,"value":1672},{"type":375,"tag":1141,"props":5660,"children":5661},{"style":1154},[5662],{"type":384,"value":1964},{"type":375,"tag":1141,"props":5664,"children":5665},{"style":1195},[5666],{"type":384,"value":1672},{"type":375,"tag":1141,"props":5668,"children":5669},{"style":1154},[5670],{"type":384,"value":5671},"> ",{"type":375,"tag":1141,"props":5673,"children":5674},{"style":1148},[5675],{"type":384,"value":2088},{"type":375,"tag":1141,"props":5677,"children":5678},{"style":1154},[5679],{"type":384,"value":5680}," sub.labels ",{"type":375,"tag":1141,"props":5682,"children":5683},{"style":1148},[5684],{"type":384,"value":5685},"??",{"type":375,"tag":1141,"props":5687,"children":5688},{"style":1154},[5689],{"type":384,"value":5690}," (sub.label_key ",{"type":375,"tag":1141,"props":5692,"children":5693},{"style":1148},[5694],{"type":384,"value":5695},"?",{"type":375,"tag":1141,"props":5697,"children":5698},{"style":1154},[5699],{"type":384,"value":5700}," { [sub.label_key]: sub.label_value } ",{"type":375,"tag":1141,"props":5702,"children":5703},{"style":1148},[5704],{"type":384,"value":1125},{"type":375,"tag":1141,"props":5706,"children":5707},{"style":1154},[5708],{"type":384,"value":5709}," {});\n",{"type":375,"tag":1141,"props":5711,"children":5713},{"class":1143,"line":5712},44,[5714,5718,5723,5727,5732,5737],{"type":375,"tag":1141,"props":5715,"children":5716},{"style":1148},[5717],{"type":384,"value":5637},{"type":375,"tag":1141,"props":5719,"children":5720},{"style":1195},[5721],{"type":384,"value":5722}," consumerId",{"type":375,"tag":1141,"props":5724,"children":5725},{"style":1148},[5726],{"type":384,"value":1203},{"type":375,"tag":1141,"props":5728,"children":5729},{"style":1154},[5730],{"type":384,"value":5731}," labels[",{"type":375,"tag":1141,"props":5733,"children":5734},{"style":1195},[5735],{"type":384,"value":5736},"LABEL",{"type":375,"tag":1141,"props":5738,"children":5739},{"style":1154},[5740],{"type":384,"value":5741},"];\n",{"type":375,"tag":1141,"props":5743,"children":5745},{"class":1143,"line":5744},45,[5746,5751,5755,5759],{"type":375,"tag":1141,"props":5747,"children":5748},{"style":1148},[5749],{"type":384,"value":5750},"    if",{"type":375,"tag":1141,"props":5752,"children":5753},{"style":1154},[5754],{"type":384,"value":5188},{"type":375,"tag":1141,"props":5756,"children":5757},{"style":1148},[5758],{"type":384,"value":1239},{"type":375,"tag":1141,"props":5760,"children":5761},{"style":1154},[5762],{"type":384,"value":5763},"consumerId) {\n",{"type":375,"tag":1141,"props":5765,"children":5767},{"class":1143,"line":5766},46,[5768,5773,5778,5782,5787,5792,5796,5801,5806,5810,5814,5819,5824,5828,5833,5837,5842],{"type":375,"tag":1141,"props":5769,"children":5770},{"style":1154},[5771],{"type":384,"value":5772},"      plan.warnings.",{"type":375,"tag":1141,"props":5774,"children":5775},{"style":1211},[5776],{"type":384,"value":5777},"push",{"type":375,"tag":1141,"props":5779,"children":5780},{"style":1154},[5781],{"type":384,"value":1219},{"type":375,"tag":1141,"props":5783,"children":5784},{"style":1165},[5785],{"type":384,"value":5786},"`subscription ${",{"type":375,"tag":1141,"props":5788,"children":5789},{"style":1154},[5790],{"type":384,"value":5791},"sub",{"type":375,"tag":1141,"props":5793,"children":5794},{"style":1165},[5795],{"type":384,"value":465},{"type":375,"tag":1141,"props":5797,"children":5798},{"style":1154},[5799],{"type":384,"value":5800},"subscription_id",{"type":375,"tag":1141,"props":5802,"children":5803},{"style":1165},[5804],{"type":384,"value":5805},"} (${",{"type":375,"tag":1141,"props":5807,"children":5808},{"style":1154},[5809],{"type":384,"value":5791},{"type":375,"tag":1141,"props":5811,"children":5812},{"style":1165},[5813],{"type":384,"value":465},{"type":375,"tag":1141,"props":5815,"children":5816},{"style":1154},[5817],{"type":384,"value":5818},"target",{"type":375,"tag":1141,"props":5820,"children":5821},{"style":1165},[5822],{"type":384,"value":5823},"?.",{"type":375,"tag":1141,"props":5825,"children":5826},{"style":1154},[5827],{"type":384,"value":3975},{"type":375,"tag":1141,"props":5829,"children":5830},{"style":1165},[5831],{"type":384,"value":5832},"}) has no \"${",{"type":375,"tag":1141,"props":5834,"children":5835},{"style":1195},[5836],{"type":384,"value":5736},{"type":375,"tag":1141,"props":5838,"children":5839},{"style":1165},[5840],{"type":384,"value":5841},"}\" label; skipped`",{"type":375,"tag":1141,"props":5843,"children":5844},{"style":1154},[5845],{"type":384,"value":1257},{"type":375,"tag":1141,"props":5847,"children":5849},{"class":1143,"line":5848},47,[5850,5855],{"type":375,"tag":1141,"props":5851,"children":5852},{"style":1148},[5853],{"type":384,"value":5854},"      continue",{"type":375,"tag":1141,"props":5856,"children":5857},{"style":1154},[5858],{"type":384,"value":1173},{"type":375,"tag":1141,"props":5860,"children":5862},{"class":1143,"line":5861},48,[5863],{"type":375,"tag":1141,"props":5864,"children":5865},{"style":1154},[5866],{"type":384,"value":3497},{"type":375,"tag":1141,"props":5868,"children":5870},{"class":1143,"line":5869},49,[5871,5875,5880,5885,5890,5895,5900,5905,5910,5914,5918,5922,5927,5931,5935,5939,5943,5947,5951,5956,5961,5965,5969,5973,5977,5981,5986],{"type":375,"tag":1141,"props":5872,"children":5873},{"style":1148},[5874],{"type":384,"value":5750},{"type":375,"tag":1141,"props":5876,"children":5877},{"style":1154},[5878],{"type":384,"value":5879}," (Object.",{"type":375,"tag":1141,"props":5881,"children":5882},{"style":1211},[5883],{"type":384,"value":5884},"keys",{"type":375,"tag":1141,"props":5886,"children":5887},{"style":1154},[5888],{"type":384,"value":5889},"(labels).",{"type":375,"tag":1141,"props":5891,"children":5892},{"style":1195},[5893],{"type":384,"value":5894},"length",{"type":375,"tag":1141,"props":5896,"children":5897},{"style":1148},[5898],{"type":384,"value":5899}," >",{"type":375,"tag":1141,"props":5901,"children":5902},{"style":1195},[5903],{"type":384,"value":5904}," 1",{"type":375,"tag":1141,"props":5906,"children":5907},{"style":1154},[5908],{"type":384,"value":5909},") plan.warnings.",{"type":375,"tag":1141,"props":5911,"children":5912},{"style":1211},[5913],{"type":384,"value":5777},{"type":375,"tag":1141,"props":5915,"children":5916},{"style":1154},[5917],{"type":384,"value":1219},{"type":375,"tag":1141,"props":5919,"children":5920},{"style":1165},[5921],{"type":384,"value":5089},{"type":375,"tag":1141,"props":5923,"children":5924},{"style":1154},[5925],{"type":384,"value":5926},"consumerId",{"type":375,"tag":1141,"props":5928,"children":5929},{"style":1165},[5930],{"type":384,"value":5248},{"type":375,"tag":1141,"props":5932,"children":5933},{"style":1154},[5934],{"type":384,"value":5791},{"type":375,"tag":1141,"props":5936,"children":5937},{"style":1165},[5938],{"type":384,"value":465},{"type":375,"tag":1141,"props":5940,"children":5941},{"style":1154},[5942],{"type":384,"value":5818},{"type":375,"tag":1141,"props":5944,"children":5945},{"style":1165},[5946],{"type":384,"value":465},{"type":375,"tag":1141,"props":5948,"children":5949},{"style":1154},[5950],{"type":384,"value":3975},{"type":375,"tag":1141,"props":5952,"children":5953},{"style":1165},[5954],{"type":384,"value":5955},"}: extra labels ${",{"type":375,"tag":1141,"props":5957,"children":5958},{"style":1195},[5959],{"type":384,"value":5960},"JSON",{"type":375,"tag":1141,"props":5962,"children":5963},{"style":1165},[5964],{"type":384,"value":465},{"type":375,"tag":1141,"props":5966,"children":5967},{"style":1211},[5968],{"type":384,"value":1338},{"type":375,"tag":1141,"props":5970,"children":5971},{"style":1165},[5972],{"type":384,"value":1219},{"type":375,"tag":1141,"props":5974,"children":5975},{"style":1154},[5976],{"type":384,"value":2435},{"type":375,"tag":1141,"props":5978,"children":5979},{"style":1165},[5980],{"type":384,"value":555},{"type":375,"tag":1141,"props":5982,"children":5983},{"style":1165},[5984],{"type":384,"value":5985},"} are not carried over`",{"type":375,"tag":1141,"props":5987,"children":5988},{"style":1154},[5989],{"type":384,"value":1257},{"type":375,"tag":1141,"props":5991,"children":5993},{"class":1143,"line":5992},50,[5994,5998,6003,6008,6013,6018,6022,6026,6030,6034,6039,6043,6047,6051,6055,6059,6064,6069,6074],{"type":375,"tag":1141,"props":5995,"children":5996},{"style":1148},[5997],{"type":384,"value":5750},{"type":375,"tag":1141,"props":5999,"children":6000},{"style":1154},[6001],{"type":384,"value":6002}," (sub.target.type ",{"type":375,"tag":1141,"props":6004,"children":6005},{"style":1148},[6006],{"type":384,"value":6007},"!==",{"type":375,"tag":1141,"props":6009,"children":6010},{"style":1165},[6011],{"type":384,"value":6012}," \"http\"",{"type":375,"tag":1141,"props":6014,"children":6015},{"style":1154},[6016],{"type":384,"value":6017},") { plan.warnings.",{"type":375,"tag":1141,"props":6019,"children":6020},{"style":1211},[6021],{"type":384,"value":5777},{"type":375,"tag":1141,"props":6023,"children":6024},{"style":1154},[6025],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6027,"children":6028},{"style":1165},[6029],{"type":384,"value":5089},{"type":375,"tag":1141,"props":6031,"children":6032},{"style":1154},[6033],{"type":384,"value":5926},{"type":375,"tag":1141,"props":6035,"children":6036},{"style":1165},[6037],{"type":384,"value":6038},"}: target type ${",{"type":375,"tag":1141,"props":6040,"children":6041},{"style":1154},[6042],{"type":384,"value":5791},{"type":375,"tag":1141,"props":6044,"children":6045},{"style":1165},[6046],{"type":384,"value":465},{"type":375,"tag":1141,"props":6048,"children":6049},{"style":1154},[6050],{"type":384,"value":5818},{"type":375,"tag":1141,"props":6052,"children":6053},{"style":1165},[6054],{"type":384,"value":465},{"type":375,"tag":1141,"props":6056,"children":6057},{"style":1154},[6058],{"type":384,"value":4610},{"type":375,"tag":1141,"props":6060,"children":6061},{"style":1165},[6062],{"type":384,"value":6063},"} skipped`",{"type":375,"tag":1141,"props":6065,"children":6066},{"style":1154},[6067],{"type":384,"value":6068},"); ",{"type":375,"tag":1141,"props":6070,"children":6071},{"style":1148},[6072],{"type":384,"value":6073},"continue",{"type":375,"tag":1141,"props":6075,"children":6076},{"style":1154},[6077],{"type":384,"value":6078},"; }\n",{"type":375,"tag":1141,"props":6080,"children":6082},{"class":1143,"line":6081},51,[6083,6087,6092,6097,6102,6107,6111,6115,6120],{"type":375,"tag":1141,"props":6084,"children":6085},{"style":1148},[6086],{"type":384,"value":5750},{"type":375,"tag":1141,"props":6088,"children":6089},{"style":1154},[6090],{"type":384,"value":6091}," (sub.target.method ",{"type":375,"tag":1141,"props":6093,"children":6094},{"style":1148},[6095],{"type":384,"value":6096},"&&",{"type":375,"tag":1141,"props":6098,"children":6099},{"style":1154},[6100],{"type":384,"value":6101}," sub.target.method.",{"type":375,"tag":1141,"props":6103,"children":6104},{"style":1211},[6105],{"type":384,"value":6106},"toUpperCase",{"type":375,"tag":1141,"props":6108,"children":6109},{"style":1154},[6110],{"type":384,"value":5300},{"type":375,"tag":1141,"props":6112,"children":6113},{"style":1148},[6114],{"type":384,"value":6007},{"type":375,"tag":1141,"props":6116,"children":6117},{"style":1165},[6118],{"type":384,"value":6119}," \"POST\"",{"type":375,"tag":1141,"props":6121,"children":6122},{"style":1154},[6123],{"type":384,"value":2030},{"type":375,"tag":1141,"props":6125,"children":6127},{"class":1143,"line":6126},52,[6128,6132,6136,6140,6144,6148,6152,6156,6160,6164,6168,6172,6177,6181,6185,6189,6193,6198,6203],{"type":375,"tag":1141,"props":6129,"children":6130},{"style":1154},[6131],{"type":384,"value":5772},{"type":375,"tag":1141,"props":6133,"children":6134},{"style":1211},[6135],{"type":384,"value":5777},{"type":375,"tag":1141,"props":6137,"children":6138},{"style":1154},[6139],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6141,"children":6142},{"style":1165},[6143],{"type":384,"value":5089},{"type":375,"tag":1141,"props":6145,"children":6146},{"style":1154},[6147],{"type":384,"value":5926},{"type":375,"tag":1141,"props":6149,"children":6150},{"style":1165},[6151],{"type":384,"value":5248},{"type":375,"tag":1141,"props":6153,"children":6154},{"style":1154},[6155],{"type":384,"value":5791},{"type":375,"tag":1141,"props":6157,"children":6158},{"style":1165},[6159],{"type":384,"value":465},{"type":375,"tag":1141,"props":6161,"children":6162},{"style":1154},[6163],{"type":384,"value":5818},{"type":375,"tag":1141,"props":6165,"children":6166},{"style":1165},[6167],{"type":384,"value":465},{"type":375,"tag":1141,"props":6169,"children":6170},{"style":1154},[6171],{"type":384,"value":3975},{"type":375,"tag":1141,"props":6173,"children":6174},{"style":1165},[6175],{"type":384,"value":6176},"}: uses ${",{"type":375,"tag":1141,"props":6178,"children":6179},{"style":1154},[6180],{"type":384,"value":5791},{"type":375,"tag":1141,"props":6182,"children":6183},{"style":1165},[6184],{"type":384,"value":465},{"type":375,"tag":1141,"props":6186,"children":6187},{"style":1154},[6188],{"type":384,"value":5818},{"type":375,"tag":1141,"props":6190,"children":6191},{"style":1165},[6192],{"type":384,"value":465},{"type":375,"tag":1141,"props":6194,"children":6195},{"style":1154},[6196],{"type":384,"value":6197},"method",{"type":375,"tag":1141,"props":6199,"children":6200},{"style":1165},[6201],{"type":384,"value":6202},"}; deliveries will be POST`",{"type":375,"tag":1141,"props":6204,"children":6205},{"style":1154},[6206],{"type":384,"value":1257},{"type":375,"tag":1141,"props":6208,"children":6210},{"class":1143,"line":6209},53,[6211,6215,6220,6224,6229,6234,6239,6244,6249,6253,6258,6263,6268,6273,6278,6282,6287,6292,6296,6301,6306,6310,6314,6318,6322,6326,6330],{"type":375,"tag":1141,"props":6212,"children":6213},{"style":1148},[6214],{"type":384,"value":5637},{"type":375,"tag":1141,"props":6216,"children":6217},{"style":1195},[6218],{"type":384,"value":6219}," headers",{"type":375,"tag":1141,"props":6221,"children":6222},{"style":1148},[6223],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6225,"children":6226},{"style":1154},[6227],{"type":384,"value":6228}," Object.",{"type":375,"tag":1141,"props":6230,"children":6231},{"style":1211},[6232],{"type":384,"value":6233},"fromEntries",{"type":375,"tag":1141,"props":6235,"children":6236},{"style":1154},[6237],{"type":384,"value":6238},"(Object.",{"type":375,"tag":1141,"props":6240,"children":6241},{"style":1211},[6242],{"type":384,"value":6243},"entries",{"type":375,"tag":1141,"props":6245,"children":6246},{"style":1154},[6247],{"type":384,"value":6248},"(sub.target.headers ",{"type":375,"tag":1141,"props":6250,"children":6251},{"style":1148},[6252],{"type":384,"value":5685},{"type":375,"tag":1141,"props":6254,"children":6255},{"style":1154},[6256],{"type":384,"value":6257}," {}).",{"type":375,"tag":1141,"props":6259,"children":6260},{"style":1211},[6261],{"type":384,"value":6262},"filter",{"type":375,"tag":1141,"props":6264,"children":6265},{"style":1154},[6266],{"type":384,"value":6267},"(([",{"type":375,"tag":1141,"props":6269,"children":6270},{"style":3281},[6271],{"type":384,"value":6272},"k",{"type":375,"tag":1141,"props":6274,"children":6275},{"style":1154},[6276],{"type":384,"value":6277},"]) ",{"type":375,"tag":1141,"props":6279,"children":6280},{"style":1148},[6281],{"type":384,"value":5482},{"type":375,"tag":1141,"props":6283,"children":6284},{"style":1148},[6285],{"type":384,"value":6286}," !",{"type":375,"tag":1141,"props":6288,"children":6289},{"style":1195},[6290],{"type":384,"value":6291},"RESERVED",{"type":375,"tag":1141,"props":6293,"children":6294},{"style":1154},[6295],{"type":384,"value":465},{"type":375,"tag":1141,"props":6297,"children":6298},{"style":1211},[6299],{"type":384,"value":6300},"test",{"type":375,"tag":1141,"props":6302,"children":6303},{"style":1154},[6304],{"type":384,"value":6305},"(k))) ",{"type":375,"tag":1141,"props":6307,"children":6308},{"style":1148},[6309],{"type":384,"value":5305},{"type":375,"tag":1141,"props":6311,"children":6312},{"style":1211},[6313],{"type":384,"value":4713},{"type":375,"tag":1141,"props":6315,"children":6316},{"style":1154},[6317],{"type":384,"value":4718},{"type":375,"tag":1141,"props":6319,"children":6320},{"style":1195},[6321],{"type":384,"value":1672},{"type":375,"tag":1141,"props":6323,"children":6324},{"style":1154},[6325],{"type":384,"value":1964},{"type":375,"tag":1141,"props":6327,"children":6328},{"style":1195},[6329],{"type":384,"value":1672},{"type":375,"tag":1141,"props":6331,"children":6332},{"style":1154},[6333],{"type":384,"value":5322},{"type":375,"tag":1141,"props":6335,"children":6337},{"class":1143,"line":6336},54,[6338,6342,6347,6351,6356,6361,6366,6370,6375,6379,6383],{"type":375,"tag":1141,"props":6339,"children":6340},{"style":1148},[6341],{"type":384,"value":5637},{"type":375,"tag":1141,"props":6343,"children":6344},{"style":1195},[6345],{"type":384,"value":6346}," consumer",{"type":375,"tag":1141,"props":6348,"children":6349},{"style":1148},[6350],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6352,"children":6353},{"style":1154},[6354],{"type":384,"value":6355}," consumers.",{"type":375,"tag":1141,"props":6357,"children":6358},{"style":1211},[6359],{"type":384,"value":6360},"get",{"type":375,"tag":1141,"props":6362,"children":6363},{"style":1154},[6364],{"type":384,"value":6365},"(consumerId) ",{"type":375,"tag":1141,"props":6367,"children":6368},{"style":1148},[6369],{"type":384,"value":5685},{"type":375,"tag":1141,"props":6371,"children":6372},{"style":1154},[6373],{"type":384,"value":6374}," { id: consumerId, endpoints: [] ",{"type":375,"tag":1141,"props":6376,"children":6377},{"style":1148},[6378],{"type":384,"value":5305},{"type":375,"tag":1141,"props":6380,"children":6381},{"style":1211},[6382],{"type":384,"value":4615},{"type":375,"tag":1141,"props":6384,"children":6385},{"style":1154},[6386],{"type":384,"value":6387},"[] };\n",{"type":375,"tag":1141,"props":6389,"children":6391},{"class":1143,"line":6390},55,[6392,6397,6401],{"type":375,"tag":1141,"props":6393,"children":6394},{"style":1154},[6395],{"type":384,"value":6396},"    consumer.endpoints.",{"type":375,"tag":1141,"props":6398,"children":6399},{"style":1211},[6400],{"type":384,"value":5777},{"type":375,"tag":1141,"props":6402,"children":6403},{"style":1154},[6404],{"type":384,"value":6405},"({\n",{"type":375,"tag":1141,"props":6407,"children":6409},{"class":1143,"line":6408},56,[6410],{"type":375,"tag":1141,"props":6411,"children":6412},{"style":1154},[6413],{"type":384,"value":6414},"      sourceId: sub.subscription_id, url: sub.target.url,\n",{"type":375,"tag":1141,"props":6416,"children":6418},{"class":1143,"line":6417},57,[6419,6424,6428,6433,6438,6442,6447,6452],{"type":375,"tag":1141,"props":6420,"children":6421},{"style":1154},[6422],{"type":384,"value":6423},"      eventTypes: sub.event_types?.",{"type":375,"tag":1141,"props":6425,"children":6426},{"style":1195},[6427],{"type":384,"value":5894},{"type":375,"tag":1141,"props":6429,"children":6430},{"style":1148},[6431],{"type":384,"value":6432}," ?",{"type":375,"tag":1141,"props":6434,"children":6435},{"style":1154},[6436],{"type":384,"value":6437}," sub.event_types ",{"type":375,"tag":1141,"props":6439,"children":6440},{"style":1148},[6441],{"type":384,"value":1125},{"type":375,"tag":1141,"props":6443,"children":6444},{"style":1154},[6445],{"type":384,"value":6446}," [",{"type":375,"tag":1141,"props":6448,"children":6449},{"style":1165},[6450],{"type":384,"value":6451},"\"*\"",{"type":375,"tag":1141,"props":6453,"children":6454},{"style":1154},[6455],{"type":384,"value":2852},{"type":375,"tag":1141,"props":6457,"children":6459},{"class":1143,"line":6458},58,[6460,6465,6470,6475,6480,6484],{"type":375,"tag":1141,"props":6461,"children":6462},{"style":1154},[6463],{"type":384,"value":6464},"      description: sub.description ",{"type":375,"tag":1141,"props":6466,"children":6467},{"style":1148},[6468],{"type":384,"value":6469},"||",{"type":375,"tag":1141,"props":6471,"children":6472},{"style":1195},[6473],{"type":384,"value":6474}," undefined",{"type":375,"tag":1141,"props":6476,"children":6477},{"style":1154},[6478],{"type":384,"value":6479},", headers, disabledAtSource: ",{"type":375,"tag":1141,"props":6481,"children":6482},{"style":1148},[6483],{"type":384,"value":1239},{"type":375,"tag":1141,"props":6485,"children":6486},{"style":1154},[6487],{"type":384,"value":6488},"sub.is_enabled,\n",{"type":375,"tag":1141,"props":6490,"children":6492},{"class":1143,"line":6491},59,[6493],{"type":375,"tag":1141,"props":6494,"children":6495},{"style":1154},[6496],{"type":384,"value":6497},"    });\n",{"type":375,"tag":1141,"props":6499,"children":6501},{"class":1143,"line":6500},60,[6502,6507,6512],{"type":375,"tag":1141,"props":6503,"children":6504},{"style":1154},[6505],{"type":384,"value":6506},"    consumers.",{"type":375,"tag":1141,"props":6508,"children":6509},{"style":1211},[6510],{"type":384,"value":6511},"set",{"type":375,"tag":1141,"props":6513,"children":6514},{"style":1154},[6515],{"type":384,"value":6516},"(consumerId, consumer);\n",{"type":375,"tag":1141,"props":6518,"children":6520},{"class":1143,"line":6519},61,[6521],{"type":375,"tag":1141,"props":6522,"children":6523},{"style":1154},[6524],{"type":384,"value":3355},{"type":375,"tag":1141,"props":6526,"children":6528},{"class":1143,"line":6527},62,[6529,6534,6538,6542,6547,6552,6557],{"type":375,"tag":1141,"props":6530,"children":6531},{"style":1154},[6532],{"type":384,"value":6533},"  plan.consumers ",{"type":375,"tag":1141,"props":6535,"children":6536},{"style":1148},[6537],{"type":384,"value":2088},{"type":375,"tag":1141,"props":6539,"children":6540},{"style":1154},[6541],{"type":384,"value":6446},{"type":375,"tag":1141,"props":6543,"children":6544},{"style":1148},[6545],{"type":384,"value":6546},"...",{"type":375,"tag":1141,"props":6548,"children":6549},{"style":1154},[6550],{"type":384,"value":6551},"consumers.",{"type":375,"tag":1141,"props":6553,"children":6554},{"style":1211},[6555],{"type":384,"value":6556},"values",{"type":375,"tag":1141,"props":6558,"children":6559},{"style":1154},[6560],{"type":384,"value":6561},"()];\n",{"type":375,"tag":1141,"props":6563,"children":6565},{"class":1143,"line":6564},63,[6566,6570],{"type":375,"tag":1141,"props":6567,"children":6568},{"style":1148},[6569],{"type":384,"value":3512},{"type":375,"tag":1141,"props":6571,"children":6572},{"style":1154},[6573],{"type":384,"value":6574}," plan;\n",{"type":375,"tag":1141,"props":6576,"children":6578},{"class":1143,"line":6577},64,[6579],{"type":375,"tag":1141,"props":6580,"children":6581},{"style":1154},[6582],{"type":384,"value":3528},{"type":375,"tag":1141,"props":6584,"children":6586},{"class":1143,"line":6585},65,[6587],{"type":375,"tag":1141,"props":6588,"children":6589},{"emptyLinePlaceholder":1180},[6590],{"type":384,"value":1183},{"type":375,"tag":1141,"props":6592,"children":6594},{"class":1143,"line":6593},66,[6595],{"type":375,"tag":1141,"props":6596,"children":6597},{"style":1499},[6598],{"type":384,"value":6599},"// ---- 2. Check access and limits before writing anything ----\n",{"type":375,"tag":1141,"props":6601,"children":6603},{"class":1143,"line":6602},67,[6604,6608,6612,6617,6621,6626,6630,6634],{"type":375,"tag":1141,"props":6605,"children":6606},{"style":1148},[6607],{"type":384,"value":4992},{"type":375,"tag":1141,"props":6609,"children":6610},{"style":1148},[6611],{"type":384,"value":3269},{"type":375,"tag":1141,"props":6613,"children":6614},{"style":1211},[6615],{"type":384,"value":6616}," checkPlan",{"type":375,"tag":1141,"props":6618,"children":6619},{"style":1154},[6620],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6622,"children":6623},{"style":3281},[6624],{"type":384,"value":6625},"plan",{"type":375,"tag":1141,"props":6627,"children":6628},{"style":1148},[6629],{"type":384,"value":1125},{"type":375,"tag":1141,"props":6631,"children":6632},{"style":1211},[6633],{"type":384,"value":4791},{"type":375,"tag":1141,"props":6635,"children":6636},{"style":1154},[6637],{"type":384,"value":3297},{"type":375,"tag":1141,"props":6639,"children":6641},{"class":1143,"line":6640},68,[6642,6646,6651,6655,6660,6664,6668,6672,6676,6680,6684,6688,6693,6698,6702,6706,6710,6714,6719,6723,6727,6732,6736,6741],{"type":375,"tag":1141,"props":6643,"children":6644},{"style":1148},[6645],{"type":384,"value":5062},{"type":375,"tag":1141,"props":6647,"children":6648},{"style":1195},[6649],{"type":384,"value":6650}," auth",{"type":375,"tag":1141,"props":6652,"children":6653},{"style":1148},[6654],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6656,"children":6657},{"style":1154},[6658],{"type":384,"value":6659}," Buffer.",{"type":375,"tag":1141,"props":6661,"children":6662},{"style":1211},[6663],{"type":384,"value":1162},{"type":375,"tag":1141,"props":6665,"children":6666},{"style":1154},[6667],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6669,"children":6670},{"style":1165},[6671],{"type":384,"value":5089},{"type":375,"tag":1141,"props":6673,"children":6674},{"style":1154},[6675],{"type":384,"value":5141},{"type":375,"tag":1141,"props":6677,"children":6678},{"style":1165},[6679],{"type":384,"value":465},{"type":375,"tag":1141,"props":6681,"children":6682},{"style":1154},[6683],{"type":384,"value":5150},{"type":375,"tag":1141,"props":6685,"children":6686},{"style":1165},[6687],{"type":384,"value":465},{"type":375,"tag":1141,"props":6689,"children":6690},{"style":1195},[6691],{"type":384,"value":6692},"RELAY_KEY",{"type":375,"tag":1141,"props":6694,"children":6695},{"style":1165},[6696],{"type":384,"value":6697},"}:${",{"type":375,"tag":1141,"props":6699,"children":6700},{"style":1154},[6701],{"type":384,"value":5141},{"type":375,"tag":1141,"props":6703,"children":6704},{"style":1165},[6705],{"type":384,"value":465},{"type":375,"tag":1141,"props":6707,"children":6708},{"style":1154},[6709],{"type":384,"value":5150},{"type":375,"tag":1141,"props":6711,"children":6712},{"style":1165},[6713],{"type":384,"value":465},{"type":375,"tag":1141,"props":6715,"children":6716},{"style":1195},[6717],{"type":384,"value":6718},"RELAY_SECRET",{"type":375,"tag":1141,"props":6720,"children":6721},{"style":1165},[6722],{"type":384,"value":5118},{"type":375,"tag":1141,"props":6724,"children":6725},{"style":1154},[6726],{"type":384,"value":4109},{"type":375,"tag":1141,"props":6728,"children":6729},{"style":1211},[6730],{"type":384,"value":6731},"toString",{"type":375,"tag":1141,"props":6733,"children":6734},{"style":1154},[6735],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6737,"children":6738},{"style":1165},[6739],{"type":384,"value":6740},"\"base64\"",{"type":375,"tag":1141,"props":6742,"children":6743},{"style":1154},[6744],{"type":384,"value":1257},{"type":375,"tag":1141,"props":6746,"children":6748},{"class":1143,"line":6747},69,[6749,6753,6757,6761,6765,6769,6773,6778,6783,6788,6793,6797],{"type":375,"tag":1141,"props":6750,"children":6751},{"style":1148},[6752],{"type":384,"value":5062},{"type":375,"tag":1141,"props":6754,"children":6755},{"style":1195},[6756],{"type":384,"value":5067},{"type":375,"tag":1141,"props":6758,"children":6759},{"style":1148},[6760],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6762,"children":6763},{"style":1148},[6764],{"type":384,"value":2795},{"type":375,"tag":1141,"props":6766,"children":6767},{"style":1211},[6768],{"type":384,"value":5080},{"type":375,"tag":1141,"props":6770,"children":6771},{"style":1154},[6772],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6774,"children":6775},{"style":1165},[6776],{"type":384,"value":6777},"\"https://my.webhookrelay.com/v1/outbound/access\"",{"type":375,"tag":1141,"props":6779,"children":6780},{"style":1154},[6781],{"type":384,"value":6782},", { headers: { Authorization: ",{"type":375,"tag":1141,"props":6784,"children":6785},{"style":1165},[6786],{"type":384,"value":6787},"`Basic ${",{"type":375,"tag":1141,"props":6789,"children":6790},{"style":1154},[6791],{"type":384,"value":6792},"auth",{"type":375,"tag":1141,"props":6794,"children":6795},{"style":1165},[6796],{"type":384,"value":5118},{"type":375,"tag":1141,"props":6798,"children":6799},{"style":1154},[6800],{"type":384,"value":6801}," } });\n",{"type":375,"tag":1141,"props":6803,"children":6805},{"class":1143,"line":6804},70,[6806,6810,6815,6819,6823,6827,6831],{"type":375,"tag":1141,"props":6807,"children":6808},{"style":1148},[6809],{"type":384,"value":5062},{"type":375,"tag":1141,"props":6811,"children":6812},{"style":1195},[6813],{"type":384,"value":6814}," access",{"type":375,"tag":1141,"props":6816,"children":6817},{"style":1148},[6818],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6820,"children":6821},{"style":1148},[6822],{"type":384,"value":2795},{"type":375,"tag":1141,"props":6824,"children":6825},{"style":1154},[6826],{"type":384,"value":5290},{"type":375,"tag":1141,"props":6828,"children":6829},{"style":1211},[6830],{"type":384,"value":5295},{"type":375,"tag":1141,"props":6832,"children":6833},{"style":1154},[6834],{"type":384,"value":4595},{"type":375,"tag":1141,"props":6836,"children":6838},{"class":1143,"line":6837},71,[6839,6843,6847,6851,6856,6860,6864,6868,6872,6877],{"type":375,"tag":1141,"props":6840,"children":6841},{"style":1148},[6842],{"type":384,"value":3305},{"type":375,"tag":1141,"props":6844,"children":6845},{"style":1154},[6846],{"type":384,"value":5188},{"type":375,"tag":1141,"props":6848,"children":6849},{"style":1148},[6850],{"type":384,"value":1239},{"type":375,"tag":1141,"props":6852,"children":6853},{"style":1154},[6854],{"type":384,"value":6855},"access.enabled) ",{"type":375,"tag":1141,"props":6857,"children":6858},{"style":1148},[6859],{"type":384,"value":5202},{"type":375,"tag":1141,"props":6861,"children":6862},{"style":1148},[6863],{"type":384,"value":1208},{"type":375,"tag":1141,"props":6865,"children":6866},{"style":1211},[6867],{"type":384,"value":5211},{"type":375,"tag":1141,"props":6869,"children":6870},{"style":1154},[6871],{"type":384,"value":1219},{"type":375,"tag":1141,"props":6873,"children":6874},{"style":1165},[6875],{"type":384,"value":6876},"\"The Outbound Gateway needs a Basic, Business or Pro plan: upgrade at https://my.webhookrelay.com/account.\"",{"type":375,"tag":1141,"props":6878,"children":6879},{"style":1154},[6880],{"type":384,"value":1257},{"type":375,"tag":1141,"props":6882,"children":6884},{"class":1143,"line":6883},72,[6885,6889,6894,6898,6903,6907,6911,6916,6920,6924,6928,6933,6937,6941,6945,6949,6953,6957],{"type":375,"tag":1141,"props":6886,"children":6887},{"style":1148},[6888],{"type":384,"value":5062},{"type":375,"tag":1141,"props":6890,"children":6891},{"style":1195},[6892],{"type":384,"value":6893}," limits",{"type":375,"tag":1141,"props":6895,"children":6896},{"style":1148},[6897],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6899,"children":6900},{"style":1154},[6901],{"type":384,"value":6902}," access.limits ",{"type":375,"tag":1141,"props":6904,"children":6905},{"style":1148},[6906],{"type":384,"value":5305},{"type":375,"tag":1141,"props":6908,"children":6909},{"style":1154},[6910],{"type":384,"value":4817},{"type":375,"tag":1141,"props":6912,"children":6913},{"style":3281},[6914],{"type":384,"value":6915},"consumers",{"type":375,"tag":1141,"props":6917,"children":6918},{"style":1148},[6919],{"type":384,"value":1125},{"type":375,"tag":1141,"props":6921,"children":6922},{"style":1195},[6923],{"type":384,"value":4749},{"type":375,"tag":1141,"props":6925,"children":6926},{"style":1154},[6927],{"type":384,"value":3244},{"type":375,"tag":1141,"props":6929,"children":6930},{"style":3281},[6931],{"type":384,"value":6932},"endpoints_per_consumer",{"type":375,"tag":1141,"props":6934,"children":6935},{"style":1148},[6936],{"type":384,"value":1125},{"type":375,"tag":1141,"props":6938,"children":6939},{"style":1195},[6940],{"type":384,"value":4749},{"type":375,"tag":1141,"props":6942,"children":6943},{"style":1154},[6944],{"type":384,"value":3244},{"type":375,"tag":1141,"props":6946,"children":6947},{"style":3281},[6948],{"type":384,"value":612},{"type":375,"tag":1141,"props":6950,"children":6951},{"style":1148},[6952],{"type":384,"value":1125},{"type":375,"tag":1141,"props":6954,"children":6955},{"style":1195},[6956],{"type":384,"value":4749},{"type":375,"tag":1141,"props":6958,"children":6959},{"style":1154},[6960],{"type":384,"value":6961}," };\n",{"type":375,"tag":1141,"props":6963,"children":6965},{"class":1143,"line":6964},73,[6966],{"type":375,"tag":1141,"props":6967,"children":6968},{"emptyLinePlaceholder":1180},[6969],{"type":384,"value":1183},{"type":375,"tag":1141,"props":6971,"children":6973},{"class":1143,"line":6972},74,[6974,6978,6983,6987,6991,6996,7000,7004,7008,7013,7018,7022,7026,7031,7035,7039],{"type":375,"tag":1141,"props":6975,"children":6976},{"style":1148},[6977],{"type":384,"value":5062},{"type":375,"tag":1141,"props":6979,"children":6980},{"style":1195},[6981],{"type":384,"value":6982}," haveConsumers",{"type":375,"tag":1141,"props":6984,"children":6985},{"style":1148},[6986],{"type":384,"value":1203},{"type":375,"tag":1141,"props":6988,"children":6989},{"style":1148},[6990],{"type":384,"value":1208},{"type":375,"tag":1141,"props":6992,"children":6993},{"style":1211},[6994],{"type":384,"value":6995}," Set",{"type":375,"tag":1141,"props":6997,"children":6998},{"style":1154},[6999],{"type":384,"value":5467},{"type":375,"tag":1141,"props":7001,"children":7002},{"style":1148},[7003],{"type":384,"value":1274},{"type":375,"tag":1141,"props":7005,"children":7006},{"style":1154},[7007],{"type":384,"value":2746},{"type":375,"tag":1141,"props":7009,"children":7010},{"style":1211},[7011],{"type":384,"value":7012},"list",{"type":375,"tag":1141,"props":7014,"children":7015},{"style":1154},[7016],{"type":384,"value":7017},"()).",{"type":375,"tag":1141,"props":7019,"children":7020},{"style":1211},[7021],{"type":384,"value":1662},{"type":375,"tag":1141,"props":7023,"children":7024},{"style":1154},[7025],{"type":384,"value":5467},{"type":375,"tag":1141,"props":7027,"children":7028},{"style":3281},[7029],{"type":384,"value":7030},"c",{"type":375,"tag":1141,"props":7032,"children":7033},{"style":1154},[7034],{"type":384,"value":5477},{"type":375,"tag":1141,"props":7036,"children":7037},{"style":1148},[7038],{"type":384,"value":5482},{"type":375,"tag":1141,"props":7040,"children":7041},{"style":1154},[7042],{"type":384,"value":7043}," c.id));\n",{"type":375,"tag":1141,"props":7045,"children":7047},{"class":1143,"line":7046},75,[7048,7052,7057,7061,7065,7069,7073,7077,7082,7086,7090,7094,7098,7103,7107,7111],{"type":375,"tag":1141,"props":7049,"children":7050},{"style":1148},[7051],{"type":384,"value":5062},{"type":375,"tag":1141,"props":7053,"children":7054},{"style":1195},[7055],{"type":384,"value":7056}," haveTypes",{"type":375,"tag":1141,"props":7058,"children":7059},{"style":1148},[7060],{"type":384,"value":1203},{"type":375,"tag":1141,"props":7062,"children":7063},{"style":1148},[7064],{"type":384,"value":1208},{"type":375,"tag":1141,"props":7066,"children":7067},{"style":1211},[7068],{"type":384,"value":6995},{"type":375,"tag":1141,"props":7070,"children":7071},{"style":1154},[7072],{"type":384,"value":5467},{"type":375,"tag":1141,"props":7074,"children":7075},{"style":1148},[7076],{"type":384,"value":1274},{"type":375,"tag":1141,"props":7078,"children":7079},{"style":1154},[7080],{"type":384,"value":7081}," relay.outbound.eventTypes.",{"type":375,"tag":1141,"props":7083,"children":7084},{"style":1211},[7085],{"type":384,"value":7012},{"type":375,"tag":1141,"props":7087,"children":7088},{"style":1154},[7089],{"type":384,"value":7017},{"type":375,"tag":1141,"props":7091,"children":7092},{"style":1211},[7093],{"type":384,"value":1662},{"type":375,"tag":1141,"props":7095,"children":7096},{"style":1154},[7097],{"type":384,"value":5467},{"type":375,"tag":1141,"props":7099,"children":7100},{"style":3281},[7101],{"type":384,"value":7102},"e",{"type":375,"tag":1141,"props":7104,"children":7105},{"style":1154},[7106],{"type":384,"value":5477},{"type":375,"tag":1141,"props":7108,"children":7109},{"style":1148},[7110],{"type":384,"value":5482},{"type":375,"tag":1141,"props":7112,"children":7113},{"style":1154},[7114],{"type":384,"value":7115}," e.name));\n",{"type":375,"tag":1141,"props":7117,"children":7119},{"class":1143,"line":7118},76,[7120,7124,7128,7132,7136,7140,7145,7149,7154,7158,7163,7167,7171,7175,7179,7183],{"type":375,"tag":1141,"props":7121,"children":7122},{"style":1148},[7123],{"type":384,"value":5062},{"type":375,"tag":1141,"props":7125,"children":7126},{"style":1195},[7127],{"type":384,"value":5500},{"type":375,"tag":1141,"props":7129,"children":7130},{"style":1148},[7131],{"type":384,"value":1203},{"type":375,"tag":1141,"props":7133,"children":7134},{"style":1148},[7135],{"type":384,"value":1208},{"type":375,"tag":1141,"props":7137,"children":7138},{"style":1211},[7139],{"type":384,"value":6995},{"type":375,"tag":1141,"props":7141,"children":7142},{"style":1154},[7143],{"type":384,"value":7144},"([",{"type":375,"tag":1141,"props":7146,"children":7147},{"style":1148},[7148],{"type":384,"value":6546},{"type":375,"tag":1141,"props":7150,"children":7151},{"style":1154},[7152],{"type":384,"value":7153},"haveConsumers, ",{"type":375,"tag":1141,"props":7155,"children":7156},{"style":1148},[7157],{"type":384,"value":6546},{"type":375,"tag":1141,"props":7159,"children":7160},{"style":1154},[7161],{"type":384,"value":7162},"plan.consumers.",{"type":375,"tag":1141,"props":7164,"children":7165},{"style":1211},[7166],{"type":384,"value":1662},{"type":375,"tag":1141,"props":7168,"children":7169},{"style":1154},[7170],{"type":384,"value":5467},{"type":375,"tag":1141,"props":7172,"children":7173},{"style":3281},[7174],{"type":384,"value":7030},{"type":375,"tag":1141,"props":7176,"children":7177},{"style":1154},[7178],{"type":384,"value":5477},{"type":375,"tag":1141,"props":7180,"children":7181},{"style":1148},[7182],{"type":384,"value":5482},{"type":375,"tag":1141,"props":7184,"children":7185},{"style":1154},[7186],{"type":384,"value":7187}," c.id)]).size;\n",{"type":375,"tag":1141,"props":7189,"children":7191},{"class":1143,"line":7190},77,[7192,7196,7201,7205,7209,7213,7217,7221,7226,7230,7235,7239,7243,7247,7251,7255],{"type":375,"tag":1141,"props":7193,"children":7194},{"style":1148},[7195],{"type":384,"value":5062},{"type":375,"tag":1141,"props":7197,"children":7198},{"style":1195},[7199],{"type":384,"value":7200}," types",{"type":375,"tag":1141,"props":7202,"children":7203},{"style":1148},[7204],{"type":384,"value":1203},{"type":375,"tag":1141,"props":7206,"children":7207},{"style":1148},[7208],{"type":384,"value":1208},{"type":375,"tag":1141,"props":7210,"children":7211},{"style":1211},[7212],{"type":384,"value":6995},{"type":375,"tag":1141,"props":7214,"children":7215},{"style":1154},[7216],{"type":384,"value":7144},{"type":375,"tag":1141,"props":7218,"children":7219},{"style":1148},[7220],{"type":384,"value":6546},{"type":375,"tag":1141,"props":7222,"children":7223},{"style":1154},[7224],{"type":384,"value":7225},"haveTypes, ",{"type":375,"tag":1141,"props":7227,"children":7228},{"style":1148},[7229],{"type":384,"value":6546},{"type":375,"tag":1141,"props":7231,"children":7232},{"style":1154},[7233],{"type":384,"value":7234},"plan.eventTypes.",{"type":375,"tag":1141,"props":7236,"children":7237},{"style":1211},[7238],{"type":384,"value":1662},{"type":375,"tag":1141,"props":7240,"children":7241},{"style":1154},[7242],{"type":384,"value":5467},{"type":375,"tag":1141,"props":7244,"children":7245},{"style":3281},[7246],{"type":384,"value":7102},{"type":375,"tag":1141,"props":7248,"children":7249},{"style":1154},[7250],{"type":384,"value":5477},{"type":375,"tag":1141,"props":7252,"children":7253},{"style":1148},[7254],{"type":384,"value":5482},{"type":375,"tag":1141,"props":7256,"children":7257},{"style":1154},[7258],{"type":384,"value":7259}," e.name)]).size;\n",{"type":375,"tag":1141,"props":7261,"children":7263},{"class":1143,"line":7262},78,[7264],{"type":375,"tag":1141,"props":7265,"children":7266},{"emptyLinePlaceholder":1180},[7267],{"type":384,"value":1183},{"type":375,"tag":1141,"props":7269,"children":7271},{"class":1143,"line":7270},79,[7272,7276,7281,7285,7289,7294,7298],{"type":375,"tag":1141,"props":7273,"children":7274},{"style":1148},[7275],{"type":384,"value":5062},{"type":375,"tag":1141,"props":7277,"children":7278},{"style":1195},[7279],{"type":384,"value":7280}," problems",{"type":375,"tag":1141,"props":7282,"children":7283},{"style":1148},[7284],{"type":384,"value":1125},{"type":375,"tag":1141,"props":7286,"children":7287},{"style":1195},[7288],{"type":384,"value":4640},{"type":375,"tag":1141,"props":7290,"children":7291},{"style":1154},[7292],{"type":384,"value":7293},"[] ",{"type":375,"tag":1141,"props":7295,"children":7296},{"style":1148},[7297],{"type":384,"value":2088},{"type":375,"tag":1141,"props":7299,"children":7300},{"style":1154},[7301],{"type":384,"value":7302}," [];\n",{"type":375,"tag":1141,"props":7304,"children":7306},{"class":1143,"line":7305},80,[7307,7311,7316,7321,7326,7330,7334,7338,7342,7347,7352,7356,7360,7364],{"type":375,"tag":1141,"props":7308,"children":7309},{"style":1148},[7310],{"type":384,"value":3305},{"type":375,"tag":1141,"props":7312,"children":7313},{"style":1154},[7314],{"type":384,"value":7315}," (consumers ",{"type":375,"tag":1141,"props":7317,"children":7318},{"style":1148},[7319],{"type":384,"value":7320},">",{"type":375,"tag":1141,"props":7322,"children":7323},{"style":1154},[7324],{"type":384,"value":7325}," limits.consumers) problems.",{"type":375,"tag":1141,"props":7327,"children":7328},{"style":1211},[7329],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7331,"children":7332},{"style":1154},[7333],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7335,"children":7336},{"style":1165},[7337],{"type":384,"value":5089},{"type":375,"tag":1141,"props":7339,"children":7340},{"style":1154},[7341],{"type":384,"value":6915},{"type":375,"tag":1141,"props":7343,"children":7344},{"style":1165},[7345],{"type":384,"value":7346},"} consumers exceed the limit of ${",{"type":375,"tag":1141,"props":7348,"children":7349},{"style":1154},[7350],{"type":384,"value":7351},"limits",{"type":375,"tag":1141,"props":7353,"children":7354},{"style":1165},[7355],{"type":384,"value":465},{"type":375,"tag":1141,"props":7357,"children":7358},{"style":1154},[7359],{"type":384,"value":6915},{"type":375,"tag":1141,"props":7361,"children":7362},{"style":1165},[7363],{"type":384,"value":5118},{"type":375,"tag":1141,"props":7365,"children":7366},{"style":1154},[7367],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7369,"children":7371},{"class":1143,"line":7370},81,[7372,7376,7381,7385,7390,7394,7398,7402,7407,7412,7416,7420,7424,7428],{"type":375,"tag":1141,"props":7373,"children":7374},{"style":1148},[7375],{"type":384,"value":3305},{"type":375,"tag":1141,"props":7377,"children":7378},{"style":1154},[7379],{"type":384,"value":7380}," (types ",{"type":375,"tag":1141,"props":7382,"children":7383},{"style":1148},[7384],{"type":384,"value":7320},{"type":375,"tag":1141,"props":7386,"children":7387},{"style":1154},[7388],{"type":384,"value":7389}," limits.event_types) problems.",{"type":375,"tag":1141,"props":7391,"children":7392},{"style":1211},[7393],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7395,"children":7396},{"style":1154},[7397],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7399,"children":7400},{"style":1165},[7401],{"type":384,"value":5089},{"type":375,"tag":1141,"props":7403,"children":7404},{"style":1154},[7405],{"type":384,"value":7406},"types",{"type":375,"tag":1141,"props":7408,"children":7409},{"style":1165},[7410],{"type":384,"value":7411},"} event types exceed the limit of ${",{"type":375,"tag":1141,"props":7413,"children":7414},{"style":1154},[7415],{"type":384,"value":7351},{"type":375,"tag":1141,"props":7417,"children":7418},{"style":1165},[7419],{"type":384,"value":465},{"type":375,"tag":1141,"props":7421,"children":7422},{"style":1154},[7423],{"type":384,"value":612},{"type":375,"tag":1141,"props":7425,"children":7426},{"style":1165},[7427],{"type":384,"value":5118},{"type":375,"tag":1141,"props":7429,"children":7430},{"style":1154},[7431],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7433,"children":7435},{"class":1143,"line":7434},82,[7436,7440,7444,7448,7453,7457,7462,7467,7471,7475,7480,7484,7488,7493,7497,7501,7506,7510,7514,7518,7523],{"type":375,"tag":1141,"props":7437,"children":7438},{"style":1148},[7439],{"type":384,"value":5562},{"type":375,"tag":1141,"props":7441,"children":7442},{"style":1154},[7443],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7445,"children":7446},{"style":1148},[7447],{"type":384,"value":1192},{"type":375,"tag":1141,"props":7449,"children":7450},{"style":1195},[7451],{"type":384,"value":7452}," et",{"type":375,"tag":1141,"props":7454,"children":7455},{"style":1148},[7456],{"type":384,"value":5580},{"type":375,"tag":1141,"props":7458,"children":7459},{"style":1154},[7460],{"type":384,"value":7461}," plan.eventTypes) ",{"type":375,"tag":1141,"props":7463,"children":7464},{"style":1148},[7465],{"type":384,"value":7466},"if",{"type":375,"tag":1141,"props":7468,"children":7469},{"style":1154},[7470],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7472,"children":7473},{"style":1148},[7474],{"type":384,"value":1239},{"type":375,"tag":1141,"props":7476,"children":7477},{"style":1195},[7478],{"type":384,"value":7479},"ID",{"type":375,"tag":1141,"props":7481,"children":7482},{"style":1154},[7483],{"type":384,"value":465},{"type":375,"tag":1141,"props":7485,"children":7486},{"style":1211},[7487],{"type":384,"value":6300},{"type":375,"tag":1141,"props":7489,"children":7490},{"style":1154},[7491],{"type":384,"value":7492},"(et.name)) problems.",{"type":375,"tag":1141,"props":7494,"children":7495},{"style":1211},[7496],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7498,"children":7499},{"style":1154},[7500],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7502,"children":7503},{"style":1165},[7504],{"type":384,"value":7505},"`event type \"${",{"type":375,"tag":1141,"props":7507,"children":7508},{"style":1154},[7509],{"type":384,"value":5472},{"type":375,"tag":1141,"props":7511,"children":7512},{"style":1165},[7513],{"type":384,"value":465},{"type":375,"tag":1141,"props":7515,"children":7516},{"style":1154},[7517],{"type":384,"value":4822},{"type":375,"tag":1141,"props":7519,"children":7520},{"style":1165},[7521],{"type":384,"value":7522},"}\" is not a valid name`",{"type":375,"tag":1141,"props":7524,"children":7525},{"style":1154},[7526],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7528,"children":7530},{"class":1143,"line":7529},83,[7531,7535,7539,7543,7548,7552],{"type":375,"tag":1141,"props":7532,"children":7533},{"style":1148},[7534],{"type":384,"value":5562},{"type":375,"tag":1141,"props":7536,"children":7537},{"style":1154},[7538],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7540,"children":7541},{"style":1148},[7542],{"type":384,"value":1192},{"type":375,"tag":1141,"props":7544,"children":7545},{"style":1195},[7546],{"type":384,"value":7547}," c",{"type":375,"tag":1141,"props":7549,"children":7550},{"style":1148},[7551],{"type":384,"value":5580},{"type":375,"tag":1141,"props":7553,"children":7554},{"style":1154},[7555],{"type":384,"value":7556}," plan.consumers) {\n",{"type":375,"tag":1141,"props":7558,"children":7560},{"class":1143,"line":7559},84,[7561,7565,7569,7573,7577,7581,7585,7590,7594,7598,7603,7607,7611,7615,7620],{"type":375,"tag":1141,"props":7562,"children":7563},{"style":1148},[7564],{"type":384,"value":5750},{"type":375,"tag":1141,"props":7566,"children":7567},{"style":1154},[7568],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7570,"children":7571},{"style":1148},[7572],{"type":384,"value":1239},{"type":375,"tag":1141,"props":7574,"children":7575},{"style":1195},[7576],{"type":384,"value":7479},{"type":375,"tag":1141,"props":7578,"children":7579},{"style":1154},[7580],{"type":384,"value":465},{"type":375,"tag":1141,"props":7582,"children":7583},{"style":1211},[7584],{"type":384,"value":6300},{"type":375,"tag":1141,"props":7586,"children":7587},{"style":1154},[7588],{"type":384,"value":7589},"(c.id)) problems.",{"type":375,"tag":1141,"props":7591,"children":7592},{"style":1211},[7593],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7595,"children":7596},{"style":1154},[7597],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7599,"children":7600},{"style":1165},[7601],{"type":384,"value":7602},"`consumer \"${",{"type":375,"tag":1141,"props":7604,"children":7605},{"style":1154},[7606],{"type":384,"value":7030},{"type":375,"tag":1141,"props":7608,"children":7609},{"style":1165},[7610],{"type":384,"value":465},{"type":375,"tag":1141,"props":7612,"children":7613},{"style":1154},[7614],{"type":384,"value":4890},{"type":375,"tag":1141,"props":7616,"children":7617},{"style":1165},[7618],{"type":384,"value":7619},"}\" is not a valid ID: map it to your own customer ID`",{"type":375,"tag":1141,"props":7621,"children":7622},{"style":1154},[7623],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7625,"children":7627},{"class":1143,"line":7626},85,[7628,7632,7637,7641,7645],{"type":375,"tag":1141,"props":7629,"children":7630},{"style":1148},[7631],{"type":384,"value":5750},{"type":375,"tag":1141,"props":7633,"children":7634},{"style":1154},[7635],{"type":384,"value":7636}," (c.endpoints.",{"type":375,"tag":1141,"props":7638,"children":7639},{"style":1195},[7640],{"type":384,"value":5894},{"type":375,"tag":1141,"props":7642,"children":7643},{"style":1148},[7644],{"type":384,"value":5899},{"type":375,"tag":1141,"props":7646,"children":7647},{"style":1154},[7648],{"type":384,"value":7649}," limits.endpoints_per_consumer)\n",{"type":375,"tag":1141,"props":7651,"children":7653},{"class":1143,"line":7652},86,[7654,7659,7663,7667,7671,7675,7679,7683,7688,7692,7696,7700,7704,7708,7713,7717,7721,7725,7729],{"type":375,"tag":1141,"props":7655,"children":7656},{"style":1154},[7657],{"type":384,"value":7658},"      problems.",{"type":375,"tag":1141,"props":7660,"children":7661},{"style":1211},[7662],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7664,"children":7665},{"style":1154},[7666],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7668,"children":7669},{"style":1165},[7670],{"type":384,"value":5089},{"type":375,"tag":1141,"props":7672,"children":7673},{"style":1154},[7674],{"type":384,"value":7030},{"type":375,"tag":1141,"props":7676,"children":7677},{"style":1165},[7678],{"type":384,"value":465},{"type":375,"tag":1141,"props":7680,"children":7681},{"style":1154},[7682],{"type":384,"value":4890},{"type":375,"tag":1141,"props":7684,"children":7685},{"style":1165},[7686],{"type":384,"value":7687},"} has ${",{"type":375,"tag":1141,"props":7689,"children":7690},{"style":1154},[7691],{"type":384,"value":7030},{"type":375,"tag":1141,"props":7693,"children":7694},{"style":1165},[7695],{"type":384,"value":465},{"type":375,"tag":1141,"props":7697,"children":7698},{"style":1154},[7699],{"type":384,"value":4923},{"type":375,"tag":1141,"props":7701,"children":7702},{"style":1165},[7703],{"type":384,"value":465},{"type":375,"tag":1141,"props":7705,"children":7706},{"style":1195},[7707],{"type":384,"value":5894},{"type":375,"tag":1141,"props":7709,"children":7710},{"style":1165},[7711],{"type":384,"value":7712},"} endpoints, the limit is ${",{"type":375,"tag":1141,"props":7714,"children":7715},{"style":1154},[7716],{"type":384,"value":7351},{"type":375,"tag":1141,"props":7718,"children":7719},{"style":1165},[7720],{"type":384,"value":465},{"type":375,"tag":1141,"props":7722,"children":7723},{"style":1154},[7724],{"type":384,"value":6932},{"type":375,"tag":1141,"props":7726,"children":7727},{"style":1165},[7728],{"type":384,"value":5118},{"type":375,"tag":1141,"props":7730,"children":7731},{"style":1154},[7732],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7734,"children":7736},{"class":1143,"line":7735},87,[7737,7742,7746,7750,7755,7759],{"type":375,"tag":1141,"props":7738,"children":7739},{"style":1148},[7740],{"type":384,"value":7741},"    for",{"type":375,"tag":1141,"props":7743,"children":7744},{"style":1154},[7745],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7747,"children":7748},{"style":1148},[7749],{"type":384,"value":1192},{"type":375,"tag":1141,"props":7751,"children":7752},{"style":1195},[7753],{"type":384,"value":7754}," e",{"type":375,"tag":1141,"props":7756,"children":7757},{"style":1148},[7758],{"type":384,"value":5580},{"type":375,"tag":1141,"props":7760,"children":7761},{"style":1154},[7762],{"type":384,"value":7763}," c.endpoints) {\n",{"type":375,"tag":1141,"props":7765,"children":7767},{"class":1143,"line":7766},88,[7768,7773,7777,7781,7786,7791,7795,7800,7805,7809,7813,7817,7821,7825,7829,7833,7837,7841,7845,7850],{"type":375,"tag":1141,"props":7769,"children":7770},{"style":1148},[7771],{"type":384,"value":7772},"      if",{"type":375,"tag":1141,"props":7774,"children":7775},{"style":1154},[7776],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7778,"children":7779},{"style":1148},[7780],{"type":384,"value":1239},{"type":375,"tag":1141,"props":7782,"children":7783},{"style":1154},[7784],{"type":384,"value":7785},"e.url.",{"type":375,"tag":1141,"props":7787,"children":7788},{"style":1211},[7789],{"type":384,"value":7790},"startsWith",{"type":375,"tag":1141,"props":7792,"children":7793},{"style":1154},[7794],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7796,"children":7797},{"style":1165},[7798],{"type":384,"value":7799},"\"https://\"",{"type":375,"tag":1141,"props":7801,"children":7802},{"style":1154},[7803],{"type":384,"value":7804},")) problems.",{"type":375,"tag":1141,"props":7806,"children":7807},{"style":1211},[7808],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7810,"children":7811},{"style":1154},[7812],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7814,"children":7815},{"style":1165},[7816],{"type":384,"value":5089},{"type":375,"tag":1141,"props":7818,"children":7819},{"style":1154},[7820],{"type":384,"value":7030},{"type":375,"tag":1141,"props":7822,"children":7823},{"style":1165},[7824],{"type":384,"value":465},{"type":375,"tag":1141,"props":7826,"children":7827},{"style":1154},[7828],{"type":384,"value":4890},{"type":375,"tag":1141,"props":7830,"children":7831},{"style":1165},[7832],{"type":384,"value":5248},{"type":375,"tag":1141,"props":7834,"children":7835},{"style":1154},[7836],{"type":384,"value":7102},{"type":375,"tag":1141,"props":7838,"children":7839},{"style":1165},[7840],{"type":384,"value":465},{"type":375,"tag":1141,"props":7842,"children":7843},{"style":1154},[7844],{"type":384,"value":3975},{"type":375,"tag":1141,"props":7846,"children":7847},{"style":1165},[7848],{"type":384,"value":7849},"}: endpoints must be public HTTPS`",{"type":375,"tag":1141,"props":7851,"children":7852},{"style":1154},[7853],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7855,"children":7857},{"class":1143,"line":7856},89,[7858,7862,7867,7871,7875,7880,7885,7889,7893,7897,7901,7905,7909,7913,7917,7921,7925,7930],{"type":375,"tag":1141,"props":7859,"children":7860},{"style":1148},[7861],{"type":384,"value":7772},{"type":375,"tag":1141,"props":7863,"children":7864},{"style":1154},[7865],{"type":384,"value":7866}," (e.eventTypes.",{"type":375,"tag":1141,"props":7868,"children":7869},{"style":1195},[7870],{"type":384,"value":5894},{"type":375,"tag":1141,"props":7872,"children":7873},{"style":1148},[7874],{"type":384,"value":5899},{"type":375,"tag":1141,"props":7876,"children":7877},{"style":1195},[7878],{"type":384,"value":7879}," 100",{"type":375,"tag":1141,"props":7881,"children":7882},{"style":1154},[7883],{"type":384,"value":7884},") problems.",{"type":375,"tag":1141,"props":7886,"children":7887},{"style":1211},[7888],{"type":384,"value":5777},{"type":375,"tag":1141,"props":7890,"children":7891},{"style":1154},[7892],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7894,"children":7895},{"style":1165},[7896],{"type":384,"value":5089},{"type":375,"tag":1141,"props":7898,"children":7899},{"style":1154},[7900],{"type":384,"value":7030},{"type":375,"tag":1141,"props":7902,"children":7903},{"style":1165},[7904],{"type":384,"value":465},{"type":375,"tag":1141,"props":7906,"children":7907},{"style":1154},[7908],{"type":384,"value":4890},{"type":375,"tag":1141,"props":7910,"children":7911},{"style":1165},[7912],{"type":384,"value":5248},{"type":375,"tag":1141,"props":7914,"children":7915},{"style":1154},[7916],{"type":384,"value":7102},{"type":375,"tag":1141,"props":7918,"children":7919},{"style":1165},[7920],{"type":384,"value":465},{"type":375,"tag":1141,"props":7922,"children":7923},{"style":1154},[7924],{"type":384,"value":3975},{"type":375,"tag":1141,"props":7926,"children":7927},{"style":1165},[7928],{"type":384,"value":7929},"}: more than 100 event types`",{"type":375,"tag":1141,"props":7931,"children":7932},{"style":1154},[7933],{"type":384,"value":1257},{"type":375,"tag":1141,"props":7935,"children":7937},{"class":1143,"line":7936},90,[7938],{"type":375,"tag":1141,"props":7939,"children":7940},{"style":1154},[7941],{"type":384,"value":3497},{"type":375,"tag":1141,"props":7943,"children":7945},{"class":1143,"line":7944},91,[7946],{"type":375,"tag":1141,"props":7947,"children":7948},{"style":1154},[7949],{"type":384,"value":3355},{"type":375,"tag":1141,"props":7951,"children":7953},{"class":1143,"line":7952},92,[7954,7958,7962,7966,7971,7975,7980,7985,7989,7994,7999,8003],{"type":375,"tag":1141,"props":7955,"children":7956},{"style":1148},[7957],{"type":384,"value":5562},{"type":375,"tag":1141,"props":7959,"children":7960},{"style":1154},[7961],{"type":384,"value":5188},{"type":375,"tag":1141,"props":7963,"children":7964},{"style":1148},[7965],{"type":384,"value":1192},{"type":375,"tag":1141,"props":7967,"children":7968},{"style":1195},[7969],{"type":384,"value":7970}," w",{"type":375,"tag":1141,"props":7972,"children":7973},{"style":1148},[7974],{"type":384,"value":5580},{"type":375,"tag":1141,"props":7976,"children":7977},{"style":1154},[7978],{"type":384,"value":7979}," plan.warnings) console.",{"type":375,"tag":1141,"props":7981,"children":7982},{"style":1211},[7983],{"type":384,"value":7984},"warn",{"type":375,"tag":1141,"props":7986,"children":7987},{"style":1154},[7988],{"type":384,"value":1219},{"type":375,"tag":1141,"props":7990,"children":7991},{"style":1165},[7992],{"type":384,"value":7993},"`warning: ${",{"type":375,"tag":1141,"props":7995,"children":7996},{"style":1154},[7997],{"type":384,"value":7998},"w",{"type":375,"tag":1141,"props":8000,"children":8001},{"style":1165},[8002],{"type":384,"value":5118},{"type":375,"tag":1141,"props":8004,"children":8005},{"style":1154},[8006],{"type":384,"value":1257},{"type":375,"tag":1141,"props":8008,"children":8010},{"class":1143,"line":8009},93,[8011,8015,8020,8024],{"type":375,"tag":1141,"props":8012,"children":8013},{"style":1148},[8014],{"type":384,"value":3305},{"type":375,"tag":1141,"props":8016,"children":8017},{"style":1154},[8018],{"type":384,"value":8019}," (problems.",{"type":375,"tag":1141,"props":8021,"children":8022},{"style":1195},[8023],{"type":384,"value":5894},{"type":375,"tag":1141,"props":8025,"children":8026},{"style":1154},[8027],{"type":384,"value":3297},{"type":375,"tag":1141,"props":8029,"children":8031},{"class":1143,"line":8030},94,[8032,8037,8042,8046,8051,8056,8061,8066,8070,8075,8079,8083,8087,8092,8096,8100],{"type":375,"tag":1141,"props":8033,"children":8034},{"style":1154},[8035],{"type":384,"value":8036},"    console.",{"type":375,"tag":1141,"props":8038,"children":8039},{"style":1211},[8040],{"type":384,"value":8041},"error",{"type":375,"tag":1141,"props":8043,"children":8044},{"style":1154},[8045],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8047,"children":8048},{"style":1165},[8049],{"type":384,"value":8050},"`Not importing:",{"type":375,"tag":1141,"props":8052,"children":8053},{"style":1195},[8054],{"type":384,"value":8055},"\\n",{"type":375,"tag":1141,"props":8057,"children":8058},{"style":1165},[8059],{"type":384,"value":8060},"- ${",{"type":375,"tag":1141,"props":8062,"children":8063},{"style":1154},[8064],{"type":384,"value":8065},"problems",{"type":375,"tag":1141,"props":8067,"children":8068},{"style":1165},[8069],{"type":384,"value":465},{"type":375,"tag":1141,"props":8071,"children":8072},{"style":1211},[8073],{"type":384,"value":8074},"join",{"type":375,"tag":1141,"props":8076,"children":8077},{"style":1165},[8078],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8080,"children":8081},{"style":1165},[8082],{"type":384,"value":2329},{"type":375,"tag":1141,"props":8084,"children":8085},{"style":1195},[8086],{"type":384,"value":8055},{"type":375,"tag":1141,"props":8088,"children":8089},{"style":1165},[8090],{"type":384,"value":8091},"- \"",{"type":375,"tag":1141,"props":8093,"children":8094},{"style":1165},[8095],{"type":384,"value":555},{"type":375,"tag":1141,"props":8097,"children":8098},{"style":1165},[8099],{"type":384,"value":5118},{"type":375,"tag":1141,"props":8101,"children":8102},{"style":1154},[8103],{"type":384,"value":1257},{"type":375,"tag":1141,"props":8105,"children":8107},{"class":1143,"line":8106},95,[8108,8113,8118,8122,8127],{"type":375,"tag":1141,"props":8109,"children":8110},{"style":1154},[8111],{"type":384,"value":8112},"    process.",{"type":375,"tag":1141,"props":8114,"children":8115},{"style":1211},[8116],{"type":384,"value":8117},"exit",{"type":375,"tag":1141,"props":8119,"children":8120},{"style":1154},[8121],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8123,"children":8124},{"style":1195},[8125],{"type":384,"value":8126},"1",{"type":375,"tag":1141,"props":8128,"children":8129},{"style":1154},[8130],{"type":384,"value":1257},{"type":375,"tag":1141,"props":8132,"children":8134},{"class":1143,"line":8133},96,[8135],{"type":375,"tag":1141,"props":8136,"children":8137},{"style":1154},[8138],{"type":384,"value":3355},{"type":375,"tag":1141,"props":8140,"children":8142},{"class":1143,"line":8141},97,[8143],{"type":375,"tag":1141,"props":8144,"children":8145},{"style":1154},[8146],{"type":384,"value":3528},{"type":375,"tag":1141,"props":8148,"children":8150},{"class":1143,"line":8149},98,[8151],{"type":375,"tag":1141,"props":8152,"children":8153},{"emptyLinePlaceholder":1180},[8154],{"type":384,"value":1183},{"type":375,"tag":1141,"props":8156,"children":8158},{"class":1143,"line":8157},99,[8159],{"type":375,"tag":1141,"props":8160,"children":8161},{"style":1499},[8162],{"type":384,"value":8163},"// ---- 3. Import into Webhook Relay ----\n",{"type":375,"tag":1141,"props":8165,"children":8167},{"class":1143,"line":8166},100,[8168,8172,8177,8181,8185,8189,8193,8197,8201,8205,8209,8214,8218,8223,8227,8231,8236,8240,8245,8249,8254,8258,8262,8266,8271,8276,8280],{"type":375,"tag":1141,"props":8169,"children":8170},{"style":1148},[8171],{"type":384,"value":1192},{"type":375,"tag":1141,"props":8173,"children":8174},{"style":1195},[8175],{"type":384,"value":8176}," state",{"type":375,"tag":1141,"props":8178,"children":8179},{"style":1148},[8180],{"type":384,"value":1125},{"type":375,"tag":1141,"props":8182,"children":8183},{"style":1211},[8184],{"type":384,"value":4713},{"type":375,"tag":1141,"props":8186,"children":8187},{"style":1154},[8188],{"type":384,"value":4718},{"type":375,"tag":1141,"props":8190,"children":8191},{"style":1195},[8192],{"type":384,"value":1672},{"type":375,"tag":1141,"props":8194,"children":8195},{"style":1154},[8196],{"type":384,"value":1964},{"type":375,"tag":1141,"props":8198,"children":8199},{"style":1195},[8200],{"type":384,"value":1672},{"type":375,"tag":1141,"props":8202,"children":8203},{"style":1154},[8204],{"type":384,"value":5671},{"type":375,"tag":1141,"props":8206,"children":8207},{"style":1148},[8208],{"type":384,"value":2088},{"type":375,"tag":1141,"props":8210,"children":8211},{"style":1211},[8212],{"type":384,"value":8213}," existsSync",{"type":375,"tag":1141,"props":8215,"children":8216},{"style":1154},[8217],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8219,"children":8220},{"style":1195},[8221],{"type":384,"value":8222},"STATE_FILE",{"type":375,"tag":1141,"props":8224,"children":8225},{"style":1154},[8226],{"type":384,"value":5477},{"type":375,"tag":1141,"props":8228,"children":8229},{"style":1148},[8230],{"type":384,"value":5695},{"type":375,"tag":1141,"props":8232,"children":8233},{"style":1195},[8234],{"type":384,"value":8235}," JSON",{"type":375,"tag":1141,"props":8237,"children":8238},{"style":1154},[8239],{"type":384,"value":465},{"type":375,"tag":1141,"props":8241,"children":8242},{"style":1211},[8243],{"type":384,"value":8244},"parse",{"type":375,"tag":1141,"props":8246,"children":8247},{"style":1154},[8248],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8250,"children":8251},{"style":1211},[8252],{"type":384,"value":8253},"readFileSync",{"type":375,"tag":1141,"props":8255,"children":8256},{"style":1154},[8257],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8259,"children":8260},{"style":1195},[8261],{"type":384,"value":8222},{"type":375,"tag":1141,"props":8263,"children":8264},{"style":1154},[8265],{"type":384,"value":1964},{"type":375,"tag":1141,"props":8267,"children":8268},{"style":1165},[8269],{"type":384,"value":8270},"\"utf8\"",{"type":375,"tag":1141,"props":8272,"children":8273},{"style":1154},[8274],{"type":384,"value":8275},")) ",{"type":375,"tag":1141,"props":8277,"children":8278},{"style":1148},[8279],{"type":384,"value":1125},{"type":375,"tag":1141,"props":8281,"children":8282},{"style":1154},[8283],{"type":384,"value":8284}," {};\n",{"type":375,"tag":1141,"props":8286,"children":8288},{"class":1143,"line":8287},101,[8289],{"type":375,"tag":1141,"props":8290,"children":8291},{"emptyLinePlaceholder":1180},[8292],{"type":384,"value":1183},{"type":375,"tag":1141,"props":8294,"children":8296},{"class":1143,"line":8295},102,[8297,8301,8305,8310,8314,8318,8322,8327,8331,8335,8339,8344,8348,8353,8357,8361,8365,8369,8374,8378,8382,8386,8390],{"type":375,"tag":1141,"props":8298,"children":8299},{"style":1148},[8300],{"type":384,"value":4992},{"type":375,"tag":1141,"props":8302,"children":8303},{"style":1148},[8304],{"type":384,"value":3269},{"type":375,"tag":1141,"props":8306,"children":8307},{"style":1211},[8308],{"type":384,"value":8309}," step",{"type":375,"tag":1141,"props":8311,"children":8312},{"style":1154},[8313],{"type":384,"value":4718},{"type":375,"tag":1141,"props":8315,"children":8316},{"style":1211},[8317],{"type":384,"value":5009},{"type":375,"tag":1141,"props":8319,"children":8320},{"style":1154},[8321],{"type":384,"value":5014},{"type":375,"tag":1141,"props":8323,"children":8324},{"style":3281},[8325],{"type":384,"value":8326},"what",{"type":375,"tag":1141,"props":8328,"children":8329},{"style":1148},[8330],{"type":384,"value":1125},{"type":375,"tag":1141,"props":8332,"children":8333},{"style":1195},[8334],{"type":384,"value":4640},{"type":375,"tag":1141,"props":8336,"children":8337},{"style":1154},[8338],{"type":384,"value":1964},{"type":375,"tag":1141,"props":8340,"children":8341},{"style":1211},[8342],{"type":384,"value":8343},"fn",{"type":375,"tag":1141,"props":8345,"children":8346},{"style":1148},[8347],{"type":384,"value":1125},{"type":375,"tag":1141,"props":8349,"children":8350},{"style":1154},[8351],{"type":384,"value":8352}," () ",{"type":375,"tag":1141,"props":8354,"children":8355},{"style":1148},[8356],{"type":384,"value":5482},{"type":375,"tag":1141,"props":8358,"children":8359},{"style":1211},[8360],{"type":384,"value":5040},{"type":375,"tag":1141,"props":8362,"children":8363},{"style":1154},[8364],{"type":384,"value":4718},{"type":375,"tag":1141,"props":8366,"children":8367},{"style":1211},[8368],{"type":384,"value":5009},{"type":375,"tag":1141,"props":8370,"children":8371},{"style":1154},[8372],{"type":384,"value":8373},">)",{"type":375,"tag":1141,"props":8375,"children":8376},{"style":1148},[8377],{"type":384,"value":1125},{"type":375,"tag":1141,"props":8379,"children":8380},{"style":1211},[8381],{"type":384,"value":5040},{"type":375,"tag":1141,"props":8383,"children":8384},{"style":1154},[8385],{"type":384,"value":4718},{"type":375,"tag":1141,"props":8387,"children":8388},{"style":1211},[8389],{"type":384,"value":5009},{"type":375,"tag":1141,"props":8391,"children":8392},{"style":1154},[8393],{"type":384,"value":5053},{"type":375,"tag":1141,"props":8395,"children":8397},{"class":1143,"line":8396},103,[8398,8402,8406,8411,8416,8420,8424,8429,8434],{"type":375,"tag":1141,"props":8399,"children":8400},{"style":1148},[8401],{"type":384,"value":5562},{"type":375,"tag":1141,"props":8403,"children":8404},{"style":1154},[8405],{"type":384,"value":5188},{"type":375,"tag":1141,"props":8407,"children":8408},{"style":1148},[8409],{"type":384,"value":8410},"let",{"type":375,"tag":1141,"props":8412,"children":8413},{"style":1154},[8414],{"type":384,"value":8415}," attempt ",{"type":375,"tag":1141,"props":8417,"children":8418},{"style":1148},[8419],{"type":384,"value":2088},{"type":375,"tag":1141,"props":8421,"children":8422},{"style":1195},[8423],{"type":384,"value":5904},{"type":375,"tag":1141,"props":8425,"children":8426},{"style":1154},[8427],{"type":384,"value":8428},"; ; attempt",{"type":375,"tag":1141,"props":8430,"children":8431},{"style":1148},[8432],{"type":384,"value":8433},"++",{"type":375,"tag":1141,"props":8435,"children":8436},{"style":1154},[8437],{"type":384,"value":3297},{"type":375,"tag":1141,"props":8439,"children":8441},{"class":1143,"line":8440},104,[8442,8446],{"type":375,"tag":1141,"props":8443,"children":8444},{"style":1148},[8445],{"type":384,"value":3383},{"type":375,"tag":1141,"props":8447,"children":8448},{"style":1154},[8449],{"type":384,"value":3388},{"type":375,"tag":1141,"props":8451,"children":8453},{"class":1143,"line":8452},105,[8454,8458,8462,8467],{"type":375,"tag":1141,"props":8455,"children":8456},{"style":1148},[8457],{"type":384,"value":3404},{"type":375,"tag":1141,"props":8459,"children":8460},{"style":1148},[8461],{"type":384,"value":2795},{"type":375,"tag":1141,"props":8463,"children":8464},{"style":1211},[8465],{"type":384,"value":8466}," fn",{"type":375,"tag":1141,"props":8468,"children":8469},{"style":1154},[8470],{"type":384,"value":4595},{"type":375,"tag":1141,"props":8472,"children":8474},{"class":1143,"line":8473},106,[8475,8479,8483],{"type":375,"tag":1141,"props":8476,"children":8477},{"style":1154},[8478],{"type":384,"value":3464},{"type":375,"tag":1141,"props":8480,"children":8481},{"style":1148},[8482],{"type":384,"value":3469},{"type":375,"tag":1141,"props":8484,"children":8485},{"style":1154},[8486],{"type":384,"value":8487}," (err) {\n",{"type":375,"tag":1141,"props":8489,"children":8491},{"class":1143,"line":8490},107,[8492,8496,8501,8506,8511,8516,8521,8526,8531,8535,8539,8543,8548],{"type":375,"tag":1141,"props":8493,"children":8494},{"style":1148},[8495],{"type":384,"value":7772},{"type":375,"tag":1141,"props":8497,"children":8498},{"style":1154},[8499],{"type":384,"value":8500}," (err ",{"type":375,"tag":1141,"props":8502,"children":8503},{"style":1148},[8504],{"type":384,"value":8505},"instanceof",{"type":375,"tag":1141,"props":8507,"children":8508},{"style":1211},[8509],{"type":384,"value":8510}," WebhookRelayAPIError",{"type":375,"tag":1141,"props":8512,"children":8513},{"style":1148},[8514],{"type":384,"value":8515}," &&",{"type":375,"tag":1141,"props":8517,"children":8518},{"style":1154},[8519],{"type":384,"value":8520}," err.status ",{"type":375,"tag":1141,"props":8522,"children":8523},{"style":1148},[8524],{"type":384,"value":8525},"===",{"type":375,"tag":1141,"props":8527,"children":8528},{"style":1195},[8529],{"type":384,"value":8530}," 429",{"type":375,"tag":1141,"props":8532,"children":8533},{"style":1148},[8534],{"type":384,"value":8515},{"type":375,"tag":1141,"props":8536,"children":8537},{"style":1154},[8538],{"type":384,"value":8415},{"type":375,"tag":1141,"props":8540,"children":8541},{"style":1148},[8542],{"type":384,"value":4718},{"type":375,"tag":1141,"props":8544,"children":8545},{"style":1195},[8546],{"type":384,"value":8547}," 5",{"type":375,"tag":1141,"props":8549,"children":8550},{"style":1154},[8551],{"type":384,"value":3297},{"type":375,"tag":1141,"props":8553,"children":8555},{"class":1143,"line":8554},108,[8556,8561,8565,8569,8573,8578,8582,8586,8591,8596,8600,8605],{"type":375,"tag":1141,"props":8557,"children":8558},{"style":1148},[8559],{"type":384,"value":8560},"        await",{"type":375,"tag":1141,"props":8562,"children":8563},{"style":1148},[8564],{"type":384,"value":1208},{"type":375,"tag":1141,"props":8566,"children":8567},{"style":1195},[8568],{"type":384,"value":5040},{"type":375,"tag":1141,"props":8570,"children":8571},{"style":1154},[8572],{"type":384,"value":5467},{"type":375,"tag":1141,"props":8574,"children":8575},{"style":3281},[8576],{"type":384,"value":8577},"r",{"type":375,"tag":1141,"props":8579,"children":8580},{"style":1154},[8581],{"type":384,"value":5477},{"type":375,"tag":1141,"props":8583,"children":8584},{"style":1148},[8585],{"type":384,"value":5482},{"type":375,"tag":1141,"props":8587,"children":8588},{"style":1211},[8589],{"type":384,"value":8590}," setTimeout",{"type":375,"tag":1141,"props":8592,"children":8593},{"style":1154},[8594],{"type":384,"value":8595},"(r, attempt ",{"type":375,"tag":1141,"props":8597,"children":8598},{"style":1148},[8599],{"type":384,"value":4031},{"type":375,"tag":1141,"props":8601,"children":8602},{"style":1195},[8603],{"type":384,"value":8604}," 2000",{"type":375,"tag":1141,"props":8606,"children":8607},{"style":1154},[8608],{"type":384,"value":8609},"));\n",{"type":375,"tag":1141,"props":8611,"children":8613},{"class":1143,"line":8612},109,[8614,8619],{"type":375,"tag":1141,"props":8615,"children":8616},{"style":1148},[8617],{"type":384,"value":8618},"        continue",{"type":375,"tag":1141,"props":8620,"children":8621},{"style":1154},[8622],{"type":384,"value":1173},{"type":375,"tag":1141,"props":8624,"children":8626},{"class":1143,"line":8625},110,[8627],{"type":375,"tag":1141,"props":8628,"children":8629},{"style":1154},[8630],{"type":384,"value":8631},"      }\n",{"type":375,"tag":1141,"props":8633,"children":8635},{"class":1143,"line":8634},111,[8636,8641,8645,8649,8654,8658,8662,8667,8672,8676,8680,8685,8689,8694,8699,8704,8708,8712,8716,8720],{"type":375,"tag":1141,"props":8637,"children":8638},{"style":1154},[8639],{"type":384,"value":8640},"      console.",{"type":375,"tag":1141,"props":8642,"children":8643},{"style":1211},[8644],{"type":384,"value":8041},{"type":375,"tag":1141,"props":8646,"children":8647},{"style":1154},[8648],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8650,"children":8651},{"style":1165},[8652],{"type":384,"value":8653},"`Stopped at ${",{"type":375,"tag":1141,"props":8655,"children":8656},{"style":1154},[8657],{"type":384,"value":8326},{"type":375,"tag":1141,"props":8659,"children":8660},{"style":1165},[8661],{"type":384,"value":5229},{"type":375,"tag":1141,"props":8663,"children":8664},{"style":1154},[8665],{"type":384,"value":8666},"err",{"type":375,"tag":1141,"props":8668,"children":8669},{"style":1148},[8670],{"type":384,"value":8671}," instanceof",{"type":375,"tag":1141,"props":8673,"children":8674},{"style":1211},[8675],{"type":384,"value":5211},{"type":375,"tag":1141,"props":8677,"children":8678},{"style":1148},[8679],{"type":384,"value":6432},{"type":375,"tag":1141,"props":8681,"children":8682},{"style":1154},[8683],{"type":384,"value":8684}," err",{"type":375,"tag":1141,"props":8686,"children":8687},{"style":1165},[8688],{"type":384,"value":465},{"type":375,"tag":1141,"props":8690,"children":8691},{"style":1154},[8692],{"type":384,"value":8693},"message",{"type":375,"tag":1141,"props":8695,"children":8696},{"style":1148},[8697],{"type":384,"value":8698}," :",{"type":375,"tag":1141,"props":8700,"children":8701},{"style":1211},[8702],{"type":384,"value":8703}," String",{"type":375,"tag":1141,"props":8705,"children":8706},{"style":1165},[8707],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8709,"children":8710},{"style":1154},[8711],{"type":384,"value":8666},{"type":375,"tag":1141,"props":8713,"children":8714},{"style":1165},[8715],{"type":384,"value":555},{"type":375,"tag":1141,"props":8717,"children":8718},{"style":1165},[8719],{"type":384,"value":5118},{"type":375,"tag":1141,"props":8721,"children":8722},{"style":1154},[8723],{"type":384,"value":1257},{"type":375,"tag":1141,"props":8725,"children":8727},{"class":1143,"line":8726},112,[8728,8732,8736,8740,8745,8749,8754],{"type":375,"tag":1141,"props":8729,"children":8730},{"style":1154},[8731],{"type":384,"value":8640},{"type":375,"tag":1141,"props":8733,"children":8734},{"style":1211},[8735],{"type":384,"value":8041},{"type":375,"tag":1141,"props":8737,"children":8738},{"style":1154},[8739],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8741,"children":8742},{"style":1165},[8743],{"type":384,"value":8744},"`Progress is saved in ${",{"type":375,"tag":1141,"props":8746,"children":8747},{"style":1195},[8748],{"type":384,"value":8222},{"type":375,"tag":1141,"props":8750,"children":8751},{"style":1165},[8752],{"type":384,"value":8753},"}. Fix the cause and run the script again.`",{"type":375,"tag":1141,"props":8755,"children":8756},{"style":1154},[8757],{"type":384,"value":1257},{"type":375,"tag":1141,"props":8759,"children":8761},{"class":1143,"line":8760},113,[8762,8767,8771,8775,8779],{"type":375,"tag":1141,"props":8763,"children":8764},{"style":1154},[8765],{"type":384,"value":8766},"      process.",{"type":375,"tag":1141,"props":8768,"children":8769},{"style":1211},[8770],{"type":384,"value":8117},{"type":375,"tag":1141,"props":8772,"children":8773},{"style":1154},[8774],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8776,"children":8777},{"style":1195},[8778],{"type":384,"value":8126},{"type":375,"tag":1141,"props":8780,"children":8781},{"style":1154},[8782],{"type":384,"value":1257},{"type":375,"tag":1141,"props":8784,"children":8786},{"class":1143,"line":8785},114,[8787],{"type":375,"tag":1141,"props":8788,"children":8789},{"style":1154},[8790],{"type":384,"value":3497},{"type":375,"tag":1141,"props":8792,"children":8794},{"class":1143,"line":8793},115,[8795],{"type":375,"tag":1141,"props":8796,"children":8797},{"style":1154},[8798],{"type":384,"value":3355},{"type":375,"tag":1141,"props":8800,"children":8802},{"class":1143,"line":8801},116,[8803],{"type":375,"tag":1141,"props":8804,"children":8805},{"style":1154},[8806],{"type":384,"value":3528},{"type":375,"tag":1141,"props":8808,"children":8810},{"class":1143,"line":8809},117,[8811],{"type":375,"tag":1141,"props":8812,"children":8813},{"emptyLinePlaceholder":1180},[8814],{"type":384,"value":1183},{"type":375,"tag":1141,"props":8816,"children":8818},{"class":1143,"line":8817},118,[8819,8823,8827,8832,8836,8840,8844,8848],{"type":375,"tag":1141,"props":8820,"children":8821},{"style":1148},[8822],{"type":384,"value":4992},{"type":375,"tag":1141,"props":8824,"children":8825},{"style":1148},[8826],{"type":384,"value":3269},{"type":375,"tag":1141,"props":8828,"children":8829},{"style":1211},[8830],{"type":384,"value":8831}," importPlan",{"type":375,"tag":1141,"props":8833,"children":8834},{"style":1154},[8835],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8837,"children":8838},{"style":3281},[8839],{"type":384,"value":6625},{"type":375,"tag":1141,"props":8841,"children":8842},{"style":1148},[8843],{"type":384,"value":1125},{"type":375,"tag":1141,"props":8845,"children":8846},{"style":1211},[8847],{"type":384,"value":4791},{"type":375,"tag":1141,"props":8849,"children":8850},{"style":1154},[8851],{"type":384,"value":3297},{"type":375,"tag":1141,"props":8853,"children":8855},{"class":1143,"line":8854},119,[8856,8860,8864,8868,8872,8876],{"type":375,"tag":1141,"props":8857,"children":8858},{"style":1148},[8859],{"type":384,"value":5562},{"type":375,"tag":1141,"props":8861,"children":8862},{"style":1154},[8863],{"type":384,"value":5188},{"type":375,"tag":1141,"props":8865,"children":8866},{"style":1148},[8867],{"type":384,"value":1192},{"type":375,"tag":1141,"props":8869,"children":8870},{"style":1195},[8871],{"type":384,"value":7452},{"type":375,"tag":1141,"props":8873,"children":8874},{"style":1148},[8875],{"type":384,"value":5580},{"type":375,"tag":1141,"props":8877,"children":8878},{"style":1154},[8879],{"type":384,"value":8880}," plan.eventTypes) {\n",{"type":375,"tag":1141,"props":8882,"children":8884},{"class":1143,"line":8883},120,[8885,8890,8894,8898,8903,8907,8911,8915,8919,8924],{"type":375,"tag":1141,"props":8886,"children":8887},{"style":1148},[8888],{"type":384,"value":8889},"    await",{"type":375,"tag":1141,"props":8891,"children":8892},{"style":1211},[8893],{"type":384,"value":8309},{"type":375,"tag":1141,"props":8895,"children":8896},{"style":1154},[8897],{"type":384,"value":1219},{"type":375,"tag":1141,"props":8899,"children":8900},{"style":1165},[8901],{"type":384,"value":8902},"`event type ${",{"type":375,"tag":1141,"props":8904,"children":8905},{"style":1154},[8906],{"type":384,"value":5472},{"type":375,"tag":1141,"props":8908,"children":8909},{"style":1165},[8910],{"type":384,"value":465},{"type":375,"tag":1141,"props":8912,"children":8913},{"style":1154},[8914],{"type":384,"value":4822},{"type":375,"tag":1141,"props":8916,"children":8917},{"style":1165},[8918],{"type":384,"value":5118},{"type":375,"tag":1141,"props":8920,"children":8921},{"style":1154},[8922],{"type":384,"value":8923},", () ",{"type":375,"tag":1141,"props":8925,"children":8926},{"style":1148},[8927],{"type":384,"value":8928},"=>\n",{"type":375,"tag":1141,"props":8930,"children":8932},{"class":1143,"line":8931},121,[8933,8938,8942],{"type":375,"tag":1141,"props":8934,"children":8935},{"style":1154},[8936],{"type":384,"value":8937},"      relay.outbound.eventTypes.",{"type":375,"tag":1141,"props":8939,"children":8940},{"style":1211},[8941],{"type":384,"value":2751},{"type":375,"tag":1141,"props":8943,"children":8944},{"style":1154},[8945],{"type":384,"value":8946},"(et.name, { description: et.description, deprecated: et.deprecated }));\n",{"type":375,"tag":1141,"props":8948,"children":8950},{"class":1143,"line":8949},122,[8951],{"type":375,"tag":1141,"props":8952,"children":8953},{"style":1154},[8954],{"type":384,"value":3355},{"type":375,"tag":1141,"props":8956,"children":8958},{"class":1143,"line":8957},123,[8959,8963,8967,8971,8975,8979],{"type":375,"tag":1141,"props":8960,"children":8961},{"style":1148},[8962],{"type":384,"value":5562},{"type":375,"tag":1141,"props":8964,"children":8965},{"style":1154},[8966],{"type":384,"value":5188},{"type":375,"tag":1141,"props":8968,"children":8969},{"style":1148},[8970],{"type":384,"value":1192},{"type":375,"tag":1141,"props":8972,"children":8973},{"style":1195},[8974],{"type":384,"value":7547},{"type":375,"tag":1141,"props":8976,"children":8977},{"style":1148},[8978],{"type":384,"value":5580},{"type":375,"tag":1141,"props":8980,"children":8981},{"style":1154},[8982],{"type":384,"value":7556},{"type":375,"tag":1141,"props":8984,"children":8986},{"class":1143,"line":8985},124,[8987,8991,8995,8999,9004,9008,9012,9016,9020,9024,9028,9032,9036],{"type":375,"tag":1141,"props":8988,"children":8989},{"style":1148},[8990],{"type":384,"value":8889},{"type":375,"tag":1141,"props":8992,"children":8993},{"style":1211},[8994],{"type":384,"value":8309},{"type":375,"tag":1141,"props":8996,"children":8997},{"style":1154},[8998],{"type":384,"value":1219},{"type":375,"tag":1141,"props":9000,"children":9001},{"style":1165},[9002],{"type":384,"value":9003},"`consumer ${",{"type":375,"tag":1141,"props":9005,"children":9006},{"style":1154},[9007],{"type":384,"value":7030},{"type":375,"tag":1141,"props":9009,"children":9010},{"style":1165},[9011],{"type":384,"value":465},{"type":375,"tag":1141,"props":9013,"children":9014},{"style":1154},[9015],{"type":384,"value":4890},{"type":375,"tag":1141,"props":9017,"children":9018},{"style":1165},[9019],{"type":384,"value":5118},{"type":375,"tag":1141,"props":9021,"children":9022},{"style":1154},[9023],{"type":384,"value":8923},{"type":375,"tag":1141,"props":9025,"children":9026},{"style":1148},[9027],{"type":384,"value":5482},{"type":375,"tag":1141,"props":9029,"children":9030},{"style":1154},[9031],{"type":384,"value":2746},{"type":375,"tag":1141,"props":9033,"children":9034},{"style":1211},[9035],{"type":384,"value":2751},{"type":375,"tag":1141,"props":9037,"children":9038},{"style":1154},[9039],{"type":384,"value":9040},"(c.id, { name: c.name }));\n",{"type":375,"tag":1141,"props":9042,"children":9044},{"class":1143,"line":9043},125,[9045,9049,9053,9057,9061,9065],{"type":375,"tag":1141,"props":9046,"children":9047},{"style":1148},[9048],{"type":384,"value":7741},{"type":375,"tag":1141,"props":9050,"children":9051},{"style":1154},[9052],{"type":384,"value":5188},{"type":375,"tag":1141,"props":9054,"children":9055},{"style":1148},[9056],{"type":384,"value":1192},{"type":375,"tag":1141,"props":9058,"children":9059},{"style":1195},[9060],{"type":384,"value":7754},{"type":375,"tag":1141,"props":9062,"children":9063},{"style":1148},[9064],{"type":384,"value":5580},{"type":375,"tag":1141,"props":9066,"children":9067},{"style":1154},[9068],{"type":384,"value":7763},{"type":375,"tag":1141,"props":9070,"children":9072},{"class":1143,"line":9071},126,[9073,9077,9082,9086,9090],{"type":375,"tag":1141,"props":9074,"children":9075},{"style":1148},[9076],{"type":384,"value":7772},{"type":375,"tag":1141,"props":9078,"children":9079},{"style":1154},[9080],{"type":384,"value":9081}," (state[e.sourceId]) ",{"type":375,"tag":1141,"props":9083,"children":9084},{"style":1148},[9085],{"type":384,"value":6073},{"type":375,"tag":1141,"props":9087,"children":9088},{"style":1154},[9089],{"type":384,"value":3244},{"type":375,"tag":1141,"props":9091,"children":9092},{"style":1499},[9093],{"type":384,"value":9094},"// imported on an earlier run\n",{"type":375,"tag":1141,"props":9096,"children":9098},{"class":1143,"line":9097},127,[9099,9104,9108,9112,9116,9121,9126,9130,9134,9138,9142,9147,9151,9155,9159,9163,9167,9171,9175,9179,9183,9187,9191,9195],{"type":375,"tag":1141,"props":9100,"children":9101},{"style":1148},[9102],{"type":384,"value":9103},"      const",{"type":375,"tag":1141,"props":9105,"children":9106},{"style":1154},[9107],{"type":384,"value":4817},{"type":375,"tag":1141,"props":9109,"children":9110},{"style":1195},[9111],{"type":384,"value":4890},{"type":375,"tag":1141,"props":9113,"children":9114},{"style":1154},[9115],{"type":384,"value":1964},{"type":375,"tag":1141,"props":9117,"children":9118},{"style":1195},[9119],{"type":384,"value":9120},"created",{"type":375,"tag":1141,"props":9122,"children":9123},{"style":1154},[9124],{"type":384,"value":9125}," } ",{"type":375,"tag":1141,"props":9127,"children":9128},{"style":1148},[9129],{"type":384,"value":2088},{"type":375,"tag":1141,"props":9131,"children":9132},{"style":1148},[9133],{"type":384,"value":2795},{"type":375,"tag":1141,"props":9135,"children":9136},{"style":1211},[9137],{"type":384,"value":8309},{"type":375,"tag":1141,"props":9139,"children":9140},{"style":1154},[9141],{"type":384,"value":1219},{"type":375,"tag":1141,"props":9143,"children":9144},{"style":1165},[9145],{"type":384,"value":9146},"`endpoint ${",{"type":375,"tag":1141,"props":9148,"children":9149},{"style":1154},[9150],{"type":384,"value":7030},{"type":375,"tag":1141,"props":9152,"children":9153},{"style":1165},[9154],{"type":384,"value":465},{"type":375,"tag":1141,"props":9156,"children":9157},{"style":1154},[9158],{"type":384,"value":4890},{"type":375,"tag":1141,"props":9160,"children":9161},{"style":1165},[9162],{"type":384,"value":5248},{"type":375,"tag":1141,"props":9164,"children":9165},{"style":1154},[9166],{"type":384,"value":7102},{"type":375,"tag":1141,"props":9168,"children":9169},{"style":1165},[9170],{"type":384,"value":465},{"type":375,"tag":1141,"props":9172,"children":9173},{"style":1154},[9174],{"type":384,"value":3975},{"type":375,"tag":1141,"props":9176,"children":9177},{"style":1165},[9178],{"type":384,"value":5118},{"type":375,"tag":1141,"props":9180,"children":9181},{"style":1154},[9182],{"type":384,"value":1964},{"type":375,"tag":1141,"props":9184,"children":9185},{"style":1148},[9186],{"type":384,"value":4992},{"type":375,"tag":1141,"props":9188,"children":9189},{"style":1154},[9190],{"type":384,"value":8352},{"type":375,"tag":1141,"props":9192,"children":9193},{"style":1148},[9194],{"type":384,"value":5482},{"type":375,"tag":1141,"props":9196,"children":9197},{"style":1154},[9198],{"type":384,"value":3388},{"type":375,"tag":1141,"props":9200,"children":9202},{"class":1143,"line":9201},128,[9203,9208],{"type":375,"tag":1141,"props":9204,"children":9205},{"style":1148},[9206],{"type":384,"value":9207},"        try",{"type":375,"tag":1141,"props":9209,"children":9210},{"style":1154},[9211],{"type":384,"value":3388},{"type":375,"tag":1141,"props":9213,"children":9215},{"class":1143,"line":9214},129,[9216,9221,9226,9230,9234,9238,9242],{"type":375,"tag":1141,"props":9217,"children":9218},{"style":1148},[9219],{"type":384,"value":9220},"          const",{"type":375,"tag":1141,"props":9222,"children":9223},{"style":1195},[9224],{"type":384,"value":9225}," ep",{"type":375,"tag":1141,"props":9227,"children":9228},{"style":1148},[9229],{"type":384,"value":1203},{"type":375,"tag":1141,"props":9231,"children":9232},{"style":1148},[9233],{"type":384,"value":2795},{"type":375,"tag":1141,"props":9235,"children":9236},{"style":1154},[9237],{"type":384,"value":2800},{"type":375,"tag":1141,"props":9239,"children":9240},{"style":1211},[9241],{"type":384,"value":2805},{"type":375,"tag":1141,"props":9243,"children":9244},{"style":1154},[9245],{"type":384,"value":9246},"(c.id, {\n",{"type":375,"tag":1141,"props":9248,"children":9250},{"class":1143,"line":9249},130,[9251],{"type":375,"tag":1141,"props":9252,"children":9253},{"style":1154},[9254],{"type":384,"value":9255},"            url: e.url, eventTypes: e.eventTypes, description: e.description, headers: e.headers, rate: e.rate,\n",{"type":375,"tag":1141,"props":9257,"children":9259},{"class":1143,"line":9258},131,[9260],{"type":375,"tag":1141,"props":9261,"children":9262},{"style":1154},[9263],{"type":384,"value":9264},"          });\n",{"type":375,"tag":1141,"props":9266,"children":9268},{"class":1143,"line":9267},132,[9269,9274,9279,9283,9288],{"type":375,"tag":1141,"props":9270,"children":9271},{"style":1148},[9272],{"type":384,"value":9273},"          return",{"type":375,"tag":1141,"props":9275,"children":9276},{"style":1154},[9277],{"type":384,"value":9278}," { id: ep.id, created: ",{"type":375,"tag":1141,"props":9280,"children":9281},{"style":1195},[9282],{"type":384,"value":2865},{"type":375,"tag":1141,"props":9284,"children":9285},{"style":1154},[9286],{"type":384,"value":9287}," }; ",{"type":375,"tag":1141,"props":9289,"children":9290},{"style":1499},[9291],{"type":384,"value":9292},"// ep.secret is intentionally not logged or stored\n",{"type":375,"tag":1141,"props":9294,"children":9296},{"class":1143,"line":9295},133,[9297,9302,9306],{"type":375,"tag":1141,"props":9298,"children":9299},{"style":1154},[9300],{"type":384,"value":9301},"        } ",{"type":375,"tag":1141,"props":9303,"children":9304},{"style":1148},[9305],{"type":384,"value":3469},{"type":375,"tag":1141,"props":9307,"children":9308},{"style":1154},[9309],{"type":384,"value":8487},{"type":375,"tag":1141,"props":9311,"children":9313},{"class":1143,"line":9312},134,[9314,9319,9323,9327,9331,9335,9339,9343,9348],{"type":375,"tag":1141,"props":9315,"children":9316},{"style":1148},[9317],{"type":384,"value":9318},"          if",{"type":375,"tag":1141,"props":9320,"children":9321},{"style":1154},[9322],{"type":384,"value":8500},{"type":375,"tag":1141,"props":9324,"children":9325},{"style":1148},[9326],{"type":384,"value":8505},{"type":375,"tag":1141,"props":9328,"children":9329},{"style":1211},[9330],{"type":384,"value":8510},{"type":375,"tag":1141,"props":9332,"children":9333},{"style":1148},[9334],{"type":384,"value":8515},{"type":375,"tag":1141,"props":9336,"children":9337},{"style":1154},[9338],{"type":384,"value":8520},{"type":375,"tag":1141,"props":9340,"children":9341},{"style":1148},[9342],{"type":384,"value":8525},{"type":375,"tag":1141,"props":9344,"children":9345},{"style":1195},[9346],{"type":384,"value":9347}," 409",{"type":375,"tag":1141,"props":9349,"children":9350},{"style":1154},[9351],{"type":384,"value":3297},{"type":375,"tag":1141,"props":9353,"children":9355},{"class":1143,"line":9354},135,[9356,9361,9366,9370,9374,9378,9382,9386,9391,9396,9400,9405,9409,9413,9418,9422],{"type":375,"tag":1141,"props":9357,"children":9358},{"style":1148},[9359],{"type":384,"value":9360},"            const",{"type":375,"tag":1141,"props":9362,"children":9363},{"style":1195},[9364],{"type":384,"value":9365}," existing",{"type":375,"tag":1141,"props":9367,"children":9368},{"style":1148},[9369],{"type":384,"value":1203},{"type":375,"tag":1141,"props":9371,"children":9372},{"style":1154},[9373],{"type":384,"value":5188},{"type":375,"tag":1141,"props":9375,"children":9376},{"style":1148},[9377],{"type":384,"value":1274},{"type":375,"tag":1141,"props":9379,"children":9380},{"style":1154},[9381],{"type":384,"value":2800},{"type":375,"tag":1141,"props":9383,"children":9384},{"style":1211},[9385],{"type":384,"value":7012},{"type":375,"tag":1141,"props":9387,"children":9388},{"style":1154},[9389],{"type":384,"value":9390},"(c.id)).",{"type":375,"tag":1141,"props":9392,"children":9393},{"style":1211},[9394],{"type":384,"value":9395},"find",{"type":375,"tag":1141,"props":9397,"children":9398},{"style":1154},[9399],{"type":384,"value":5467},{"type":375,"tag":1141,"props":9401,"children":9402},{"style":3281},[9403],{"type":384,"value":9404},"x",{"type":375,"tag":1141,"props":9406,"children":9407},{"style":1154},[9408],{"type":384,"value":5477},{"type":375,"tag":1141,"props":9410,"children":9411},{"style":1148},[9412],{"type":384,"value":5482},{"type":375,"tag":1141,"props":9414,"children":9415},{"style":1154},[9416],{"type":384,"value":9417}," x.url ",{"type":375,"tag":1141,"props":9419,"children":9420},{"style":1148},[9421],{"type":384,"value":8525},{"type":375,"tag":1141,"props":9423,"children":9424},{"style":1154},[9425],{"type":384,"value":9426}," e.url);\n",{"type":375,"tag":1141,"props":9428,"children":9430},{"class":1143,"line":9429},136,[9431,9436,9441,9446,9451,9456,9460],{"type":375,"tag":1141,"props":9432,"children":9433},{"style":1148},[9434],{"type":384,"value":9435},"            if",{"type":375,"tag":1141,"props":9437,"children":9438},{"style":1154},[9439],{"type":384,"value":9440}," (existing) ",{"type":375,"tag":1141,"props":9442,"children":9443},{"style":1148},[9444],{"type":384,"value":9445},"return",{"type":375,"tag":1141,"props":9447,"children":9448},{"style":1154},[9449],{"type":384,"value":9450}," { id: existing.id, created: ",{"type":375,"tag":1141,"props":9452,"children":9453},{"style":1195},[9454],{"type":384,"value":9455},"false",{"type":375,"tag":1141,"props":9457,"children":9458},{"style":1154},[9459],{"type":384,"value":9287},{"type":375,"tag":1141,"props":9461,"children":9462},{"style":1499},[9463],{"type":384,"value":9464},"// already there: leave its state alone\n",{"type":375,"tag":1141,"props":9466,"children":9468},{"class":1143,"line":9467},137,[9469],{"type":375,"tag":1141,"props":9470,"children":9471},{"style":1154},[9472],{"type":384,"value":9473},"          }\n",{"type":375,"tag":1141,"props":9475,"children":9477},{"class":1143,"line":9476},138,[9478,9483],{"type":375,"tag":1141,"props":9479,"children":9480},{"style":1148},[9481],{"type":384,"value":9482},"          throw",{"type":375,"tag":1141,"props":9484,"children":9485},{"style":1154},[9486],{"type":384,"value":9487}," err;\n",{"type":375,"tag":1141,"props":9489,"children":9491},{"class":1143,"line":9490},139,[9492],{"type":375,"tag":1141,"props":9493,"children":9494},{"style":1154},[9495],{"type":384,"value":9496},"        }\n",{"type":375,"tag":1141,"props":9498,"children":9500},{"class":1143,"line":9499},140,[9501],{"type":375,"tag":1141,"props":9502,"children":9503},{"style":1154},[9504],{"type":384,"value":9505},"      });\n",{"type":375,"tag":1141,"props":9507,"children":9509},{"class":1143,"line":9508},141,[9510,9514,9519,9523,9527,9531,9536,9540,9544,9548,9552,9556,9561],{"type":375,"tag":1141,"props":9511,"children":9512},{"style":1148},[9513],{"type":384,"value":7772},{"type":375,"tag":1141,"props":9515,"children":9516},{"style":1154},[9517],{"type":384,"value":9518}," (created) ",{"type":375,"tag":1141,"props":9520,"children":9521},{"style":1148},[9522],{"type":384,"value":1274},{"type":375,"tag":1141,"props":9524,"children":9525},{"style":1211},[9526],{"type":384,"value":8309},{"type":375,"tag":1141,"props":9528,"children":9529},{"style":1154},[9530],{"type":384,"value":1219},{"type":375,"tag":1141,"props":9532,"children":9533},{"style":1165},[9534],{"type":384,"value":9535},"`pause ${",{"type":375,"tag":1141,"props":9537,"children":9538},{"style":1154},[9539],{"type":384,"value":4890},{"type":375,"tag":1141,"props":9541,"children":9542},{"style":1165},[9543],{"type":384,"value":5118},{"type":375,"tag":1141,"props":9545,"children":9546},{"style":1154},[9547],{"type":384,"value":8923},{"type":375,"tag":1141,"props":9549,"children":9550},{"style":1148},[9551],{"type":384,"value":5482},{"type":375,"tag":1141,"props":9553,"children":9554},{"style":1154},[9555],{"type":384,"value":2800},{"type":375,"tag":1141,"props":9557,"children":9558},{"style":1211},[9559],{"type":384,"value":9560},"pause",{"type":375,"tag":1141,"props":9562,"children":9563},{"style":1154},[9564],{"type":384,"value":9565},"(id));\n",{"type":375,"tag":1141,"props":9567,"children":9569},{"class":1143,"line":9568},142,[9570,9575,9579],{"type":375,"tag":1141,"props":9571,"children":9572},{"style":1154},[9573],{"type":384,"value":9574},"      state[e.sourceId] ",{"type":375,"tag":1141,"props":9576,"children":9577},{"style":1148},[9578],{"type":384,"value":2088},{"type":375,"tag":1141,"props":9580,"children":9581},{"style":1154},[9582],{"type":384,"value":9583}," id;\n",{"type":375,"tag":1141,"props":9585,"children":9587},{"class":1143,"line":9586},143,[9588,9593,9597,9601,9605,9609,9613,9617,9622,9627,9631,9636],{"type":375,"tag":1141,"props":9589,"children":9590},{"style":1211},[9591],{"type":384,"value":9592},"      writeFileSync",{"type":375,"tag":1141,"props":9594,"children":9595},{"style":1154},[9596],{"type":384,"value":1219},{"type":375,"tag":1141,"props":9598,"children":9599},{"style":1195},[9600],{"type":384,"value":8222},{"type":375,"tag":1141,"props":9602,"children":9603},{"style":1154},[9604],{"type":384,"value":1964},{"type":375,"tag":1141,"props":9606,"children":9607},{"style":1195},[9608],{"type":384,"value":5960},{"type":375,"tag":1141,"props":9610,"children":9611},{"style":1154},[9612],{"type":384,"value":465},{"type":375,"tag":1141,"props":9614,"children":9615},{"style":1211},[9616],{"type":384,"value":1338},{"type":375,"tag":1141,"props":9618,"children":9619},{"style":1154},[9620],{"type":384,"value":9621},"(state, ",{"type":375,"tag":1141,"props":9623,"children":9624},{"style":1195},[9625],{"type":384,"value":9626},"null",{"type":375,"tag":1141,"props":9628,"children":9629},{"style":1154},[9630],{"type":384,"value":1964},{"type":375,"tag":1141,"props":9632,"children":9633},{"style":1195},[9634],{"type":384,"value":9635},"2",{"type":375,"tag":1141,"props":9637,"children":9638},{"style":1154},[9639],{"type":384,"value":8609},{"type":375,"tag":1141,"props":9641,"children":9643},{"class":1143,"line":9642},144,[9644,9648,9653,9657,9661,9665,9669,9673,9677,9681,9685,9689,9694,9698,9702,9706,9710,9715,9719,9724,9728,9732,9736,9740,9745,9749,9754],{"type":375,"tag":1141,"props":9645,"children":9646},{"style":1154},[9647],{"type":384,"value":8640},{"type":375,"tag":1141,"props":9649,"children":9650},{"style":1211},[9651],{"type":384,"value":9652},"log",{"type":375,"tag":1141,"props":9654,"children":9655},{"style":1154},[9656],{"type":384,"value":1219},{"type":375,"tag":1141,"props":9658,"children":9659},{"style":1165},[9660],{"type":384,"value":5089},{"type":375,"tag":1141,"props":9662,"children":9663},{"style":1154},[9664],{"type":384,"value":7030},{"type":375,"tag":1141,"props":9666,"children":9667},{"style":1165},[9668],{"type":384,"value":465},{"type":375,"tag":1141,"props":9670,"children":9671},{"style":1154},[9672],{"type":384,"value":4890},{"type":375,"tag":1141,"props":9674,"children":9675},{"style":1165},[9676],{"type":384,"value":5229},{"type":375,"tag":1141,"props":9678,"children":9679},{"style":1154},[9680],{"type":384,"value":7102},{"type":375,"tag":1141,"props":9682,"children":9683},{"style":1165},[9684],{"type":384,"value":465},{"type":375,"tag":1141,"props":9686,"children":9687},{"style":1154},[9688],{"type":384,"value":3975},{"type":375,"tag":1141,"props":9690,"children":9691},{"style":1165},[9692],{"type":384,"value":9693},"} -> ${",{"type":375,"tag":1141,"props":9695,"children":9696},{"style":1154},[9697],{"type":384,"value":4890},{"type":375,"tag":1141,"props":9699,"children":9700},{"style":1165},[9701],{"type":384,"value":5248},{"type":375,"tag":1141,"props":9703,"children":9704},{"style":1154},[9705],{"type":384,"value":9120},{"type":375,"tag":1141,"props":9707,"children":9708},{"style":1148},[9709],{"type":384,"value":6432},{"type":375,"tag":1141,"props":9711,"children":9712},{"style":1165},[9713],{"type":384,"value":9714}," \"(created, paused)\"",{"type":375,"tag":1141,"props":9716,"children":9717},{"style":1148},[9718],{"type":384,"value":8698},{"type":375,"tag":1141,"props":9720,"children":9721},{"style":1165},[9722],{"type":384,"value":9723}," \"(already existed, unchanged)\"}${",{"type":375,"tag":1141,"props":9725,"children":9726},{"style":1154},[9727],{"type":384,"value":7102},{"type":375,"tag":1141,"props":9729,"children":9730},{"style":1165},[9731],{"type":384,"value":465},{"type":375,"tag":1141,"props":9733,"children":9734},{"style":1154},[9735],{"type":384,"value":4758},{"type":375,"tag":1141,"props":9737,"children":9738},{"style":1148},[9739],{"type":384,"value":6432},{"type":375,"tag":1141,"props":9741,"children":9742},{"style":1165},[9743],{"type":384,"value":9744}," \" [disabled at Hook0]\"",{"type":375,"tag":1141,"props":9746,"children":9747},{"style":1148},[9748],{"type":384,"value":8698},{"type":375,"tag":1141,"props":9750,"children":9751},{"style":1165},[9752],{"type":384,"value":9753}," \"\"}`",{"type":375,"tag":1141,"props":9755,"children":9756},{"style":1154},[9757],{"type":384,"value":1257},{"type":375,"tag":1141,"props":9759,"children":9761},{"class":1143,"line":9760},145,[9762],{"type":375,"tag":1141,"props":9763,"children":9764},{"style":1154},[9765],{"type":384,"value":3497},{"type":375,"tag":1141,"props":9767,"children":9769},{"class":1143,"line":9768},146,[9770],{"type":375,"tag":1141,"props":9771,"children":9772},{"style":1154},[9773],{"type":384,"value":3355},{"type":375,"tag":1141,"props":9775,"children":9777},{"class":1143,"line":9776},147,[9778],{"type":375,"tag":1141,"props":9779,"children":9780},{"style":1154},[9781],{"type":384,"value":3528},{"type":375,"tag":1141,"props":9783,"children":9785},{"class":1143,"line":9784},148,[9786],{"type":375,"tag":1141,"props":9787,"children":9788},{"emptyLinePlaceholder":1180},[9789],{"type":384,"value":1183},{"type":375,"tag":1141,"props":9791,"children":9793},{"class":1143,"line":9792},149,[9794,9798,9802,9806,9810,9814],{"type":375,"tag":1141,"props":9795,"children":9796},{"style":1148},[9797],{"type":384,"value":1192},{"type":375,"tag":1141,"props":9799,"children":9800},{"style":1195},[9801],{"type":384,"value":5393},{"type":375,"tag":1141,"props":9803,"children":9804},{"style":1148},[9805],{"type":384,"value":1203},{"type":375,"tag":1141,"props":9807,"children":9808},{"style":1148},[9809],{"type":384,"value":2795},{"type":375,"tag":1141,"props":9811,"children":9812},{"style":1211},[9813],{"type":384,"value":5355},{"type":375,"tag":1141,"props":9815,"children":9816},{"style":1154},[9817],{"type":384,"value":4595},{"type":375,"tag":1141,"props":9819,"children":9821},{"class":1143,"line":9820},150,[9822,9826,9830],{"type":375,"tag":1141,"props":9823,"children":9824},{"style":1148},[9825],{"type":384,"value":1274},{"type":375,"tag":1141,"props":9827,"children":9828},{"style":1211},[9829],{"type":384,"value":6616},{"type":375,"tag":1141,"props":9831,"children":9832},{"style":1154},[9833],{"type":384,"value":9834},"(plan);\n",{"type":375,"tag":1141,"props":9836,"children":9838},{"class":1143,"line":9837},151,[9839,9843,9848,9852,9857,9862,9866,9871,9875,9879,9883,9887,9892,9896,9901,9905,9909,9914],{"type":375,"tag":1141,"props":9840,"children":9841},{"style":1148},[9842],{"type":384,"value":1192},{"type":375,"tag":1141,"props":9844,"children":9845},{"style":1195},[9846],{"type":384,"value":9847}," endpoints",{"type":375,"tag":1141,"props":9849,"children":9850},{"style":1148},[9851],{"type":384,"value":1203},{"type":375,"tag":1141,"props":9853,"children":9854},{"style":1154},[9855],{"type":384,"value":9856}," plan.consumers.",{"type":375,"tag":1141,"props":9858,"children":9859},{"style":1211},[9860],{"type":384,"value":9861},"reduce",{"type":375,"tag":1141,"props":9863,"children":9864},{"style":1154},[9865],{"type":384,"value":5467},{"type":375,"tag":1141,"props":9867,"children":9868},{"style":3281},[9869],{"type":384,"value":9870},"n",{"type":375,"tag":1141,"props":9872,"children":9873},{"style":1154},[9874],{"type":384,"value":1964},{"type":375,"tag":1141,"props":9876,"children":9877},{"style":3281},[9878],{"type":384,"value":7030},{"type":375,"tag":1141,"props":9880,"children":9881},{"style":1154},[9882],{"type":384,"value":5477},{"type":375,"tag":1141,"props":9884,"children":9885},{"style":1148},[9886],{"type":384,"value":5482},{"type":375,"tag":1141,"props":9888,"children":9889},{"style":1154},[9890],{"type":384,"value":9891}," n ",{"type":375,"tag":1141,"props":9893,"children":9894},{"style":1148},[9895],{"type":384,"value":1974},{"type":375,"tag":1141,"props":9897,"children":9898},{"style":1154},[9899],{"type":384,"value":9900}," c.endpoints.",{"type":375,"tag":1141,"props":9902,"children":9903},{"style":1195},[9904],{"type":384,"value":5894},{"type":375,"tag":1141,"props":9906,"children":9907},{"style":1154},[9908],{"type":384,"value":1964},{"type":375,"tag":1141,"props":9910,"children":9911},{"style":1195},[9912],{"type":384,"value":9913},"0",{"type":375,"tag":1141,"props":9915,"children":9916},{"style":1154},[9917],{"type":384,"value":1257},{"type":375,"tag":1141,"props":9919,"children":9921},{"class":1143,"line":9920},152,[9922,9927,9931,9935,9940,9944,9948,9952,9956,9960,9965,9969,9973,9977,9981,9985,9990,9994,9999],{"type":375,"tag":1141,"props":9923,"children":9924},{"style":1154},[9925],{"type":384,"value":9926},"console.",{"type":375,"tag":1141,"props":9928,"children":9929},{"style":1211},[9930],{"type":384,"value":9652},{"type":375,"tag":1141,"props":9932,"children":9933},{"style":1154},[9934],{"type":384,"value":1219},{"type":375,"tag":1141,"props":9936,"children":9937},{"style":1165},[9938],{"type":384,"value":9939},"`Plan: ${",{"type":375,"tag":1141,"props":9941,"children":9942},{"style":1154},[9943],{"type":384,"value":6625},{"type":375,"tag":1141,"props":9945,"children":9946},{"style":1165},[9947],{"type":384,"value":465},{"type":375,"tag":1141,"props":9949,"children":9950},{"style":1154},[9951],{"type":384,"value":4665},{"type":375,"tag":1141,"props":9953,"children":9954},{"style":1165},[9955],{"type":384,"value":465},{"type":375,"tag":1141,"props":9957,"children":9958},{"style":1195},[9959],{"type":384,"value":5894},{"type":375,"tag":1141,"props":9961,"children":9962},{"style":1165},[9963],{"type":384,"value":9964},"} event types, ${",{"type":375,"tag":1141,"props":9966,"children":9967},{"style":1154},[9968],{"type":384,"value":6625},{"type":375,"tag":1141,"props":9970,"children":9971},{"style":1165},[9972],{"type":384,"value":465},{"type":375,"tag":1141,"props":9974,"children":9975},{"style":1154},[9976],{"type":384,"value":6915},{"type":375,"tag":1141,"props":9978,"children":9979},{"style":1165},[9980],{"type":384,"value":465},{"type":375,"tag":1141,"props":9982,"children":9983},{"style":1195},[9984],{"type":384,"value":5894},{"type":375,"tag":1141,"props":9986,"children":9987},{"style":1165},[9988],{"type":384,"value":9989},"} consumers, ${",{"type":375,"tag":1141,"props":9991,"children":9992},{"style":1154},[9993],{"type":384,"value":4923},{"type":375,"tag":1141,"props":9995,"children":9996},{"style":1165},[9997],{"type":384,"value":9998},"} endpoints.`",{"type":375,"tag":1141,"props":10000,"children":10001},{"style":1154},[10002],{"type":384,"value":1257},{"type":375,"tag":1141,"props":10004,"children":10006},{"class":1143,"line":10005},153,[10007,10011,10015,10019,10024,10028,10032,10037],{"type":375,"tag":1141,"props":10008,"children":10009},{"style":1148},[10010],{"type":384,"value":7466},{"type":375,"tag":1141,"props":10012,"children":10013},{"style":1154},[10014],{"type":384,"value":5188},{"type":375,"tag":1141,"props":10016,"children":10017},{"style":1195},[10018],{"type":384,"value":4381},{"type":375,"tag":1141,"props":10020,"children":10021},{"style":1154},[10022],{"type":384,"value":10023},") console.",{"type":375,"tag":1141,"props":10025,"children":10026},{"style":1211},[10027],{"type":384,"value":9652},{"type":375,"tag":1141,"props":10029,"children":10030},{"style":1154},[10031],{"type":384,"value":1219},{"type":375,"tag":1141,"props":10033,"children":10034},{"style":1165},[10035],{"type":384,"value":10036},"\"Dry run: nothing was written. Run again with DRY_RUN=false to import.\"",{"type":375,"tag":1141,"props":10038,"children":10039},{"style":1154},[10040],{"type":384,"value":1257},{"type":375,"tag":1141,"props":10042,"children":10044},{"class":1143,"line":10043},154,[10045,10050,10054,10058],{"type":375,"tag":1141,"props":10046,"children":10047},{"style":1148},[10048],{"type":384,"value":10049},"else",{"type":375,"tag":1141,"props":10051,"children":10052},{"style":1148},[10053],{"type":384,"value":2795},{"type":375,"tag":1141,"props":10055,"children":10056},{"style":1211},[10057],{"type":384,"value":8831},{"type":375,"tag":1141,"props":10059,"children":10060},{"style":1154},[10061],{"type":384,"value":9834},{"type":375,"tag":376,"props":10063,"children":10064},{},[10065],{"type":384,"value":10066},"With more than a few hundred subscriptions, run the script in batches and review the output between runs. There is no bulk import endpoint.",{"type":375,"tag":467,"props":10068,"children":10070},{"id":10069},"let-your-agent-do-it",[10071],{"type":384,"value":10072},"Let your agent do it",{"type":375,"tag":10074,"props":10075,"children":10077},"agent-prompt",{"title":10076},"Migrate our outbound webhooks from Hook0 to Webhook Relay",[10078,10091,10127],{"type":375,"tag":376,"props":10079,"children":10080},{},[10081,10083,10089],{"type":384,"value":10082},"Read ",{"type":375,"tag":422,"props":10084,"children":10087},{"href":10085,"rel":10086},"https://webhookrelay.com/outbound-migration/hook0.md",[1094],[10088],{"type":384,"value":10085},{"type":384,"value":10090}," and follow it step by step in this repository.",{"type":375,"tag":3548,"props":10092,"children":10093},{},[10094,10099,10112,10117,10122],{"type":375,"tag":3552,"props":10095,"children":10096},{},[10097],{"type":384,"value":10098},"Inventory every use of the Hook0 SDK and API (sendEvent and POST /api/v1/event/ calls, subscription and event type management, secret display, receiver docs), and work out which label identifies the customer on our events. Ask me if it isn't clear.",{"type":375,"tag":3552,"props":10100,"children":10101},{},[10102,10104,10110],{"type":384,"value":10103},"Check GET ",{"type":375,"tag":422,"props":10105,"children":10108},{"href":10106,"rel":10107},"https://my.webhookrelay.com/v1/outbound/access",[1094],[10109],{"type":384,"value":10106},{"type":384,"value":10111},": confirm enabled is true and that our customers, subscriptions and event types fit within the returned limits. Stop and tell me if they don't.",{"type":375,"tag":3552,"props":10113,"children":10114},{},[10115],{"type":384,"value":10116},"Import event types, consumers and endpoints with the playbook's script, dry run first. Every new endpoint must be paused. Report the subscriptions it skipped.",{"type":375,"tag":3552,"props":10118,"children":10119},{},[10120],{"type":384,"value":10121},"Add a Webhook Relay publish call next to every Hook0 event call, behind a feature flag, with the customer label as the consumer and a stable idempotency key.",{"type":375,"tag":3552,"props":10123,"children":10124},{},[10125],{"type":384,"value":10126},"Run the playbook's verification checks with a Webhook Bin and report the results.",{"type":375,"tag":376,"props":10128,"children":10129},{},[10130],{"type":384,"value":10131},"Never print, log or commit signing secrets. Never delete or modify Hook0 subscriptions, event types or applications. Stop and ask me for approval before resuming any Webhook Relay endpoint or disabling any Hook0 subscription.",{"type":375,"tag":467,"props":10133,"children":10135},{"id":10134},"next-steps",[10136],{"type":384,"value":10137},"Next steps",{"type":375,"tag":10139,"props":10140,"children":10141},"ul",{},[10142,10152,10161],{"type":375,"tag":3552,"props":10143,"children":10144},{},[10145,10150],{"type":375,"tag":422,"props":10146,"children":10147},{"href":77},[10148],{"type":384,"value":10149},"Migration overview",{"type":384,"value":10151},": limits, what doesn't carry over and the general cutover plan.",{"type":375,"tag":3552,"props":10153,"children":10154},{},[10155,10159],{"type":375,"tag":422,"props":10156,"children":10157},{"href":71},[10158],{"type":384,"value":72},{"type":384,"value":10160},": send this to your customers with their new secret.",{"type":375,"tag":3552,"props":10162,"children":10163},{},[10164,10168],{"type":375,"tag":422,"props":10165,"children":10166},{"href":74},[10167],{"type":384,"value":75},{"type":384,"value":10169},": delivery history, endpoint health, pause and resume.",{"type":375,"tag":10171,"props":10172,"children":10173},"style",{},[10174],{"type":384,"value":10175},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":345,"searchDepth":1186,"depth":1186,"links":10177},[10178,10179,10183,10184,10185,10186,10187,10188],{"id":469,"depth":1176,"text":472},{"id":822,"depth":1176,"text":825,"children":10180},[10181,10182],{"id":1110,"depth":1186,"text":970},{"id":2721,"depth":1186,"text":2724},{"id":2965,"depth":1176,"text":2968},{"id":3543,"depth":1176,"text":3546},{"id":3733,"depth":1176,"text":3736},{"id":4132,"depth":1176,"text":4135},{"id":10069,"depth":1176,"text":10072},{"id":10134,"depth":1176,"text":10137},"markdown","content:docs:outbound:5.migrate:5.hook0.md","content","docs/outbound/5.migrate/5.hook0.md","docs/outbound/5.migrate/5.hook0","md",{"loc":89},1792946407644]