API: utils/cache

better-web-search-mcp


better-web-search-mcp / utils/cache

utils/cache#

Classes#

Cache#

Defined in: src/utils/cache.ts:164

A cache for search results, pages, API patterns, and domain profiles.

Prefers a SQLite database at data/cache.db (WAL mode, auto-created directory). When better-sqlite3 cannot be loaded, when opening the database fails, or when memory: true is passed, every method transparently operates on an in-memory Map with the same TTL semantics.

Constructors#

Constructor#

new Cache(opts?): Cache

Defined in: src/utils/cache.ts:169

Parameters#
ParameterType
optsCacheOptions
Returns#

Cache

Accessors#

isMemory#
Get Signature#

get isMemory(): boolean

Defined in: src/utils/cache.ts:190

Whether this instance is running on the in-memory Map backend.

Returns#

boolean

Methods#

addApiPattern()#

addApiPattern(domain, endpointPattern, method, contentType): void

Defined in: src/utils/cache.ts:324

Record a discovered API endpoint pattern for a domain.

Parameters#
ParameterType
domainstring
endpointPatternstring
methodstring
contentTypestring
Returns#

void

close()#

close(): void

Defined in: src/utils/cache.ts:195

Close the underlying database (no-op in memory mode).

Returns#

void

getApiPatterns()#

getApiPatterns(domain): ApiPattern[]

Defined in: src/utils/cache.ts:344

List all API patterns discovered for a domain, newest first.

Parameters#
ParameterType
domainstring
Returns#

ApiPattern[]

getDomain()#

getDomain(domain): unknown

Defined in: src/utils/cache.ts:291

Read a cached domain profile, or null on miss / bad JSON.

Parameters#
ParameterType
domainstring
Returns#

unknown

getPage()#

getPage(url): PageCacheEntry | null

Defined in: src/utils/cache.ts:245

Read a cached page entry, or null on miss / expiry.

Parameters#
ParameterType
urlstring
Returns#

PageCacheEntry | null

getSearch()#

getSearch(key): unknown

Defined in: src/utils/cache.ts:208

Read a cached search result, or null on miss / expiry / bad JSON.

Parameters#
ParameterType
keystring
Returns#

unknown

pruneExpired()#

pruneExpired(): void

Defined in: src/utils/cache.ts:359

Delete every search/page row whose TTL has expired.

Returns#

void

setDomain()#

setDomain(domain, profile): void

Defined in: src/utils/cache.ts:305

Upsert a domain profile (JSON-serialized), refreshing updated_at.

Parameters#
ParameterType
domainstring
profileunknown
Returns#

void

setPage()#

setPage(url, content, extractionMethod, confidence): void

Defined in: src/utils/cache.ts:265

Store a page extraction, refreshing the TTL on overwrite.

Parameters#
ParameterType
urlstring
contentstring
extractionMethodstring
confidencenumber
Returns#

void

setSearch()#

setSearch(key, query, results): void

Defined in: src/utils/cache.ts:225

Store a search result under a key, refreshing the TTL on overwrite.

Parameters#
ParameterType
keystring
querystring
resultsunknown
Returns#

void

References#

ApiPattern#

Re-exports ApiPattern


CacheOptions#

Re-exports CacheOptions


PAGE_TTL_MS#

Re-exports PAGE_TTL_MS


PageCacheEntry#

Re-exports PageCacheEntry


SEARCH_TTL_MS#

Re-exports SEARCH_TTL_MS