Class MemoryLiveAdapter

Live trading memory adapter with pluggable storage backend.

Features:

  • Adapter pattern for swappable memory instance implementations
  • Default backend: MemoryPersistInstance (file-system backed, survives restarts)
  • Alternative backends: MemoryLocalInstance, MemoryDummyInstance
  • Convenience methods: useLocal(), usePersist(), useDummy(), useMemoryAdapter()
  • Memoized instances per (signalId, bucketName) pair; cleared via disposeSignal() from MemoryAdapter

Use this adapter for live trading memory storage.

Implements

  • TMemoryInstance

Constructors

Properties

clear: () => void

Clears the memoized instance cache. Call this when process.cwd() changes between strategy iterations so new instances are created with the updated base path.

disposeSignal: (signalId: string) => void

Disposes all memoized instances for the given signalId. Called by MemoryAdapter when a signal is cancelled or closed.

Type declaration

    • (signalId: string): void
    • Parameters

      • signalId: string

        Signal identifier to dispose

      Returns void

listMemory: <T extends object = object>(
    dto: { bucketName: string; signalId: string },
) => Promise<{ content: T; memoryId: string }[]>

List all entries in memory.

Type declaration

    • <T extends object = object>(
          dto: { bucketName: string; signalId: string },
      ): Promise<{ content: T; memoryId: string }[]>
    • Type Parameters

      • T extends object = object

      Parameters

      • dto: { bucketName: string; signalId: string }
        • bucketName: string

          Bucket name

        • signalId: string

          Signal identifier

      Returns Promise<{ content: T; memoryId: string }[]>

      Array of all stored entries

readMemory: <T extends object = object>(
    dto: { bucketName: string; memoryId: string; signalId: string },
) => Promise<T>

Read a single entry from memory.

Type declaration

    • <T extends object = object>(
          dto: { bucketName: string; memoryId: string; signalId: string },
      ): Promise<T>
    • Type Parameters

      • T extends object = object

      Parameters

      • dto: { bucketName: string; memoryId: string; signalId: string }
        • bucketName: string

          Bucket name

        • memoryId: string

          Unique entry identifier

        • signalId: string

          Signal identifier

      Returns Promise<T>

      Entry value

Error if entry not found

removeMemory: (
    dto: { bucketName: string; memoryId: string; signalId: string },
) => Promise<void>

Remove an entry from memory.

searchMemory: <T extends object = object>(
    dto: {
        bucketName: string;
        query: string;
        settings?: SearchSettings;
        signalId: string;
    },
) => Promise<{ content: T; memoryId: string; score: number }[]>

Search memory using BM25 full-text scoring.

Type declaration

    • <T extends object = object>(
          dto: {
              bucketName: string;
              query: string;
              settings?: SearchSettings;
              signalId: string;
          },
      ): Promise<{ content: T; memoryId: string; score: number }[]>
    • Type Parameters

      • T extends object = object

      Parameters

      • dto: {
            bucketName: string;
            query: string;
            settings?: SearchSettings;
            signalId: string;
        }
        • bucketName: string

          Bucket name

        • query: string

          Search query string

        • Optionalsettings?: SearchSettings
        • signalId: string

          Signal identifier

      Returns Promise<{ content: T; memoryId: string; score: number }[]>

      Matching entries sorted by relevance score

useDummy: () => void

Switches to dummy adapter that discards all writes.

useLocal: () => void

Switches to in-memory BM25 adapter. All data lives in process memory only.

useMemoryAdapter: (Ctor: TMemoryInstanceCtor) => void

Switches to a custom memory adapter implementation.

Type declaration

usePersist: () => void

Switches to file-system backed adapter (default). Data is persisted to ./dump/memory///.

writeMemory: <T extends object = object>(
    dto: {
        bucketName: string;
        description: string;
        memoryId: string;
        signalId: string;
        value: T;
    },
) => Promise<void>

Write a value to memory.