feat: convert AugmentationResponse methods to use Promises, add search API

Refactored memory augmentation methods to return `Promise<AugmentationResponse>` for async handling. Introduced a new `search` method for vector similarity searches within the memory system.
This commit is contained in:
David Snelling 2025-06-02 09:25:26 -07:00
parent 9bdc9af8b0
commit b10a32e8de

View file

@ -1,4 +1,4 @@
/** Common types for augmentation system */ /** Common types for the augmentation system */
/** /**
* Enum representing all types of augmentations available in the Brainy system. * Enum representing all types of augmentations available in the Brainy system.
@ -13,6 +13,7 @@ export enum AugmentationType {
ACTIVATION = 'activation', ACTIVATION = 'activation',
WEBSOCKET = 'webSocket' WEBSOCKET = 'webSocket'
} }
export type WebSocketConnection = { export type WebSocketConnection = {
connectionId: string connectionId: string
url: string url: string
@ -199,7 +200,7 @@ export namespace BrainyAugmentations {
key: string, key: string,
data: unknown, data: unknown,
options?: Record<string, unknown> options?: Record<string, unknown>
): AugmentationResponse<boolean> ): Promise<AugmentationResponse<boolean>>
/** /**
* Retrieves data from the memory system. * Retrieves data from the memory system.
@ -209,7 +210,7 @@ export namespace BrainyAugmentations {
retrieveData( retrieveData(
key: string, key: string,
options?: Record<string, unknown> options?: Record<string, unknown>
): AugmentationResponse<unknown> ): Promise<AugmentationResponse<unknown>>
/** /**
* Updates existing data in the memory system. * Updates existing data in the memory system.
@ -221,7 +222,7 @@ export namespace BrainyAugmentations {
key: string, key: string,
data: unknown, data: unknown,
options?: Record<string, unknown> options?: Record<string, unknown>
): AugmentationResponse<boolean> ): Promise<AugmentationResponse<boolean>>
/** /**
* Deletes data from the memory system. * Deletes data from the memory system.
@ -231,7 +232,7 @@ export namespace BrainyAugmentations {
deleteData( deleteData(
key: string, key: string,
options?: Record<string, unknown> options?: Record<string, unknown>
): AugmentationResponse<boolean> ): Promise<AugmentationResponse<boolean>>
/** /**
* Lists available data keys in the memory system. * Lists available data keys in the memory system.
@ -241,7 +242,23 @@ export namespace BrainyAugmentations {
listDataKeys( listDataKeys(
pattern?: string, pattern?: string,
options?: Record<string, unknown> options?: Record<string, unknown>
): AugmentationResponse<string[]> ): Promise<AugmentationResponse<string[]>>
/**
* Searches for data in the memory system using vector similarity.
* @param query The query vector or data to search for
* @param k Number of results to return
* @param options Optional search options
*/
search(
query: unknown,
k?: number,
options?: Record<string, unknown>
): Promise<AugmentationResponse<Array<{
id: string;
score: number;
data: unknown;
}>>>
} }
/** /**
@ -351,13 +368,26 @@ export namespace BrainyAugmentations {
} }
/** Direct exports of augmentation interfaces for easier imports */ /** Direct exports of augmentation interfaces for easier imports */
export interface ISenseAugmentation extends BrainyAugmentations.ISenseAugmentation {} export interface ISenseAugmentation extends BrainyAugmentations.ISenseAugmentation {
export interface IConduitAugmentation extends BrainyAugmentations.IConduitAugmentation {} }
export interface ICognitionAugmentation extends BrainyAugmentations.ICognitionAugmentation {}
export interface IMemoryAugmentation extends BrainyAugmentations.IMemoryAugmentation {} export interface IConduitAugmentation extends BrainyAugmentations.IConduitAugmentation {
export interface IPerceptionAugmentation extends BrainyAugmentations.IPerceptionAugmentation {} }
export interface IDialogAugmentation extends BrainyAugmentations.IDialogAugmentation {}
export interface IActivationAugmentation extends BrainyAugmentations.IActivationAugmentation {} export interface ICognitionAugmentation extends BrainyAugmentations.ICognitionAugmentation {
}
export interface IMemoryAugmentation extends BrainyAugmentations.IMemoryAugmentation {
}
export interface IPerceptionAugmentation extends BrainyAugmentations.IPerceptionAugmentation {
}
export interface IDialogAugmentation extends BrainyAugmentations.IDialogAugmentation {
}
export interface IActivationAugmentation extends BrainyAugmentations.IActivationAugmentation {
}
/** WebSocket-enabled augmentation interfaces */ /** WebSocket-enabled augmentation interfaces */
export type IWebSocketSenseAugmentation = BrainyAugmentations.ISenseAugmentation & IWebSocketSupport export type IWebSocketSenseAugmentation = BrainyAugmentations.ISenseAugmentation & IWebSocketSupport