@aws/nx-plugin 1.0.0-rc.10 → 1.0.0-rc.11

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "1.0.0-rc.10",
3
+ "version": "1.0.0-rc.11",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -257,7 +257,6 @@ export default AguiProvider;
257
257
  exports[`py strands agent react connection generator - AG-UI protocol > should generate a shared AguiProvider and a per-agent hook for AG-UI agents > useAguiTestAgent.tsx 1`] = `
258
258
  "import { HttpAgent } from '@ag-ui/client';
259
259
  import type { AbstractAgent, RunAgentInput } from '@ag-ui/client';
260
- import { Observable } from 'rxjs';
261
260
  import { useMemo } from 'react';
262
261
  import { useRuntimeConfig } from './useRuntimeConfig';
263
262
  import { useSigV4, type SigV4Client } from './useSigV4';
@@ -279,7 +278,13 @@ class SigV4HttpAgent extends HttpAgent {
279
278
  config: ConstructorParameters<typeof HttpAgent>[0],
280
279
  sigV4Client: SigV4Client,
281
280
  ) {
282
- super(config);
281
+ super({
282
+ ...config,
283
+ fetch: sigV4Client.fetch as (
284
+ url: string,
285
+ init: RequestInit,
286
+ ) => Promise<Response>,
287
+ });
283
288
  this.sigV4Client = sigV4Client;
284
289
  }
285
290
 
@@ -292,20 +297,6 @@ class SigV4HttpAgent extends HttpAgent {
292
297
  return init;
293
298
  }
294
299
 
295
- // Remove this override once https://github.com/ag-ui-protocol/ag-ui/issues/1316 is fixed.
296
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
297
- override run(input: RunAgentInput): any {
298
- const sigV4Fetch = this.sigV4Client.fetch as typeof window.fetch;
299
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
300
- return new Observable<any>((subscriber) => {
301
- const originalFetch = window.fetch;
302
- window.fetch = sigV4Fetch;
303
- const sub = super.run(input).subscribe(subscriber);
304
- window.fetch = originalFetch;
305
- return () => sub.unsubscribe();
306
- });
307
- }
308
-
309
300
  override clone(): SigV4HttpAgent {
310
301
  const cloned = super.clone() as SigV4HttpAgent;
311
302
  cloned.sigV4Client = this.sigV4Client;
@@ -203,7 +203,7 @@ const tsSmithyApiGenerator = async (tree, options) => {
203
203
  ...(options.auth === 'custom'
204
204
  ? ['@aws-lambda-powertools/parser']
205
205
  : []),
206
- ]), (0, versions_1.withVersions)(['@types/aws-lambda']));
206
+ ]), (0, versions_1.withVersions)(['@types/aws-lambda', 'tsx']));
207
207
  await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TS_SMITHY_API_GENERATOR_INFO]);
208
208
  await (0, format_1.formatFilesInSubtree)(tree);
209
209
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/smithy/ts/api/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/smithy/ts/api/generator.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,20 @@ exports[`ts#dynamodb generator > should generate scripts for finch engine > pack
9
9
  ResourceInUseException,
10
10
  UpdateTableCommand,
11
11
  } from '@aws-sdk/client-dynamodb';
12
- import { GLOBAL_SECONDARY_INDEXES } from '../src/gsi.js';
12
+ import { readFileSync } from 'fs';
13
+ import { join, dirname } from 'path';
14
+ import { fileURLToPath } from 'url';
15
+
16
+ const __dirname = dirname(fileURLToPath(import.meta.url));
17
+ const { globalSecondaryIndexes } = JSON.parse(
18
+ readFileSync(join(__dirname, '../dynamodb.config.json'), 'utf-8'),
19
+ ) as {
20
+ globalSecondaryIndexes: {
21
+ indexName: string;
22
+ partitionKey: string;
23
+ sortKey?: string;
24
+ }[];
25
+ };
13
26
 
14
27
  const [tableName, port] = process.argv.slice(2);
15
28
  const endpoint = \`http://localhost:\${port}\`;
@@ -48,11 +61,13 @@ const waitForTableActive = async (
48
61
  const ensureTable = async (
49
62
  tblClient: DynamoDBClient,
50
63
  tblName: string,
51
- gsIs: { indexName: string; partitionKey: string; sortKey: string }[],
64
+ gsIs: { indexName: string; partitionKey: string; sortKey?: string }[],
52
65
  ): Promise<void> => {
53
66
  const gsiAttributeDefinitions = gsIs.flatMap((gsi) => [
54
67
  { AttributeName: gsi.partitionKey, AttributeType: 'S' as const },
55
- { AttributeName: gsi.sortKey, AttributeType: 'S' as const },
68
+ ...(gsi.sortKey
69
+ ? [{ AttributeName: gsi.sortKey, AttributeType: 'S' as const }]
70
+ : []),
56
71
  ]);
57
72
  const attributeDefinitions = [
58
73
  { AttributeName: 'pk', AttributeType: 'S' as const },
@@ -66,7 +81,9 @@ const ensureTable = async (
66
81
  IndexName: gsi.indexName,
67
82
  KeySchema: [
68
83
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' as const },
69
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' as const },
84
+ ...(gsi.sortKey
85
+ ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' as const }]
86
+ : []),
70
87
  ],
71
88
  Projection: { ProjectionType: 'ALL' as const },
72
89
  }));
@@ -133,7 +150,14 @@ const ensureTable = async (
133
150
  TableName: tblName,
134
151
  AttributeDefinitions: [
135
152
  { AttributeName: gsi.partitionKey, AttributeType: 'S' },
136
- { AttributeName: gsi.sortKey, AttributeType: 'S' },
153
+ ...(gsi.sortKey
154
+ ? [
155
+ {
156
+ AttributeName: gsi.sortKey,
157
+ AttributeType: 'S' as const,
158
+ },
159
+ ]
160
+ : []),
137
161
  ],
138
162
  GlobalSecondaryIndexUpdates: [
139
163
  {
@@ -141,7 +165,9 @@ const ensureTable = async (
141
165
  IndexName: gsi.indexName,
142
166
  KeySchema: [
143
167
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' },
144
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' },
168
+ ...(gsi.sortKey
169
+ ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' }]
170
+ : []),
145
171
  ],
146
172
  Projection: { ProjectionType: 'ALL' },
147
173
  },
@@ -161,7 +187,7 @@ const ensureTable = async (
161
187
  }
162
188
  };
163
189
 
164
- await ensureTable(client, tableName, GLOBAL_SECONDARY_INDEXES);
190
+ await ensureTable(client, tableName, globalSecondaryIndexes);
165
191
  "
166
192
  `;
167
193
 
@@ -458,6 +484,16 @@ variable "enable_key_rotation" {
458
484
  default = true
459
485
  }
460
486
 
487
+ locals {
488
+ dynamodb_config = jsondecode(file("\${path.module}/../../../../../../../packages/my-table/dynamodb.config.json"))
489
+ global_secondary_indexes = [for gsi in local.dynamodb_config.globalSecondaryIndexes : {
490
+ name = gsi.indexName
491
+ hash_key = gsi.partitionKey
492
+ range_key = try(gsi.sortKey, null)
493
+ projection_type = "ALL"
494
+ }]
495
+ }
496
+
461
497
  module "dynamodb_table" {
462
498
  source = "../../../core/dynamodb"
463
499
  name = "proj-my-table"
@@ -465,20 +501,7 @@ module "dynamodb_table" {
465
501
  point_in_time_recovery_enabled = var.point_in_time_recovery_enabled
466
502
  deletion_protection_enabled = var.deletion_protection_enabled
467
503
  enable_key_rotation = var.enable_key_rotation
468
- global_secondary_indexes = [
469
- {
470
- name = "gsi1pk-gsi1sk-index"
471
- hash_key = "gsi1pk"
472
- range_key = "gsi1sk"
473
- projection_type = "ALL"
474
- },
475
- {
476
- name = "gsi2pk-gsi2sk-index"
477
- hash_key = "gsi2pk"
478
- range_key = "gsi2sk"
479
- projection_type = "ALL"
480
- },
481
- ]
504
+ global_secondary_indexes = local.global_secondary_indexes
482
505
  }
483
506
 
484
507
  module "add_to_runtime_config" {
@@ -502,7 +525,20 @@ exports[`ts#dynamodb generator > should generate the dynamodb project > packages
502
525
  ResourceInUseException,
503
526
  UpdateTableCommand,
504
527
  } from '@aws-sdk/client-dynamodb';
505
- import { GLOBAL_SECONDARY_INDEXES } from '../src/gsi.js';
528
+ import { readFileSync } from 'fs';
529
+ import { join, dirname } from 'path';
530
+ import { fileURLToPath } from 'url';
531
+
532
+ const __dirname = dirname(fileURLToPath(import.meta.url));
533
+ const { globalSecondaryIndexes } = JSON.parse(
534
+ readFileSync(join(__dirname, '../dynamodb.config.json'), 'utf-8'),
535
+ ) as {
536
+ globalSecondaryIndexes: {
537
+ indexName: string;
538
+ partitionKey: string;
539
+ sortKey?: string;
540
+ }[];
541
+ };
506
542
 
507
543
  const [tableName, port] = process.argv.slice(2);
508
544
  const endpoint = \`http://localhost:\${port}\`;
@@ -541,11 +577,13 @@ const waitForTableActive = async (
541
577
  const ensureTable = async (
542
578
  tblClient: DynamoDBClient,
543
579
  tblName: string,
544
- gsIs: { indexName: string; partitionKey: string; sortKey: string }[],
580
+ gsIs: { indexName: string; partitionKey: string; sortKey?: string }[],
545
581
  ): Promise<void> => {
546
582
  const gsiAttributeDefinitions = gsIs.flatMap((gsi) => [
547
583
  { AttributeName: gsi.partitionKey, AttributeType: 'S' as const },
548
- { AttributeName: gsi.sortKey, AttributeType: 'S' as const },
584
+ ...(gsi.sortKey
585
+ ? [{ AttributeName: gsi.sortKey, AttributeType: 'S' as const }]
586
+ : []),
549
587
  ]);
550
588
  const attributeDefinitions = [
551
589
  { AttributeName: 'pk', AttributeType: 'S' as const },
@@ -559,7 +597,9 @@ const ensureTable = async (
559
597
  IndexName: gsi.indexName,
560
598
  KeySchema: [
561
599
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' as const },
562
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' as const },
600
+ ...(gsi.sortKey
601
+ ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' as const }]
602
+ : []),
563
603
  ],
564
604
  Projection: { ProjectionType: 'ALL' as const },
565
605
  }));
@@ -626,7 +666,14 @@ const ensureTable = async (
626
666
  TableName: tblName,
627
667
  AttributeDefinitions: [
628
668
  { AttributeName: gsi.partitionKey, AttributeType: 'S' },
629
- { AttributeName: gsi.sortKey, AttributeType: 'S' },
669
+ ...(gsi.sortKey
670
+ ? [
671
+ {
672
+ AttributeName: gsi.sortKey,
673
+ AttributeType: 'S' as const,
674
+ },
675
+ ]
676
+ : []),
630
677
  ],
631
678
  GlobalSecondaryIndexUpdates: [
632
679
  {
@@ -634,7 +681,9 @@ const ensureTable = async (
634
681
  IndexName: gsi.indexName,
635
682
  KeySchema: [
636
683
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' },
637
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' },
684
+ ...(gsi.sortKey
685
+ ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' }]
686
+ : []),
638
687
  ],
639
688
  Projection: { ProjectionType: 'ALL' },
640
689
  },
@@ -654,7 +703,7 @@ const ensureTable = async (
654
703
  }
655
704
  };
656
705
 
657
- await ensureTable(client, tableName, GLOBAL_SECONDARY_INDEXES);
706
+ await ensureTable(client, tableName, globalSecondaryIndexes);
658
707
  "
659
708
  `;
660
709
 
@@ -889,24 +938,6 @@ exports[`ts#dynamodb generator > should generate the dynamodb project > packages
889
938
  "
890
939
  `;
891
940
 
892
- exports[`ts#dynamodb generator > should generate the dynamodb project > packages/my-table/src/gsi.ts 1`] = `
893
- "// GSIs to synchronize on the local table at startup and provision in infrastructure.
894
- // ElectroDB names GSI keys gsi{n}pk / gsi{n}sk — add one entry per index defined in your entities.
895
- export const GLOBAL_SECONDARY_INDEXES = [
896
- {
897
- indexName: 'gsi1pk-gsi1sk-index',
898
- partitionKey: 'gsi1pk',
899
- sortKey: 'gsi1sk',
900
- },
901
- {
902
- indexName: 'gsi2pk-gsi2sk-index',
903
- partitionKey: 'gsi2pk',
904
- sortKey: 'gsi2sk',
905
- },
906
- ];
907
- "
908
- `;
909
-
910
941
  exports[`ts#dynamodb generator > should generate the dynamodb project > packages/my-table/src/index.ts 1`] = `
911
942
  "export {
912
943
  PACKAGE_NAME,
@@ -917,7 +948,6 @@ exports[`ts#dynamodb generator > should generate the dynamodb project > packages
917
948
  LOCAL_TABLE_NAME,
918
949
  } from './constants.js';
919
950
  export { getDynamoDBClient, resolveTableName } from './client.js';
920
- export { GLOBAL_SECONDARY_INDEXES } from './gsi.js';
921
951
  export * from './entities/index.js';
922
952
  "
923
953
  `;
@@ -1036,9 +1066,13 @@ export abstract class DynamoDBTable extends Construct {
1036
1066
 
1037
1067
  exports[`ts#dynamodb generator > should generate the dynamodb project 2`] = `
1038
1068
  "import { Construct } from 'constructs';
1039
- import { PACKAGE_NAME, GLOBAL_SECONDARY_INDEXES } from ':proj/my-table';
1069
+ import { PACKAGE_NAME } from ':proj/my-table';
1040
1070
  import { AttributeType, ProjectionType } from 'aws-cdk-lib/aws-dynamodb';
1041
1071
  import { DynamoDBTable, DynamoDBTableProps } from '../../core/dynamodb.js';
1072
+ import { findWorkspaceRoot } from '../../core/workspace.js';
1073
+ import { readFileSync } from 'fs';
1074
+ import { join } from 'path';
1075
+ import { fileURLToPath } from 'url';
1042
1076
 
1043
1077
  export type MyTableProps = Omit<DynamoDBTableProps, 'runtimeConfigKey'>;
1044
1078
 
@@ -1049,11 +1083,29 @@ export class MyTable extends DynamoDBTable {
1049
1083
  runtimeConfigKey: PACKAGE_NAME,
1050
1084
  });
1051
1085
 
1052
- for (const gsi of GLOBAL_SECONDARY_INDEXES) {
1086
+ const { globalSecondaryIndexes } = JSON.parse(
1087
+ readFileSync(
1088
+ join(
1089
+ findWorkspaceRoot(fileURLToPath(new URL(import.meta.url))),
1090
+ 'packages/my-table/dynamodb.config.json',
1091
+ ),
1092
+ 'utf-8',
1093
+ ),
1094
+ ) as {
1095
+ globalSecondaryIndexes: {
1096
+ indexName: string;
1097
+ partitionKey: string;
1098
+ sortKey?: string;
1099
+ }[];
1100
+ };
1101
+
1102
+ for (const gsi of globalSecondaryIndexes) {
1053
1103
  this.table.addGlobalSecondaryIndex({
1054
1104
  indexName: gsi.indexName,
1055
1105
  partitionKey: { name: gsi.partitionKey, type: AttributeType.STRING },
1056
- sortKey: { name: gsi.sortKey, type: AttributeType.STRING },
1106
+ ...(gsi.sortKey && {
1107
+ sortKey: { name: gsi.sortKey, type: AttributeType.STRING },
1108
+ }),
1057
1109
  projectionType: ProjectionType.ALL,
1058
1110
  });
1059
1111
  }
@@ -1081,7 +1133,20 @@ exports[`ts#dynamodb generator > should generate with infra=none then upgrade to
1081
1133
  ResourceInUseException,
1082
1134
  UpdateTableCommand,
1083
1135
  } from '@aws-sdk/client-dynamodb';
1084
- import { GLOBAL_SECONDARY_INDEXES } from '../src/gsi.js';
1136
+ import { readFileSync } from 'fs';
1137
+ import { join, dirname } from 'path';
1138
+ import { fileURLToPath } from 'url';
1139
+
1140
+ const __dirname = dirname(fileURLToPath(import.meta.url));
1141
+ const { globalSecondaryIndexes } = JSON.parse(
1142
+ readFileSync(join(__dirname, '../dynamodb.config.json'), 'utf-8'),
1143
+ ) as {
1144
+ globalSecondaryIndexes: {
1145
+ indexName: string;
1146
+ partitionKey: string;
1147
+ sortKey?: string;
1148
+ }[];
1149
+ };
1085
1150
 
1086
1151
  const [tableName, port] = process.argv.slice(2);
1087
1152
  const endpoint = \`http://localhost:\${port}\`;
@@ -1120,11 +1185,13 @@ const waitForTableActive = async (
1120
1185
  const ensureTable = async (
1121
1186
  tblClient: DynamoDBClient,
1122
1187
  tblName: string,
1123
- gsIs: { indexName: string; partitionKey: string; sortKey: string }[],
1188
+ gsIs: { indexName: string; partitionKey: string; sortKey?: string }[],
1124
1189
  ): Promise<void> => {
1125
1190
  const gsiAttributeDefinitions = gsIs.flatMap((gsi) => [
1126
1191
  { AttributeName: gsi.partitionKey, AttributeType: 'S' as const },
1127
- { AttributeName: gsi.sortKey, AttributeType: 'S' as const },
1192
+ ...(gsi.sortKey
1193
+ ? [{ AttributeName: gsi.sortKey, AttributeType: 'S' as const }]
1194
+ : []),
1128
1195
  ]);
1129
1196
  const attributeDefinitions = [
1130
1197
  { AttributeName: 'pk', AttributeType: 'S' as const },
@@ -1138,7 +1205,9 @@ const ensureTable = async (
1138
1205
  IndexName: gsi.indexName,
1139
1206
  KeySchema: [
1140
1207
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' as const },
1141
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' as const },
1208
+ ...(gsi.sortKey
1209
+ ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' as const }]
1210
+ : []),
1142
1211
  ],
1143
1212
  Projection: { ProjectionType: 'ALL' as const },
1144
1213
  }));
@@ -1205,7 +1274,14 @@ const ensureTable = async (
1205
1274
  TableName: tblName,
1206
1275
  AttributeDefinitions: [
1207
1276
  { AttributeName: gsi.partitionKey, AttributeType: 'S' },
1208
- { AttributeName: gsi.sortKey, AttributeType: 'S' },
1277
+ ...(gsi.sortKey
1278
+ ? [
1279
+ {
1280
+ AttributeName: gsi.sortKey,
1281
+ AttributeType: 'S' as const,
1282
+ },
1283
+ ]
1284
+ : []),
1209
1285
  ],
1210
1286
  GlobalSecondaryIndexUpdates: [
1211
1287
  {
@@ -1213,7 +1289,9 @@ const ensureTable = async (
1213
1289
  IndexName: gsi.indexName,
1214
1290
  KeySchema: [
1215
1291
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' },
1216
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' },
1292
+ ...(gsi.sortKey
1293
+ ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' }]
1294
+ : []),
1217
1295
  ],
1218
1296
  Projection: { ProjectionType: 'ALL' },
1219
1297
  },
@@ -1233,7 +1311,7 @@ const ensureTable = async (
1233
1311
  }
1234
1312
  };
1235
1313
 
1236
- await ensureTable(client, tableName, GLOBAL_SECONDARY_INDEXES);
1314
+ await ensureTable(client, tableName, globalSecondaryIndexes);
1237
1315
  "
1238
1316
  `;
1239
1317
 
@@ -1468,24 +1546,6 @@ exports[`ts#dynamodb generator > should generate with infra=none then upgrade to
1468
1546
  "
1469
1547
  `;
1470
1548
 
1471
- exports[`ts#dynamodb generator > should generate with infra=none then upgrade to infra=dynamodb > packages/my-table/src/gsi.ts 1`] = `
1472
- "// GSIs to synchronize on the local table at startup and provision in infrastructure.
1473
- // ElectroDB names GSI keys gsi{n}pk / gsi{n}sk — add one entry per index defined in your entities.
1474
- export const GLOBAL_SECONDARY_INDEXES = [
1475
- {
1476
- indexName: 'gsi1pk-gsi1sk-index',
1477
- partitionKey: 'gsi1pk',
1478
- sortKey: 'gsi1sk',
1479
- },
1480
- {
1481
- indexName: 'gsi2pk-gsi2sk-index',
1482
- partitionKey: 'gsi2pk',
1483
- sortKey: 'gsi2sk',
1484
- },
1485
- ];
1486
- "
1487
- `;
1488
-
1489
1549
  exports[`ts#dynamodb generator > should generate with infra=none then upgrade to infra=dynamodb > packages/my-table/src/index.ts 1`] = `
1490
1550
  "export {
1491
1551
  PACKAGE_NAME,
@@ -1496,7 +1556,6 @@ exports[`ts#dynamodb generator > should generate with infra=none then upgrade to
1496
1556
  LOCAL_TABLE_NAME,
1497
1557
  } from './constants.js';
1498
1558
  export { getDynamoDBClient, resolveTableName } from './client.js';
1499
- export { GLOBAL_SECONDARY_INDEXES } from './gsi.js';
1500
1559
  export * from './entities/index.js';
1501
1560
  "
1502
1561
  `;
@@ -0,0 +1,14 @@
1
+ {
2
+ "globalSecondaryIndexes": [
3
+ {
4
+ "indexName": "gsi1pk-gsi1sk-index",
5
+ "partitionKey": "gsi1pk",
6
+ "sortKey": "gsi1sk"
7
+ },
8
+ {
9
+ "indexName": "gsi2pk-gsi2sk-index",
10
+ "partitionKey": "gsi2pk",
11
+ "sortKey": "gsi2sk"
12
+ }
13
+ ]
14
+ }
@@ -6,7 +6,14 @@ import {
6
6
  ResourceInUseException,
7
7
  UpdateTableCommand,
8
8
  } from '@aws-sdk/client-dynamodb';
9
- import { GLOBAL_SECONDARY_INDEXES } from '../src/gsi.js';
9
+ import { readFileSync } from 'fs';
10
+ import { join, dirname } from 'path';
11
+ import { fileURLToPath } from 'url';
12
+
13
+ const __dirname = dirname(fileURLToPath(import.meta.url));
14
+ const { globalSecondaryIndexes } = JSON.parse(
15
+ readFileSync(join(__dirname, '../dynamodb.config.json'), 'utf-8'),
16
+ ) as { globalSecondaryIndexes: { indexName: string; partitionKey: string; sortKey?: string }[] };
10
17
 
11
18
  const [tableName, port] = process.argv.slice(2);
12
19
  const endpoint = `http://localhost:${port}`;
@@ -45,11 +52,11 @@ const waitForTableActive = async (
45
52
  const ensureTable = async (
46
53
  tblClient: DynamoDBClient,
47
54
  tblName: string,
48
- gsIs: { indexName: string; partitionKey: string; sortKey: string }[],
55
+ gsIs: { indexName: string; partitionKey: string; sortKey?: string }[],
49
56
  ): Promise<void> => {
50
57
  const gsiAttributeDefinitions = gsIs.flatMap((gsi) => [
51
58
  { AttributeName: gsi.partitionKey, AttributeType: 'S' as const },
52
- { AttributeName: gsi.sortKey, AttributeType: 'S' as const },
59
+ ...(gsi.sortKey ? [{ AttributeName: gsi.sortKey, AttributeType: 'S' as const }] : []),
53
60
  ]);
54
61
  const attributeDefinitions = [
55
62
  { AttributeName: 'pk', AttributeType: 'S' as const },
@@ -63,7 +70,7 @@ const ensureTable = async (
63
70
  IndexName: gsi.indexName,
64
71
  KeySchema: [
65
72
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' as const },
66
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' as const },
73
+ ...(gsi.sortKey ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' as const }] : []),
67
74
  ],
68
75
  Projection: { ProjectionType: 'ALL' as const },
69
76
  }));
@@ -130,7 +137,7 @@ const ensureTable = async (
130
137
  TableName: tblName,
131
138
  AttributeDefinitions: [
132
139
  { AttributeName: gsi.partitionKey, AttributeType: 'S' },
133
- { AttributeName: gsi.sortKey, AttributeType: 'S' },
140
+ ...(gsi.sortKey ? [{ AttributeName: gsi.sortKey, AttributeType: 'S' as const }] : []),
134
141
  ],
135
142
  GlobalSecondaryIndexUpdates: [
136
143
  {
@@ -138,7 +145,7 @@ const ensureTable = async (
138
145
  IndexName: gsi.indexName,
139
146
  KeySchema: [
140
147
  { AttributeName: gsi.partitionKey, KeyType: 'HASH' },
141
- { AttributeName: gsi.sortKey, KeyType: 'RANGE' },
148
+ ...(gsi.sortKey ? [{ AttributeName: gsi.sortKey, KeyType: 'RANGE' }] : []),
142
149
  ],
143
150
  Projection: { ProjectionType: 'ALL' },
144
151
  },
@@ -158,4 +165,4 @@ const ensureTable = async (
158
165
  }
159
166
  };
160
167
 
161
- await ensureTable(client, tableName, GLOBAL_SECONDARY_INDEXES);
168
+ await ensureTable(client, tableName, globalSecondaryIndexes);
@@ -7,5 +7,4 @@ export {
7
7
  LOCAL_TABLE_NAME,
8
8
  } from './constants.js';
9
9
  export { getDynamoDBClient, resolveTableName } from './client.js';
10
- export { GLOBAL_SECONDARY_INDEXES } from './gsi.js';
11
10
  export * from './entities/index.js';
@@ -88,13 +88,15 @@ const tsDynamoDBGenerator = async (tree, options) => {
88
88
  nameKebabCase,
89
89
  dynamoPackageAlias: (0, npm_scope_1.toScopeAlias)(fullyQualifiedName),
90
90
  tableName: localTableName,
91
+ projectRoot: dir,
91
92
  });
92
93
  }
93
94
  (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
94
95
  '@aws-sdk/client-dynamodb',
95
96
  'electrodb',
96
97
  '@aws-lambda-powertools/parameters',
97
- ]), (0, versions_1.withVersions)(['tsx', '@types/aws-lambda']));
98
+ '@aws-sdk/client-appconfigdata',
99
+ ]), (0, versions_1.withVersions)(['tsx', '@types/aws-lambda', '@types/node']));
98
100
  await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TS_DYNAMODB_GENERATOR_INFO]);
99
101
  await (0, format_1.formatFilesInSubtree)(tree);
100
102
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/dynamodb/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/dynamodb/generator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
- `test: { $props }` => raw`test: {
2
- passWithNoTests: true,
3
- $props
4
- }` where {
1
+ `test: { $props }` => `test: { passWithNoTests: true, $props }` where {
5
2
  $props <: within `defineConfig($_)`,
6
3
  $props <: not some `passWithNoTests: $_`
7
4
  }
@@ -1,7 +1,6 @@
1
1
  <%_ if (auth === 'iam') { _%>
2
2
  import { HttpAgent } from '@ag-ui/client';
3
3
  import type { AbstractAgent, RunAgentInput } from '@ag-ui/client';
4
- import { Observable } from 'rxjs';
5
4
  import { useMemo } from 'react';
6
5
  import { useRuntimeConfig } from './useRuntimeConfig';
7
6
  import { useSigV4, type SigV4Client } from './useSigV4';
@@ -36,7 +35,7 @@ class SigV4HttpAgent extends HttpAgent {
36
35
  config: ConstructorParameters<typeof HttpAgent>[0],
37
36
  sigV4Client: SigV4Client,
38
37
  ) {
39
- super(config);
38
+ super({ ...config, fetch: sigV4Client.fetch as (url: string, init: RequestInit) => Promise<Response> });
40
39
  this.sigV4Client = sigV4Client;
41
40
  }
42
41
 
@@ -49,20 +48,6 @@ class SigV4HttpAgent extends HttpAgent {
49
48
  return init;
50
49
  }
51
50
 
52
- // Remove this override once https://github.com/ag-ui-protocol/ag-ui/issues/1316 is fixed.
53
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
- override run(input: RunAgentInput): any {
55
- const sigV4Fetch = this.sigV4Client.fetch as typeof window.fetch;
56
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
- return new Observable<any>((subscriber) => {
58
- const originalFetch = window.fetch;
59
- window.fetch = sigV4Fetch;
60
- const sub = super.run(input).subscribe(subscriber);
61
- window.fetch = originalFetch;
62
- return () => sub.unsubscribe();
63
- });
64
- }
65
-
66
51
  override clone(): SigV4HttpAgent {
67
52
  const cloned = super.clone() as SigV4HttpAgent;
68
53
  cloned.sigV4Client = this.sigV4Client;
@@ -70,7 +70,6 @@ const addAgUiReactConnection = async (tree, options) => {
70
70
  'aws4fetch',
71
71
  '@aws-sdk/credential-provider-cognito-identity',
72
72
  'react-oidc-context',
73
- 'rxjs',
74
73
  ]
75
74
  : []),
76
75
  ...(auth === 'cognito' ? ['react-oidc-context'] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/agui/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/agui/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,mFAAgG;AAChG,4CAI4B;AAC5B,gDAAiD;AACjD,wDAA2E;AAC3E,kEAA8E;AAC9E,gEAAqE;AACrE,sDAAuD;AACvD,2DAAqE;AAiBrE;;;;;;;;;;;GAWG;AACI,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAU,EACV,OAAmC,EACnC,EAAE;IACF,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAClE,OAAO,CAAC;IAEV,MAAM,KAAK,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAA,wBAAY,EAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,4EAA4E;IAC5E,+BAA+B;IAC/B,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC/C,qBAAqB,CAAC,IAAI,EAC1B,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,EACvC,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,yEAAyE;IACzE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAA,qCAAqB,EAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAC5C,qBAAqB,CAAC,IAAI,EAC1B,EAAE,UAAU,EAAE,EACd,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,0CAA0C,CAAC,EACxE,IAAA,0BAAiB,EAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,EAC5D,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,IAAA,kCAAsB,EAAC,IAAI,EAAE;QACjC,OAAO,EAAE,qBAAqB,CAAC,IAAI;KACpC,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,2BAA2B,CAC/B,IAAI,EACJ,qBAAqB,EACrB,kBAAkB,CACnB,CAAC;IAEF,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAA,0BAAiB,EACnC,qBAAqB,CAAC,UAAU,EAChC,UAAU,CACX,CAAC;IACF,MAAM,IAAA,qBAAe,EACnB,IAAI,EACJ,WAAW,EACX,cAAc,EACd,2BAA2B,CAC5B,CAAC;IACF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX,gIAAgI,CACjI,CAAC;IAEF,yEAAyE;IACzE,0DAA0D;IAC1D,2EAA2E;IAC3E,yEAAyE;IACzE,4DAA4D;IAC5D,IAAA,8CAA6B,EAAC,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/D,IAAA,qCAA4B,EAC1B,IAAI,EACJ,IAAA,uBAAY,EAAC;QACX,wBAAwB;QACxB,eAAe;QACf,GAAI,CAAC,KAAK,KAAK,YAAY;YACzB,CAAC,CAAC,CAAC,oCAAoC,CAAC;YACxC,CAAC,CAAC,EAAE,CAAS;QACf,GAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAS;QACxD,GAAI,CAAC,IAAI,KAAK,KAAK;YACjB,CAAC,CAAC;gBACE,gBAAgB;gBAChB,WAAW;gBACX,+CAA+C;gBAC/C,oBAAoB;aACrB;YACH,CAAC,CAAC,EAAE,CAAS;QACf,GAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAS;KAC/D,CAAC,EACF,IAAA,uBAAY,EAAC,CAAC,GAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAS,CAAC,CAAC,CACtE,CAAC;IAEF,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,4BAA4B;IAC5B,MAAM,IAAA,2DAAoC,EAAC,IAAI,EAAE;QAC/C,kBAAkB,EAAE,IAAA,iBAAS,EAAC,kBAAkB,CAAC;QACjD,kBAAkB;KACnB,CAAC,CAAC;AACL,CAAC,CAAC;AA5GW,QAAA,sBAAsB,0BA4GjC;AAEF,MAAM,gBAAgB,GAAG,CACvB,qBAA2C,EAChC,EAAE;IACb,MAAM,EAAE,GACL,qBAAqB,CAAC,QAAgB,EAAE,EAC1C,EAAE,WAAW,EAAE,CAAC;IACjB,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,2BAA2B,GAAG,KAAK,EACvC,IAAU,EACV,qBAA2C,EAC3C,kBAA0B,EAC1B,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,qBAAqB,CAAC,UAAU,EAChC,YAAY,EACZ,kBAAkB,CACnB,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,kBAAkB,EAAE,CAAC;IAChD,wCAAwC;IACxC,MAAM,OAAO,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEpG,yBAAyB;IACzB,MAAM,IAAA,2BAAqB,EACzB,IAAI,EACJ,YAAY,EACZ,CAAC,QAAQ,CAAC,EACV,YAAY,QAAQ,EAAE,CACvB,CAAC;IAEF,6EAA6E;IAC7E,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,YAAY,EACZ,yFAAyF;QACvF,WAAW,OAAO,MAAM,QAAQ,yFAAyF;QACzH,4CAA4C,OAAO,MAAM,QAAQ,QAAQ,CAC5E,CAAC;IAEF,2EAA2E;IAC3E,oEAAoE;IACpE,2DAA2D;IAC3D,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,YAAY,EACZ,yEAAyE;QACvE,8BAA8B,OAAO,KAAK;QAC1C,yCAAyC,OAAO,QAAQ;QACxD,yDAAyD,OAAO,SAAS;QACzE,uCAAuC,OAAO,OAAO;QACrD,iDAAiD,OAAO,QAAQ;QAChE,IAAI,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -10,6 +10,7 @@ export interface AddDynamoDBConstructOptions {
10
10
  nameKebabCase: string;
11
11
  dynamoPackageAlias: string;
12
12
  tableName: string;
13
+ projectRoot: string;
13
14
  }
14
15
  export declare const addDynamoDBInfra: (tree: Tree, options: AddDynamoDBConstructOptions & {
15
16
  iac: Iac;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/dynamodb-constructs/dynamodb-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gCAAuC;AAEvC,8BAA0D;AAC1D,gFAIwC;AAUjC,MAAM,gBAAgB,GAAG,KAAK,EACnC,IAAU,EACV,OAAmD,EACnD,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAA,gCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACvC,IAAA,mCAA2B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,mDAAqB,CAAC,CAAC,CAAC,kDAAoB,EACpE,cAAc,CACf,EACD,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAA,sCAAiC,EAC/B,MAAM,EACN,OAAO,EACP,GAAG,OAAO,CAAC,WAAW,QAAQ,CAC/B,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,gBAAgB,oBA4B3B;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,IAAU,EACV,OAAoC,EACpC,EAAE;IACF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EACpD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,EACrE,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAC/D,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,UAAU,CACX,EACD,eAAe,CAChB,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,EACV,UAAU,CACX,EACD,KAAK,OAAO,CAAC,aAAa,KAAK,CAChC,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,qBAAqB,CACtB,CAAC;AACJ,CAAC,CAAC;AAhEW,QAAA,wBAAwB,4BAgEnC;AAEK,MAAM,2BAA2B,GAAG,CACzC,IAAU,EACV,OAAoC,EACpC,EAAE;IACF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAC1D,IAAA,0BAAiB,EAAC,0CAAY,EAAE,kDAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,EACpE,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,EACrE,IAAA,0BAAiB,EACf,0CAAY,EACZ,kDAAoB,EACpB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,2BAA2B,+BA6BtC"}
1
+ {"version":3,"file":"dynamodb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/dynamodb-constructs/dynamodb-constructs.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { Construct } from 'constructs';
2
- import { PACKAGE_NAME, GLOBAL_SECONDARY_INDEXES } from '<%= dynamoPackageAlias %>';
2
+ import { PACKAGE_NAME } from '<%= dynamoPackageAlias %>';
3
3
  import { AttributeType, ProjectionType } from 'aws-cdk-lib/aws-dynamodb';
4
4
  import {
5
5
  DynamoDBTable,
6
6
  DynamoDBTableProps,
7
7
  } from '../../core/dynamodb.js';
8
+ import { findWorkspaceRoot } from '../../core/workspace.js';
9
+ import { readFileSync } from 'fs';
10
+ import { join } from "path";
11
+ import { fileURLToPath } from "url";
8
12
 
9
13
  export type <%= nameClassName %>Props = Omit<
10
14
  DynamoDBTableProps,
@@ -18,11 +22,21 @@ export class <%= nameClassName %> extends DynamoDBTable {
18
22
  runtimeConfigKey: PACKAGE_NAME,
19
23
  });
20
24
 
21
- for (const gsi of GLOBAL_SECONDARY_INDEXES) {
25
+ const { globalSecondaryIndexes } = JSON.parse(
26
+ readFileSync(
27
+ join(
28
+ findWorkspaceRoot(fileURLToPath(new URL(import.meta.url))),
29
+ '<%= projectRoot %>/dynamodb.config.json',
30
+ ),
31
+ 'utf-8',
32
+ ),
33
+ ) as { globalSecondaryIndexes: { indexName: string; partitionKey: string; sortKey?: string }[] };
34
+
35
+ for (const gsi of globalSecondaryIndexes) {
22
36
  this.table.addGlobalSecondaryIndex({
23
37
  indexName: gsi.indexName,
24
38
  partitionKey: { name: gsi.partitionKey, type: AttributeType.STRING },
25
- sortKey: { name: gsi.sortKey, type: AttributeType.STRING },
39
+ ...(gsi.sortKey && { sortKey: { name: gsi.sortKey, type: AttributeType.STRING } }),
26
40
  projectionType: ProjectionType.ALL,
27
41
  });
28
42
  }
@@ -31,6 +31,16 @@ variable "enable_key_rotation" {
31
31
  default = true
32
32
  }
33
33
 
34
+ locals {
35
+ dynamodb_config = jsondecode(file("${path.module}/../../../../../../../<%= projectRoot %>/dynamodb.config.json"))
36
+ global_secondary_indexes = [for gsi in local.dynamodb_config.globalSecondaryIndexes : {
37
+ name = gsi.indexName
38
+ hash_key = gsi.partitionKey
39
+ range_key = try(gsi.sortKey, null)
40
+ projection_type = "ALL"
41
+ }]
42
+ }
43
+
34
44
  module "dynamodb_table" {
35
45
  source = "../../../core/dynamodb"
36
46
  name = "<%= tableName %>"
@@ -38,20 +48,7 @@ module "dynamodb_table" {
38
48
  point_in_time_recovery_enabled = var.point_in_time_recovery_enabled
39
49
  deletion_protection_enabled = var.deletion_protection_enabled
40
50
  enable_key_rotation = var.enable_key_rotation
41
- global_secondary_indexes = [
42
- {
43
- name = "gsi1pk-gsi1sk-index"
44
- hash_key = "gsi1pk"
45
- range_key = "gsi1sk"
46
- projection_type = "ALL"
47
- },
48
- {
49
- name = "gsi2pk-gsi2sk-index"
50
- hash_key = "gsi2pk"
51
- range_key = "gsi2sk"
52
- projection_type = "ALL"
53
- },
54
- ]
51
+ global_secondary_indexes = local.global_secondary_indexes
55
52
  }
56
53
 
57
54
  module "add_to_runtime_config" {
@@ -33,11 +33,11 @@ export declare const TS_VERSIONS: {
33
33
  readonly '@modelcontextprotocol/sdk': "1.29.0";
34
34
  readonly '@modelcontextprotocol/inspector': "0.19.0";
35
35
  readonly '@ag-ui/aws-strands': "0.1.0";
36
- readonly '@ag-ui/client': "0.0.53";
37
- readonly '@ag-ui/core': "0.0.53";
38
- readonly '@ag-ui/encoder': "0.0.53";
36
+ readonly '@ag-ui/client': "0.0.56";
37
+ readonly '@ag-ui/core': "0.0.56";
38
+ readonly '@ag-ui/encoder': "0.0.56";
39
39
  readonly 'agent-chat-cli': "0.2.0";
40
- readonly '@copilotkit/react-core': "1.59.5";
40
+ readonly '@copilotkit/react-core': "1.60.0";
41
41
  readonly rxjs: "7.8.2";
42
42
  readonly '@strands-agents/sdk': "1.4.0";
43
43
  readonly '@tanstack/react-router': "1.170.15";
@@ -126,7 +126,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
126
126
  * Add versions to the given dependencies
127
127
  */
128
128
  export declare const withVersions: (deps: ITsDepVersion[]) => {
129
- [k: string]: "0.3.13" | "0.11.0" | "3.1063.0" | "3.972.42" | "1.0.0-alpha.10" | "2.33.1" | "7.6.5" | "22.2.0" | "10.2.1" | "22.7.5" | "1.29.0" | "0.19.0" | "0.1.0" | "0.0.53" | "0.2.0" | "1.59.5" | "7.8.2" | "1.4.0" | "1.170.15" | "1.168.18" | "1.167.17" | "1.162.0" | "1.162.2" | "3.0.189" | "1.0.138" | "3.0.1308" | "1.0.59" | "5.101.0" | "11.17.0" | "25.9.2" | "8.10.162" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.5.6" | "4.4.6" | "4.7.7" | "4.14.3" | "4.1.8" | "5.0.7" | "0.39.3" | "6.4.4" | "1.0.20" | "2.1126.0" | "2.258.0" | "3.12.0" | "10.6.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "14.0.3" | "3.9.0" | "0.28.0" | "1.0.31" | "1.0.5" | "2.4.16" | "7.8.0" | "5.2.1" | "3.3.3" | "9.1.7" | "11.3.5" | "11.0.4" | "4.0.0" | "3.5.2" | "2.0.0" | "19.6.6" | "3.5.0" | "8.21.0" | "3.3.1" | "19.2.7" | "6.1.3" | "1.0.3" | "3.36.0" | "0.5.21" | "0.26.1" | "4.2.2" | "4.22.4" | "1.17.0" | "1.5.0" | "4.10.0" | "3.6.0" | "8.0.16" | "6.0.3" | "4.4.3";
129
+ [k: string]: "0.3.13" | "0.11.0" | "3.1063.0" | "3.972.42" | "1.0.0-alpha.10" | "2.33.1" | "7.6.5" | "22.2.0" | "10.2.1" | "22.7.5" | "1.29.0" | "0.19.0" | "0.1.0" | "0.0.56" | "0.2.0" | "1.60.0" | "7.8.2" | "1.4.0" | "1.170.15" | "1.168.18" | "1.167.17" | "1.162.0" | "1.162.2" | "3.0.189" | "1.0.138" | "3.0.1308" | "1.0.59" | "5.101.0" | "11.17.0" | "25.9.2" | "8.10.162" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.5.6" | "4.4.6" | "4.7.7" | "4.14.3" | "4.1.8" | "5.0.7" | "0.39.3" | "6.4.4" | "1.0.20" | "2.1126.0" | "2.258.0" | "3.12.0" | "10.6.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "14.0.3" | "3.9.0" | "0.28.0" | "1.0.31" | "1.0.5" | "2.4.16" | "7.8.0" | "5.2.1" | "3.3.3" | "9.1.7" | "11.3.5" | "11.0.4" | "4.0.0" | "3.5.2" | "2.0.0" | "19.6.6" | "3.5.0" | "8.21.0" | "3.3.1" | "19.2.7" | "6.1.3" | "1.0.3" | "3.36.0" | "0.5.21" | "0.26.1" | "4.2.2" | "4.22.4" | "1.17.0" | "1.5.0" | "4.10.0" | "3.6.0" | "8.0.16" | "6.0.3" | "4.4.3";
130
130
  };
131
131
  /**
132
132
  * Versions for Python dependencies added by generators
@@ -36,11 +36,11 @@ exports.TS_VERSIONS = {
36
36
  '@modelcontextprotocol/sdk': '1.29.0',
37
37
  '@modelcontextprotocol/inspector': '0.19.0',
38
38
  '@ag-ui/aws-strands': '0.1.0',
39
- '@ag-ui/client': '0.0.53',
40
- '@ag-ui/core': '0.0.53',
41
- '@ag-ui/encoder': '0.0.53',
39
+ '@ag-ui/client': '0.0.56',
40
+ '@ag-ui/core': '0.0.56',
41
+ '@ag-ui/encoder': '0.0.56',
42
42
  'agent-chat-cli': '0.2.0',
43
- '@copilotkit/react-core': '1.59.5',
43
+ '@copilotkit/react-core': '1.60.0',
44
44
  rxjs: '7.8.2',
45
45
  '@strands-agents/sdk': '1.4.0',
46
46
  '@tanstack/react-router': '1.170.15',
@@ -1,14 +0,0 @@
1
- // GSIs to synchronize on the local table at startup and provision in infrastructure.
2
- // ElectroDB names GSI keys gsi{n}pk / gsi{n}sk — add one entry per index defined in your entities.
3
- export const GLOBAL_SECONDARY_INDEXES = [
4
- {
5
- indexName: 'gsi1pk-gsi1sk-index',
6
- partitionKey: 'gsi1pk',
7
- sortKey: 'gsi1sk',
8
- },
9
- {
10
- indexName: 'gsi2pk-gsi2sk-index',
11
- partitionKey: 'gsi2pk',
12
- sortKey: 'gsi2sk',
13
- },
14
- ];