Z ZPI 文档 v0.3.8
介绍页

源码

packages/ai/src/utils/redact-error.ts

typescript18 行查看原文
/** Remove configured credentials before provider errors enter the durable transcript. */
export function redactProviderError(
  message: string,
  secrets: readonly (string | null | undefined)[],
): string {
  const values = new Set<string>();
  for (const secret of secrets) {
    if (!secret) continue;
    values.add(secret);
    // Providers may echo only the token, rather than the complete Authorization header.
    const bearer = /^\s*Bearer\s+(.+?)\s*$/i.exec(secret);
    if (bearer?.[1]) values.add(bearer[1]);
  }
  for (const secret of [...values].sort((a, b) => b.length - a.length))
    message = message.split(secret).join("[redacted]");
  return message;
}