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?
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?
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?
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?
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
Document to ingest
config?
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
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
Query options
config?
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?
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?
Agency memory configuration
Returns
Promise<AgencyMemoryOperationResult>
Operation result