@awsless/cli 0.0.1 → 0.0.3

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 (41) hide show
  1. package/dist/app.json +1 -1
  2. package/dist/app.stage.json +1 -1
  3. package/dist/bin.js +9918 -47461
  4. package/dist/build-json-schema.js +308 -175
  5. package/dist/prebuild/icon/bundle.zip +0 -0
  6. package/dist/prebuild/image/bundle.zip +0 -0
  7. package/dist/prebuild/on-error-log/bundle.zip +0 -0
  8. package/dist/prebuild/on-failure/bundle.zip +0 -0
  9. package/dist/prebuild/rpc/HASH +1 -1
  10. package/dist/prebuild/rpc/bundle.zip +0 -0
  11. package/dist/stack.json +1 -1
  12. package/dist/stack.stage.json +1 -1
  13. package/package.json +17 -7
  14. package/dist/chunk-2TBBLACH.js +0 -37
  15. package/dist/chunk-3YEPERYO.js +0 -1021
  16. package/dist/chunk-4JFIJMQ6.js +0 -46
  17. package/dist/chunk-5TWBDDXS.js +0 -60
  18. package/dist/chunk-7NRPMOO4.js +0 -876
  19. package/dist/chunk-7XIGSOF4.js +0 -100
  20. package/dist/chunk-DSXFE5X2.js +0 -174
  21. package/dist/chunk-E7FQOYML.js +0 -12
  22. package/dist/chunk-GH475CSF.js +0 -5005
  23. package/dist/chunk-JHYKYQ5P.js +0 -163
  24. package/dist/chunk-LBISIOIM.js +0 -28
  25. package/dist/chunk-RCNT4C4P.js +0 -50
  26. package/dist/chunk-SIAA4J6H.js +0 -21
  27. package/dist/chunk-XNYTWFP6.js +0 -241
  28. package/dist/chunk-Z37AK4IA.js +0 -546
  29. package/dist/chunk-ZKH7AMP3.js +0 -42
  30. package/dist/dist-es-GXHCNXAC.js +0 -489
  31. package/dist/dist-es-J7SL4PXO.js +0 -88
  32. package/dist/dist-es-LL3VAI2X.js +0 -70
  33. package/dist/dist-es-QND3CYLI.js +0 -380
  34. package/dist/dist-es-STVZUSZG.js +0 -21
  35. package/dist/dist-es-TCFHB4OF.js +0 -324
  36. package/dist/dist-es-YFQTZTNE.js +0 -167
  37. package/dist/event-streams-74K5M656.js +0 -244
  38. package/dist/loadSso-O7PM54HL.js +0 -592
  39. package/dist/signin-6SPMGGJN.js +0 -704
  40. package/dist/sso-oidc-5IIWGKXY.js +0 -829
  41. package/dist/sts-6SQWH4BL.js +0 -3788
@@ -4,7 +4,7 @@ import { join as join2 } from "path";
4
4
  import { zodToJsonSchema } from "zod-to-json-schema";
5
5
 
6
6
  // src/config/app.ts
7
- import { z as z25 } from "zod";
7
+ import { z as z26 } from "zod";
8
8
 
9
9
  // src/feature/alert/schema.ts
10
10
  import { kebabCase } from "change-case";
@@ -233,7 +233,7 @@ var LogRetentionSchema = DurationSchema.refine(
233
233
  (duration) => {
234
234
  return validLogRetentionDays.includes(toDays(duration));
235
235
  },
236
- `Invalid log retention. Valid days are: ${validLogRetentionDays.map((days5) => `${days5}`).join(", ")}`
236
+ `Invalid log retention. Valid days are: ${validLogRetentionDays.map((days6) => `${days6}`).join(", ")}`
237
237
  ).describe("The log retention duration.");
238
238
  var LogSchema = z11.union([
239
239
  z11.boolean().transform((enabled) => ({ retention: enabled ? days(7) : days(0) })),
@@ -670,7 +670,12 @@ var RouterDefaultSchema = z20.record(
670
670
  }).optional().describe("Specify the cors headers."),
671
671
  passwordAuth: z20.object({
672
672
  password: z20.string().describe("Password.")
673
- }).optional().describe("Enable password authentication for the router."),
673
+ }).optional().describe(
674
+ [
675
+ "Enable password authentication for the router.",
676
+ 'You can authenicate by adding a "authorization" header with the value "Password [YOUR_PASSWORD]".'
677
+ ].join("\n")
678
+ ),
674
679
  basicAuth: z20.object({
675
680
  username: z20.string().describe("Basic auth username."),
676
681
  password: z20.string().describe("Basic auth password.")
@@ -773,13 +778,11 @@ var RpcSchema = z21.record(
773
778
  ).describe("The queries for your global RPC API.")
774
779
  ).describe("Define the schema in your stack for your global RPC API.").optional();
775
780
 
776
- // src/feature/instance/schema.ts
781
+ // src/feature/job/schema.ts
777
782
  import { days as days4, toDays as toDays2 } from "@awsless/duration";
778
783
  import { toMebibytes } from "@awsless/size";
779
784
  import { z as z22 } from "zod";
780
- var CpuSchema = z22.union([z22.literal(0.25), z22.literal(0.5), z22.literal(1), z22.literal(2), z22.literal(4), z22.literal(8), z22.literal(16)]).transform((v) => `${v} vCPU`).describe(
781
- "The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU."
782
- );
785
+ var CpuSchema = z22.union([z22.literal(0.25), z22.literal(0.5), z22.literal(1), z22.literal(2), z22.literal(4), z22.literal(8), z22.literal(16)]).transform((v) => `${v} vCPU`).describe("The number of virtual CPU units (vCPU) used by the job. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU.");
783
786
  var validMemorySize = [
784
787
  // 0.25 vCPU
785
788
  512,
@@ -816,22 +819,9 @@ var validMemorySize = [
816
819
  var MemorySizeSchema2 = SizeSchema.refine(
817
820
  (s) => validMemorySize.includes(toMebibytes(s)),
818
821
  `Invalid memory size. Allowed sizes: ${validMemorySize.join(", ")} MiB`
819
- ).describe("The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration.");
820
- var HealthCheckSchema = z22.object({
821
- path: z22.string().describe("The path that the container runs to determine if it is healthy."),
822
- interval: DurationSchema.describe("The time period in seconds between each health check execution."),
823
- retries: z22.number().int().min(1).max(10).describe(
824
- "The number of times to retry a failed health check before the container is considered unhealthy."
825
- ),
826
- startPeriod: DurationSchema.describe(
827
- "The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries."
828
- ),
829
- timeout: DurationSchema.describe(
830
- "The time period in seconds to wait for a health check to succeed before it is considered a failure."
831
- )
832
- }).describe("The health check command and associated configuration parameters for the container.");
822
+ ).describe("The amount of memory (in MiB) used by the job. Valid memory values depend on the CPU configuration.");
833
823
  var EnvironmentSchema2 = z22.record(z22.string(), z22.string()).optional().describe("Environment variable key-value pairs.");
834
- var ArchitectureSchema3 = z22.enum(["x86_64", "arm64"]).describe("The instruction set architecture that the instance supports.");
824
+ var ArchitectureSchema3 = z22.enum(["x86_64", "arm64"]).describe("The instruction set architecture that the job supports.");
835
825
  var ActionSchema2 = z22.string();
836
826
  var ActionsSchema2 = z22.union([ActionSchema2.transform((v) => [v]), ActionSchema2.array()]);
837
827
  var ArnSchema2 = z22.string().startsWith("arn:");
@@ -843,9 +833,7 @@ var PermissionSchema2 = z22.object({
843
833
  actions: ActionsSchema2,
844
834
  resources: ResourcesSchema2
845
835
  });
846
- var PermissionsSchema2 = z22.union([PermissionSchema2.transform((v) => [v]), PermissionSchema2.array()]).describe("Add IAM permissions to your instance.");
847
- var DescriptionSchema2 = z22.string().describe("A description of the instance.");
848
- var ImageSchema = z22.string().optional().describe("The URL of the container image to use.");
836
+ var PermissionsSchema2 = z22.union([PermissionSchema2.transform((v) => [v]), PermissionSchema2.array()]).describe("Add IAM permissions to your job.");
849
837
  var validLogRetentionDays2 = [
850
838
  ...[1, 3, 5, 7, 14, 30, 60, 90, 120, 150],
851
839
  ...[180, 365, 400, 545, 731, 1096, 1827, 2192],
@@ -858,7 +846,7 @@ var LogRetentionSchema2 = DurationSchema.refine(
858
846
  (duration) => {
859
847
  return validLogRetentionDays2.includes(toDays2(duration));
860
848
  },
861
- `Invalid log retention. Valid days are: ${validLogRetentionDays2.map((days5) => `${days5}`).join(", ")}`
849
+ `Invalid log retention. Valid days are: ${validLogRetentionDays2.map((days6) => `${days6}`).join(", ")}`
862
850
  ).describe("The log retention duration.");
863
851
  var LogSchema2 = z22.union([
864
852
  z22.boolean().transform((enabled) => ({ retention: enabled ? days4(7) : days4(0) })),
@@ -868,59 +856,202 @@ var LogSchema2 = z22.union([
868
856
  })
869
857
  ]).describe("Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.");
870
858
  var FileCodeSchema2 = z22.object({
871
- file: LocalFileSchema.describe("The file path of the instance code.")
859
+ file: LocalFileSchema.describe("The file path of the job code.")
872
860
  });
873
861
  var CodeSchema2 = z22.union([
874
862
  LocalFileSchema.transform((file) => ({
875
863
  file
876
864
  })).pipe(FileCodeSchema2),
877
865
  FileCodeSchema2
878
- ]).describe("Specify the code of your instance.");
879
- var ISchema = z22.object({
866
+ ]).describe("Specify the code of your job.");
867
+ var TimeoutSchema3 = DurationSchema.describe("The maximum time the job is allowed to run before being stopped.");
868
+ var ImageSchema = z22.string().describe("The URL of the container image to use.");
869
+ var PersistentStorageSchema = z22.boolean().describe("Mount persistent storage for the job at a fixed internal path.");
870
+ var StartupCommandSchema = z22.union([z22.string().transform((v) => [v]), z22.string().array()]).describe("Optional shell commands to run before the job executable is downloaded and started.");
871
+ var ASchema = z22.object({
880
872
  code: CodeSchema2,
881
- description: DescriptionSchema2.optional(),
882
873
  image: ImageSchema.optional(),
874
+ persistentStorage: PersistentStorageSchema.optional(),
875
+ startupCommand: StartupCommandSchema.optional(),
883
876
  log: LogSchema2.optional(),
884
877
  cpu: CpuSchema.optional(),
885
878
  memorySize: MemorySizeSchema2.optional(),
886
879
  architecture: ArchitectureSchema3.optional(),
887
880
  environment: EnvironmentSchema2.optional(),
888
881
  permissions: PermissionsSchema2.optional(),
889
- healthCheck: HealthCheckSchema.optional()
890
- // restartPolicy: RestartPolicySchema.optional(),
882
+ timeout: TimeoutSchema3.default("30 minutes").describe("The maximum time the job is allowed to run before being stopped. Default: 30 minutes.")
891
883
  });
892
- var InstanceSchema = z22.union([
884
+ var JobSchema = z22.union([
893
885
  LocalFileSchema.transform((code) => ({
894
886
  code
895
- })).pipe(ISchema),
896
- ISchema
887
+ })).pipe(ASchema),
888
+ ASchema
897
889
  ]);
898
- var InstancesSchema = z22.record(ResourceIdSchema, InstanceSchema).optional().describe("Define the instances in your stack.");
899
- var InstanceDefaultSchema = z22.object({
890
+ var JobsSchema = z22.record(ResourceIdSchema, JobSchema).optional().describe("Define the jobs in your stack.");
891
+ var JobDefaultSchema = z22.object({
900
892
  image: ImageSchema.optional(),
893
+ persistentStorage: PersistentStorageSchema.optional(),
901
894
  cpu: CpuSchema.default(0.25),
902
895
  memorySize: MemorySizeSchema2.default("512 MB"),
903
896
  architecture: ArchitectureSchema3.default("arm64"),
904
897
  environment: EnvironmentSchema2.optional(),
905
898
  permissions: PermissionsSchema2.optional(),
906
- healthCheck: HealthCheckSchema.optional(),
907
- // restartPolicy: RestartPolicySchema.default({ enabled: true }),
899
+ timeout: TimeoutSchema3.optional(),
908
900
  log: LogSchema2.default(true).transform((log) => ({
909
901
  retention: log.retention ?? days4(7)
910
902
  }))
911
903
  }).default({});
912
904
 
905
+ // src/feature/instance/schema.ts
906
+ import { days as days5, toDays as toDays3 } from "@awsless/duration";
907
+ import { toMebibytes as toMebibytes2 } from "@awsless/size";
908
+ import { z as z23 } from "zod";
909
+ var CpuSchema2 = z23.union([z23.literal(0.25), z23.literal(0.5), z23.literal(1), z23.literal(2), z23.literal(4), z23.literal(8), z23.literal(16)]).transform((v) => `${v} vCPU`).describe(
910
+ "The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU."
911
+ );
912
+ var validMemorySize2 = [
913
+ // 0.25 vCPU
914
+ 512,
915
+ 1024,
916
+ 2048,
917
+ // 0.5 vCPU
918
+ 1024,
919
+ 2048,
920
+ 3072,
921
+ 4096,
922
+ // 1 vCPU
923
+ 2048,
924
+ 3072,
925
+ 4096,
926
+ 5120,
927
+ 6144,
928
+ 7168,
929
+ 8192,
930
+ // 2 vCPU
931
+ 4096,
932
+ 5120,
933
+ 6144,
934
+ 7168,
935
+ 8192,
936
+ 9216,
937
+ 10240,
938
+ 11264,
939
+ 12288,
940
+ 13312,
941
+ 14336,
942
+ 15360,
943
+ 16384
944
+ ];
945
+ var MemorySizeSchema3 = SizeSchema.refine(
946
+ (s) => validMemorySize2.includes(toMebibytes2(s)),
947
+ `Invalid memory size. Allowed sizes: ${validMemorySize2.join(", ")} MiB`
948
+ ).describe("The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration.");
949
+ var HealthCheckSchema = z23.object({
950
+ path: z23.string().describe("The path that the container runs to determine if it is healthy."),
951
+ interval: DurationSchema.describe("The time period in seconds between each health check execution."),
952
+ retries: z23.number().int().min(1).max(10).describe(
953
+ "The number of times to retry a failed health check before the container is considered unhealthy."
954
+ ),
955
+ startPeriod: DurationSchema.describe(
956
+ "The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries."
957
+ ),
958
+ timeout: DurationSchema.describe(
959
+ "The time period in seconds to wait for a health check to succeed before it is considered a failure."
960
+ )
961
+ }).describe("The health check command and associated configuration parameters for the container.");
962
+ var EnvironmentSchema3 = z23.record(z23.string(), z23.string()).optional().describe("Environment variable key-value pairs.");
963
+ var ArchitectureSchema4 = z23.enum(["x86_64", "arm64"]).describe("The instruction set architecture that the instance supports.");
964
+ var ActionSchema3 = z23.string();
965
+ var ActionsSchema3 = z23.union([ActionSchema3.transform((v) => [v]), ActionSchema3.array()]);
966
+ var ArnSchema3 = z23.string().startsWith("arn:");
967
+ var WildcardSchema3 = z23.literal("*");
968
+ var ResourceSchema3 = z23.union([ArnSchema3, WildcardSchema3]);
969
+ var ResourcesSchema3 = z23.union([ResourceSchema3.transform((v) => [v]), ResourceSchema3.array()]);
970
+ var PermissionSchema3 = z23.object({
971
+ effect: z23.enum(["allow", "deny"]).default("allow"),
972
+ actions: ActionsSchema3,
973
+ resources: ResourcesSchema3
974
+ });
975
+ var PermissionsSchema3 = z23.union([PermissionSchema3.transform((v) => [v]), PermissionSchema3.array()]).describe("Add IAM permissions to your instance.");
976
+ var DescriptionSchema2 = z23.string().describe("A description of the instance.");
977
+ var ImageSchema2 = z23.string().optional().describe("The URL of the container image to use.");
978
+ var validLogRetentionDays3 = [
979
+ ...[1, 3, 5, 7, 14, 30, 60, 90, 120, 150],
980
+ ...[180, 365, 400, 545, 731, 1096, 1827, 2192],
981
+ ...[2557, 2922, 3288, 3653]
982
+ ];
983
+ var LogRetentionSchema3 = DurationSchema.refine(
984
+ durationMin(days5(0)),
985
+ "Minimum log retention is 0 day, which will disable logging."
986
+ ).refine(
987
+ (duration) => {
988
+ return validLogRetentionDays3.includes(toDays3(duration));
989
+ },
990
+ `Invalid log retention. Valid days are: ${validLogRetentionDays3.map((days6) => `${days6}`).join(", ")}`
991
+ ).describe("The log retention duration.");
992
+ var LogSchema3 = z23.union([
993
+ z23.boolean().transform((enabled) => ({ retention: enabled ? days5(7) : days5(0) })),
994
+ LogRetentionSchema3.transform((retention) => ({ retention })),
995
+ z23.object({
996
+ retention: LogRetentionSchema3.optional()
997
+ })
998
+ ]).describe("Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.");
999
+ var FileCodeSchema3 = z23.object({
1000
+ file: LocalFileSchema.describe("The file path of the instance code.")
1001
+ });
1002
+ var CodeSchema3 = z23.union([
1003
+ LocalFileSchema.transform((file) => ({
1004
+ file
1005
+ })).pipe(FileCodeSchema3),
1006
+ FileCodeSchema3
1007
+ ]).describe("Specify the code of your instance.");
1008
+ var StartupCommandSchema2 = z23.union([z23.string().transform((v) => [v]), z23.string().array()]).describe("Optional shell commands to run before the instance program starts.");
1009
+ var ISchema = z23.object({
1010
+ code: CodeSchema3,
1011
+ description: DescriptionSchema2.optional(),
1012
+ image: ImageSchema2.optional(),
1013
+ startupCommand: StartupCommandSchema2.optional(),
1014
+ log: LogSchema3.optional(),
1015
+ cpu: CpuSchema2.optional(),
1016
+ memorySize: MemorySizeSchema3.optional(),
1017
+ architecture: ArchitectureSchema4.optional(),
1018
+ environment: EnvironmentSchema3.optional(),
1019
+ permissions: PermissionsSchema3.optional(),
1020
+ healthCheck: HealthCheckSchema.optional()
1021
+ // restartPolicy: RestartPolicySchema.optional(),
1022
+ });
1023
+ var InstanceSchema = z23.union([
1024
+ LocalFileSchema.transform((code) => ({
1025
+ code
1026
+ })).pipe(ISchema),
1027
+ ISchema
1028
+ ]);
1029
+ var InstancesSchema = z23.record(ResourceIdSchema, InstanceSchema).optional().describe("Define the instances in your stack.");
1030
+ var InstanceDefaultSchema = z23.object({
1031
+ image: ImageSchema2.optional(),
1032
+ cpu: CpuSchema2.default(0.25),
1033
+ memorySize: MemorySizeSchema3.default("512 MB"),
1034
+ architecture: ArchitectureSchema4.default("arm64"),
1035
+ environment: EnvironmentSchema3.optional(),
1036
+ permissions: PermissionsSchema3.optional(),
1037
+ healthCheck: HealthCheckSchema.optional(),
1038
+ // restartPolicy: RestartPolicySchema.default({ enabled: true }),
1039
+ log: LogSchema3.default(true).transform((log) => ({
1040
+ retention: log.retention ?? days5(7)
1041
+ }))
1042
+ }).default({});
1043
+
913
1044
  // src/feature/topic/schema.ts
914
1045
  import { kebabCase as kebabCase3 } from "change-case";
915
- import { z as z23 } from "zod";
916
- var TopicNameSchema = z23.string().min(3).max(256).regex(/^[a-z0-9\-]+$/i, "Invalid topic name").transform((value) => kebabCase3(value)).describe("Define event topic name.");
917
- var TopicsDefaultSchema = z23.array(TopicNameSchema).refine((topics) => {
1046
+ import { z as z24 } from "zod";
1047
+ var TopicNameSchema = z24.string().min(3).max(256).regex(/^[a-z0-9\-]+$/i, "Invalid topic name").transform((value) => kebabCase3(value)).describe("Define event topic name.");
1048
+ var TopicsDefaultSchema = z24.array(TopicNameSchema).refine((topics) => {
918
1049
  return topics.length === new Set(topics).size;
919
1050
  }, "Must be a list of unique topic names").optional().describe("Define the event topics for your app.");
920
- var SubscribersSchema = z23.record(TopicNameSchema, TaskSchema).optional().describe("Define the event topics to subscribe too in your stack.");
1051
+ var SubscribersSchema = z24.record(TopicNameSchema, TaskSchema).optional().describe("Define the event topics to subscribe too in your stack.");
921
1052
 
922
1053
  // src/config/schema/region.ts
923
- import { z as z24 } from "zod";
1054
+ import { z as z25 } from "zod";
924
1055
  var US = ["us-east-2", "us-east-1", "us-west-1", "us-west-2"];
925
1056
  var AF = ["af-south-1"];
926
1057
  var AP = [
@@ -949,16 +1080,16 @@ var EU = [
949
1080
  var ME = ["me-south-1", "me-central-1"];
950
1081
  var SA = ["sa-east-1"];
951
1082
  var regions = [...US, ...AF, ...AP, ...CA, ...EU, ...ME, ...SA];
952
- var RegionSchema = z24.enum(regions);
1083
+ var RegionSchema = z25.enum(regions);
953
1084
 
954
1085
  // src/config/app.ts
955
- var AppSchema = z25.object({
956
- $schema: z25.string().optional(),
1086
+ var AppSchema = z26.object({
1087
+ $schema: z26.string().optional(),
957
1088
  name: ResourceIdSchema.describe("App name."),
958
1089
  region: RegionSchema.describe("The AWS region to deploy to."),
959
- profile: z25.string().describe("The AWS profile to deploy to."),
960
- protect: z25.boolean().default(false).describe("Protect your app & stacks from being deleted."),
961
- removal: z25.enum(["remove", "retain"]).default("remove").describe(
1090
+ profile: z26.string().describe("The AWS profile to deploy to."),
1091
+ protect: z26.boolean().default(false).describe("Protect your app & stacks from being deleted."),
1092
+ removal: z26.enum(["remove", "retain"]).default("remove").describe(
962
1093
  [
963
1094
  "Configure how your resources are handled when they have to be removed.",
964
1095
  "",
@@ -972,13 +1103,14 @@ var AppSchema = z25.object({
972
1103
  // .default('prod')
973
1104
  // .describe('The deployment stage.'),
974
1105
  // onFailure: OnFailureSchema,
975
- defaults: z25.object({
1106
+ defaults: z26.object({
976
1107
  onFailure: OnFailureDefaultSchema,
977
1108
  onErrorLog: OnErrorLogDefaultSchema,
978
1109
  auth: AuthDefaultSchema,
979
1110
  domains: DomainsDefaultSchema,
980
1111
  function: FunctionDefaultSchema,
981
1112
  instance: InstanceDefaultSchema,
1113
+ job: JobDefaultSchema,
982
1114
  queue: QueueDefaultSchema,
983
1115
  // graphql: GraphQLDefaultSchema,
984
1116
  // http: HttpDefaultSchema,
@@ -996,11 +1128,11 @@ var AppSchema = z25.object({
996
1128
  });
997
1129
 
998
1130
  // src/config/stack.ts
999
- import { z as z40 } from "zod";
1131
+ import { z as z41 } from "zod";
1000
1132
 
1001
1133
  // src/feature/cache/schema.ts
1002
1134
  import { gibibytes as gibibytes2 } from "@awsless/size";
1003
- import { z as z26 } from "zod";
1135
+ import { z as z27 } from "zod";
1004
1136
  var StorageSchema = SizeSchema.refine(sizeMin(gibibytes2(1)), "Minimum storage size is 1 GB").refine(
1005
1137
  sizeMax(gibibytes2(5e3)),
1006
1138
  "Maximum storage size is 5000 GB"
@@ -1011,31 +1143,31 @@ var MinimumStorageSchema = StorageSchema.describe(
1011
1143
  var MaximumStorageSchema = StorageSchema.describe(
1012
1144
  "The upper limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB."
1013
1145
  );
1014
- var EcpuSchema = z26.number().int().min(1e3).max(15e6);
1146
+ var EcpuSchema = z27.number().int().min(1e3).max(15e6);
1015
1147
  var MinimumEcpuSchema = EcpuSchema.describe(
1016
1148
  "The minimum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."
1017
1149
  );
1018
1150
  var MaximumEcpuSchema = EcpuSchema.describe(
1019
1151
  "The maximum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."
1020
1152
  );
1021
- var CachesSchema = z26.record(
1153
+ var CachesSchema = z27.record(
1022
1154
  ResourceIdSchema,
1023
- z26.object({
1155
+ z27.object({
1024
1156
  minStorage: MinimumStorageSchema.optional(),
1025
1157
  maxStorage: MaximumStorageSchema.optional(),
1026
1158
  minECPU: MinimumEcpuSchema.optional(),
1027
1159
  maxECPU: MaximumEcpuSchema.optional(),
1028
- snapshotRetentionLimit: z26.number().int().positive().default(1)
1160
+ snapshotRetentionLimit: z27.number().int().positive().default(1)
1029
1161
  })
1030
1162
  ).optional().describe("Define the caches in your stack. For access to the cache put your functions inside the global VPC.");
1031
1163
 
1032
1164
  // src/feature/command/schema.ts
1033
- import { z as z27 } from "zod";
1034
- var CommandSchema = z27.union([
1035
- z27.object({
1165
+ import { z as z28 } from "zod";
1166
+ var CommandSchema = z28.union([
1167
+ z28.object({
1036
1168
  file: LocalFileSchema,
1037
- handler: z27.string().default("default").describe("The name of the handler that needs to run"),
1038
- description: z27.string().optional().describe("A description of the command")
1169
+ handler: z28.string().default("default").describe("The name of the handler that needs to run"),
1170
+ description: z28.string().optional().describe("A description of the command")
1039
1171
  // options: z.record(ResourceIdSchema, OptionSchema).optional(),
1040
1172
  // arguments: z.record(ResourceIdSchema, ArgumentSchema).optional(),
1041
1173
  }),
@@ -1045,22 +1177,22 @@ var CommandSchema = z27.union([
1045
1177
  description: void 0
1046
1178
  }))
1047
1179
  ]);
1048
- var CommandsSchema = z27.record(ResourceIdSchema, CommandSchema).optional().describe("Define the custom commands for your stack.");
1180
+ var CommandsSchema = z28.record(ResourceIdSchema, CommandSchema).optional().describe("Define the custom commands for your stack.");
1049
1181
 
1050
1182
  // src/feature/config/schema.ts
1051
- import { z as z28 } from "zod";
1052
- var ConfigNameSchema = z28.string().regex(/[a-z0-9\-]/g, "Invalid config name");
1053
- var ConfigsSchema = z28.array(ConfigNameSchema).optional().describe("Define the config values for your stack.");
1183
+ import { z as z29 } from "zod";
1184
+ var ConfigNameSchema = z29.string().regex(/[a-z0-9\-]/g, "Invalid config name");
1185
+ var ConfigsSchema = z29.array(ConfigNameSchema).optional().describe("Define the config values for your stack.");
1054
1186
 
1055
1187
  // src/feature/cron/schema/index.ts
1056
- import { z as z30 } from "zod";
1188
+ import { z as z31 } from "zod";
1057
1189
 
1058
1190
  // src/feature/cron/schema/schedule.ts
1059
- import { z as z29 } from "zod";
1191
+ import { z as z30 } from "zod";
1060
1192
  import { awsCronExpressionValidator } from "aws-cron-expression-validator";
1061
- var RateExpressionSchema = z29.custom(
1193
+ var RateExpressionSchema = z30.custom(
1062
1194
  (value) => {
1063
- return z29.string().regex(/^[0-9]+ (seconds?|minutes?|hours?|days?)$/).refine((rate) => {
1195
+ return z30.string().regex(/^[0-9]+ (seconds?|minutes?|hours?|days?)$/).refine((rate) => {
1064
1196
  const [str] = rate.split(" ");
1065
1197
  const number = parseInt(str);
1066
1198
  return number > 0;
@@ -1076,9 +1208,9 @@ var RateExpressionSchema = z29.custom(
1076
1208
  }
1077
1209
  return `rate(${rate})`;
1078
1210
  });
1079
- var CronExpressionSchema = z29.custom(
1211
+ var CronExpressionSchema = z30.custom(
1080
1212
  (value) => {
1081
- return z29.string().safeParse(value).success;
1213
+ return z30.string().safeParse(value).success;
1082
1214
  },
1083
1215
  { message: "Invalid cron expression" }
1084
1216
  ).superRefine((value, ctx) => {
@@ -1087,12 +1219,12 @@ var CronExpressionSchema = z29.custom(
1087
1219
  } catch (error) {
1088
1220
  if (error instanceof Error) {
1089
1221
  ctx.addIssue({
1090
- code: z29.ZodIssueCode.custom,
1222
+ code: z30.ZodIssueCode.custom,
1091
1223
  message: `Invalid cron expression: ${error.message}`
1092
1224
  });
1093
1225
  } else {
1094
1226
  ctx.addIssue({
1095
- code: z29.ZodIssueCode.custom,
1227
+ code: z30.ZodIssueCode.custom,
1096
1228
  message: "Invalid cron expression"
1097
1229
  });
1098
1230
  }
@@ -1103,32 +1235,32 @@ var CronExpressionSchema = z29.custom(
1103
1235
  var ScheduleExpressionSchema = RateExpressionSchema.or(CronExpressionSchema);
1104
1236
 
1105
1237
  // src/feature/cron/schema/index.ts
1106
- var RetryAttemptsSchema4 = z30.number().int().min(0).max(2).describe(
1238
+ var RetryAttemptsSchema4 = z31.number().int().min(0).max(2).describe(
1107
1239
  "The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."
1108
1240
  );
1109
- var CronsSchema = z30.record(
1241
+ var CronsSchema = z31.record(
1110
1242
  ResourceIdSchema,
1111
- z30.object({
1112
- enabled: z30.boolean().default(true).describe("If the cron is enabled."),
1243
+ z31.object({
1244
+ enabled: z31.boolean().default(true).describe("If the cron is enabled."),
1113
1245
  consumer: FunctionSchema.describe("The consuming lambda function properties."),
1114
1246
  schedule: ScheduleExpressionSchema.describe(
1115
1247
  'The scheduling expression.\n\nexample: "0 20 * * ? *"\nexample: "5 minutes"'
1116
1248
  ),
1117
- payload: z30.unknown().optional().describe("The JSON payload that will be passed to the consumer."),
1249
+ payload: z31.unknown().optional().describe("The JSON payload that will be passed to the consumer."),
1118
1250
  retryAttempts: RetryAttemptsSchema4.default(2)
1119
1251
  })
1120
1252
  ).optional().describe(`Define the cron jobs in your stack.`);
1121
1253
 
1122
1254
  // src/feature/search/schema.ts
1123
1255
  import { gibibytes as gibibytes3 } from "@awsless/size";
1124
- import { z as z31 } from "zod";
1125
- var VersionSchema = z31.union([
1256
+ import { z as z32 } from "zod";
1257
+ var VersionSchema = z32.union([
1126
1258
  //
1127
- z31.enum(["2.13", "2.11", "2.9", "2.7", "2.5", "2.3", "1.3"]),
1128
- z31.string()
1259
+ z32.enum(["2.13", "2.11", "2.9", "2.7", "2.5", "2.3", "1.3"]),
1260
+ z32.string()
1129
1261
  ]).describe("Specify the OpenSearch engine version.");
1130
- var TypeSchema = z31.union([
1131
- z31.enum([
1262
+ var TypeSchema = z32.union([
1263
+ z32.enum([
1132
1264
  "t3.small",
1133
1265
  "t3.medium",
1134
1266
  "m3.medium",
@@ -1202,13 +1334,13 @@ var TypeSchema = z31.union([
1202
1334
  "r6gd.12xlarge",
1203
1335
  "r6gd.16xlarge"
1204
1336
  ]),
1205
- z31.string()
1337
+ z32.string()
1206
1338
  ]).describe("Instance type of data nodes in the cluster.");
1207
- var CountSchema = z31.number().int().min(1).describe("Number of instances in the cluster.");
1339
+ var CountSchema = z32.number().int().min(1).describe("Number of instances in the cluster.");
1208
1340
  var StorageSizeSchema = SizeSchema.refine(sizeMin(gibibytes3(10)), "Minimum storage size is 10 GB").refine(sizeMax(gibibytes3(100)), "Maximum storage size is 100 GB").describe("The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GiB.");
1209
- var SearchsSchema = z31.record(
1341
+ var SearchsSchema = z32.record(
1210
1342
  ResourceIdSchema,
1211
- z31.object({
1343
+ z32.object({
1212
1344
  type: TypeSchema.default("t3.small"),
1213
1345
  count: CountSchema.default(1),
1214
1346
  version: VersionSchema.default("2.13"),
@@ -1219,12 +1351,12 @@ var SearchsSchema = z31.record(
1219
1351
  ).optional().describe("Define the search instances in your stack. Backed by OpenSearch.");
1220
1352
 
1221
1353
  // src/feature/site/schema.ts
1222
- import { z as z33 } from "zod";
1354
+ import { z as z34 } from "zod";
1223
1355
 
1224
1356
  // src/config/schema/local-entry.ts
1225
1357
  import { stat as stat3 } from "fs/promises";
1226
- import { z as z32 } from "zod";
1227
- var LocalEntrySchema = z32.union([
1358
+ import { z as z33 } from "zod";
1359
+ var LocalEntrySchema = z33.union([
1228
1360
  RelativePathSchema.refine(async (path) => {
1229
1361
  try {
1230
1362
  const s = await stat3(path);
@@ -1233,7 +1365,7 @@ var LocalEntrySchema = z32.union([
1233
1365
  return false;
1234
1366
  }
1235
1367
  }, `File or directory doesn't exist`),
1236
- z32.object({
1368
+ z33.object({
1237
1369
  nocheck: RelativePathSchema.describe(
1238
1370
  "Specifies a local file or directory without checking if the file or directory exists."
1239
1371
  )
@@ -1241,21 +1373,21 @@ var LocalEntrySchema = z32.union([
1241
1373
  ]);
1242
1374
 
1243
1375
  // src/feature/site/schema.ts
1244
- var SitesSchema = z33.record(
1376
+ var SitesSchema = z34.record(
1245
1377
  ResourceIdSchema,
1246
- z33.object({
1378
+ z34.object({
1247
1379
  router: ResourceIdSchema.describe("The router id to link your site with."),
1248
1380
  path: RouteSchema2.describe("The path inside the router to link your site to."),
1249
- build: z33.object({
1250
- command: z33.string().describe(
1381
+ build: z34.object({
1382
+ command: z34.string().describe(
1251
1383
  `Specifies the files and directories to generate the cache key for your custom build command.`
1252
1384
  ),
1253
- cacheKey: z33.union([LocalEntrySchema.transform((v) => [v]), LocalEntrySchema.array()]).describe(
1385
+ cacheKey: z34.union([LocalEntrySchema.transform((v) => [v]), LocalEntrySchema.array()]).describe(
1254
1386
  `Specifies the files and directories to generate the cache key for your custom build command.`
1255
1387
  ),
1256
- configs: z33.string().array().optional().describe("Define the config values for your build command.")
1388
+ configs: z34.string().array().optional().describe("Define the config values for your build command.")
1257
1389
  }).optional().describe(`Specifies the build process for sites that need a build step.`),
1258
- static: z33.union([LocalDirectorySchema, z33.boolean()]).optional().describe(
1390
+ static: z34.union([LocalDirectorySchema, z34.boolean()]).optional().describe(
1259
1391
  "Specifies the path to the static files directory. Additionally you can also pass `true` when you don't have local static files, but still want to make an S3 bucket."
1260
1392
  ),
1261
1393
  ssr: FunctionSchema.optional().describe("Specifies the file that will render the site on the server.")
@@ -1263,21 +1395,21 @@ var SitesSchema = z33.record(
1263
1395
  ).optional().describe("Define the sites in your stack.");
1264
1396
 
1265
1397
  // src/feature/store/schema.ts
1266
- import { z as z34 } from "zod";
1267
- var StoresSchema = z34.union([
1268
- z34.array(ResourceIdSchema).transform((list) => {
1398
+ import { z as z35 } from "zod";
1399
+ var StoresSchema = z35.union([
1400
+ z35.array(ResourceIdSchema).transform((list) => {
1269
1401
  const stores = {};
1270
1402
  for (const key of list) {
1271
1403
  stores[key] = {};
1272
1404
  }
1273
1405
  return stores;
1274
1406
  }),
1275
- z34.record(
1407
+ z35.record(
1276
1408
  ResourceIdSchema,
1277
- z34.object({
1409
+ z35.object({
1278
1410
  static: LocalDirectorySchema.optional().describe("Specifies the path to the static files directory."),
1279
- versioning: z34.boolean().default(false).describe("Enable versioning of your store."),
1280
- events: z34.object({
1411
+ versioning: z35.boolean().default(false).describe("Enable versioning of your store."),
1412
+ events: z35.object({
1281
1413
  // create
1282
1414
  "created:*": TaskSchema.optional().describe(
1283
1415
  "Subscribe to notifications regardless of the API that was used to create an object."
@@ -1310,30 +1442,30 @@ var StoresSchema = z34.union([
1310
1442
  ]).optional().describe("Define the stores in your stack.");
1311
1443
 
1312
1444
  // src/feature/icon/schema.ts
1313
- import { z as z35 } from "zod";
1445
+ import { z as z36 } from "zod";
1314
1446
  var staticOriginSchema = LocalDirectorySchema.describe(
1315
1447
  "Specifies the path to a local image directory that will be uploaded in S3."
1316
1448
  );
1317
1449
  var functionOriginSchema = FunctionSchema.describe(
1318
1450
  "Specifies the file that will be called when an image isn't found in the (cache) bucket."
1319
1451
  );
1320
- var IconsSchema = z35.record(
1452
+ var IconsSchema = z36.record(
1321
1453
  ResourceIdSchema,
1322
- z35.object({
1454
+ z36.object({
1323
1455
  // domain: ResourceIdSchema.describe('The domain id to link your site with.').optional(),
1324
1456
  // subDomain: z.string().optional(),
1325
1457
  router: ResourceIdSchema.describe("The router id to link your icon proxy."),
1326
1458
  path: RouteSchema2.describe("The path inside the router to link your icon proxy to."),
1327
1459
  log: LogSchema.optional(),
1328
1460
  cacheDuration: DurationSchema.optional().describe("The cache duration of the cached icons."),
1329
- preserveIds: z35.boolean().optional().default(false).describe("Preserve the IDs of the icons."),
1330
- symbols: z35.boolean().optional().default(false).describe(`Convert the SVG's to SVG symbols.`),
1331
- origin: z35.union([
1332
- z35.object({
1461
+ preserveIds: z36.boolean().optional().default(false).describe("Preserve the IDs of the icons."),
1462
+ symbols: z36.boolean().optional().default(false).describe(`Convert the SVG's to SVG symbols.`),
1463
+ origin: z36.union([
1464
+ z36.object({
1333
1465
  static: staticOriginSchema,
1334
1466
  function: functionOriginSchema.optional()
1335
1467
  }),
1336
- z35.object({
1468
+ z36.object({
1337
1469
  static: staticOriginSchema.optional(),
1338
1470
  function: functionOriginSchema
1339
1471
  })
@@ -1360,13 +1492,13 @@ var IconsSchema = z35.record(
1360
1492
  ).optional().describe("Define an svg icon proxy in your stack. Store, optimize, and deliver svg icons at scale.");
1361
1493
 
1362
1494
  // src/feature/image/schema.ts
1363
- import { z as z36 } from "zod";
1364
- var transformationOptionsSchema = z36.object({
1365
- width: z36.number().int().positive().optional(),
1366
- height: z36.number().int().positive().optional(),
1367
- fit: z36.enum(["cover", "contain", "fill", "inside", "outside"]).optional(),
1368
- position: z36.enum(["top", "right top", "right", "right bottom", "bottom", "left bottom", "left", "left top", "center"]).optional(),
1369
- quality: z36.number().int().min(1).max(100).optional()
1495
+ import { z as z37 } from "zod";
1496
+ var transformationOptionsSchema = z37.object({
1497
+ width: z37.number().int().positive().optional(),
1498
+ height: z37.number().int().positive().optional(),
1499
+ fit: z37.enum(["cover", "contain", "fill", "inside", "outside"]).optional(),
1500
+ position: z37.enum(["top", "right top", "right", "right bottom", "bottom", "left bottom", "left", "left top", "center"]).optional(),
1501
+ quality: z37.number().int().min(1).max(100).optional()
1370
1502
  });
1371
1503
  var staticOriginSchema2 = LocalDirectorySchema.describe(
1372
1504
  "Specifies the path to a local image directory that will be uploaded in S3."
@@ -1374,38 +1506,38 @@ var staticOriginSchema2 = LocalDirectorySchema.describe(
1374
1506
  var functionOriginSchema2 = FunctionSchema.describe(
1375
1507
  "Specifies the file that will be called when an image isn't found in the (cache) bucket."
1376
1508
  );
1377
- var ImagesSchema = z36.record(
1509
+ var ImagesSchema = z37.record(
1378
1510
  ResourceIdSchema,
1379
- z36.object({
1511
+ z37.object({
1380
1512
  // domain: ResourceIdSchema.describe('The domain id to link your site with.').optional(),
1381
1513
  // subDomain: z.string().optional(),
1382
1514
  router: ResourceIdSchema.describe("The router id to link your image proxy."),
1383
1515
  path: RouteSchema2.describe("The path inside the router to link your image proxy to."),
1384
1516
  log: LogSchema.optional(),
1385
1517
  cacheDuration: DurationSchema.optional().describe("Cache duration of the cached images."),
1386
- presets: z36.record(z36.string(), transformationOptionsSchema).describe("Named presets for image transformations"),
1387
- extensions: z36.object({
1388
- jpg: z36.object({
1389
- mozjpeg: z36.boolean().optional(),
1390
- progressive: z36.boolean().optional()
1518
+ presets: z37.record(z37.string(), transformationOptionsSchema).describe("Named presets for image transformations"),
1519
+ extensions: z37.object({
1520
+ jpg: z37.object({
1521
+ mozjpeg: z37.boolean().optional(),
1522
+ progressive: z37.boolean().optional()
1391
1523
  }).optional(),
1392
- webp: z36.object({
1393
- effort: z36.number().int().min(1).max(10).default(7).optional(),
1394
- lossless: z36.boolean().optional(),
1395
- nearLossless: z36.boolean().optional()
1524
+ webp: z37.object({
1525
+ effort: z37.number().int().min(1).max(10).default(7).optional(),
1526
+ lossless: z37.boolean().optional(),
1527
+ nearLossless: z37.boolean().optional()
1396
1528
  }).optional(),
1397
- png: z36.object({
1398
- compressionLevel: z36.number().int().min(0).max(9).default(6).optional()
1529
+ png: z37.object({
1530
+ compressionLevel: z37.number().int().min(0).max(9).default(6).optional()
1399
1531
  }).optional()
1400
1532
  }).refine((data) => {
1401
1533
  return Object.keys(data).length > 0;
1402
1534
  }, "At least one extension must be defined.").describe("Specify the allowed extensions."),
1403
- origin: z36.union([
1404
- z36.object({
1535
+ origin: z37.union([
1536
+ z37.object({
1405
1537
  static: staticOriginSchema2,
1406
1538
  function: functionOriginSchema2.optional()
1407
1539
  }),
1408
- z36.object({
1540
+ z37.object({
1409
1541
  static: staticOriginSchema2.optional(),
1410
1542
  function: functionOriginSchema2
1411
1543
  })
@@ -1420,7 +1552,7 @@ var ImagesSchema = z36.record(
1420
1552
  ).optional().describe("Define an image proxy in your stack. Store, transform, optimize, and deliver images at scale.");
1421
1553
 
1422
1554
  // src/feature/metric/schema.ts
1423
- import { z as z37 } from "zod";
1555
+ import { z as z38 } from "zod";
1424
1556
  var ops = {
1425
1557
  ">": "GreaterThanThreshold",
1426
1558
  ">=": "GreaterThanOrEqualToThreshold",
@@ -1434,15 +1566,15 @@ var stats = {
1434
1566
  min: "Minimum",
1435
1567
  max: "Maximum"
1436
1568
  };
1437
- var WhereSchema = z37.union([
1438
- z37.string().regex(/(count|avg|sum|min|max) (>|>=|<|<=) (\d)/, "Invalid where query").transform((where) => {
1569
+ var WhereSchema = z38.union([
1570
+ z38.string().regex(/(count|avg|sum|min|max) (>|>=|<|<=) (\d)/, "Invalid where query").transform((where) => {
1439
1571
  const [stat4, op, value] = where.split(" ");
1440
1572
  return { stat: stat4, op, value: parseFloat(value) };
1441
1573
  }),
1442
- z37.object({
1443
- stat: z37.enum(["count", "avg", "sum", "min", "max"]),
1444
- op: z37.enum([">", ">=", "<", "<="]),
1445
- value: z37.number()
1574
+ z38.object({
1575
+ stat: z38.enum(["count", "avg", "sum", "min", "max"]),
1576
+ op: z38.enum([">", ">=", "<", "<="]),
1577
+ value: z38.number()
1446
1578
  })
1447
1579
  ]).transform((where) => {
1448
1580
  return {
@@ -1451,39 +1583,39 @@ var WhereSchema = z37.union([
1451
1583
  value: where.value
1452
1584
  };
1453
1585
  });
1454
- var AlarmSchema = z37.object({
1455
- description: z37.string().optional(),
1586
+ var AlarmSchema = z38.object({
1587
+ description: z38.string().optional(),
1456
1588
  where: WhereSchema,
1457
1589
  period: DurationSchema,
1458
- minDataPoints: z37.number().int().default(1),
1459
- trigger: z37.union([EmailSchema.transform((v) => [v]), EmailSchema.array(), FunctionSchema])
1590
+ minDataPoints: z38.number().int().default(1),
1591
+ trigger: z38.union([EmailSchema.transform((v) => [v]), EmailSchema.array(), FunctionSchema])
1460
1592
  });
1461
- var MetricsSchema = z37.record(
1593
+ var MetricsSchema = z38.record(
1462
1594
  ResourceIdSchema,
1463
- z37.object({
1464
- type: z37.enum(["number", "size", "duration"]),
1595
+ z38.object({
1596
+ type: z38.enum(["number", "size", "duration"]),
1465
1597
  alarms: AlarmSchema.array().optional()
1466
1598
  })
1467
1599
  ).optional().describe("Define the metrics in your stack.");
1468
1600
 
1469
1601
  // src/feature/table/schema.ts
1470
1602
  import { minutes as minutes5, seconds as seconds4 } from "@awsless/duration";
1471
- import { z as z38 } from "zod";
1472
- var KeySchema = z38.string().min(1).max(255);
1473
- var TablesSchema = z38.record(
1603
+ import { z as z39 } from "zod";
1604
+ var KeySchema = z39.string().min(1).max(255);
1605
+ var TablesSchema = z39.record(
1474
1606
  ResourceIdSchema,
1475
- z38.object({
1607
+ z39.object({
1476
1608
  hash: KeySchema.describe(
1477
1609
  "Specifies the name of the partition / hash key that makes up the primary key for the table."
1478
1610
  ),
1479
1611
  sort: KeySchema.optional().describe(
1480
1612
  "Specifies the name of the range / sort key that makes up the primary key for the table."
1481
1613
  ),
1482
- fields: z38.record(z38.string(), z38.enum(["string", "number", "binary"])).optional().describe(
1614
+ fields: z39.record(z39.string(), z39.enum(["string", "number", "binary"])).optional().describe(
1483
1615
  'A list of attributes that describe the key schema for the table and indexes. If no attribute field is defined we default to "string".'
1484
1616
  ),
1485
- class: z38.enum(["standard", "standard-infrequent-access"]).default("standard").describe("The table class of the table."),
1486
- pointInTimeRecovery: z38.boolean().default(false).describe("Indicates whether point in time recovery is enabled on the table."),
1617
+ class: z39.enum(["standard", "standard-infrequent-access"]).default("standard").describe("The table class of the table."),
1618
+ pointInTimeRecovery: z39.boolean().default(false).describe("Indicates whether point in time recovery is enabled on the table."),
1487
1619
  ttl: KeySchema.optional().describe(
1488
1620
  [
1489
1621
  "The name of the TTL attribute used to store the expiration time for items in the table.",
@@ -1491,8 +1623,8 @@ var TablesSchema = z38.record(
1491
1623
  ].join("\n")
1492
1624
  ),
1493
1625
  // deletionProtection: DeletionProtectionSchema.optional(),
1494
- stream: z38.object({
1495
- type: z38.enum(["keys-only", "new-image", "old-image", "new-and-old-images"]).describe(
1626
+ stream: z39.object({
1627
+ type: z39.enum(["keys-only", "new-image", "old-image", "new-and-old-images"]).describe(
1496
1628
  [
1497
1629
  "When an item in the table is modified, you can determines what information is written to the stream for this table.",
1498
1630
  "Valid values are:",
@@ -1502,7 +1634,7 @@ var TablesSchema = z38.record(
1502
1634
  "- new-and-old-images - Both the new and the old item images of the item are written to the stream."
1503
1635
  ].join("\n")
1504
1636
  ),
1505
- batchSize: z38.number().min(1).max(1e4).default(1).describe(
1637
+ batchSize: z39.number().min(1).max(1e4).default(1).describe(
1506
1638
  [
1507
1639
  "The maximum number of records in each batch that Lambda pulls from your stream and sends to your function.",
1508
1640
  "Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).",
@@ -1531,7 +1663,7 @@ var TablesSchema = z38.record(
1531
1663
  // 'The default value is 60s',
1532
1664
  // ].join('\n')
1533
1665
  // ),
1534
- retryAttempts: z38.number().min(-1).max(1e4).default(2).describe(
1666
+ retryAttempts: z39.number().min(-1).max(1e4).default(2).describe(
1535
1667
  [
1536
1668
  "Discard records after the specified number of retries.",
1537
1669
  "-1 will sets the maximum number of retries to infinite.",
@@ -1540,7 +1672,7 @@ var TablesSchema = z38.record(
1540
1672
  "The default value is 2"
1541
1673
  ].join("\n")
1542
1674
  ),
1543
- concurrencyPerShard: z38.number().min(1).max(10).default(1).describe(
1675
+ concurrencyPerShard: z39.number().min(1).max(10).default(1).describe(
1544
1676
  [
1545
1677
  "The number of batches to process concurrently from each shard.",
1546
1678
  "You can specify a number from 1 to 10."
@@ -1550,16 +1682,16 @@ var TablesSchema = z38.record(
1550
1682
  }).optional().describe(
1551
1683
  "The settings for the DynamoDB table stream, which capture changes to items stored in the table."
1552
1684
  ),
1553
- indexes: z38.record(
1554
- z38.string(),
1555
- z38.object({
1556
- hash: z38.union([KeySchema.transform((v) => [v]), KeySchema.array()]).describe(
1685
+ indexes: z39.record(
1686
+ z39.string(),
1687
+ z39.object({
1688
+ hash: z39.union([KeySchema.transform((v) => [v]), KeySchema.array()]).describe(
1557
1689
  "Specifies the name of the partition / hash key that makes up the primary key for the global secondary index."
1558
1690
  ),
1559
- sort: z38.union([KeySchema.transform((v) => [v]), KeySchema.array()]).optional().describe(
1691
+ sort: z39.union([KeySchema.transform((v) => [v]), KeySchema.array()]).optional().describe(
1560
1692
  "Specifies the name of the range / sort key that makes up the primary key for the global secondary index."
1561
1693
  ),
1562
- projection: z38.enum(["all", "keys-only"]).default("all").describe(
1694
+ projection: z39.enum(["all", "keys-only"]).default("all").describe(
1563
1695
  [
1564
1696
  "The set of attributes that are projected into the index:",
1565
1697
  "- all - All of the table attributes are projected into the index.",
@@ -1573,12 +1705,12 @@ var TablesSchema = z38.record(
1573
1705
  ).optional().describe("Define the tables in your stack.");
1574
1706
 
1575
1707
  // src/feature/test/schema.ts
1576
- import { z as z39 } from "zod";
1577
- var TestsSchema = z39.union([
1708
+ import { z as z40 } from "zod";
1709
+ var TestsSchema = z40.union([
1578
1710
  //
1579
1711
  LocalDirectorySchema.transform((v) => [v]),
1580
1712
  LocalDirectorySchema.array(),
1581
- z39.literal(false)
1713
+ z40.literal(false)
1582
1714
  ]).describe("Define the location of your tests for your stack.").optional();
1583
1715
 
1584
1716
  // src/config/stack.ts
@@ -1586,8 +1718,8 @@ var DependsSchema = ResourceIdSchema.array().optional().describe("Define the sta
1586
1718
  var NameSchema = ResourceIdSchema.refine((name) => !["base", "hostedzones"].includes(name), {
1587
1719
  message: `Stack name can't be a reserved name.`
1588
1720
  }).describe("Stack name.");
1589
- var StackSchema = z40.object({
1590
- $schema: z40.string().optional(),
1721
+ var StackSchema = z41.object({
1722
+ $schema: z41.string().optional(),
1591
1723
  name: NameSchema,
1592
1724
  depends: DependsSchema,
1593
1725
  commands: CommandsSchema,
@@ -1602,6 +1734,7 @@ var StackSchema = z40.object({
1602
1734
  subscribers: SubscribersSchema,
1603
1735
  functions: FunctionsSchema,
1604
1736
  instances: InstancesSchema,
1737
+ jobs: JobsSchema,
1605
1738
  tasks: TasksSchema,
1606
1739
  tables: TablesSchema,
1607
1740
  stores: StoresSchema,