@h-ai/reach 1.0.0-beta.20 → 1.0.0-beta.22

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.
package/dist/index.js CHANGED
@@ -483,7 +483,7 @@ function createAliyunSmsProvider(gatewayHook) {
483
483
  }
484
484
  const templateCode = message.extra?.templateCode;
485
485
  if (!config.gateway)
486
- logger.debug("Sending SMS", { to: message.to, templateCode });
486
+ logger.debug("Sending SMS", { templateCode });
487
487
  try {
488
488
  const params = {
489
489
  AccessKeyId: config.accessKeyId,
@@ -525,14 +525,18 @@ function createAliyunSmsProvider(gatewayHook) {
525
525
  reachM("reach_smsSendFailed")
526
526
  );
527
527
  }
528
- logger.info("SMS sent", { to: message.to, bizId: body.BizId });
528
+ logger.info("SMS sent", { bizId: body.BizId });
529
529
  return ok({ success: true, messageId: body.BizId });
530
530
  } catch (error) {
531
531
  if (config.gateway) {
532
- logger.warn("SMS gateway request failed");
532
+ logger.warn("SMS gateway request failed", {
533
+ causeName: error instanceof Error ? error.name : void 0
534
+ });
533
535
  return err(HaiReachError.SEND_FAILED, reachM("reach_smsGatewayFailed"));
534
536
  }
535
- logger.error("SMS send failed", { to: message.to, error });
537
+ logger.warn("SMS send failed", {
538
+ causeName: error instanceof Error ? error.name : void 0
539
+ });
536
540
  return err(toReachError());
537
541
  }
538
542
  }
@@ -713,7 +717,6 @@ function createConsoleProvider() {
713
717
  async send(message) {
714
718
  logger3.debug("Sending message via console", {
715
719
  provider: message.provider,
716
- to: message.to,
717
720
  hasSubject: Boolean(message.subject),
718
721
  bodyLength: message.body?.length ?? 0,
719
722
  template: message.template,
@@ -725,6 +728,15 @@ function createConsoleProvider() {
725
728
  };
726
729
  }
727
730
  var logger4 = core.logger.child({ module: "reach", scope: "provider-smtp" });
731
+ function smtpErrorDiagnostics(error) {
732
+ const code = error && typeof error === "object" && "code" in error ? error.code : void 0;
733
+ const responseCode = error && typeof error === "object" && "responseCode" in error ? error.responseCode : void 0;
734
+ return {
735
+ causeName: error instanceof Error ? error.name : void 0,
736
+ causeCode: typeof code === "string" && /^[A-Z0-9_]{1,64}$/.test(code) ? code : void 0,
737
+ responseCode: typeof responseCode === "number" ? responseCode : void 0
738
+ };
739
+ }
728
740
  function toReachError3() {
729
741
  return {
730
742
  ...HaiReachError.SEND_FAILED,
@@ -759,7 +771,7 @@ function createSmtpProvider() {
759
771
  logger4.info("SMTP provider connected", { host: config.host, port: config.port });
760
772
  return ok(void 0);
761
773
  } catch (error) {
762
- logger4.error("SMTP connection failed", { error });
774
+ logger4.error("SMTP connection failed", smtpErrorDiagnostics(error));
763
775
  return err(toReachError3());
764
776
  }
765
777
  },
@@ -781,7 +793,7 @@ function createSmtpProvider() {
781
793
  reachM("reach_notInitialized")
782
794
  );
783
795
  }
784
- logger4.debug("Sending email", { to: message.to, subject: message.subject });
796
+ logger4.debug("Sending email");
785
797
  try {
786
798
  const sendMail = transporter.sendMail.bind(transporter);
787
799
  const info = await sendMail({
@@ -790,10 +802,10 @@ function createSmtpProvider() {
790
802
  subject: message.subject ?? "",
791
803
  html: message.body ?? ""
792
804
  });
793
- logger4.info("Email sent", { to: message.to, messageId: info.messageId });
805
+ logger4.info("Email sent");
794
806
  return ok({ success: true, messageId: info.messageId });
795
807
  } catch (error) {
796
- logger4.error("Email send failed", { to: message.to, error });
808
+ logger4.warn("Email send failed", smtpErrorDiagnostics(error));
797
809
  return err(toReachError3());
798
810
  }
799
811
  }
@@ -1313,7 +1325,7 @@ async function executeSend(message, providers2, templateRegistry2, dndConfig2, r
1313
1325
  logger6.info("Message persisted for DND delivery", { provider: providerName, queueId });
1314
1326
  return ok({ success: true, deferred: true, queueId });
1315
1327
  }
1316
- logger6.info("Message blocked by DND (discard strategy)", { provider: providerName, to: message.to });
1328
+ logger6.info("Message blocked by DND (discard strategy)", { provider: providerName });
1317
1329
  return err(
1318
1330
  HaiReachError.DND_BLOCKED,
1319
1331
  reachM("reach_dndBlocked")
@@ -1322,14 +1334,12 @@ async function executeSend(message, providers2, templateRegistry2, dndConfig2, r
1322
1334
  const provider = providers2.get(providerName);
1323
1335
  logger6.debug("Sending message", {
1324
1336
  provider: providerName,
1325
- to: preprocessed.data.to,
1326
1337
  template: message.template
1327
1338
  });
1328
1339
  const result = await provider.send(preprocessed.data);
1329
1340
  if (!result.success) {
1330
1341
  logger6.warn("Message send failed", {
1331
1342
  provider: providerName,
1332
- to: message.to,
1333
1343
  error: result.error.code
1334
1344
  });
1335
1345
  return result;