Skip to main content

Class: AgencyMemoryManager

Defined in: packages/agentos/src/agents/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/agents/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/agents/agency/AgencyMemoryManager.ts:688

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​

"request" | "finding" | "decision" | "update" | "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/agents/agency/AgencyMemoryManager.ts:584

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/agents/agency/AgencyMemoryManager.ts:748

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/agents/agency/AgencyMemoryManager.ts:870

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/agents/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/agents/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/agents/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/agents/agency/AgencyMemoryManager.ts:660

Checks if agency memory is initialized.

Parameters​

agencyId​

string

Returns​

boolean


querySharedMemory()​

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

Defined in: packages/agentos/src/agents/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/agents/agency/AgencyMemoryManager.ts:823

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/agents/agency/AgencyMemoryManager.ts:781

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