@prestyj/ai 5.26.0 → 5.27.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/index.cjs CHANGED
@@ -2745,7 +2745,7 @@ async function* runStream3(options, retriedWithoutReasoning = false) {
2745
2745
  if (response.status === 400 && message === `The '${options.model}' model is not supported when using Codex with a ChatGPT account.`) {
2746
2746
  hint = "This model is not available through your ChatGPT account. Switch to a model listed for OpenAI via the model selector, or check your ChatGPT usage limits.";
2747
2747
  } else if (response.status === 404 && text.includes("does not exist")) {
2748
- hint = "This model is not in OpenAI's current catalog for your ChatGPT account. Switch to GPT-6 Astra, GPT-5.6 Sol, GPT-5.6 Terra, or GPT-5.6 Luna via the model selector.";
2748
+ hint = "This model is not in OpenAI's current catalog for your ChatGPT account. Switch to GPT-6 Astra, GPT-6 Sol, or GPT-6 Luna via the model selector.";
2749
2749
  }
2750
2750
  throw new ProviderError("openai", message, {
2751
2751
  statusCode: response.status,
@@ -4135,7 +4135,8 @@ var REDACTED = "[REDACTED]";
4135
4135
  var TRUNCATED = "[TRUNCATED]";
4136
4136
  var CIRCULAR = "[CIRCULAR]";
4137
4137
  var SENSITIVE_NAME = /(?:^|[_-])(?:api[_-]?key|access[_-]?token|refresh[_-]?token|token|key|auth(?:orization)?|bearer|cookie|credential|private[_-]?key|password|passwd|secret)(?:$|[_-])/i;
4138
- var SENSITIVE_ASSIGNMENT = /\b((?:api[_-]?key|access[_-]?token|refresh[_-]?token|token|key|auth(?:orization)?|bearer|cookie|credential|private[_-]?key|password|passwd|secret))\b(\s*[=:]\s*)(["']?)([^\s,"';}]+)\3/gi;
4138
+ var ENV_SECRET_ASSIGNMENT = /\b((?:[A-Z0-9]+_)*(?:API_?KEY|ACCESS_TOKEN|REFRESH_TOKEN|TOKEN|KEY|AUTH|AUTHORIZATION|BEARER|CREDENTIALS?|PASSWORD|PASSWD|SECRET))\b(\s*[=:]\s*)(["']?)(?!\$|process\.env|os\.environ|import\.meta|env\.)(?=[^\s,"';}]*\d)([^\s,"';}=$][^\s,"';}]{7,})\3/g;
4139
+ var COMPACT_SECRET_ASSIGNMENT = /\b((?:[a-z0-9]+[_-])*(?:api[_-]?key|access[_-]?token|refresh[_-]?token|token|auth|authorization|credentials?|password|passwd|secret)|(?:[a-z0-9]+[_-])+key)=(["']?)(?!\$)([^\s,"'&;}=][^\s,"'&;}]{7,})\2/gi;
4139
4140
  function escaped(value) {
4140
4141
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4141
4142
  }
@@ -4164,8 +4165,11 @@ function redactText(text, options = {}) {
4164
4165
  /\b(authorization\s*[:=]\s*)(?:bearer|basic)\s+[^\s,;]+/gi,
4165
4166
  `$1${REDACTED}`
4166
4167
  );
4167
- result = result.replace(/\b(bearer|basic)\s+[A-Za-z0-9+/_.=-]{8,}/gi, `$1 ${REDACTED}`);
4168
- result = result.replace(/\b(cookie|set-cookie)(\s*[:=]\s*)[^\r\n]+/gi, `$1$2${REDACTED}`);
4168
+ result = result.replace(
4169
+ /\b(bearer|basic)\s+(?![A-Za-z][a-z]{0,14}\b)[A-Za-z0-9+/_.=-]{8,}/gi,
4170
+ `$1 ${REDACTED}`
4171
+ );
4172
+ result = result.replace(/\b(cookie|set-cookie)(\s*:\s*)[^\s=;:]+=[^\r\n]*/gi, `$1$2${REDACTED}`);
4169
4173
  result = result.replace(
4170
4174
  /\beyJ[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\b/g,
4171
4175
  REDACTED
@@ -4175,8 +4179,12 @@ function redactText(text, options = {}) {
4175
4179
  REDACTED
4176
4180
  );
4177
4181
  result = result.replace(
4178
- SENSITIVE_ASSIGNMENT,
4179
- (_match, name, separator) => `${name}${separator}${REDACTED}`
4182
+ ENV_SECRET_ASSIGNMENT,
4183
+ (_match, name, separator, quote) => `${name}${separator}${quote}${REDACTED}${quote}`
4184
+ );
4185
+ result = result.replace(
4186
+ COMPACT_SECRET_ASSIGNMENT,
4187
+ (_match, name, quote) => `${name}=${quote}${REDACTED}${quote}`
4180
4188
  );
4181
4189
  for (const secret of normalizedSecrets(options.secrets)) {
4182
4190
  result = result.replace(new RegExp(escaped(secret), "g"), REDACTED);