@aws/nx-plugin 0.122.0 → 0.123.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "0.122.0",
3
+ "version": "0.123.0",
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;
@@ -1063,10 +1063,19 @@ variable "tags" {
1063
1063
  default = {}
1064
1064
  }
1065
1065
 
1066
+ # Suffix appended to physical resource names so that multiple deployments
1067
+ # (e.g. separate environments in the same account and region) don't collide.
1068
+ resource "random_string" "suffix" {
1069
+ length = 8
1070
+ special = false
1071
+ upper = false
1072
+ }
1073
+
1066
1074
  locals {
1067
1075
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
1068
1076
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
1069
1077
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql\${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
1078
+ cluster_name = "\${var.name}-aurora-\${random_string.suffix.result}"
1070
1079
  }
1071
1080
 
1072
1081
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -1164,7 +1173,7 @@ resource "aws_security_group" "database" {
1164
1173
  }
1165
1174
 
1166
1175
  resource "aws_db_subnet_group" "database" {
1167
- name = "\${var.name}-aurora"
1176
+ name = local.cluster_name
1168
1177
  subnet_ids = var.subnet_ids
1169
1178
 
1170
1179
  tags = merge(var.tags, {
@@ -1204,7 +1213,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
1204
1213
  resource "aws_rds_cluster" "database" {
1205
1214
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
1206
1215
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
1207
- cluster_identifier = "\${var.name}-aurora"
1216
+ cluster_identifier = local.cluster_name
1208
1217
  engine = var.engine
1209
1218
  engine_version = coalesce(var.engine_version, local.default_engine_version)
1210
1219
  database_name = var.database_name
@@ -1218,7 +1227,7 @@ resource "aws_rds_cluster" "database" {
1218
1227
  kms_key_id = aws_kms_key.database.arn
1219
1228
  deletion_protection = var.deletion_protection
1220
1229
  skip_final_snapshot = var.skip_final_snapshot
1221
- final_snapshot_identifier = var.skip_final_snapshot ? null : "\${var.name}-aurora-final-snapshot"
1230
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "\${local.cluster_name}-final-snapshot"
1222
1231
  iam_database_authentication_enabled = true
1223
1232
  monitoring_interval = 5
1224
1233
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -1238,7 +1247,7 @@ resource "aws_rds_cluster" "database" {
1238
1247
  resource "aws_rds_cluster_instance" "database" {
1239
1248
  count = var.instance_count
1240
1249
 
1241
- identifier = "\${var.name}-aurora-\${count.index + 1}"
1250
+ identifier = "\${local.cluster_name}-\${count.index + 1}"
1242
1251
  cluster_identifier = aws_rds_cluster.database.id
1243
1252
  instance_class = "db.serverless"
1244
1253
  engine = aws_rds_cluster.database.engine
@@ -1292,7 +1301,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
1292
1301
  resource "aws_cloudformation_stack" "credentials_rotation" {
1293
1302
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
1294
1303
  count = var.enable_credential_rotation ? 1 : 0
1295
- name = "\${var.name}-aurora-credentials-rotation"
1304
+ name = "\${local.cluster_name}-credentials-rotation"
1296
1305
 
1297
1306
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
1298
1307
 
@@ -1306,7 +1315,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
1306
1315
  SecretId = aws_secretsmanager_secret.credentials.arn
1307
1316
  HostedRotationLambda = {
1308
1317
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
1309
- RotationLambdaName = "\${var.name}-aurora-credentials-rotation"
1318
+ RotationLambdaName = "\${local.cluster_name}-credentials-rotation"
1310
1319
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
1311
1320
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
1312
1321
  }
@@ -1386,7 +1395,7 @@ resource "aws_security_group" "proxy" {
1386
1395
  resource "aws_db_proxy" "aurora" {
1387
1396
  count = var.enable_rds_proxy ? 1 : 0
1388
1397
 
1389
- name = "\${var.name}-proxy"
1398
+ name = "\${var.name}-proxy-\${random_string.suffix.result}"
1390
1399
  default_auth_scheme = "IAM_AUTH"
1391
1400
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
1392
1401
  role_arn = aws_iam_role.proxy[0].arn
@@ -1532,7 +1541,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
1532
1541
  resource "aws_backup_vault" "database" {
1533
1542
  count = var.enable_backup ? 1 : 0
1534
1543
 
1535
- name = "\${var.name}-aurora-backup"
1544
+ name = "\${local.cluster_name}-backup"
1536
1545
  kms_key_arn = aws_kms_key.database.arn
1537
1546
  tags = var.tags
1538
1547
  }
@@ -1540,7 +1549,7 @@ resource "aws_backup_vault" "database" {
1540
1549
  resource "aws_backup_plan" "database" {
1541
1550
  count = var.enable_backup ? 1 : 0
1542
1551
 
1543
- name = "\${var.name}-aurora-backup"
1552
+ name = "\${local.cluster_name}-backup"
1544
1553
 
1545
1554
  rule {
1546
1555
  rule_name = "daily-backup"
@@ -2513,10 +2522,19 @@ variable "tags" {
2513
2522
  default = {}
2514
2523
  }
2515
2524
 
2525
+ # Suffix appended to physical resource names so that multiple deployments
2526
+ # (e.g. separate environments in the same account and region) don't collide.
2527
+ resource "random_string" "suffix" {
2528
+ length = 8
2529
+ special = false
2530
+ upper = false
2531
+ }
2532
+
2516
2533
  locals {
2517
2534
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
2518
2535
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
2519
2536
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql\${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
2537
+ cluster_name = "\${var.name}-aurora-\${random_string.suffix.result}"
2520
2538
  }
2521
2539
 
2522
2540
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -2614,7 +2632,7 @@ resource "aws_security_group" "database" {
2614
2632
  }
2615
2633
 
2616
2634
  resource "aws_db_subnet_group" "database" {
2617
- name = "\${var.name}-aurora"
2635
+ name = local.cluster_name
2618
2636
  subnet_ids = var.subnet_ids
2619
2637
 
2620
2638
  tags = merge(var.tags, {
@@ -2654,7 +2672,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
2654
2672
  resource "aws_rds_cluster" "database" {
2655
2673
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
2656
2674
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
2657
- cluster_identifier = "\${var.name}-aurora"
2675
+ cluster_identifier = local.cluster_name
2658
2676
  engine = var.engine
2659
2677
  engine_version = coalesce(var.engine_version, local.default_engine_version)
2660
2678
  database_name = var.database_name
@@ -2668,7 +2686,7 @@ resource "aws_rds_cluster" "database" {
2668
2686
  kms_key_id = aws_kms_key.database.arn
2669
2687
  deletion_protection = var.deletion_protection
2670
2688
  skip_final_snapshot = var.skip_final_snapshot
2671
- final_snapshot_identifier = var.skip_final_snapshot ? null : "\${var.name}-aurora-final-snapshot"
2689
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "\${local.cluster_name}-final-snapshot"
2672
2690
  iam_database_authentication_enabled = true
2673
2691
  monitoring_interval = 5
2674
2692
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -2688,7 +2706,7 @@ resource "aws_rds_cluster" "database" {
2688
2706
  resource "aws_rds_cluster_instance" "database" {
2689
2707
  count = var.instance_count
2690
2708
 
2691
- identifier = "\${var.name}-aurora-\${count.index + 1}"
2709
+ identifier = "\${local.cluster_name}-\${count.index + 1}"
2692
2710
  cluster_identifier = aws_rds_cluster.database.id
2693
2711
  instance_class = "db.serverless"
2694
2712
  engine = aws_rds_cluster.database.engine
@@ -2742,7 +2760,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
2742
2760
  resource "aws_cloudformation_stack" "credentials_rotation" {
2743
2761
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
2744
2762
  count = var.enable_credential_rotation ? 1 : 0
2745
- name = "\${var.name}-aurora-credentials-rotation"
2763
+ name = "\${local.cluster_name}-credentials-rotation"
2746
2764
 
2747
2765
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
2748
2766
 
@@ -2756,7 +2774,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
2756
2774
  SecretId = aws_secretsmanager_secret.credentials.arn
2757
2775
  HostedRotationLambda = {
2758
2776
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
2759
- RotationLambdaName = "\${var.name}-aurora-credentials-rotation"
2777
+ RotationLambdaName = "\${local.cluster_name}-credentials-rotation"
2760
2778
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
2761
2779
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
2762
2780
  }
@@ -2836,7 +2854,7 @@ resource "aws_security_group" "proxy" {
2836
2854
  resource "aws_db_proxy" "aurora" {
2837
2855
  count = var.enable_rds_proxy ? 1 : 0
2838
2856
 
2839
- name = "\${var.name}-proxy"
2857
+ name = "\${var.name}-proxy-\${random_string.suffix.result}"
2840
2858
  default_auth_scheme = "IAM_AUTH"
2841
2859
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
2842
2860
  role_arn = aws_iam_role.proxy[0].arn
@@ -2982,7 +3000,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
2982
3000
  resource "aws_backup_vault" "database" {
2983
3001
  count = var.enable_backup ? 1 : 0
2984
3002
 
2985
- name = "\${var.name}-aurora-backup"
3003
+ name = "\${local.cluster_name}-backup"
2986
3004
  kms_key_arn = aws_kms_key.database.arn
2987
3005
  tags = var.tags
2988
3006
  }
@@ -2990,7 +3008,7 @@ resource "aws_backup_vault" "database" {
2990
3008
  resource "aws_backup_plan" "database" {
2991
3009
  count = var.enable_backup ? 1 : 0
2992
3010
 
2993
- name = "\${var.name}-aurora-backup"
3011
+ name = "\${local.cluster_name}-backup"
2994
3012
 
2995
3013
  rule {
2996
3014
  rule_name = "daily-backup"
@@ -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":"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"}
@@ -159,10 +159,19 @@ variable "tags" {
159
159
  default = {}
160
160
  }
161
161
 
162
+ # Suffix appended to physical resource names so that multiple deployments
163
+ # (e.g. separate environments in the same account and region) don't collide.
164
+ resource "random_string" "suffix" {
165
+ length = 8
166
+ special = false
167
+ upper = false
168
+ }
169
+
162
170
  locals {
163
171
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
164
172
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
165
173
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
174
+ cluster_name = "${var.name}-aurora-${random_string.suffix.result}"
166
175
  }
167
176
 
168
177
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -260,7 +269,7 @@ resource "aws_security_group" "database" {
260
269
  }
261
270
 
262
271
  resource "aws_db_subnet_group" "database" {
263
- name = "${var.name}-aurora"
272
+ name = local.cluster_name
264
273
  subnet_ids = var.subnet_ids
265
274
 
266
275
  tags = merge(var.tags, {
@@ -300,7 +309,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
300
309
  resource "aws_rds_cluster" "database" {
301
310
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
302
311
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
303
- cluster_identifier = "${var.name}-aurora"
312
+ cluster_identifier = local.cluster_name
304
313
  engine = var.engine
305
314
  engine_version = coalesce(var.engine_version, local.default_engine_version)
306
315
  database_name = var.database_name
@@ -314,7 +323,7 @@ resource "aws_rds_cluster" "database" {
314
323
  kms_key_id = aws_kms_key.database.arn
315
324
  deletion_protection = var.deletion_protection
316
325
  skip_final_snapshot = var.skip_final_snapshot
317
- final_snapshot_identifier = var.skip_final_snapshot ? null : "${var.name}-aurora-final-snapshot"
326
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "${local.cluster_name}-final-snapshot"
318
327
  iam_database_authentication_enabled = true
319
328
  monitoring_interval = 5
320
329
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -334,7 +343,7 @@ resource "aws_rds_cluster" "database" {
334
343
  resource "aws_rds_cluster_instance" "database" {
335
344
  count = var.instance_count
336
345
 
337
- identifier = "${var.name}-aurora-${count.index + 1}"
346
+ identifier = "${local.cluster_name}-${count.index + 1}"
338
347
  cluster_identifier = aws_rds_cluster.database.id
339
348
  instance_class = "db.serverless"
340
349
  engine = aws_rds_cluster.database.engine
@@ -388,7 +397,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
388
397
  resource "aws_cloudformation_stack" "credentials_rotation" {
389
398
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
390
399
  count = var.enable_credential_rotation ? 1 : 0
391
- name = "${var.name}-aurora-credentials-rotation"
400
+ name = "${local.cluster_name}-credentials-rotation"
392
401
 
393
402
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
394
403
 
@@ -402,7 +411,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
402
411
  SecretId = aws_secretsmanager_secret.credentials.arn
403
412
  HostedRotationLambda = {
404
413
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
405
- RotationLambdaName = "${var.name}-aurora-credentials-rotation"
414
+ RotationLambdaName = "${local.cluster_name}-credentials-rotation"
406
415
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
407
416
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
408
417
  }
@@ -482,7 +491,7 @@ resource "aws_security_group" "proxy" {
482
491
  resource "aws_db_proxy" "aurora" {
483
492
  count = var.enable_rds_proxy ? 1 : 0
484
493
 
485
- name = "${var.name}-proxy"
494
+ name = "${var.name}-proxy-${random_string.suffix.result}"
486
495
  default_auth_scheme = "IAM_AUTH"
487
496
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
488
497
  role_arn = aws_iam_role.proxy[0].arn
@@ -628,7 +637,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
628
637
  resource "aws_backup_vault" "database" {
629
638
  count = var.enable_backup ? 1 : 0
630
639
 
631
- name = "${var.name}-aurora-backup"
640
+ name = "${local.cluster_name}-backup"
632
641
  kms_key_arn = aws_kms_key.database.arn
633
642
  tags = var.tags
634
643
  }
@@ -636,7 +645,7 @@ resource "aws_backup_vault" "database" {
636
645
  resource "aws_backup_plan" "database" {
637
646
  count = var.enable_backup ? 1 : 0
638
647
 
639
- name = "${var.name}-aurora-backup"
648
+ name = "${local.cluster_name}-backup"
640
649
 
641
650
  rule {
642
651
  rule_name = "daily-backup"
@@ -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.2";
40
+ readonly '@copilotkit/react-core': "1.60.0";
41
41
  readonly rxjs: "7.8.2";
42
42
  readonly '@strands-agents/sdk': "1.3.0";
43
43
  readonly '@tanstack/react-router': "1.170.10";
@@ -131,7 +131,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
131
131
  * Add versions to the given dependencies
132
132
  */
133
133
  export declare const withVersions: (deps: ITsDepVersion[]) => {
134
- [k: string]: "22.7.5" | "3.8.3" | "1.29.0" | "22.1.4" | "3.3.3" | "4.3.0" | "6.0.3" | "8.0.14" | "4.1.7" | "4.4.3" | "0.3.13" | "0.11.0" | "3.1058.0" | "3.972.38" | "1.0.0-alpha.10" | "2.33.1" | "7.6.5" | "10.2.1" | "0.19.0" | "0.1.0" | "0.0.53" | "0.2.0" | "1.59.2" | "7.8.2" | "1.3.0" | "1.170.10" | "1.168.13" | "1.167.12" | "1.162.0" | "1.162.1" | "3.0.187" | "1.0.136" | "3.0.1304" | "1.0.59" | "5.100.14" | "11.17.0" | "25.9.1" | "8.10.161" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.5.6" | "4.4.6" | "4.7.6" | "4.14.3" | "0.39.2" | "6.4.2" | "1.0.20" | "2.1125.0" | "2.257.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" | "8.60.1" | "7.8.0" | "5.5.6" | "5.2.1" | "9.1.7" | "11.3.5" | "11.0.4" | "3.1.0" | "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.2" | "3.36.0" | "0.5.21" | "0.26.1" | "4.22.4" | "1.17.0" | "1.4.3" | "4.10.0" | "1.4.0" | "3.6.0";
134
+ [k: string]: "22.7.5" | "3.8.3" | "1.29.0" | "22.1.4" | "3.3.3" | "4.3.0" | "6.0.3" | "8.0.14" | "4.1.7" | "4.4.3" | "0.3.13" | "0.11.0" | "3.1058.0" | "3.972.38" | "1.0.0-alpha.10" | "2.33.1" | "7.6.5" | "10.2.1" | "0.19.0" | "0.1.0" | "0.0.56" | "0.2.0" | "1.60.0" | "7.8.2" | "1.3.0" | "1.170.10" | "1.168.13" | "1.167.12" | "1.162.0" | "1.162.1" | "3.0.187" | "1.0.136" | "3.0.1304" | "1.0.59" | "5.100.14" | "11.17.0" | "25.9.1" | "8.10.161" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.5.6" | "4.4.6" | "4.7.6" | "4.14.3" | "0.39.2" | "6.4.2" | "1.0.20" | "2.1125.0" | "2.257.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" | "8.60.1" | "7.8.0" | "5.5.6" | "5.2.1" | "9.1.7" | "11.3.5" | "11.0.4" | "3.1.0" | "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.2" | "3.36.0" | "0.5.21" | "0.26.1" | "4.22.4" | "1.17.0" | "1.4.3" | "4.10.0" | "1.4.0" | "3.6.0";
135
135
  };
136
136
  /**
137
137
  * 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.2',
43
+ '@copilotkit/react-core': '1.60.0',
44
44
  rxjs: '7.8.2',
45
45
  '@strands-agents/sdk': '1.3.0',
46
46
  '@tanstack/react-router': '1.170.10',