Skip to main content
Glama
fingerprintBlock.ts906 B
import crypto from 'node:crypto'; import type { FingerprintedBlock, NormalizedBlock } from './types'; const computeStringDigest = (text: string): string => crypto.createHash('sha256').update(text).digest('hex'); export const fingerprintBlock = ( block: NormalizedBlock, previousBlock: NormalizedBlock | null, nextBlock: NormalizedBlock | null ): FingerprintedBlock => { const semanticDigest = computeStringDigest(block.semanticText); const anchorDigest = computeStringDigest(block.anchorText); const compositeKey = `${semanticDigest}:${anchorDigest}`; const previousDigest = computeStringDigest(previousBlock?.semanticText ?? ''); const nextDigest = computeStringDigest(nextBlock?.semanticText ?? ''); const contextKey = computeStringDigest(`${previousDigest}:${nextDigest}`); return { ...block, semanticDigest, anchorDigest, compositeKey, contextKey, }; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server