@intentius/chant-lexicon-aws 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/actions/dynamodb.d.ts +11 -0
  2. package/dist/actions/dynamodb.d.ts.map +1 -0
  3. package/dist/actions/ecr.d.ts +5 -0
  4. package/dist/actions/ecr.d.ts.map +1 -0
  5. package/dist/actions/ecs.d.ts +6 -0
  6. package/dist/actions/ecs.d.ts.map +1 -0
  7. package/dist/actions/iam.d.ts +4 -0
  8. package/dist/actions/iam.d.ts.map +1 -0
  9. package/dist/actions/index.d.ts +10 -0
  10. package/dist/actions/index.d.ts.map +1 -0
  11. package/dist/actions/lambda.d.ts +6 -0
  12. package/dist/actions/lambda.d.ts.map +1 -0
  13. package/dist/actions/logs.d.ts +5 -0
  14. package/dist/actions/logs.d.ts.map +1 -0
  15. package/dist/actions/s3.d.ts +11 -0
  16. package/dist/actions/s3.d.ts.map +1 -0
  17. package/dist/actions/sns.d.ts +6 -0
  18. package/dist/actions/sns.d.ts.map +1 -0
  19. package/dist/actions/sqs.d.ts +6 -0
  20. package/dist/actions/sqs.d.ts.map +1 -0
  21. package/dist/codegen/docs-cli.d.ts +2 -0
  22. package/dist/codegen/docs-cli.d.ts.map +1 -0
  23. package/dist/codegen/docs.d.ts +15 -0
  24. package/dist/codegen/docs.d.ts.map +1 -0
  25. package/dist/codegen/extensions.d.ts +25 -0
  26. package/dist/codegen/extensions.d.ts.map +1 -0
  27. package/dist/codegen/fallback.d.ts +8 -0
  28. package/dist/codegen/fallback.d.ts.map +1 -0
  29. package/dist/codegen/generate-cli.d.ts +3 -0
  30. package/dist/codegen/generate-cli.d.ts.map +1 -0
  31. package/dist/codegen/generate-lexicon.d.ts +38 -0
  32. package/dist/codegen/generate-lexicon.d.ts.map +1 -0
  33. package/dist/codegen/generate-typescript.d.ts +16 -0
  34. package/dist/codegen/generate-typescript.d.ts.map +1 -0
  35. package/dist/codegen/generate.d.ts +15 -0
  36. package/dist/codegen/generate.d.ts.map +1 -0
  37. package/dist/codegen/naming.d.ts +16 -0
  38. package/dist/codegen/naming.d.ts.map +1 -0
  39. package/dist/codegen/package.d.ts +11 -0
  40. package/dist/codegen/package.d.ts.map +1 -0
  41. package/dist/codegen/patches.d.ts +37 -0
  42. package/dist/codegen/patches.d.ts.map +1 -0
  43. package/dist/codegen/sam.d.ts +9 -0
  44. package/dist/codegen/sam.d.ts.map +1 -0
  45. package/dist/codegen/typecheck.d.ts +5 -0
  46. package/dist/codegen/typecheck.d.ts.map +1 -0
  47. package/dist/codegen/versions.d.ts +20 -0
  48. package/dist/codegen/versions.d.ts.map +1 -0
  49. package/dist/composites/alb-shared.d.ts +16 -0
  50. package/dist/composites/alb-shared.d.ts.map +1 -0
  51. package/dist/composites/ec2-instance-role.d.ts +11 -0
  52. package/dist/composites/ec2-instance-role.d.ts.map +1 -0
  53. package/dist/composites/ecs-trust-policy.d.ts +11 -0
  54. package/dist/composites/ecs-trust-policy.d.ts.map +1 -0
  55. package/dist/composites/efs-with-access-point.d.ts +18 -0
  56. package/dist/composites/efs-with-access-point.d.ts.map +1 -0
  57. package/dist/composites/fargate-alb.d.ts +43 -0
  58. package/dist/composites/fargate-alb.d.ts.map +1 -0
  59. package/dist/composites/fargate-service.d.ts +51 -0
  60. package/dist/composites/fargate-service.d.ts.map +1 -0
  61. package/dist/composites/index.d.ts +35 -0
  62. package/dist/composites/index.d.ts.map +1 -0
  63. package/dist/composites/lambda-api.d.ts +13 -0
  64. package/dist/composites/lambda-api.d.ts.map +1 -0
  65. package/dist/composites/lambda-dynamodb.d.ts +20 -0
  66. package/dist/composites/lambda-dynamodb.d.ts.map +1 -0
  67. package/dist/composites/lambda-eventbridge.d.ts +14 -0
  68. package/dist/composites/lambda-eventbridge.d.ts.map +1 -0
  69. package/dist/composites/lambda-function.d.ts +90 -0
  70. package/dist/composites/lambda-function.d.ts.map +1 -0
  71. package/dist/composites/lambda-s3.d.ts +23 -0
  72. package/dist/composites/lambda-s3.d.ts.map +1 -0
  73. package/dist/composites/lambda-sns.d.ts +12 -0
  74. package/dist/composites/lambda-sns.d.ts.map +1 -0
  75. package/dist/composites/lambda-sqs.d.ts +13 -0
  76. package/dist/composites/lambda-sqs.d.ts.map +1 -0
  77. package/dist/composites/minimal-vpc.d.ts +12 -0
  78. package/dist/composites/minimal-vpc.d.ts.map +1 -0
  79. package/dist/composites/rds-instance.d.ts +40 -0
  80. package/dist/composites/rds-instance.d.ts.map +1 -0
  81. package/dist/composites/scheduled-lambda.d.ts +15 -0
  82. package/dist/composites/scheduled-lambda.d.ts.map +1 -0
  83. package/dist/composites/solr-fargate-service.d.ts +15 -0
  84. package/dist/composites/solr-fargate-service.d.ts.map +1 -0
  85. package/dist/composites/vpc-default.d.ts +49 -0
  86. package/dist/composites/vpc-default.d.ts.map +1 -0
  87. package/dist/coverage.d.ts +5 -0
  88. package/dist/coverage.d.ts.map +1 -0
  89. package/dist/default-tags.d.ts +57 -0
  90. package/dist/default-tags.d.ts.map +1 -0
  91. package/dist/detect.d.ts +3 -0
  92. package/dist/detect.d.ts.map +1 -0
  93. package/dist/generated/index.d.ts +10456 -0
  94. package/dist/generated/index.d.ts.map +1 -0
  95. package/dist/generated/runtime.d.ts +5 -0
  96. package/dist/generated/runtime.d.ts.map +1 -0
  97. package/dist/import/generator.d.ts +72 -0
  98. package/dist/import/generator.d.ts.map +1 -0
  99. package/dist/import/live-export.d.ts +12 -0
  100. package/dist/import/live-export.d.ts.map +1 -0
  101. package/dist/import/parser.d.ts +30 -0
  102. package/dist/import/parser.d.ts.map +1 -0
  103. package/dist/index.d.ts +27 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/integrity.json +4 -4
  106. package/dist/intrinsics.d.ts +158 -0
  107. package/dist/intrinsics.d.ts.map +1 -0
  108. package/dist/lint/post-synth/cf-refs.d.ts +54 -0
  109. package/dist/lint/post-synth/cf-refs.d.ts.map +1 -0
  110. package/dist/lint/post-synth/cor020.d.ts +10 -0
  111. package/dist/lint/post-synth/cor020.d.ts.map +1 -0
  112. package/dist/lint/post-synth/ext001.d.ts +25 -0
  113. package/dist/lint/post-synth/ext001.d.ts.map +1 -0
  114. package/dist/lint/post-synth/index.d.ts +3 -0
  115. package/dist/lint/post-synth/index.d.ts.map +1 -0
  116. package/dist/lint/post-synth/waw010.d.ts +10 -0
  117. package/dist/lint/post-synth/waw010.d.ts.map +1 -0
  118. package/dist/lint/post-synth/waw011.d.ts +9 -0
  119. package/dist/lint/post-synth/waw011.d.ts.map +1 -0
  120. package/dist/lint/post-synth/waw013.d.ts +10 -0
  121. package/dist/lint/post-synth/waw013.d.ts.map +1 -0
  122. package/dist/lint/post-synth/waw014.d.ts +9 -0
  123. package/dist/lint/post-synth/waw014.d.ts.map +1 -0
  124. package/dist/lint/post-synth/waw015.d.ts +13 -0
  125. package/dist/lint/post-synth/waw015.d.ts.map +1 -0
  126. package/dist/lint/post-synth/waw016.d.ts +13 -0
  127. package/dist/lint/post-synth/waw016.d.ts.map +1 -0
  128. package/dist/lint/post-synth/waw017.d.ts +13 -0
  129. package/dist/lint/post-synth/waw017.d.ts.map +1 -0
  130. package/dist/lint/post-synth/waw018.d.ts +9 -0
  131. package/dist/lint/post-synth/waw018.d.ts.map +1 -0
  132. package/dist/lint/post-synth/waw019.d.ts +10 -0
  133. package/dist/lint/post-synth/waw019.d.ts.map +1 -0
  134. package/dist/lint/post-synth/waw020.d.ts +10 -0
  135. package/dist/lint/post-synth/waw020.d.ts.map +1 -0
  136. package/dist/lint/post-synth/waw021.d.ts +9 -0
  137. package/dist/lint/post-synth/waw021.d.ts.map +1 -0
  138. package/dist/lint/post-synth/waw022.d.ts +9 -0
  139. package/dist/lint/post-synth/waw022.d.ts.map +1 -0
  140. package/dist/lint/post-synth/waw023.d.ts +9 -0
  141. package/dist/lint/post-synth/waw023.d.ts.map +1 -0
  142. package/dist/lint/post-synth/waw024.d.ts +9 -0
  143. package/dist/lint/post-synth/waw024.d.ts.map +1 -0
  144. package/dist/lint/post-synth/waw025.d.ts +9 -0
  145. package/dist/lint/post-synth/waw025.d.ts.map +1 -0
  146. package/dist/lint/post-synth/waw026.d.ts +9 -0
  147. package/dist/lint/post-synth/waw026.d.ts.map +1 -0
  148. package/dist/lint/post-synth/waw027.d.ts +9 -0
  149. package/dist/lint/post-synth/waw027.d.ts.map +1 -0
  150. package/dist/lint/post-synth/waw028.d.ts +9 -0
  151. package/dist/lint/post-synth/waw028.d.ts.map +1 -0
  152. package/dist/lint/post-synth/waw029.d.ts +11 -0
  153. package/dist/lint/post-synth/waw029.d.ts.map +1 -0
  154. package/dist/lint/post-synth/waw030.d.ts +19 -0
  155. package/dist/lint/post-synth/waw030.d.ts.map +1 -0
  156. package/dist/lint/post-synth/waw031.d.ts +17 -0
  157. package/dist/lint/post-synth/waw031.d.ts.map +1 -0
  158. package/dist/lint/post-synth/waw032.d.ts +11 -0
  159. package/dist/lint/post-synth/waw032.d.ts.map +1 -0
  160. package/dist/lint/post-synth/waw033.d.ts +12 -0
  161. package/dist/lint/post-synth/waw033.d.ts.map +1 -0
  162. package/dist/lint/post-synth/waw034.d.ts +11 -0
  163. package/dist/lint/post-synth/waw034.d.ts.map +1 -0
  164. package/dist/lint/post-synth/waw035.d.ts +12 -0
  165. package/dist/lint/post-synth/waw035.d.ts.map +1 -0
  166. package/dist/lint/post-synth/waw036.d.ts +21 -0
  167. package/dist/lint/post-synth/waw036.d.ts.map +1 -0
  168. package/dist/lint/post-synth/waw037.d.ts +21 -0
  169. package/dist/lint/post-synth/waw037.d.ts.map +1 -0
  170. package/dist/lint/rules/hardcoded-region.d.ts +9 -0
  171. package/dist/lint/rules/hardcoded-region.d.ts.map +1 -0
  172. package/dist/lint/rules/iam-wildcard.d.ts +9 -0
  173. package/dist/lint/rules/iam-wildcard.d.ts.map +1 -0
  174. package/dist/lint/rules/index.d.ts +7 -0
  175. package/dist/lint/rules/index.d.ts.map +1 -0
  176. package/dist/lint/rules/s3-encryption.d.ts +9 -0
  177. package/dist/lint/rules/s3-encryption.d.ts.map +1 -0
  178. package/dist/lsp/completions.d.ts +6 -0
  179. package/dist/lsp/completions.d.ts.map +1 -0
  180. package/dist/lsp/hover.d.ts +6 -0
  181. package/dist/lsp/hover.d.ts.map +1 -0
  182. package/dist/manifest.json +1 -1
  183. package/dist/meta.json +47249 -71446
  184. package/dist/nested-stack.d.ts +75 -0
  185. package/dist/nested-stack.d.ts.map +1 -0
  186. package/dist/package-cli.d.ts +3 -0
  187. package/dist/package-cli.d.ts.map +1 -0
  188. package/dist/parameter.d.ts +14 -0
  189. package/dist/parameter.d.ts.map +1 -0
  190. package/dist/plugin.d.ts +9 -0
  191. package/dist/plugin.d.ts.map +1 -0
  192. package/dist/pseudo.d.ts +17 -0
  193. package/dist/pseudo.d.ts.map +1 -0
  194. package/dist/serializer.d.ts +6 -0
  195. package/dist/serializer.d.ts.map +1 -0
  196. package/dist/spec/fetch.d.ts +74 -0
  197. package/dist/spec/fetch.d.ts.map +1 -0
  198. package/dist/spec/parse.d.ts +65 -0
  199. package/dist/spec/parse.d.ts.map +1 -0
  200. package/dist/taggable.d.ts +11 -0
  201. package/dist/taggable.d.ts.map +1 -0
  202. package/dist/types/index.d.ts +36522 -78140
  203. package/dist/validate-cli.d.ts +3 -0
  204. package/dist/validate-cli.d.ts.map +1 -0
  205. package/dist/validate.d.ts +17 -0
  206. package/dist/validate.d.ts.map +1 -0
  207. package/package.json +24 -5
  208. package/src/codegen/__snapshots__/snapshot.test.ts.snap +0 -1
  209. package/src/codegen/fallback.ts +2 -0
  210. package/src/codegen/package.ts +1 -1
  211. package/src/codegen/sam.ts +18 -0
  212. package/src/composites/efs-with-access-point.ts +1 -1
  213. package/src/composites/fargate-service.ts +1 -1
  214. package/src/composites/lambda-api.ts +6 -2
  215. package/src/composites/lambda-function.ts +6 -1
  216. package/src/composites/lambda-s3.ts +7 -2
  217. package/src/composites/vpc-default.ts +25 -1
  218. package/src/detect.ts +19 -0
  219. package/src/generated/index.d.ts +36522 -78140
  220. package/src/generated/index.ts +116 -4958
  221. package/src/generated/lexicon-aws.json +47249 -71446
  222. package/src/lint/post-synth/index.ts +63 -0
  223. package/src/plugin.ts +7 -26
  224. package/src/spec/parse.ts +21 -1
@@ -0,0 +1,75 @@
1
+ /**
2
+ * AWS NestedStack — references a child project directory that builds
3
+ * to an independent CloudFormation template. The parent emits
4
+ * AWS::CloudFormation::Stack pointing at the child template.
5
+ *
6
+ * Cross-stack references are explicit: the child declares `stackOutput()`
7
+ * exports, and the parent reads them via `nestedStack().outputs.name`.
8
+ */
9
+ import { type ChildProjectInstance } from "@intentius/chant/child-project";
10
+ import { INTRINSIC_MARKER } from "@intentius/chant/intrinsic";
11
+ /**
12
+ * Marker symbol for nested stack identification.
13
+ */
14
+ export declare const NESTED_STACK_MARKER: unique symbol;
15
+ /**
16
+ * Options for configuring a nested stack.
17
+ */
18
+ export interface NestedStackOptions {
19
+ /** Explicit CloudFormation Parameters to pass to the child stack */
20
+ parameters?: Record<string, unknown>;
21
+ }
22
+ /**
23
+ * A reference to an output from a nested stack.
24
+ * Serializes to `{ "Fn::GetAtt": [stackLogicalName, "Outputs.OutputName"] }`.
25
+ */
26
+ export declare class NestedStackOutputRef {
27
+ readonly [INTRINSIC_MARKER]: true;
28
+ readonly stackName: string;
29
+ readonly outputName: string;
30
+ constructor(stackName: string, outputName: string);
31
+ toJSON(): {
32
+ "Fn::GetAtt": [string, string];
33
+ };
34
+ }
35
+ /**
36
+ * Type guard for NestedStackOutputRef.
37
+ */
38
+ export declare function isNestedStackOutputRef(value: unknown): value is NestedStackOutputRef;
39
+ /**
40
+ * Extended ChildProjectInstance with AWS-specific marker.
41
+ */
42
+ export interface NestedStackInstance extends ChildProjectInstance {
43
+ readonly [NESTED_STACK_MARKER]: true;
44
+ }
45
+ /**
46
+ * Type guard for NestedStackInstance.
47
+ */
48
+ export declare function isNestedStackInstance(value: unknown): value is NestedStackInstance;
49
+ /**
50
+ * Create a nested stack that references a child project directory.
51
+ *
52
+ * The child directory must contain its own resource files.
53
+ * It can be built independently with `chant build`. Cross-stack outputs
54
+ * are declared in the child via `stackOutput()`.
55
+ *
56
+ * @param name - Logical name for the nested stack resource
57
+ * @param projectPath - Absolute path to the child project directory
58
+ * @param options - Optional parameters to pass to the child stack
59
+ * @returns A ChildProjectInstance with an `outputs` proxy for cross-stack refs
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const network = _.nestedStack("network", import.meta.dirname + "/network", {
64
+ * parameters: { Environment: "prod" },
65
+ * });
66
+ *
67
+ * export const handler = new _.Function({
68
+ * vpcConfig: {
69
+ * subnetIds: [network.outputs.subnetId], // cross-stack ref
70
+ * },
71
+ * });
72
+ * ```
73
+ */
74
+ export declare function nestedStack(name: string, projectPath: string, options?: NestedStackOptions): NestedStackInstance;
75
+ //# sourceMappingURL=nested-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-stack.d.ts","sourceRoot":"","sources":["../src/nested-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAAsC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAG,IAAI,CAAU;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAKjD,MAAM,IAAI;QAAE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;CAK7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAOlF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,mBAAmB,CAsBrB"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env tsx
2
+ export {};
3
+ //# sourceMappingURL=package-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-cli.d.ts","sourceRoot":"","sources":["../src/package-cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { DECLARABLE_MARKER, type CoreParameter } from "@intentius/chant/declarable";
2
+ export declare class Parameter implements CoreParameter {
3
+ readonly [DECLARABLE_MARKER]: true;
4
+ readonly lexicon = "aws";
5
+ readonly entityType = "AWS::CloudFormation::Parameter";
6
+ readonly parameterType: string;
7
+ readonly description?: string;
8
+ readonly defaultValue?: unknown;
9
+ constructor(type: string, options?: {
10
+ description?: string;
11
+ defaultValue?: unknown;
12
+ });
13
+ }
14
+ //# sourceMappingURL=parameter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../src/parameter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEpF,qBAAa,SAAU,YAAW,aAAa;IAC7C,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAG,IAAI,CAAU;IAC7C,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,UAAU,oCAAoC;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;gBAEpB,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE;CAKrF"}
@@ -0,0 +1,9 @@
1
+ import type { LexiconPlugin } from "@intentius/chant/lexicon";
2
+ /**
3
+ * AWS CloudFormation lexicon plugin.
4
+ *
5
+ * Provides serializer, lint rules, template detection,
6
+ * import parsing, and code generation for AWS CloudFormation.
7
+ */
8
+ export declare const awsPlugin: LexiconPlugin;
9
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAuF,MAAM,0BAA0B,CAAC;AAmBnJ;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,aA2pBvB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { PseudoParameter } from "@intentius/chant/pseudo-parameter";
2
+ export { PseudoParameter };
3
+ export declare const StackName: PseudoParameter, Region: PseudoParameter, AccountId: PseudoParameter, StackId: PseudoParameter, URLSuffix: PseudoParameter, NoValue: PseudoParameter, NotificationARNs: PseudoParameter, Partition: PseudoParameter;
4
+ /**
5
+ * AWS namespace containing all pseudo-parameters
6
+ */
7
+ export declare const AWS: {
8
+ readonly StackName: PseudoParameter;
9
+ readonly Region: PseudoParameter;
10
+ readonly AccountId: PseudoParameter;
11
+ readonly StackId: PseudoParameter;
12
+ readonly URLSuffix: PseudoParameter;
13
+ readonly NoValue: PseudoParameter;
14
+ readonly NotificationARNs: PseudoParameter;
15
+ readonly Partition: PseudoParameter;
16
+ };
17
+ //# sourceMappingURL=pseudo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pseudo.d.ts","sourceRoot":"","sources":["../src/pseudo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,MAAM,mCAAmC,CAAC;AAE5F,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,eAAO,MAAQ,SAAS,mBAAE,MAAM,mBAAE,SAAS,mBAAE,OAAO,mBAAE,SAAS,mBAAE,OAAO,mBAAE,gBAAgB,mBAAE,SAAS,iBAUjG,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;CASN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Serializer } from "@intentius/chant/serializer";
2
+ /**
3
+ * AWS CloudFormation serializer implementation
4
+ */
5
+ export declare const awsSerializer: Serializer;
6
+ //# sourceMappingURL=serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsC,MAAM,6BAA6B,CAAC;AAqUlG;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAoE3B,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Top-level CloudFormation Registry JSON Schema for a single resource type.
3
+ */
4
+ export interface CFNSchema {
5
+ typeName: string;
6
+ description?: string;
7
+ properties?: Record<string, SchemaProperty>;
8
+ definitions?: Record<string, SchemaDefinition>;
9
+ required?: string[];
10
+ readOnlyProperties?: string[];
11
+ createOnlyProperties?: string[];
12
+ writeOnlyProperties?: string[];
13
+ primaryIdentifier?: string[];
14
+ deprecatedProperties?: string[];
15
+ conditionalCreateOnlyProperties?: string[];
16
+ replacementStrategy?: string;
17
+ tagging?: {
18
+ taggable?: boolean;
19
+ tagOnCreate?: boolean;
20
+ tagUpdatable?: boolean;
21
+ cloudFormationSystemTags?: boolean;
22
+ tagProperty?: string;
23
+ };
24
+ additionalProperties?: boolean;
25
+ }
26
+ /**
27
+ * A single property in a CloudFormation Registry schema.
28
+ */
29
+ export interface SchemaProperty {
30
+ type?: string | string[];
31
+ description?: string;
32
+ enum?: string[];
33
+ $ref?: string;
34
+ items?: SchemaProperty;
35
+ properties?: Record<string, SchemaProperty>;
36
+ oneOf?: unknown[];
37
+ anyOf?: unknown[];
38
+ required?: string[];
39
+ pattern?: string;
40
+ minLength?: number;
41
+ maxLength?: number;
42
+ minimum?: number;
43
+ maximum?: number;
44
+ format?: string;
45
+ const?: unknown;
46
+ default?: unknown;
47
+ }
48
+ /**
49
+ * A named type within the definitions section.
50
+ */
51
+ export interface SchemaDefinition {
52
+ type?: string | string[];
53
+ description?: string;
54
+ enum?: string[];
55
+ properties?: Record<string, SchemaProperty>;
56
+ required?: string[];
57
+ items?: SchemaProperty;
58
+ }
59
+ /**
60
+ * Fetch the CloudFormation Registry schema zip and extract per-resource JSON schemas.
61
+ * Returns a Map keyed by typeName (e.g. "AWS::S3::Bucket") to raw JSON bytes.
62
+ *
63
+ * Uses a local cache with 24h TTL.
64
+ */
65
+ export declare function fetchSchemaZip(force?: boolean): Promise<Map<string, Buffer>>;
66
+ /**
67
+ * Get the cache file path (for testing)
68
+ */
69
+ export declare function getCachePath(): string;
70
+ /**
71
+ * Clear the cache (for testing)
72
+ */
73
+ export declare function clearCache(): void;
74
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/spec/fetch.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,+BAA+B,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAMD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMhF;AAuBD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * CloudFormation Registry JSON Schema parser.
3
+ *
4
+ * Parses each CFNSchema into typed structures suitable for code generation:
5
+ * resources with properties and attributes, property types from definitions,
6
+ * and enum types from string enum definitions.
7
+ */
8
+ import { constraintsIsEmpty as coreConstraintsIsEmpty, type PropertyConstraints } from "@intentius/chant/codegen/json-schema";
9
+ export type { PropertyConstraints } from "@intentius/chant/codegen/json-schema";
10
+ export interface ParsedProperty {
11
+ name: string;
12
+ tsType: string;
13
+ required: boolean;
14
+ description?: string;
15
+ enum?: string[];
16
+ constraints: PropertyConstraints;
17
+ }
18
+ export interface ParsedAttribute {
19
+ name: string;
20
+ tsType: string;
21
+ }
22
+ export interface ParsedPropertyType {
23
+ name: string;
24
+ specType: string;
25
+ properties: ParsedProperty[];
26
+ }
27
+ export interface ParsedEnum {
28
+ name: string;
29
+ values: string[];
30
+ }
31
+ export interface ParsedResource {
32
+ typeName: string;
33
+ properties: ParsedProperty[];
34
+ attributes: ParsedAttribute[];
35
+ createOnly: string[];
36
+ writeOnly: string[];
37
+ primaryIdentifier: string[];
38
+ deprecatedProperties: string[];
39
+ conditionalCreateOnly: string[];
40
+ replacementStrategy?: "delete_then_create" | "create_then_delete";
41
+ tagging?: {
42
+ taggable: boolean;
43
+ tagOnCreate: boolean;
44
+ tagUpdatable: boolean;
45
+ };
46
+ }
47
+ export interface SchemaParseResult {
48
+ resource: ParsedResource;
49
+ propertyTypes: ParsedPropertyType[];
50
+ enums: ParsedEnum[];
51
+ }
52
+ /**
53
+ * Parse a CloudFormation Registry JSON Schema into typed structures.
54
+ */
55
+ export declare function parseCFNSchema(data: string | Buffer): SchemaParseResult;
56
+ export declare const constraintsIsEmpty: typeof coreConstraintsIsEmpty;
57
+ /**
58
+ * Extract short resource name: "AWS::S3::Bucket" → "Bucket"
59
+ */
60
+ export declare function cfnShortName(typeName: string): string;
61
+ /**
62
+ * Extract service name: "AWS::S3::Bucket" → "S3"
63
+ */
64
+ export declare function cfnServiceName(typeName: string): string;
65
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/spec/parse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGL,kBAAkB,IAAI,sBAAsB,EAE5C,KAAK,mBAAmB,EAIzB,MAAM,sCAAsC,CAAC;AAG9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAWhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAC;IAClE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9E;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CA6IvE;AAiBD,eAAO,MAAM,kBAAkB,+BAAyB,CAAC;AAMzD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared taggable resource lookup — loads from the generated lexicon JSON.
3
+ *
4
+ * Lazy-loaded and cached for the lifetime of the process.
5
+ */
6
+ /**
7
+ * Load taggable resource types from the lexicon JSON.
8
+ * Result is cached after first call.
9
+ */
10
+ export declare function loadTaggableResources(): Set<string>;
11
+ //# sourceMappingURL=taggable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taggable.d.ts","sourceRoot":"","sources":["../src/taggable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,CAAC,CAqBnD"}