diegosouzapw/OmniRoute · error
encodeCredentialBlob: tokens object is required
Error message
encodeCredentialBlob: tokens object is required
What it means
Error "encodeCredentialBlob: tokens object is required" thrown in diegosouzapw/OmniRoute.
Source
Thrown at src/lib/oauth/credentialBlob.ts:52
scope?: string;
[key: string]: unknown;
}
export interface CredentialBlob {
provider: string;
tokens: CredentialBlobTokens;
}
/**
* Encode a provider + raw OAuth token response into a single-line blob.
* Throws if `provider` is missing — a blob with no provider cannot be routed.
*/
export function encodeCredentialBlob(input: CredentialBlob): string {
if (!input || typeof input.provider !== "string" || !input.provider.trim()) {
throw new Error("encodeCredentialBlob: a non-empty provider is required");
}
if (!input.tokens || typeof input.tokens !== "object") {
throw new Error("encodeCredentialBlob: tokens object is required");
}
const payload = {
v: CREDENTIAL_BLOB_VERSION,
provider: input.provider.trim(),
tokens: input.tokens,
};
const json = JSON.stringify(payload);
const b64 = Buffer.from(json, "utf8").toString("base64url");
return `${CREDENTIAL_BLOB_PREFIX}${b64}`;
}
/**
* Decode a credential blob produced by {@link encodeCredentialBlob}.
* Validates the prefix, version, JSON shape, and the presence of an access_token.
* Throws a descriptive error on any malformed/tampered/unsupported input.
*/
export function decodeCredentialBlob(blob: string): CredentialBlob {
if (typeof blob !== "string" || !blob.startsWith(CREDENTIAL_BLOB_PREFIX)) {View on GitHub (pinned to a179ffed5b)
When it happens
Trigger: Thrown at src/lib/oauth/credentialBlob.ts:52 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25).
Data as JSON: /api/errors/3c3946dfa267b2b9.
Report an issue: GitHub.