Skip to main content

Class: AgencyMemoryManager

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:163

Manages shared RAG memory for Agency collectives.

Remarks

This manager provides:

  • Initialization of dedicated data sources for agencies
  • Ingestion with role-based access control
  • Cross-GMI context queries with permission checks
  • Memory lifecycle management (retention, eviction)

Architecture:

AgencyMemoryManager

├─► VectorStoreManager (storage backend)

├─► AgencyRegistry (session state)

└─► Per-Agency Collections
└─► agency-{agencyId}-shared

Constructors

Constructor

new AgencyMemoryManager(vectorStoreManager, logger?): AgencyMemoryManager

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:187

Creates a new AgencyMemoryManager instance.

Parameters

vectorStoreManager

Vector store manager for RAG operations

IVectorStoreManager | null

logger?

ILogger

Optional logger for diagnostics

Returns

AgencyMemoryManager

Methods

broadcastToAgency()

broadcastToAgency(agencyId, input, config?): Promise<AgencyMemoryOperationResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:675

Broadcasts context from one GMI to all others in the agency. This is useful for sharing discoveries, decisions, or important updates.

Parameters

agencyId

string

Target agency

input

Broadcast input

broadcastType

"finding" | "decision" | "update" | "request" | "alert"

content

string

metadata?

Record<string, unknown>

priority?

"critical" | "low" | "high" | "normal"

senderGmiId

string

senderRoleId

string

targetRoles?

string[]

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryOperationResult>

Operation result with broadcast metadata

Example

await memoryManager.broadcastToAgency(agencyId, {
content: 'Found critical security vulnerability in auth module',
senderGmiId: 'security-analyst-gmi',
senderRoleId: 'security-analyst',
broadcastType: 'finding',
priority: 'high',
});

cleanupAgencyMemory()

cleanupAgencyMemory(agencyId): Promise<AgencyMemoryOperationResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:571

Cleans up agency memory when agency is removed.

Parameters

agencyId

string

Agency to clean up

Returns

Promise<AgencyMemoryOperationResult>

Operation result


getContextFromRoles()

getContextFromRoles(agencyId, options, config?): Promise<AgencyMemoryQueryResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:735

Gets recent context contributions from specific roles. Enables GMIs to selectively query context from collaborators.

Parameters

agencyId

string

Target agency

options

Query options with role filtering

categories?

("context" | "summary" | "finding" | "decision" | "communication")[]

fromRoles

string[]

limit?

number

minScore?

number

requestingGmiId

string

requestingRoleId

string

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryQueryResult>

Query result filtered by contributor roles

Example

// Get recent findings from the researcher role
const findings = await memoryManager.getContextFromRoles(agencyId, {
fromRoles: ['researcher', 'analyst'],
categories: ['finding', 'summary'],
requestingGmiId: 'coordinator-gmi',
requestingRoleId: 'coordinator',
limit: 10,
});

getDecisions()

getDecisions(agencyId, options, config?): Promise<AgencyMemoryQueryResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:857

Gets all decisions made by the agency.

Parameters

agencyId

string

Target agency

options

Query options

decisionTypes?

("escalation" | "consensus" | "delegation" | "resolution")[]

limit?

number

requestingGmiId

string

requestingRoleId

string

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryQueryResult>

Query result with decision chunks


getStats()

getStats(agencyId): Promise<AgencyMemoryStats | null>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:528

Gets statistics for agency shared memory.

Parameters

agencyId

string

Target agency

Returns

Promise<AgencyMemoryStats | null>

Memory statistics


ingestToSharedMemory()

ingestToSharedMemory(agencyId, input, config?): Promise<AgencyMemoryOperationResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:297

Ingests a document to agency shared memory.

Parameters

agencyId

string

Target agency

input

AgencyMemoryIngestInput

Document to ingest

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryOperationResult>

Operation result


initializeAgencyMemory()

initializeAgencyMemory(session): Promise<AgencyMemoryOperationResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:207

Initializes shared memory for an agency. Creates dedicated collection and applies configuration.

Parameters

session

AgencySession

Agency session to initialize memory for

Returns

Promise<AgencyMemoryOperationResult>

Operation result


isInitialized()

isInitialized(agencyId): boolean

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:647

Checks if agency memory is initialized.

Parameters

agencyId

string

Returns

boolean


querySharedMemory()

querySharedMemory(agencyId, options, config?): Promise<AgencyMemoryQueryResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:403

Queries agency shared memory.

Parameters

agencyId

string

Target agency

options

AgencyMemoryQueryOptions

Query options

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryQueryResult>

Query result with retrieved chunks


recordDecision()

recordDecision(agencyId, decision, config?): Promise<AgencyMemoryOperationResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:810

Records a decision made by the agency for future reference.

Parameters

agencyId

string

Target agency

decision

Decision details

affectedRoles?

string[]

content

string

decisionMakerId

string

decisionMakerRoleId

string

decisionType

"escalation" | "consensus" | "delegation" | "resolution"

metadata?

Record<string, unknown>

rationale?

string

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryOperationResult>

Operation result


shareSynthesis()

shareSynthesis(agencyId, summary, config?): Promise<AgencyMemoryOperationResult>

Defined in: packages/agentos/src/core/agency/AgencyMemoryManager.ts:768

Shares a synthesis or summary across all GMIs in the agency. Typically used by coordinator or synthesizer roles.

Parameters

agencyId

string

Target agency

summary

Summary content and metadata

content

string

metadata?

Record<string, unknown>

sourceRoles?

string[]

summaryType

"interim" | "final" | "action_items" | "consensus"

synthesizerId

string

synthesizerRoleId

string

config?

AgencyMemoryConfig

Agency memory configuration

Returns

Promise<AgencyMemoryOperationResult>

Operation result