{"record":{"id":"e3ef97974e9a91d1","repo":"paperclipai/paperclip","slug":"awsprovidersafemessage-code","errorCode":null,"errorMessage":"awsProviderSafeMessage(code)","messagePattern":"awsProviderSafeMessage\\(code\\)","errorType":"http","errorClass":"SecretProviderClientError","httpStatus":null,"severity":"error","filePath":"server/src/secrets/aws-secrets-manager-provider.ts","lineNumber":875,"sourceCode":"      return \"AWS Secrets Manager throttled the request. Wait and try again.\";\n    case \"not_found\":\n      return \"AWS Secrets Manager could not find the requested secret.\";\n    case \"conflict\":\n      return \"AWS Secrets Manager reported that the requested secret already exists.\";\n    case \"invalid_request\":\n      return \"AWS Secrets Manager rejected the request.\";\n    case \"provider_unavailable\":\n      return \"AWS Secrets Manager is unavailable right now.\";\n    case \"provider_error\":\n    default:\n      return \"AWS Secrets Manager request failed.\";\n  }\n}\n\nfunction normalizeAwsError(operation: string, error: unknown): never {\n  const rawMessage = error instanceof Error ? error.message : String(error);\n  const code = classifyAwsProviderError(rawMessage);\n  throw new SecretProviderClientError({\n    code,\n    provider: \"aws_secrets_manager\",\n    operation,\n    message: awsProviderSafeMessage(code),\n    rawMessage,\n    cause: error,\n  });\n}\n\nclass AwsSecretsManagerJsonGateway implements AwsSecretsManagerGateway {\n  private readonly endpoint: URL;\n\n  constructor(private readonly config: AwsSecretsManagerConfig) {\n    this.endpoint = new URL(config.endpoint);\n  }\n\n  createSecret(input: {\n    Name: string;","sourceCodeStart":857,"sourceCodeEnd":893,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/server/src/secrets/aws-secrets-manager-provider.ts#L857-L893","documentation":"Safe-message helper (awsProviderSafeMessage) for AWS Secrets Manager errors: it maps an internal error code to a fixed, non-sensitive user-facing message. The 'message' value shown is the helper's invocation expression — the throw site is the switch default, returning a generic failure string when the code is unrecognized or provider_error.","triggerScenarios":"Thrown at server/src/secrets/aws-secrets-manager-provider.ts:875 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the AWS error code in the server logs and remedy the Secrets Manager failure (permissions, network, or missing secret)."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}