Skip to content

Commit 9854324

Browse files
committed
fix: add memoryProviders to template render config
1 parent 18a11fe commit 9854324

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

src/cli/operations/agent/generate/schema-mapper.ts

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import type {
88
MemoryStrategy,
99
ModelProvider,
1010
} from '../../../../schema';
11-
import type { AgentRenderConfig } from '../../../templates/types';
11+
import type {
12+
AgentRenderConfig,
13+
MemoryProviderRenderConfig,
14+
} from '../../../templates/types';
1215
import {
1316
DEFAULT_MEMORY_EXPIRY_DAYS,
1417
DEFAULT_NETWORK_MODE,
@@ -112,6 +115,33 @@ export function mapGenerateConfigToResources(config: GenerateConfig): GenerateCo
112115
};
113116
}
114117

118+
/**
119+
* Compute the default env var name for a memory.
120+
*/
121+
function computeMemoryEnvVarName(memoryName: string): string {
122+
return `AGENTCORE_MEMORY_${memoryName.toUpperCase()}`;
123+
}
124+
125+
/**
126+
* Maps memory option to memory providers for template rendering.
127+
*/
128+
function mapMemoryOptionToMemoryProviders(
129+
memory: MemoryOption,
130+
projectName: string
131+
): MemoryProviderRenderConfig[] {
132+
if (memory === 'none') {
133+
return [];
134+
}
135+
136+
const memoryName = `${projectName}Memory`;
137+
return [
138+
{
139+
name: memoryName,
140+
envVarName: computeMemoryEnvVarName(memoryName),
141+
},
142+
];
143+
}
144+
115145
/**
116146
* Maps GenerateConfig to AgentRenderConfig for template rendering.
117147
*/
@@ -123,5 +153,6 @@ export function mapGenerateConfigToRenderConfig(config: GenerateConfig): AgentRe
123153
modelProvider: config.modelProvider,
124154
hasMemory: config.memory !== 'none',
125155
hasIdentity: config.modelProvider !== 'Bedrock',
156+
memoryProviders: mapMemoryOptionToMemoryProviders(config.memory, config.projectName),
126157
};
127158
}

src/cli/templates/types.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
import type { ModelProvider, SDKFramework, TargetLanguage } from '../../schema';
22

3+
/**
4+
* Memory provider config for template rendering.
5+
*/
6+
export interface MemoryProviderRenderConfig {
7+
name: string;
8+
envVarName: string;
9+
}
10+
311
/**
412
* Configuration needed by template renderers.
513
* This is separate from the v2 Agent schema which only stores runtime config.
@@ -11,4 +19,5 @@ export interface AgentRenderConfig {
1119
modelProvider: ModelProvider;
1220
hasMemory: boolean;
1321
hasIdentity: boolean;
22+
memoryProviders: MemoryProviderRenderConfig[];
1423
}

0 commit comments

Comments
 (0)