Skip to content

@codesoul-co/hypha-memory / mem0-rest-client

Using this module

Use the Mem0 rest client module for binding external or local providers to Hypha ports. It exports 2 classes, 2 interfaces, 2 types.

Import from the package entrypoint

ts
import {
  Mem0OssClient,
  Mem0RestClient,
} from '@codesoul-co/hypha-memory';

import type {
  Mem0HttpResponse,
  Mem0OssClientOptions,
  Mem0HttpFetch,
  Mem0RestClientOptions,
} from '@codesoul-co/hypha-memory';

Usage patterns

  • Use the 4 type/interface exports as static contracts in application code, adapters, or tests. Import them with import type; they do not exist at runtime.
  • The module exposes 2 classes as constructable runtime implementations. Each symbol entry lists its constructor and public methods.

Public exports

SymbolKindSignatureDescription
Mem0OssClientclassnew Mem0OssClient(options: Mem0OssClientOptions): Mem0OssClientMem0 Oss Client class with 12 public constructor or member entries; its exact declarations are listed below.
Mem0RestClientclassnew Mem0RestClient(options: Mem0RestClientOptions): Mem0RestClientMem0 Rest Client class with 12 public constructor or member entries; its exact declarations are listed below.
Mem0HttpResponseinterfaceinterface Mem0HttpResponseMem0 Http Response interface with 6 public fields or methods.
Mem0OssClientOptionsinterfaceinterface Mem0OssClientOptionsMem0 Oss Client Options interface with 16 public fields or methods.
Mem0HttpFetchtypetype Mem0HttpFetch = (url: string, init?: { method?: string; headers?: Record<string, string>; body?: string; signal?: AbortSignal; }) => Promise<Mem0HttpResponse>Public type alias for Mem0 Http Fetch; the declaration contains its complete type expression.
Mem0RestClientOptionstypetype Mem0RestClientOptions = Mem0OssClientOptions & { deployment?: 'self_hosted'; }Public type alias for Mem0 Rest Client Options; the declaration contains its complete type expression.

Mem0OssClient

Mem0 Oss Client class with 12 public constructor or member entries; its exact declarations are listed below.

  • Kind: class
  • Import: import { Mem0OssClient } from '@codesoul-co/hypha-memory';
  • Source module: mem0-rest-client

Declaration

text
export declare class Mem0OssClient implements ExternalMemoryClient {
    constructor(options: Mem0OssClientOptions);
    capabilities(): Promise<Partial<MemoryManagementCapabilities>>;
    add(request: MemoryAddRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>;
    search(request: ManagedMemorySearchRequest, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>;
    get(request: MemoryGetRequest, signal?: AbortSignal): Promise<ManagedMemoryRecord | null>;
    list(request: MemoryListRequest, signal?: AbortSignal): Promise<MemoryListResult>;
    update(request: ManagedMemoryUpdateRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>;
    delete(request: ManagedMemoryDeleteRequest, signal?: AbortSignal): Promise<ManagedMemoryDeleteResult>;
    history(request: MemoryHistoryRequest, signal?: AbortSignal): Promise<MemoryVersion[]>;
    reconcile(operationId: string, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>;
    health(signal?: AbortSignal): Promise<ProviderHealth>;
    close(): Promise<void>;
}

Public members

MemberKindSignatureDescription
addmethodadd(request: MemoryAddRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>Public method; parameters and return type are shown in the signature.
capabilitiesmethodcapabilities(): Promise<Partial<MemoryManagementCapabilities>>Public method; parameters and return type are shown in the signature.
closemethodclose(): Promise<void>Public method; parameters and return type are shown in the signature.
constructorconstructor(options: Mem0OssClientOptions): Mem0OssClientCreates an instance of this class.
deletemethoddelete(request: ManagedMemoryDeleteRequest, signal?: AbortSignal): Promise<ManagedMemoryDeleteResult>Public method; parameters and return type are shown in the signature.
getmethodget(request: MemoryGetRequest, signal?: AbortSignal): Promise<ManagedMemoryRecord | null>Public method; parameters and return type are shown in the signature.
healthmethodhealth(signal?: AbortSignal): Promise<ProviderHealth>Public method; parameters and return type are shown in the signature.
historymethodhistory(request: MemoryHistoryRequest, signal?: AbortSignal): Promise<MemoryVersion[]>Public method; parameters and return type are shown in the signature.
listmethodlist(request: MemoryListRequest, signal?: AbortSignal): Promise<MemoryListResult>Public method; parameters and return type are shown in the signature.
reconcilemethodreconcile(operationId: string, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>Public method; parameters and return type are shown in the signature.
searchmethodsearch(request: ManagedMemorySearchRequest, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>Public method; parameters and return type are shown in the signature.
updatemethodupdate(request: ManagedMemoryUpdateRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>Public method; parameters and return type are shown in the signature.

Mem0RestClient

Mem0 Rest Client class with 12 public constructor or member entries; its exact declarations are listed below.

  • Kind: class
  • Import: import { Mem0RestClient } from '@codesoul-co/hypha-memory';
  • Source module: mem0-rest-client

Declaration

text
export declare class Mem0RestClient extends Mem0OssClient {
    constructor(options: Mem0RestClientOptions);
}

Public members

MemberKindSignatureDescription
addmethodadd(request: MemoryAddRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>Public method; parameters and return type are shown in the signature.
capabilitiesmethodcapabilities(): Promise<Partial<MemoryManagementCapabilities>>Public method; parameters and return type are shown in the signature.
closemethodclose(): Promise<void>Public method; parameters and return type are shown in the signature.
constructorconstructor(options: Mem0RestClientOptions): Mem0RestClientCreates an instance of this class.
deletemethoddelete(request: ManagedMemoryDeleteRequest, signal?: AbortSignal): Promise<ManagedMemoryDeleteResult>Public method; parameters and return type are shown in the signature.
getmethodget(request: MemoryGetRequest, signal?: AbortSignal): Promise<ManagedMemoryRecord | null>Public method; parameters and return type are shown in the signature.
healthmethodhealth(signal?: AbortSignal): Promise<ProviderHealth>Public method; parameters and return type are shown in the signature.
historymethodhistory(request: MemoryHistoryRequest, signal?: AbortSignal): Promise<MemoryVersion[]>Public method; parameters and return type are shown in the signature.
listmethodlist(request: MemoryListRequest, signal?: AbortSignal): Promise<MemoryListResult>Public method; parameters and return type are shown in the signature.
reconcilemethodreconcile(operationId: string, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>Public method; parameters and return type are shown in the signature.
searchmethodsearch(request: ManagedMemorySearchRequest, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>Public method; parameters and return type are shown in the signature.
updatemethodupdate(request: ManagedMemoryUpdateRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>Public method; parameters and return type are shown in the signature.

Mem0HttpResponse

Mem0 Http Response interface with 6 public fields or methods.

  • Kind: interface
  • Import: import type { Mem0HttpResponse } from '@codesoul-co/hypha-memory';
  • Source module: mem0-rest-client

Declaration

text
export interface Mem0HttpResponse {
    ok: boolean;
    status: number;
    statusText: string;
    headers?: {
        get(name: string): string | null;
    };
    json(): Promise<unknown>;
    text(): Promise<string>;
}

Contract members

MemberKindSignatureDescription
headerspropertyheaders?: { get(name: string): string | null; }Public property; its type, readonly modifier and optionality are shown in the signature.
jsonmethodjson(): Promise<unknown>Public method; parameters and return type are shown in the signature.
okpropertyok: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
statuspropertystatus: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
statusTextpropertystatusText: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
textmethodtext(): Promise<string>Public method; parameters and return type are shown in the signature.

Mem0OssClientOptions

Mem0 Oss Client Options interface with 16 public fields or methods.

  • Kind: interface
  • Import: import type { Mem0OssClientOptions } from '@codesoul-co/hypha-memory';
  • Source module: mem0-rest-client

Declaration

text
export interface Mem0OssClientOptions {
    baseUrl: string;
    apiKey?: string;
    authMode?: 'x-api-key' | 'bearer' | 'none';
    fetch?: Mem0HttpFetch;
    providerId?: string;
    healthPath?: string;
    now?: () => Date;
    mappingStore?: ExternalMemoryMappingStore;
    mappingProfile?: ExternalMemoryMappingRuntimeProfile;
    operationStore?: ExternalProviderOperationStore;
    operationProfile?: ExternalMemoryMappingRuntimeProfile;
    providerVersion?: string;
    expectedProviderVersion?: string;
    expectedCapabilities?: Partial<MemoryManagementCapabilities>;
    listPaginationMode?: 'top-k-offset' | 'provider-cursor';
    allowInsecureForTests?: boolean;
}

Contract members

MemberKindSignatureDescription
allowInsecureForTestspropertyallowInsecureForTests?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
apiKeypropertyapiKey?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
authModepropertyauthMode?: "none" | "x-api-key" | "bearer"Public property; its type, readonly modifier and optionality are shown in the signature.
baseUrlpropertybaseUrl: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
expectedCapabilitiespropertyexpectedCapabilities?: Partial<MemoryManagementCapabilities>Public property; its type, readonly modifier and optionality are shown in the signature.
expectedProviderVersionpropertyexpectedProviderVersion?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
fetchmethodfetch?(url: string, init?: { method?: string; headers?: Record<string, string>; body?: string; signal?: AbortSignal; }): Promise<Mem0HttpResponse>Public method; parameters and return type are shown in the signature.
healthPathpropertyhealthPath?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
listPaginationModepropertylistPaginationMode?: "top-k-offset" | "provider-cursor"Public property; its type, readonly modifier and optionality are shown in the signature.
mappingProfilepropertymappingProfile?: ExternalMemoryMappingRuntimeProfilePublic property; its type, readonly modifier and optionality are shown in the signature.
mappingStorepropertymappingStore?: ExternalMemoryMappingStorePublic property; its type, readonly modifier and optionality are shown in the signature.
nowmethodnow?(): DatePublic method; parameters and return type are shown in the signature.
operationProfilepropertyoperationProfile?: ExternalMemoryMappingRuntimeProfilePublic property; its type, readonly modifier and optionality are shown in the signature.
operationStorepropertyoperationStore?: ExternalProviderOperationStorePublic property; its type, readonly modifier and optionality are shown in the signature.
providerIdpropertyproviderId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
providerVersionpropertyproviderVersion?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

Mem0HttpFetch

Public type alias for Mem0 Http Fetch; the declaration contains its complete type expression.

  • Kind: type
  • Import: import type { Mem0HttpFetch } from '@codesoul-co/hypha-memory';
  • Source module: mem0-rest-client

Declaration

text
export type Mem0HttpFetch = (url: string, init?: {
    method?: string;
    headers?: Record<string, string>;
    body?: string;
    signal?: AbortSignal;
}) => Promise<Mem0HttpResponse>;

Mem0RestClientOptions

Public type alias for Mem0 Rest Client Options; the declaration contains its complete type expression.

  • Kind: type
  • Import: import type { Mem0RestClientOptions } from '@codesoul-co/hypha-memory';
  • Source module: mem0-rest-client

Declaration

text
export type Mem0RestClientOptions = Mem0OssClientOptions & {
    deployment?: 'self_hosted';
};