paperclipai/paperclip · error · SecretProviderClientError

awsProviderSafeMessage(clientCode)

Error message

awsProviderSafeMessage(clientCode)

What it means

Safe-message helper invoked after a non-OK AWS Secrets Manager HTTP response in the signed-request client: the parsed error code is normalized and passed to awsProviderSafeMessage to produce a sanitized message. This record's message is the helper-call expression itself; the throw site converts raw AWS error payloads into fixed, non-leaking strings.

Solutions

  1. Check the AWS client error code in the server logs and fix the underlying Secrets Manager issue (IAM, region, or secret name).
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at server/src/secrets/aws-secrets-manager-provider.ts:986 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18). Data as JSON: /api/errors/95479e108209d5c9. Report an issue: GitHub.

Appendix: source

Thrown at server/src/secrets/aws-secrets-manager-provider.ts:986

      operation,
      body,
      credentials,
    });
    const response = await fetch(this.endpoint, {
      method: "POST",
      headers,
      body,
      signal: AbortSignal.timeout(AWS_SECRETS_MANAGER_REQUEST_TIMEOUT_MS),
    });
    const text = await response.text();
    const parsed = text ? (JSON.parse(text) as Record<string, unknown>) : {};

    if (!response.ok) {
      const code = String(parsed.__type ?? parsed.code ?? parsed.Code ?? response.statusText ?? "UnknownError");
      const message = String(parsed.message ?? parsed.Message ?? code);
      const rawMessage = `${code}: ${message}`;
      const clientCode = classifyAwsProviderError(rawMessage);
      throw new SecretProviderClientError({
        code: clientCode,
        provider: "aws_secrets_manager",
        operation,
        message: awsProviderSafeMessage(clientCode),
        rawMessage,
      });
    }

    return parsed as T;
  }
}

export function createAwsSecretsManagerProvider(
  options?: {
    config?: AwsSecretsManagerConfig;
    gateway?: AwsSecretsManagerGateway;
  },
): SecretProviderModule {

View on GitHub (pinned to 120ae5428f)