Unispec Docs
SDK ReferenceClasses

RecordsClient

Class: RecordsClient

Defined in: packages/sdk/src/backend/records.ts:256

Constructors

Constructor

new RecordsClient(config): RecordsClient

Defined in: packages/sdk/src/backend/records.ts:260

Parameters

config

PlatformConfig

Returns

RecordsClient

Methods

add()

add(schema, record, entity?): Promise<TypedRecord>

Defined in: packages/sdk/src/backend/records.ts:360

Store a typed record (validated against the schema's latest version; also embedded for semantic search).

Parameters

schema

string

record

Record<string, unknown>

entity?

RecordEntity = {}

Returns

Promise<TypedRecord>


addSchemaVersion()

addSchemaVersion(name, def): Promise<MemorySchema>

Defined in: packages/sdk/src/backend/records.ts:309

Publish a new version of an existing schema (old records stay pinned).

Parameters

name

string

def
embed_template?

string

json_schema

RecordSchemaDef

retention?

RetentionPolicy

Returns

Promise<MemorySchema>


createSchema()

createSchema(def): Promise<MemorySchema>

Defined in: packages/sdk/src/backend/records.ts:299

Register a new schema (version 1). Use defineSchema / schemaFromZod to build the definition.

Parameters

def
embed_template?

string

json_schema

RecordSchemaDef

name

string

retention?

RetentionPolicy

Returns

Promise<MemorySchema>


deleteRecord()

deleteRecord(schema, id): Promise<{ deleted: string; }>

Defined in: packages/sdk/src/backend/records.ts:444

Delete one record (its derived embedding is removed too).

Parameters

schema

string

id

string

Returns

Promise<{ deleted: string; }>


deleteSchema()

deleteSchema(name): Promise<{ deleted: string; }>

Defined in: packages/sdk/src/backend/records.ts:342

Delete a schema (409 while records still exist — delete them first).

Parameters

name

string

Returns

Promise<{ deleted: string; }>


extract()

extract(schema, input): Promise<ExtractResult>

Defined in: packages/sdk/src/backend/records.ts:401

LLM-extract a record from a conversation or free text. Only explicitly stated values are captured; stored: false (nothing usable) is a normal outcome, not an error.

Parameters

schema

string

input

object & RecordEntity

Returns

Promise<ExtractResult>


getSchema()

getSchema(name, version?): Promise<MemorySchema>

Defined in: packages/sdk/src/backend/records.ts:333

Fetch one schema; omit version for the latest.

Parameters

name

string

version?

number

Returns

Promise<MemorySchema>


list()

list(schema, opts?): Promise<TypedRecord[]>

Defined in: packages/sdk/src/backend/records.ts:379

List records newest-first, optionally filtered by entity.

Parameters

schema

string

opts?

RecordEntity & object = {}

Returns

Promise<TypedRecord[]>


listSchemas()

listSchemas(): Promise<MemorySchema[]>

Defined in: packages/sdk/src/backend/records.ts:325

List the project's schemas (latest version of each).

Returns

Promise<MemorySchema[]>


merged()

merged(schema, userId): Promise<MergedRecord>

Defined in: packages/sdk/src/backend/records.ts:421

Newest-wins per-field merge of a user's records — e.g. "the current lead profile" without client-side merge logic.

Parameters

schema

string

userId

string

Returns

Promise<MergedRecord>


presets()

presets(): Promise<SchemaPreset[]>

Defined in: packages/sdk/src/backend/records.ts:351

Cloneable starter schemas (link, observation, action-item, decision, lead-profile). Pass one straight to createSchema.

Returns

Promise<SchemaPreset[]>


update()

update(schema, id, patch): Promise<TypedRecord>

Defined in: packages/sdk/src/backend/records.ts:431

Merge-patch one record: provided fields replace, explicit null removes. The merged object re-validates against the record's pinned schema version and the derived embedding is rewritten.

Parameters

schema

string

id

string

patch

Record<string, unknown>

Returns

Promise<TypedRecord>

On this page