Files
klz-cables.com/.pnpm-store/v10/files/b6/cc5060dd506417026da97fc76c74abc22edd913d756e627f2e7419f46edf6e0c4428e599c17d214c92969445f2ebe15e136c9539d2f4ed474855b65e8753ca
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

48 lines
1.3 KiB
Plaintext

import { GOOGLE_GENAI_INSTRUMENTED_METHODS } from './constants.js';
/**
* Check if a method path should be instrumented
*/
function shouldInstrument(methodPath) {
// Check for exact matches first (like 'models.generateContent')
if (GOOGLE_GENAI_INSTRUMENTED_METHODS.includes(methodPath )) {
return true;
}
// Check for method name matches (like 'sendMessage' from chat instances)
const methodName = methodPath.split('.').pop();
return GOOGLE_GENAI_INSTRUMENTED_METHODS.includes(methodName );
}
/**
* Check if a method is a streaming method
*/
function isStreamingMethod(methodPath) {
return methodPath.includes('Stream');
}
// Copied from https://googleapis.github.io/js-genai/release_docs/index.html
/**
*
*/
function contentUnionToMessages(content, role = 'user') {
if (typeof content === 'string') {
return [{ role, content }];
}
if (Array.isArray(content)) {
return content.flatMap(content => contentUnionToMessages(content, role));
}
if (typeof content !== 'object' || !content) return [];
if ('role' in content && typeof content.role === 'string') {
return [content ];
}
if ('parts' in content) {
return [{ ...content, role } ];
}
return [{ role, content }];
}
export { contentUnionToMessages, isStreamingMethod, shouldInstrument };
//# sourceMappingURL=utils.js.map