Skip to main content

Interface: Family()<TInput, TNode>

Defined in: packages/core/src/family.ts:110

The callable a family returns: call it to get (or reuse) a member. Callable + namespaced, like the provider factories (openai, anthropic).

Type Parameters

TInput

TInput

TNode

TNode

Family(input): TNode

Defined in: packages/core/src/family.ts:111

The callable a family returns: call it to get (or reuse) a member. Callable + namespaced, like the provider factories (openai, anthropic).

Parameters

input

TInput

Returns

TNode

Properties

familyId

readonly familyId: string

Defined in: packages/core/src/family.ts:113

The stable id the registry and family-wide overrides key on.

Methods

clear()

clear(): void

Defined in: packages/core/src/family.ts:134

Drop all memoized members. The next call rebuilds.

Returns

void


getGroupId()

getGroupId(): string

Defined in: packages/core/src/family.ts:143

DeclaredGroup — how the dev panel lists a family that has built nothing.

Aliases of familyId and keys(), present as their own names because the registry asks every kind of declaration the same three questions and a crew answers them too. Cheap enough to leave ungated: they expose nothing the two members above do not, and only registration is dev-mode gated.

Returns

string


getGroupKind()

getGroupKind(): string

Defined in: packages/core/src/family.ts:144

Returns

string


getMemberKeys()

getMemberKeys(): string[]

Defined in: packages/core/src/family.ts:145

Returns

string[]


keys()

keys(): string[]

Defined in: packages/core/src/family.ts:123

Member keys built so far, oldest first — i.e. in the order max would evict them.

That is insertion order for an unbounded family, and least-recently-used order once max is set, because a hit on a bounded family re-inserts to keep recency honest. Stated as eviction order rather than either of those so one description stays true both ways.

Returns

string[]


peek()

peek(input): TNode | undefined

Defined in: packages/core/src/family.ts:132

The already-built member for this input, or undefined.

Total by construction: it never builds, and it never throws — an input the key derivation refuses is simply not present, which is the honest answer to "do you have this one?". The one method whose job is to be safe to call has to actually be safe to call.

Parameters

input

TInput

Returns

TNode | undefined