@aws-cdk/aws-bedrock-agentcore-alpha 2.221.1-alpha.0 → 2.223.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/.jsii +3396 -138
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +69 -1
  4. package/README.md +327 -5
  5. package/agentcore/index.d.ts +4 -0
  6. package/agentcore/index.js +5 -1
  7. package/agentcore/memory/memory-strategy.d.ts +162 -0
  8. package/agentcore/memory/memory-strategy.js +174 -0
  9. package/agentcore/memory/memory.d.ts +531 -0
  10. package/agentcore/memory/memory.js +661 -0
  11. package/agentcore/memory/perms.d.ts +63 -0
  12. package/agentcore/memory/perms.js +90 -0
  13. package/agentcore/memory/strategies/managed-strategy.d.ts +130 -0
  14. package/agentcore/memory/strategies/managed-strategy.js +209 -0
  15. package/agentcore/memory/strategies/self-managed-strategy.d.ts +119 -0
  16. package/agentcore/memory/strategies/self-managed-strategy.js +254 -0
  17. package/agentcore/memory/validation-helpers.d.ts +41 -0
  18. package/agentcore/memory/validation-helpers.js +89 -0
  19. package/agentcore/network/network-configuration.js +4 -4
  20. package/agentcore/runtime/runtime-artifact.js +1 -1
  21. package/agentcore/runtime/runtime-authorizer-configuration.d.ts +4 -4
  22. package/agentcore/runtime/runtime-authorizer-configuration.js +13 -32
  23. package/agentcore/runtime/runtime-base.js +3 -13
  24. package/agentcore/runtime/runtime-endpoint-base.js +1 -1
  25. package/agentcore/runtime/runtime-endpoint.js +1 -1
  26. package/agentcore/runtime/runtime.d.ts +2 -2
  27. package/agentcore/runtime/runtime.js +16 -17
  28. package/agentcore/runtime/types.d.ts +5 -1
  29. package/agentcore/runtime/types.js +5 -1
  30. package/agentcore/tools/browser.js +2 -2
  31. package/agentcore/tools/code-interpreter.js +2 -2
  32. package/package.json +14 -7
  33. package/rosetta/default.ts-fixture +4 -0
@@ -0,0 +1,531 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
+ * with the License. A copy of the License is located at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
+ * and limitations under the License.
12
+ */
13
+ import { Duration, IResource, Resource } from 'aws-cdk-lib';
14
+ import { Construct } from 'constructs';
15
+ import { DimensionsMap, Metric, MetricOptions } from 'aws-cdk-lib/aws-cloudwatch';
16
+ import * as iam from 'aws-cdk-lib/aws-iam';
17
+ import * as kms from 'aws-cdk-lib/aws-kms';
18
+ import { IMemoryStrategy } from './memory-strategy';
19
+ /******************************************************************************
20
+ * Interface
21
+ *****************************************************************************/
22
+ /**
23
+ * Interface for Memory resources
24
+ */
25
+ export interface IMemory extends IResource, iam.IGrantable {
26
+ /**
27
+ * The ARN of the memory resource
28
+ * @attribute
29
+ */
30
+ readonly memoryArn: string;
31
+ /**
32
+ * The id of the memory
33
+ * @attribute
34
+ */
35
+ readonly memoryId: string;
36
+ /**
37
+ * The IAM role that provides permissions for the memory to access AWS services.
38
+ */
39
+ readonly executionRole?: iam.IRole;
40
+ /**
41
+ * Custom KMS key for encryption (if provided)
42
+ */
43
+ readonly kmsKey?: kms.IKey;
44
+ /**
45
+ * The status of the memory
46
+ * @attribute
47
+ */
48
+ readonly status?: string;
49
+ /**
50
+ * Timestamp when the memory was last updated
51
+ * @attribute
52
+ */
53
+ readonly updatedAt?: string;
54
+ /**
55
+ * Timestamp when the memory was created
56
+ * @attribute
57
+ */
58
+ readonly createdAt?: string;
59
+ /**
60
+ * Grant the given principal identity permissions to perform actions on this memory.
61
+ */
62
+ grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
63
+ /**
64
+ * Grant the given principal identity permissions to write content to this memory.
65
+ */
66
+ grantWrite(grantee: iam.IGrantable): iam.Grant;
67
+ /**
68
+ * Grant the given principal identity permissions to read the contents of this memory.
69
+ * Both Short-Term Memory (STM) and Long-Term Memory (LTM).
70
+ */
71
+ grantRead(grantee: iam.IGrantable): iam.Grant;
72
+ /**
73
+ * Grant the given principal identity permissions to read the Short-Term Memory (STM) contents of this memory.
74
+ */
75
+ grantReadShortTermMemory(grantee: iam.IGrantable): iam.Grant;
76
+ /**
77
+ * Grant the given principal identity permissions to read the Long-Term Memory (LTM) contents of this memory.
78
+ */
79
+ grantReadLongTermMemory(grantee: iam.IGrantable): iam.Grant;
80
+ /**
81
+ * Grant the given principal identity permissions to delete content on this memory.
82
+ */
83
+ grantDelete(grantee: iam.IGrantable): iam.Grant;
84
+ /**
85
+ * Grant the given principal identity permissions to delete Short-Term Memory (STM) content on this memory.
86
+ */
87
+ grantDeleteShortTermMemory(grantee: iam.IGrantable): iam.Grant;
88
+ /**
89
+ * Grant the given principal identity permissions to delete Long-Term Memory (LTM) content on this memory.
90
+ */
91
+ grantDeleteLongTermMemory(grantee: iam.IGrantable): iam.Grant;
92
+ /**
93
+ * Grant the given principal identity permissions to manage the control plane of this memory.
94
+ */
95
+ grantAdmin(grantee: iam.IGrantable): iam.Grant;
96
+ /**
97
+ * Grant the given principal identity permissions to do every action on this memory.
98
+ */
99
+ grantFullAccess(grantee: iam.IGrantable): iam.Grant;
100
+ /**
101
+ * Return the given named metric for this memory.
102
+ */
103
+ metric(metricName: string, dimensions: DimensionsMap, props?: MetricOptions): Metric;
104
+ /**
105
+ * Return the given named metric related to the API operation performed on this memory.
106
+ */
107
+ metricForApiOperation(metricName: string, operation: string, props?: MetricOptions): Metric;
108
+ /**
109
+ * Return a metric measuring the latency of a specific API operation performed on this memory.
110
+ */
111
+ metricLatencyForApiOperation(operation: string, props?: MetricOptions): Metric;
112
+ /**
113
+ * Return a metric containing the total number of API requests made for a specific memory operation.
114
+ */
115
+ metricInvocationsForApiOperation(operation: string, props?: MetricOptions): Metric;
116
+ /**
117
+ * Return a metric containing the number of errors for a specific API operation performed on this memory.
118
+ */
119
+ metricErrorsForApiOperation(operation: string, props?: MetricOptions): Metric;
120
+ /**
121
+ * Returns the metric containing the number of created memory events and memory records.
122
+ */
123
+ metricEventCreationCount(props?: MetricOptions): Metric;
124
+ }
125
+ /******************************************************************************
126
+ * ABSTRACT BASE CLASS
127
+ *****************************************************************************/
128
+ /**
129
+ * Abstract base class for a Memory.
130
+ * Contains methods and attributes valid for Memories either created with CDK or imported.
131
+ */
132
+ export declare abstract class MemoryBase extends Resource implements IMemory {
133
+ abstract readonly memoryArn: string;
134
+ abstract readonly memoryId: string;
135
+ abstract readonly status?: string;
136
+ abstract readonly updatedAt?: string;
137
+ abstract readonly createdAt?: string;
138
+ abstract readonly executionRole?: iam.IRole;
139
+ abstract readonly kmsKey?: kms.IKey;
140
+ /**
141
+ * The principal to grant permissions to
142
+ */
143
+ abstract readonly grantPrincipal: iam.IPrincipal;
144
+ constructor(scope: Construct, id: string);
145
+ /**
146
+ * Grants IAM actions to the IAM Principal
147
+ * @param grantee - The IAM principal to grant permissions to
148
+ * @param actions - The actions to grant
149
+ * @returns An IAM Grant object representing the granted permissions
150
+ */
151
+ grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
152
+ /**
153
+ * Grant the given principal identity permissions to write content to short-term memory.
154
+ *
155
+ * @param grantee - The IAM principal to grant read permissions to
156
+ * @default - Default grant configuration:
157
+ * - actions: ['bedrock-agentcore:CreateEvent'] on this.memoryArn
158
+ * @returns An IAM Grant object representing the granted permissions
159
+ */
160
+ grantWrite(grantee: iam.IGrantable): iam.Grant;
161
+ /**
162
+ * Grant the given principal identity permissions to read the contents of this memory.
163
+ * Both Short-Term Memory (STM) and Long-Term Memory (LTM).
164
+ *
165
+ * @param grantee - The IAM principal to grant read permissions to
166
+ * @default - Default grant configuration:
167
+ * - actions: ['bedrock-agentcore:GetMemoryRecord',
168
+ 'bedrock-agentcore:RetrieveMemoryRecords',
169
+ 'bedrock-agentcore:ListMemoryRecords',
170
+ 'bedrock-agentcore:ListActors',
171
+ 'bedrock-agentcore:ListSessions] on this.memoryArn
172
+ * @returns An IAM Grant object representing the granted permissions
173
+ */
174
+ grantRead(grantee: iam.IGrantable): iam.Grant;
175
+ /**
176
+ * Grant the given principal identity permissions to read the Short-Term Memory (STM) contents of this memory.
177
+ *
178
+ * @param grantee - The IAM principal to grant read permissions to
179
+ * @default - Default grant configuration:
180
+ * - actions: ['bedrock-agentcore:GetEvent',
181
+ 'bedrock-agentcore:ListEvents',
182
+ 'bedrock-agentcore:ListActors',
183
+ 'bedrock-agentcore:ListSessions',] on this.memoryArn
184
+ * @returns An IAM Grant object representing the granted permissions
185
+ */
186
+ grantReadShortTermMemory(grantee: iam.IGrantable): iam.Grant;
187
+ /**
188
+ * Grant the given principal identity permissions to read the Long-Term Memory (LTM) contents of this memory.
189
+ *
190
+ * @param grantee - The IAM principal to grant read permissions to
191
+ * @default - Default grant configuration:
192
+ * - actions: ['bedrock-agentcore:GetMemoryRecord',
193
+ 'bedrock-agentcore:RetrieveMemoryRecords',
194
+ 'bedrock-agentcore:ListMemoryRecords',
195
+ 'bedrock-agentcore:ListActors',
196
+ 'bedrock-agentcore:ListSessions',] on this.memoryArn
197
+ * @returns An IAM Grant object representing the granted permissions
198
+ */
199
+ grantReadLongTermMemory(grantee: iam.IGrantable): iam.Grant;
200
+ /**
201
+ * Grant the given principal identity permissions to delete content on this memory.
202
+ *
203
+ * Both Short-Term Memory (STM) and Long-Term Memory (LTM).
204
+ *
205
+ * @param grantee - The IAM principal to grant delete permissions to
206
+ * @default - Default grant configuration:
207
+ * - actions: ['bedrock-agentcore:DeleteEvent',
208
+ 'bedrock-agentcore:DeleteMemoryRecord'] on this.memoryArn
209
+ * @returns An IAM Grant object representing the granted permissions
210
+ */
211
+ grantDelete(grantee: iam.IGrantable): iam.Grant;
212
+ /**
213
+ * Grant the given principal identity permissions to delete Short-Term Memory (STM) content on this memory.
214
+ *
215
+ * @param grantee - The IAM principal to grant delete permissions to
216
+ * @default - Default grant configuration:
217
+ * - actions: ['bedrock-agentcore:DeleteEvent'] on this.memoryArn
218
+ * @returns An IAM Grant object representing the granted permissions
219
+ */
220
+ grantDeleteShortTermMemory(grantee: iam.IGrantable): iam.Grant;
221
+ /**
222
+ * Grant the given principal identity permissions to delete Long-Term Memory (LTM) content on this memory.
223
+ *
224
+ * @param grantee - The IAM principal to grant delete permissions to
225
+ * @default - Default grant configuration:
226
+ * - actions: ['bedrock-agentcore:DeleteMemoryRecord'] on this.memoryArn
227
+ * @returns An IAM Grant object representing the granted permissions
228
+ */
229
+ grantDeleteLongTermMemory(grantee: iam.IGrantable): iam.Grant;
230
+ /**
231
+ * Grant the given principal identity permissions to manage the control plane of this memory.
232
+ *
233
+ * @param grantee - The IAM principal to grant admin permissions to
234
+ * @default - Default grant configuration:
235
+ * - actions: ['bedrock-agentcore:CreateMemory',
236
+ 'bedrock-agentcore:GetMemory',
237
+ 'bedrock-agentcore:DeleteMemory',
238
+ 'bedrock-agentcore:UpdateMemory'] on this.memoryArn
239
+ * @returns An IAM Grant object representing the granted permissions
240
+ */
241
+ grantAdmin(grantee: iam.IGrantable): iam.Grant;
242
+ /**
243
+ * Grant the given principal identity permissions to do every action on this memory.
244
+ *
245
+ * @param grantee - The IAM principal to grant full access permissions to
246
+ * @default - Default grant configuration:
247
+ * - actions: ['bedrock-agentcore:CreateEvent',
248
+ 'bedrock-agentcore:GetEvent',
249
+ 'bedrock-agentcore:DeleteEvent',
250
+ 'bedrock-agentcore:GetMemoryRecord',
251
+ 'bedrock-agentcore:RetrieveMemoryRecords',
252
+ 'bedrock-agentcore:ListMemoryRecords',
253
+ 'bedrock-agentcore:ListActors',
254
+ 'bedrock-agentcore:ListSessions',
255
+ 'bedrock-agentcore:CreateMemory',
256
+ 'bedrock-agentcore:GetMemory',
257
+ 'bedrock-agentcore:DeleteMemory',
258
+ 'bedrock-agentcore:UpdateMemory'] on this.memoryArn
259
+ * @returns An IAM Grant object representing the granted permissions
260
+ */
261
+ grantFullAccess(grantee: iam.IGrantable): iam.Grant;
262
+ /**
263
+ * Return the given named metric for this memory.
264
+ *
265
+ * By default, the metric will be calculated as a sum over a period of 5 minutes.
266
+ * You can customize this by using the `statistic` and `period` properties.
267
+ */
268
+ metric(metricName: string, dimensions: DimensionsMap, props?: MetricOptions): Metric;
269
+ /**
270
+ * Return the given named metric related to the API operation performed on this memory.
271
+ */
272
+ metricForApiOperation(metricName: string, operation: string, props?: MetricOptions): Metric;
273
+ /**
274
+ * Return a metric measuring the latency of a specific API operation performed on this memory.
275
+ *
276
+ * The latency metric represents the total time elapsed between receiving the request and sending
277
+ * the final response token, measuring complete end-to-end processing time.
278
+ *
279
+ * For memory creation events specifically, this measures the time from the last CreateEvent
280
+ * that met strategy criteria until memory storage is completed.
281
+ *
282
+ */
283
+ metricLatencyForApiOperation(operation: string, props?: MetricOptions): Metric;
284
+ /**
285
+ * Return a metric containing the total number of API requests made for a specific memory operation like
286
+ * `CreateEvent`, `ListEvents`, `RetrieveMemoryRecords` ...
287
+ */
288
+ metricInvocationsForApiOperation(operation: string, props?: MetricOptions): Metric;
289
+ /**
290
+ * Return a metric containing the number of errors for a specific API operation performed on this memory.
291
+ */
292
+ metricErrorsForApiOperation(operation: string, props?: MetricOptions): Metric;
293
+ /**
294
+ * Returns the metric containing the number of short-term memory events.
295
+ */
296
+ metricEventCreationCount(props?: MetricOptions): Metric;
297
+ /**
298
+ * Returns the metric containing the number of long-term memory records
299
+ * created by the long-term extraction strategies.
300
+ */
301
+ metricMemoryRecordCreationCount(props?: MetricOptions): Metric;
302
+ /**
303
+ * Internal method to create a metric.
304
+ */
305
+ private configureMetric;
306
+ }
307
+ /******************************************************************************
308
+ * PROPS FOR NEW CONSTRUCT
309
+ *****************************************************************************/
310
+ /**
311
+ * Properties for creating a Memory resource
312
+ */
313
+ export interface MemoryProps {
314
+ /**
315
+ * The name of the memory
316
+ * Valid characters are a-z, A-Z, 0-9, _ (underscore)
317
+ * The name must start with a letter and can be up to 48 characters long
318
+ * Pattern: [a-zA-Z][a-zA-Z0-9_]{0,47}
319
+ */
320
+ readonly memoryName: string;
321
+ /**
322
+ * Short-term memory expiration in days (between 7 and 365).
323
+ * Sets the short-term (raw event) memory retention.
324
+ * Events older than the specified duration will expire and no longer be stored.
325
+ * @default - 90 days
326
+ */
327
+ readonly expirationDuration?: Duration;
328
+ /**
329
+ * Optional description for the memory
330
+ * Valid characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and spaces
331
+ * The description can have up to 200 characters
332
+ * @default - No description
333
+ */
334
+ readonly description?: string;
335
+ /**
336
+ * Custom KMS key to use for encryption.
337
+ * @default - Your data is encrypted with a key that AWS owns and manages for you
338
+ */
339
+ readonly kmsKey?: kms.IKey;
340
+ /**
341
+ * If you need long-term memory for context recall across sessions,
342
+ * you can setup memory extraction strategies to extract the relevant memory from the raw events.
343
+ * @default - No extraction strategies (short term memory only)
344
+ */
345
+ readonly memoryStrategies?: IMemoryStrategy[];
346
+ /**
347
+ * The IAM role that provides permissions for the memory to access AWS services
348
+ * when using custom strategies.
349
+ *
350
+ * @default - A new role will be created.
351
+ */
352
+ readonly executionRole?: iam.IRole;
353
+ /**
354
+ * Tags (optional)
355
+ * A list of key:value pairs of tags to apply to this memory resource
356
+ *
357
+ * @default - no tags
358
+ */
359
+ readonly tags?: {
360
+ [key: string]: string;
361
+ };
362
+ }
363
+ /******************************************************************************
364
+ * ATTRS FOR IMPORTED CONSTRUCT
365
+ *****************************************************************************/
366
+ /**
367
+ * Attributes for specifying an imported Memory.
368
+ */
369
+ export interface MemoryAttributes {
370
+ /**
371
+ * The ARN of the memory.
372
+ * @attribute
373
+ */
374
+ readonly memoryArn: string;
375
+ /**
376
+ * The ARN of the IAM role associated to the memory.
377
+ * @attribute
378
+ */
379
+ readonly roleArn: string;
380
+ /**
381
+ * When this memory was last updated.
382
+ * @default undefined - No last updated timestamp is provided
383
+ */
384
+ readonly updatedAt?: string;
385
+ /**
386
+ * Optional KMS encryption key associated with this memory
387
+ * @default undefined - An AWS managed key is used
388
+ */
389
+ readonly kmsKeyArn?: string;
390
+ /**
391
+ * The status of the memory.
392
+ * @default undefined - No status is provided
393
+ */
394
+ readonly status?: string;
395
+ /**
396
+ * The created timestamp of the memory.
397
+ * @default undefined - No created timestamp is provided
398
+ */
399
+ readonly createdAt?: string;
400
+ }
401
+ /******************************************************************************
402
+ * Class
403
+ *****************************************************************************/
404
+ /**
405
+ * Long-term memory store for extracted insights like user preferences, semantic facts and summaries.
406
+ * Enables knowledge retention across sessions by storing user preferences (e.g. coding style),
407
+ * semantic facts (e.g. learned info) and interaction summaries for context optimization.
408
+ *
409
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html
410
+ * @resource AWS::BedrockAgentCore::Memory
411
+ */
412
+ export declare class Memory extends MemoryBase {
413
+ /** Uniquely identifies this class. */
414
+ static readonly PROPERTY_INJECTION_ID: string;
415
+ /**
416
+ * Static Method for importing an existing Bedrock AgentCore Memory.
417
+ */
418
+ /**
419
+ * Creates an Memory reference from an existing memory's attributes.
420
+ *
421
+ * @param scope - The construct scope
422
+ * @param id - Identifier of the construct
423
+ * @param attrs - Attributes of the existing browser custom
424
+ * @returns An IBrowserCustom reference to the existing browser
425
+ */
426
+ static fromMemoryAttributes(scope: Construct, id: string, attrs: MemoryAttributes): IMemory;
427
+ /**
428
+ * The ARN of the memory resource.
429
+ * @attribute
430
+ */
431
+ readonly memoryArn: string;
432
+ /**
433
+ * The name of the memory.
434
+ * @attribute
435
+ */
436
+ readonly memoryName: string;
437
+ /**
438
+ * The id of the memory.
439
+ * @attribute
440
+ */
441
+ readonly memoryId: string;
442
+ /**
443
+ * The expiration days of the memory.
444
+ */
445
+ readonly expirationDuration?: Duration;
446
+ /**
447
+ * The failure reason of the browser
448
+ * @attribute
449
+ */
450
+ readonly failureReason?: string;
451
+ /**
452
+ * The description of the memory.
453
+ */
454
+ readonly description?: string;
455
+ /**
456
+ * The execution role of the memory.
457
+ */
458
+ readonly executionRole?: iam.IRole;
459
+ /**
460
+ * The status of the memory.
461
+ */
462
+ readonly status?: string;
463
+ /**
464
+ * The created timestamp of the memory.
465
+ */
466
+ readonly createdAt?: string;
467
+ /**
468
+ * The updated at timestamp of the memory.
469
+ */
470
+ readonly updatedAt?: string;
471
+ /**
472
+ * Tags applied to this browser resource
473
+ * A map of key-value pairs for resource tagging
474
+ * @default - No tags applied
475
+ */
476
+ readonly tags?: {
477
+ [key: string]: string;
478
+ };
479
+ /**
480
+ * The principal to grant permissions to
481
+ */
482
+ readonly grantPrincipal: iam.IPrincipal;
483
+ /**
484
+ * The KMS key used to encrypt the memory.
485
+ */
486
+ readonly kmsKey?: kms.IKey;
487
+ /**
488
+ * The memory strategies used by the memory.
489
+ * @attribute
490
+ */
491
+ readonly memoryStrategies: IMemoryStrategy[];
492
+ private readonly __resource;
493
+ constructor(scope: Construct, id: string, props: MemoryProps);
494
+ /**
495
+ * Add memory strategy to the memory.
496
+ * @default - No memory strategies.
497
+ */
498
+ addMemoryStrategy(memoryStrategy: IMemoryStrategy): void;
499
+ /**
500
+ * Creates execution role needed for the memory to access AWS services
501
+ * @returns The created role
502
+ * @internal This is an internal core function and should not be called directly.
503
+ */
504
+ private _createMemoryRole;
505
+ /**
506
+ * Validates the memory tags format
507
+ * @param tags The tags object to validate
508
+ * @returns Array of validation error messages, empty if valid
509
+ */
510
+ private _validateMemoryTags;
511
+ /**
512
+ * Validates the memory name format
513
+ * @param name The memory name to validate
514
+ * @returns Array of validation error messages, empty if valid
515
+ */
516
+ private _validateMemoryName;
517
+ /**
518
+ * Validates the memory expiration days
519
+ * @param expirationDays The memory expiration days to validate
520
+ * @returns Array of validation error messages, empty if valid
521
+ */
522
+ private _validateMemoryExpirationDays;
523
+ /**
524
+ * Render the memory strategies.
525
+ *
526
+ * @returns Array of MemoryStrategyProperty objects in CloudFormation format, or undefined if no strategies are defined
527
+ * @default - undefined if no strategies are defined or array is empty
528
+ * @internal This is an internal core function and should not be called directly.
529
+ */
530
+ private _renderMemoryStrategies;
531
+ }