Skip to content

Commit 6672f65

Browse files
authored
fix: add memoryProviders to template render config (#124)
1 parent 0466b80 commit 6672f65

2 files changed

Lines changed: 31 additions & 9 deletions

File tree

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

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ import type {
88
MemoryStrategy,
99
ModelProvider,
1010
} from '../../../../schema';
11-
import type { AgentRenderConfig, IdentityProviderRenderConfig } from '../../../templates/types';
11+
12+
import type {
13+
AgentRenderConfig,
14+
IdentityProviderRenderConfig,
15+
MemoryProviderRenderConfig,
16+
} from '../../../templates/types';
17+
1218
import {
1319
DEFAULT_MEMORY_EXPIRY_DAYS,
1420
DEFAULT_NETWORK_MODE,
@@ -115,21 +121,28 @@ export function mapGenerateConfigToResources(config: GenerateConfig): GenerateCo
115121
}
116122

117123
/**
118-
* Maps model provider to identity providers for template rendering.
124+
* Compute the default env var name for a memory.
119125
*/
120-
function mapModelProviderToIdentityProviders(
121-
modelProvider: ModelProvider,
126+
function computeMemoryEnvVarName(memoryName: string): string {
127+
return `AGENTCORE_MEMORY_${memoryName.toUpperCase()}`;
128+
}
129+
130+
/**
131+
* Maps memory option to memory providers for template rendering.
132+
*/
133+
function mapMemoryOptionToMemoryProviders(
134+
memory: MemoryOption,
122135
projectName: string
123-
): IdentityProviderRenderConfig[] {
124-
if (modelProvider === 'Bedrock') {
136+
): MemoryProviderRenderConfig[] {
137+
if (memory === 'none') {
125138
return [];
126139
}
127140

128-
const credentialName = computeCredentialName(projectName, modelProvider);
141+
const memoryName = `${projectName}Memory`;
129142
return [
130143
{
131-
name: credentialName,
132-
envVarName: computeDefaultCredentialEnvVarName(credentialName),
144+
name: memoryName,
145+
envVarName: computeMemoryEnvVarName(memoryName),
133146
},
134147
];
135148
}
@@ -149,6 +162,7 @@ export function mapGenerateConfigToRenderConfig(config: GenerateConfig, actualPr
149162
modelProvider: config.modelProvider,
150163
hasMemory: config.memory !== 'none',
151164
hasIdentity: config.modelProvider !== 'Bedrock',
165+
memoryProviders: mapMemoryOptionToMemoryProviders(config.memory, config.projectName),
152166
identityProviders: mapModelProviderToIdentityProviders(config.modelProvider, projectNameForCredentials),
153167
};
154168
}

src/cli/templates/types.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
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+
}
310
/**
411
* Identity provider info for template rendering.
512
*/
@@ -19,6 +26,7 @@ export interface AgentRenderConfig {
1926
modelProvider: ModelProvider;
2027
hasMemory: boolean;
2128
hasIdentity: boolean;
29+
memoryProviders: MemoryProviderRenderConfig[];
2230
/** Identity providers for template rendering (maps to credentials in schema) */
2331
identityProviders: IdentityProviderRenderConfig[];
2432
}

0 commit comments

Comments
 (0)