@agent-native/toolkit 0.208.0-nightly-20261013153438 → 0.208.0
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/app/auth/AuthPage.d.ts.map +1 -1
- package/dist/app/auth/AuthPage.js +5 -6
- package/dist/app/auth/AuthPage.js.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.js +11 -1
- package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
- package/dist/app/chat/chat/run-recovery.d.ts +3 -1
- package/dist/app/chat/chat/run-recovery.d.ts.map +1 -1
- package/dist/app/chat/chat/run-recovery.js +29 -2
- package/dist/app/chat/chat/run-recovery.js.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.js +4 -0
- package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.js +4 -0
- package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
- package/dist/app/i18n/catalogs/en-US.d.ts +4 -0
- package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/en-US.js +4 -0
- package/dist/app/i18n/catalogs/en-US.js.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.js +4 -0
- package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.js +4 -0
- package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.js +4 -0
- package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.js +4 -0
- package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.js +4 -0
- package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.js +4 -0
- package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.js +4 -0
- package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.js +4 -0
- package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
- package/package.json +4 -4
- package/src/app/auth/AuthPage.tsx +5 -7
- package/src/app/chat/AgentKitAssistantChat.spec.tsx +81 -0
- package/src/app/chat/AgentKitAssistantChat.tsx +18 -0
- package/src/app/chat/chat/run-recovery.spec.tsx +96 -0
- package/src/app/chat/chat/run-recovery.tsx +69 -0
- package/src/app/i18n/catalogs/ar-SA.ts +6 -0
- package/src/app/i18n/catalogs/de-DE.ts +6 -0
- package/src/app/i18n/catalogs/en-US.ts +6 -0
- package/src/app/i18n/catalogs/es-ES.ts +6 -0
- package/src/app/i18n/catalogs/fr-FR.ts +6 -0
- package/src/app/i18n/catalogs/hi-IN.ts +6 -0
- package/src/app/i18n/catalogs/ja-JP.ts +6 -0
- package/src/app/i18n/catalogs/ko-KR.ts +6 -0
- package/src/app/i18n/catalogs/pt-BR.ts +6 -0
- package/src/app/i18n/catalogs/zh-CN.ts +5 -0
- package/src/app/i18n/catalogs/zh-TW.ts +5 -0
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
} from "@agent-native/core/client/agent-chat";
|
|
6
6
|
import { agentNativePath } from "@agent-native/core/client/api-path";
|
|
7
7
|
import { injectedAgentNativeAppId } from "@agent-native/core/client/app-config";
|
|
8
|
+
import { resendVerificationEmail as requestVerificationEmail } from "@agent-native/core/client/auth/resend-verification-email";
|
|
8
9
|
import { formatClientFailureReport } from "@agent-native/core/client/failure-report";
|
|
9
10
|
import { useFeatureFlagState } from "@agent-native/core/client/feature-flags";
|
|
10
11
|
import { useFormatters, useT } from "@agent-native/core/client/i18n";
|
|
@@ -742,6 +743,8 @@ export function BuilderSetupCard({
|
|
|
742
743
|
|
|
743
744
|
export function RunErrorRecoveryCard({
|
|
744
745
|
info,
|
|
746
|
+
verificationEmail,
|
|
747
|
+
verificationCallbackURL,
|
|
745
748
|
onContinue,
|
|
746
749
|
onRetry,
|
|
747
750
|
onRetryWithoutAttachments,
|
|
@@ -753,6 +756,8 @@ export function RunErrorRecoveryCard({
|
|
|
753
756
|
continueError,
|
|
754
757
|
}: {
|
|
755
758
|
info: RunErrorInfo;
|
|
759
|
+
verificationEmail?: string | null;
|
|
760
|
+
verificationCallbackURL?: string;
|
|
756
761
|
/** Absent when the stopped run can no longer be continued. */
|
|
757
762
|
onContinue?: () => void;
|
|
758
763
|
continueError?: string | null;
|
|
@@ -772,6 +777,9 @@ export function RunErrorRecoveryCard({
|
|
|
772
777
|
);
|
|
773
778
|
const [forking, setForking] = useState(false);
|
|
774
779
|
const [forkError, setForkError] = useState<string | null>(null);
|
|
780
|
+
const [verificationEmailStatus, setVerificationEmailStatus] = useState<
|
|
781
|
+
"idle" | "sending" | "sent" | "failed"
|
|
782
|
+
>("idle");
|
|
775
783
|
const retryRequestedRef = useRef(false);
|
|
776
784
|
const builderReconnect = useBuilderConnectFlow({
|
|
777
785
|
provisionAccount: true,
|
|
@@ -796,6 +804,26 @@ export function RunErrorRecoveryCard({
|
|
|
796
804
|
(isProviderAuthError && !shouldShowBuilderReconnect);
|
|
797
805
|
const isUnblockableExternally =
|
|
798
806
|
info.errorCode === "email_verification_required";
|
|
807
|
+
const requestVerification = useCallback(async () => {
|
|
808
|
+
if (
|
|
809
|
+
!verificationEmail ||
|
|
810
|
+
verificationEmailStatus === "sending" ||
|
|
811
|
+
verificationEmailStatus === "sent"
|
|
812
|
+
) {
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
815
|
+
setVerificationEmailStatus("sending");
|
|
816
|
+
try {
|
|
817
|
+
await requestVerificationEmail(
|
|
818
|
+
verificationEmail,
|
|
819
|
+
verificationCallbackURL ??
|
|
820
|
+
`${window.location.origin}${window.location.pathname}`,
|
|
821
|
+
);
|
|
822
|
+
setVerificationEmailStatus("sent");
|
|
823
|
+
} catch {
|
|
824
|
+
setVerificationEmailStatus("failed");
|
|
825
|
+
}
|
|
826
|
+
}, [verificationCallbackURL, verificationEmail, verificationEmailStatus]);
|
|
799
827
|
// Rejected provider keys keep their setup path below — update/connect the
|
|
800
828
|
// credential and the setup callback re-runs the turn. They ALSO get a retry
|
|
801
829
|
// now, which the old comment here ruled out because "retry replays the same
|
|
@@ -883,6 +911,15 @@ export function RunErrorRecoveryCard({
|
|
|
883
911
|
}
|
|
884
912
|
}, [builderReconnectResolved, onDismiss]);
|
|
885
913
|
|
|
914
|
+
useEffect(() => {
|
|
915
|
+
if (verificationEmailStatus !== "sent") return;
|
|
916
|
+
const timeout = window.setTimeout(
|
|
917
|
+
() => setVerificationEmailStatus("idle"),
|
|
918
|
+
60_000,
|
|
919
|
+
);
|
|
920
|
+
return () => window.clearTimeout(timeout);
|
|
921
|
+
}, [verificationEmailStatus]);
|
|
922
|
+
|
|
886
923
|
if (shouldShowProviderSetup) {
|
|
887
924
|
return (
|
|
888
925
|
<div className="w-full">
|
|
@@ -989,6 +1026,38 @@ export function RunErrorRecoveryCard({
|
|
|
989
1026
|
{t("agentChat.recovery.retryAttachmentUnavailable")}
|
|
990
1027
|
</p>
|
|
991
1028
|
)}
|
|
1029
|
+
{isUnblockableExternally && verificationEmail && (
|
|
1030
|
+
<div className="mt-3">
|
|
1031
|
+
<Button
|
|
1032
|
+
size="sm"
|
|
1033
|
+
variant="outline"
|
|
1034
|
+
disabled={
|
|
1035
|
+
verificationEmailStatus === "sending" ||
|
|
1036
|
+
verificationEmailStatus === "sent"
|
|
1037
|
+
}
|
|
1038
|
+
onClick={() => void requestVerification()}
|
|
1039
|
+
>
|
|
1040
|
+
{verificationEmailStatus === "sending" && (
|
|
1041
|
+
<IconLoader2 size={14} className="animate-spin" />
|
|
1042
|
+
)}
|
|
1043
|
+
{t(
|
|
1044
|
+
verificationEmailStatus === "sending"
|
|
1045
|
+
? "agentChat.recovery.sendingVerificationEmail"
|
|
1046
|
+
: "agentChat.recovery.resendVerificationEmail",
|
|
1047
|
+
)}
|
|
1048
|
+
</Button>
|
|
1049
|
+
{verificationEmailStatus === "sent" && (
|
|
1050
|
+
<p role="status" className="mt-2 text-xs text-muted-foreground">
|
|
1051
|
+
{t("agentChat.recovery.verificationEmailRequested")}
|
|
1052
|
+
</p>
|
|
1053
|
+
)}
|
|
1054
|
+
{verificationEmailStatus === "failed" && (
|
|
1055
|
+
<p role="alert" className="mt-2 text-xs text-destructive">
|
|
1056
|
+
{t("agentChat.recovery.verificationEmailFailed")}
|
|
1057
|
+
</p>
|
|
1058
|
+
)}
|
|
1059
|
+
</div>
|
|
1060
|
+
)}
|
|
992
1061
|
{(info.runId || info.errorCode || info.details) && (
|
|
993
1062
|
<button
|
|
994
1063
|
type="button"
|
|
@@ -1185,6 +1185,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
1185
1185
|
"لم يعد بالإمكان متابعة هذا التشغيل. أرسل رسالة للمتابعة.",
|
|
1186
1186
|
"errorMessages.invalidAttachmentNamed":
|
|
1187
1187
|
"رفض موفّر النموذج {{name}} لأن تنسيقه أو حجمه غير مدعوم. صدّر الصور بحجم أصغر بصيغة PNG أو JPEG أو GIF أو WebP. للمستندات، استخدم تنسيقًا مدعومًا أو الصق النص ذي الصلة ثم أعد المحاولة.",
|
|
1188
|
+
"recovery.resendVerificationEmail": "إعادة إرسال رسالة التحقق",
|
|
1189
|
+
"recovery.sendingVerificationEmail": "جارٍ الإرسال...",
|
|
1190
|
+
"recovery.verificationEmailRequested":
|
|
1191
|
+
"تم طلب رسالة التحقق. تحقق من صندوق الوارد ومجلد الرسائل غير المرغوب فيها.",
|
|
1192
|
+
"recovery.verificationEmailFailed":
|
|
1193
|
+
"تعذر طلب رسالة التحقق. يرجى المحاولة مرة أخرى.",
|
|
1188
1194
|
"recovery.retryWithoutAttachment": "إعادة المحاولة بدون مرفق",
|
|
1189
1195
|
"recovery.retryAttachmentUnavailable":
|
|
1190
1196
|
"تضمّن هذا الطلب ملفًا لا يمكن إعادة المحاولة به. أرفقه مجددًا في مربع الرسالة، ثم حاول مرة أخرى.",
|
|
@@ -844,6 +844,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
844
844
|
"Dieser Lauf kann nicht mehr fortgesetzt werden. Sende eine Nachricht, um weiterzumachen.",
|
|
845
845
|
"errorMessages.invalidAttachmentNamed":
|
|
846
846
|
"Der Modellanbieter hat {{name}} abgelehnt, weil Format oder Größe nicht unterstützt werden. Exportiere Bilder kleiner als PNG, JPEG, GIF oder WebP. Verwende für Dokumente ein unterstütztes Format oder füge den relevanten Text ein und versuche es erneut.",
|
|
847
|
+
"recovery.resendVerificationEmail": "Bestätigungs-E-Mail erneut senden",
|
|
848
|
+
"recovery.sendingVerificationEmail": "Wird gesendet...",
|
|
849
|
+
"recovery.verificationEmailRequested":
|
|
850
|
+
"Bestätigungs-E-Mail angefordert. Prüfe Posteingang und Spam-Ordner.",
|
|
851
|
+
"recovery.verificationEmailFailed":
|
|
852
|
+
"Bestätigungs-E-Mail konnte nicht angefordert werden. Bitte versuche es erneut.",
|
|
847
853
|
"recovery.retryWithoutAttachment": "Ohne Anhang erneut versuchen",
|
|
848
854
|
"recovery.retryAttachmentUnavailable":
|
|
849
855
|
"Diese Anfrage enthielt eine Datei, die sich nicht erneut senden lässt. Füge sie im Nachrichtenfeld erneut hinzu und versuche es noch einmal.",
|
|
@@ -1180,6 +1180,12 @@ const messages = {
|
|
|
1180
1180
|
"This run can't be continued anymore. Send a message to keep going.",
|
|
1181
1181
|
"errorMessages.invalidAttachmentNamed":
|
|
1182
1182
|
"The model provider rejected {{name}} because its format or size is unsupported. For images, export a smaller PNG, JPEG, GIF, or WebP; for documents, use a supported format or paste the relevant text, then retry.",
|
|
1183
|
+
"recovery.resendVerificationEmail": "Resend verification email",
|
|
1184
|
+
"recovery.sendingVerificationEmail": "Sending...",
|
|
1185
|
+
"recovery.verificationEmailRequested":
|
|
1186
|
+
"Verification email requested. Check your inbox and spam folder.",
|
|
1187
|
+
"recovery.verificationEmailFailed":
|
|
1188
|
+
"Couldn't request the verification email. Please try again.",
|
|
1183
1189
|
"recovery.retryWithoutAttachment": "Retry without attachment",
|
|
1184
1190
|
"recovery.retryAttachmentUnavailable":
|
|
1185
1191
|
"This request included a file that can’t be retried. Attach it again in the message box, then try again.",
|
|
@@ -840,6 +840,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
840
840
|
"Esta ejecución ya no se puede continuar. Envía un mensaje para seguir.",
|
|
841
841
|
"errorMessages.invalidAttachmentNamed":
|
|
842
842
|
"El proveedor del modelo rechazó {{name}} porque su formato o tamaño no es compatible. Para imágenes, exporta un PNG, JPEG, GIF o WebP más pequeño; para documentos, usa un formato compatible o pega el texto relevante y vuelve a intentarlo.",
|
|
843
|
+
"recovery.resendVerificationEmail": "Reenviar correo de verificación",
|
|
844
|
+
"recovery.sendingVerificationEmail": "Enviando...",
|
|
845
|
+
"recovery.verificationEmailRequested":
|
|
846
|
+
"Se ha solicitado el correo de verificación. Revisa la bandeja de entrada y la carpeta de spam.",
|
|
847
|
+
"recovery.verificationEmailFailed":
|
|
848
|
+
"No se pudo solicitar el correo de verificación. Inténtalo de nuevo.",
|
|
843
849
|
"recovery.retryWithoutAttachment": "Reintentar sin el archivo adjunto",
|
|
844
850
|
"recovery.retryAttachmentUnavailable":
|
|
845
851
|
"Esta solicitud incluía un archivo que no se puede volver a enviar. Vuelve a adjuntarlo en el cuadro de mensaje y vuelve a intentarlo.",
|
|
@@ -847,6 +847,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
847
847
|
"Cette exécution ne peut plus être poursuivie. Envoyez un message pour continuer.",
|
|
848
848
|
"errorMessages.invalidAttachmentNamed":
|
|
849
849
|
"Le fournisseur du modèle a refusé {{name}} car son format ou sa taille n'est pas pris en charge. Pour les images, exportez un fichier PNG, JPEG, GIF ou WebP plus petit ; pour les documents, utilisez un format pris en charge ou collez le texte pertinent, puis réessayez.",
|
|
850
|
+
"recovery.resendVerificationEmail": "Renvoyer l’e-mail de vérification",
|
|
851
|
+
"recovery.sendingVerificationEmail": "Envoi...",
|
|
852
|
+
"recovery.verificationEmailRequested":
|
|
853
|
+
"E-mail de vérification demandé. Vérifiez votre boîte de réception et vos courriers indésirables.",
|
|
854
|
+
"recovery.verificationEmailFailed":
|
|
855
|
+
"Impossible de demander l’e-mail de vérification. Réessayez.",
|
|
850
856
|
"recovery.retryWithoutAttachment": "Réessayer sans pièce jointe",
|
|
851
857
|
"recovery.retryAttachmentUnavailable":
|
|
852
858
|
"Cette demande incluait un fichier qui ne peut pas être réessayé. Joignez-le de nouveau dans le champ de message, puis réessayez.",
|
|
@@ -1160,6 +1160,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
1160
1160
|
"यह रन अब जारी नहीं रखा जा सकता। आगे बढ़ने के लिए एक संदेश भेजें।",
|
|
1161
1161
|
"errorMessages.invalidAttachmentNamed":
|
|
1162
1162
|
"मॉडल प्रदाता ने {{name}} को अस्वीकार कर दिया क्योंकि इसका फ़ॉर्मैट या आकार समर्थित नहीं है। छवियों को छोटे PNG, JPEG, GIF या WebP के रूप में निर्यात करें। दस्तावेज़ों के लिए समर्थित फ़ॉर्मैट इस्तेमाल करें या संबंधित पाठ चिपकाकर फिर कोशिश करें।",
|
|
1163
|
+
"recovery.resendVerificationEmail": "सत्यापन ईमेल फिर से भेजें",
|
|
1164
|
+
"recovery.sendingVerificationEmail": "भेजा जा रहा है...",
|
|
1165
|
+
"recovery.verificationEmailRequested":
|
|
1166
|
+
"सत्यापन ईमेल का अनुरोध किया गया। अपना इनबॉक्स और स्पैम फ़ोल्डर देखें।",
|
|
1167
|
+
"recovery.verificationEmailFailed":
|
|
1168
|
+
"सत्यापन ईमेल का अनुरोध नहीं हो सका। कृपया फिर से कोशिश करें।",
|
|
1163
1169
|
"recovery.retryWithoutAttachment": "अटैचमेंट के बिना फिर से कोशिश करें",
|
|
1164
1170
|
"recovery.retryAttachmentUnavailable":
|
|
1165
1171
|
"इस अनुरोध में ऐसी फ़ाइल थी जिसे दोबारा नहीं भेजा जा सकता। उसे संदेश बॉक्स में फिर से जोड़ें, फिर कोशिश करें।",
|
|
@@ -1194,6 +1194,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
1194
1194
|
"この実行はもう続行できません。続けるにはメッセージを送信してください。",
|
|
1195
1195
|
"errorMessages.invalidAttachmentNamed":
|
|
1196
1196
|
"モデルプロバイダーは、形式またはサイズがサポートされていないため、{{name}} を拒否しました。画像はより小さい PNG、JPEG、GIF、または WebP として書き出してください。文書は対応形式を使うか、関連するテキストを貼り付けて再試行してください。",
|
|
1197
|
+
"recovery.resendVerificationEmail": "確認メールを再送信",
|
|
1198
|
+
"recovery.sendingVerificationEmail": "送信中...",
|
|
1199
|
+
"recovery.verificationEmailRequested":
|
|
1200
|
+
"確認メールの送信をリクエストしました。受信トレイと迷惑メールフォルダーを確認してください。",
|
|
1201
|
+
"recovery.verificationEmailFailed":
|
|
1202
|
+
"確認メールをリクエストできませんでした。もう一度お試しください。",
|
|
1197
1203
|
"recovery.retryWithoutAttachment": "添付ファイルなしで再試行",
|
|
1198
1204
|
"recovery.retryAttachmentUnavailable":
|
|
1199
1205
|
"このリクエストには再試行できないファイルが含まれています。メッセージ入力欄でファイルを添付し直してから、もう一度お試しください。",
|
|
@@ -1171,6 +1171,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
1171
1171
|
"이 실행은 더 이상 계속할 수 없습니다. 계속하려면 메시지를 보내세요.",
|
|
1172
1172
|
"errorMessages.invalidAttachmentNamed":
|
|
1173
1173
|
"모델 제공업체가 지원되지 않는 형식 또는 크기 때문에 {{name}}을(를) 거부했습니다. 이미지는 더 작은 PNG, JPEG, GIF 또는 WebP로 내보내세요. 문서는 지원되는 형식을 사용하거나 관련 텍스트를 붙여 넣은 뒤 다시 시도하세요.",
|
|
1174
|
+
"recovery.resendVerificationEmail": "인증 이메일 다시 보내기",
|
|
1175
|
+
"recovery.sendingVerificationEmail": "보내는 중...",
|
|
1176
|
+
"recovery.verificationEmailRequested":
|
|
1177
|
+
"인증 이메일을 요청했습니다. 받은편지함과 스팸 폴더를 확인하세요.",
|
|
1178
|
+
"recovery.verificationEmailFailed":
|
|
1179
|
+
"인증 이메일을 요청하지 못했습니다. 다시 시도하세요.",
|
|
1174
1180
|
"recovery.retryWithoutAttachment": "첨부 파일 없이 다시 시도",
|
|
1175
1181
|
"recovery.retryAttachmentUnavailable":
|
|
1176
1182
|
"이 요청에는 다시 시도할 수 없는 파일이 포함되어 있습니다. 메시지 입력란에 파일을 다시 첨부한 다음 다시 시도하세요.",
|
|
@@ -835,6 +835,12 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
835
835
|
"Esta execução não pode mais ser continuada. Envie uma mensagem para seguir.",
|
|
836
836
|
"errorMessages.invalidAttachmentNamed":
|
|
837
837
|
"O provedor do modelo rejeitou {{name}} porque o formato ou o tamanho não é compatível. Para imagens, exporte um PNG, JPEG, GIF ou WebP menor; para documentos, use um formato compatível ou cole o texto relevante e tente novamente.",
|
|
838
|
+
"recovery.resendVerificationEmail": "Reenviar e-mail de verificação",
|
|
839
|
+
"recovery.sendingVerificationEmail": "Enviando...",
|
|
840
|
+
"recovery.verificationEmailRequested":
|
|
841
|
+
"E-mail de verificação solicitado. Confira sua caixa de entrada e a pasta de spam.",
|
|
842
|
+
"recovery.verificationEmailFailed":
|
|
843
|
+
"Não foi possível solicitar o e-mail de verificação. Tente novamente.",
|
|
838
844
|
"recovery.retryWithoutAttachment": "Tentar novamente sem o anexo",
|
|
839
845
|
"recovery.retryAttachmentUnavailable":
|
|
840
846
|
"Esta solicitação incluía um arquivo que não pode ser reenviado. Anexe-o novamente no campo de mensagem e tente outra vez.",
|
|
@@ -1102,6 +1102,11 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
1102
1102
|
"recovery.continueUnavailable": "此运行已无法继续。发送消息以继续。",
|
|
1103
1103
|
"errorMessages.invalidAttachmentNamed":
|
|
1104
1104
|
"模型提供商拒绝了 {{name}},因为其格式或大小不受支持。图像请导出为更小的 PNG、JPEG、GIF 或 WebP;文档请使用支持的格式,或粘贴相关文本后重试。",
|
|
1105
|
+
"recovery.resendVerificationEmail": "重新发送验证邮件",
|
|
1106
|
+
"recovery.sendingVerificationEmail": "正在发送...",
|
|
1107
|
+
"recovery.verificationEmailRequested":
|
|
1108
|
+
"已请求发送验证邮件。请检查收件箱和垃圾邮件文件夹。",
|
|
1109
|
+
"recovery.verificationEmailFailed": "无法请求发送验证邮件。请重试。",
|
|
1105
1110
|
"recovery.retryWithoutAttachment": "不带附件重试",
|
|
1106
1111
|
"recovery.retryAttachmentUnavailable":
|
|
1107
1112
|
"此请求包含一个无法重试的文件。请在消息输入框中重新附加该文件,然后重试。",
|
|
@@ -1106,6 +1106,11 @@ const messages: ToolkitAgentChatTranslation = {
|
|
|
1106
1106
|
"recovery.continueUnavailable": "此執行已無法繼續。傳送訊息以繼續。",
|
|
1107
1107
|
"errorMessages.invalidAttachmentNamed":
|
|
1108
1108
|
"模型供應商拒絕了 {{name}},因為其格式或大小不受支援。圖片請匯出為較小的 PNG、JPEG、GIF 或 WebP;文件請使用支援的格式,或貼上相關文字後重試。",
|
|
1109
|
+
"recovery.resendVerificationEmail": "重新傳送驗證郵件",
|
|
1110
|
+
"recovery.sendingVerificationEmail": "正在傳送...",
|
|
1111
|
+
"recovery.verificationEmailRequested":
|
|
1112
|
+
"已要求傳送驗證郵件。請檢查收件匣和垃圾郵件資料夾。",
|
|
1113
|
+
"recovery.verificationEmailFailed": "無法要求傳送驗證郵件。請再試一次。",
|
|
1109
1114
|
"recovery.retryWithoutAttachment": "不附帶附件重試",
|
|
1110
1115
|
"recovery.retryAttachmentUnavailable":
|
|
1111
1116
|
"此要求包含無法重試的檔案。請在訊息輸入框中重新附加檔案,然後再試一次。",
|