@hello-bill/node 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -388,8 +388,16 @@ var InMemoryWebhookDedupeStore = class {
388
388
  };
389
389
 
390
390
  // src/webhook/handler.ts
391
+ var UnknownWebhookEventError = class extends Error {
392
+ code = "webhook.unknown_event_type";
393
+ constructor(eventType) {
394
+ super(`Unhandled webhook event type: ${eventType}`);
395
+ this.name = "UnknownWebhookEventError";
396
+ Object.setPrototypeOf(this, new.target.prototype);
397
+ }
398
+ };
391
399
  function assertNever(x) {
392
- throw new Error(`Unhandled webhook variant: ${JSON.stringify(x)}`);
400
+ throw new UnknownWebhookEventError(x.type ?? JSON.stringify(x));
393
401
  }
394
402
  var noopLogger = {
395
403
  debug: () => {
@@ -554,7 +562,10 @@ function createWebhookHandler(opts) {
554
562
  safeLogger.error("hellobill.webhook.handler_error", {
555
563
  event_id: event.id,
556
564
  event_type: event.type,
557
- message: err.message
565
+ message: err.message,
566
+ // Include the typed error code when present so partners can identify
567
+ // known error classes (e.g. unknown event type) in log aggregation.
568
+ ...err != null && typeof err === "object" && "code" in err ? { code: err.code } : {}
558
569
  });
559
570
  });
560
571
  };
@@ -927,16 +938,20 @@ function createHellobillHandler(opts) {
927
938
  return result;
928
939
  }
929
940
 
930
- // src/next/index.ts
941
+ // src/_internal/normalise-headers.ts
931
942
  function normaliseHeaders(raw) {
932
943
  const out = { ...raw };
933
944
  for (const [k, v] of Object.entries(raw)) {
934
945
  if (k.toLowerCase() === "hellobill-signature") {
935
- out["x-hellobill-signature"] = v;
946
+ if (out["x-hellobill-signature"] === void 0) {
947
+ out["x-hellobill-signature"] = v;
948
+ }
936
949
  }
937
950
  }
938
951
  return out;
939
952
  }
953
+
954
+ // src/next/index.ts
940
955
  async function toHellobillRequest(req, slug) {
941
956
  const url = new URL(req.url);
942
957
  const query = {};