@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 +22 -12
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
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", {
|
|
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", {
|
|
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.
|
|
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",
|
|
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"
|
|
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"
|
|
805
|
+
logger4.info("Email sent");
|
|
794
806
|
return ok({ success: true, messageId: info.messageId });
|
|
795
807
|
} catch (error) {
|
|
796
|
-
logger4.
|
|
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
|
|
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;
|