@greyworld/code-check-core 1.0.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 (309) hide show
  1. package/dist/facade/code-checker.d.ts +14 -0
  2. package/dist/facade/code-checker.d.ts.map +1 -0
  3. package/dist/facade/code-checker.js +63 -0
  4. package/dist/facade/code-checker.js.map +1 -0
  5. package/dist/facade/index.d.ts +3 -0
  6. package/dist/facade/index.d.ts.map +1 -0
  7. package/dist/facade/index.js +6 -0
  8. package/dist/facade/index.js.map +1 -0
  9. package/dist/facade/types.d.ts +24 -0
  10. package/dist/facade/types.d.ts.map +1 -0
  11. package/dist/facade/types.js +3 -0
  12. package/dist/facade/types.js.map +1 -0
  13. package/dist/index.d.ts +3 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +7 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/tools/ast-parser/go/index.d.ts +3 -0
  18. package/dist/tools/ast-parser/go/index.d.ts.map +1 -0
  19. package/dist/tools/ast-parser/go/index.js +6 -0
  20. package/dist/tools/ast-parser/go/index.js.map +1 -0
  21. package/dist/tools/ast-parser/go/parser.d.ts +56 -0
  22. package/dist/tools/ast-parser/go/parser.d.ts.map +1 -0
  23. package/dist/tools/ast-parser/go/parser.js +147 -0
  24. package/dist/tools/ast-parser/go/parser.js.map +1 -0
  25. package/dist/tools/ast-parser/go/schema-extractor.d.ts +103 -0
  26. package/dist/tools/ast-parser/go/schema-extractor.d.ts.map +1 -0
  27. package/dist/tools/ast-parser/go/schema-extractor.js +487 -0
  28. package/dist/tools/ast-parser/go/schema-extractor.js.map +1 -0
  29. package/dist/tools/ast-parser/go/semantic-normalizer.d.ts +51 -0
  30. package/dist/tools/ast-parser/go/semantic-normalizer.d.ts.map +1 -0
  31. package/dist/tools/ast-parser/go/semantic-normalizer.js +263 -0
  32. package/dist/tools/ast-parser/go/semantic-normalizer.js.map +1 -0
  33. package/dist/tools/ast-parser/go/types.d.ts +131 -0
  34. package/dist/tools/ast-parser/go/types.d.ts.map +1 -0
  35. package/dist/tools/ast-parser/go/types.js +3 -0
  36. package/dist/tools/ast-parser/go/types.js.map +1 -0
  37. package/dist/tools/ast-parser/markdown/index.d.ts +28 -0
  38. package/dist/tools/ast-parser/markdown/index.d.ts.map +1 -0
  39. package/dist/tools/ast-parser/markdown/index.js +31 -0
  40. package/dist/tools/ast-parser/markdown/index.js.map +1 -0
  41. package/dist/tools/ast-parser/markdown/parser.d.ts +271 -0
  42. package/dist/tools/ast-parser/markdown/parser.d.ts.map +1 -0
  43. package/dist/tools/ast-parser/markdown/parser.js +613 -0
  44. package/dist/tools/ast-parser/markdown/parser.js.map +1 -0
  45. package/dist/tools/ast-parser/markdown/types.d.ts +131 -0
  46. package/dist/tools/ast-parser/markdown/types.d.ts.map +1 -0
  47. package/dist/tools/ast-parser/markdown/types.js +3 -0
  48. package/dist/tools/ast-parser/markdown/types.js.map +1 -0
  49. package/dist/tools/env/index.d.ts +2 -0
  50. package/dist/tools/env/index.d.ts.map +1 -0
  51. package/dist/tools/env/index.js +6 -0
  52. package/dist/tools/env/index.js.map +1 -0
  53. package/dist/tools/env/load-env.d.ts +9 -0
  54. package/dist/tools/env/load-env.d.ts.map +1 -0
  55. package/dist/tools/env/load-env.js +39 -0
  56. package/dist/tools/env/load-env.js.map +1 -0
  57. package/dist/tools/line-pattern/index.d.ts +15 -0
  58. package/dist/tools/line-pattern/index.d.ts.map +1 -0
  59. package/dist/tools/line-pattern/index.js +25 -0
  60. package/dist/tools/line-pattern/index.js.map +1 -0
  61. package/dist/tools/line-pattern/line-pattern.d.ts +53 -0
  62. package/dist/tools/line-pattern/line-pattern.d.ts.map +1 -0
  63. package/dist/tools/line-pattern/line-pattern.js +88 -0
  64. package/dist/tools/line-pattern/line-pattern.js.map +1 -0
  65. package/dist/tools/line-pattern/segment.d.ts +24 -0
  66. package/dist/tools/line-pattern/segment.d.ts.map +1 -0
  67. package/dist/tools/line-pattern/segment.js +15 -0
  68. package/dist/tools/line-pattern/segment.js.map +1 -0
  69. package/dist/tools/line-pattern/segments.d.ts +43 -0
  70. package/dist/tools/line-pattern/segments.d.ts.map +1 -0
  71. package/dist/tools/line-pattern/segments.js +91 -0
  72. package/dist/tools/line-pattern/segments.js.map +1 -0
  73. package/dist/tools/llm/description-intent/format-spec.d.ts +3 -0
  74. package/dist/tools/llm/description-intent/format-spec.d.ts.map +1 -0
  75. package/dist/tools/llm/description-intent/format-spec.js +167 -0
  76. package/dist/tools/llm/description-intent/format-spec.js.map +1 -0
  77. package/dist/tools/llm/description-intent/index.d.ts +7 -0
  78. package/dist/tools/llm/description-intent/index.d.ts.map +1 -0
  79. package/dist/tools/llm/description-intent/index.js +15 -0
  80. package/dist/tools/llm/description-intent/index.js.map +1 -0
  81. package/dist/tools/llm/description-intent/intent-detector.d.ts +8 -0
  82. package/dist/tools/llm/description-intent/intent-detector.d.ts.map +1 -0
  83. package/dist/tools/llm/description-intent/intent-detector.js +103 -0
  84. package/dist/tools/llm/description-intent/intent-detector.js.map +1 -0
  85. package/dist/tools/llm/description-intent/normalizer.d.ts +12 -0
  86. package/dist/tools/llm/description-intent/normalizer.d.ts.map +1 -0
  87. package/dist/tools/llm/description-intent/normalizer.js +73 -0
  88. package/dist/tools/llm/description-intent/normalizer.js.map +1 -0
  89. package/dist/tools/llm/description-intent/slot-extractor.d.ts +3 -0
  90. package/dist/tools/llm/description-intent/slot-extractor.d.ts.map +1 -0
  91. package/dist/tools/llm/description-intent/slot-extractor.js +66 -0
  92. package/dist/tools/llm/description-intent/slot-extractor.js.map +1 -0
  93. package/dist/tools/llm/description-intent/types.d.ts +28 -0
  94. package/dist/tools/llm/description-intent/types.d.ts.map +1 -0
  95. package/dist/tools/llm/description-intent/types.js +19 -0
  96. package/dist/tools/llm/description-intent/types.js.map +1 -0
  97. package/dist/tools/llm/index.d.ts +16 -0
  98. package/dist/tools/llm/index.d.ts.map +1 -0
  99. package/dist/tools/llm/index.js +26 -0
  100. package/dist/tools/llm/index.js.map +1 -0
  101. package/dist/tools/llm/model.d.ts +3 -0
  102. package/dist/tools/llm/model.d.ts.map +1 -0
  103. package/dist/tools/llm/model.js +18 -0
  104. package/dist/tools/llm/model.js.map +1 -0
  105. package/dist/tools/llm/structured-caller.d.ts +86 -0
  106. package/dist/tools/llm/structured-caller.d.ts.map +1 -0
  107. package/dist/tools/llm/structured-caller.js +181 -0
  108. package/dist/tools/llm/structured-caller.js.map +1 -0
  109. package/dist/tools/node-pattern/index.d.ts +17 -0
  110. package/dist/tools/node-pattern/index.d.ts.map +1 -0
  111. package/dist/tools/node-pattern/index.js +36 -0
  112. package/dist/tools/node-pattern/index.js.map +1 -0
  113. package/dist/tools/node-pattern/matchers.d.ts +61 -0
  114. package/dist/tools/node-pattern/matchers.d.ts.map +1 -0
  115. package/dist/tools/node-pattern/matchers.js +154 -0
  116. package/dist/tools/node-pattern/matchers.js.map +1 -0
  117. package/dist/tools/node-pattern/node-matcher.d.ts +69 -0
  118. package/dist/tools/node-pattern/node-matcher.d.ts.map +1 -0
  119. package/dist/tools/node-pattern/node-matcher.js +122 -0
  120. package/dist/tools/node-pattern/node-matcher.js.map +1 -0
  121. package/dist/tools/node-pattern/node-pattern.d.ts +65 -0
  122. package/dist/tools/node-pattern/node-pattern.d.ts.map +1 -0
  123. package/dist/tools/node-pattern/node-pattern.js +129 -0
  124. package/dist/tools/node-pattern/node-pattern.js.map +1 -0
  125. package/dist/tools/section-check/index.d.ts +4 -0
  126. package/dist/tools/section-check/index.d.ts.map +1 -0
  127. package/dist/tools/section-check/index.js +10 -0
  128. package/dist/tools/section-check/index.js.map +1 -0
  129. package/dist/tools/section-check/section-check.d.ts +46 -0
  130. package/dist/tools/section-check/section-check.d.ts.map +1 -0
  131. package/dist/tools/section-check/section-check.js +264 -0
  132. package/dist/tools/section-check/section-check.js.map +1 -0
  133. package/dist/tools/section-check/types.d.ts +35 -0
  134. package/dist/tools/section-check/types.d.ts.map +1 -0
  135. package/dist/tools/section-check/types.js +23 -0
  136. package/dist/tools/section-check/types.js.map +1 -0
  137. package/dist/tools/text-grep/index.d.ts +10 -0
  138. package/dist/tools/text-grep/index.d.ts.map +1 -0
  139. package/dist/tools/text-grep/index.js +13 -0
  140. package/dist/tools/text-grep/index.js.map +1 -0
  141. package/dist/tools/text-grep/regex-grep.d.ts +92 -0
  142. package/dist/tools/text-grep/regex-grep.d.ts.map +1 -0
  143. package/dist/tools/text-grep/regex-grep.js +141 -0
  144. package/dist/tools/text-grep/regex-grep.js.map +1 -0
  145. package/dist/workflow/context/context.d.ts +13 -0
  146. package/dist/workflow/context/context.d.ts.map +1 -0
  147. package/dist/workflow/context/context.js +29 -0
  148. package/dist/workflow/context/context.js.map +1 -0
  149. package/dist/workflow/implement/resource-check/context-keys.d.ts +30 -0
  150. package/dist/workflow/implement/resource-check/context-keys.d.ts.map +1 -0
  151. package/dist/workflow/implement/resource-check/context-keys.js +33 -0
  152. package/dist/workflow/implement/resource-check/context-keys.js.map +1 -0
  153. package/dist/workflow/implement/resource-check/resource-check-workflow.d.ts +20 -0
  154. package/dist/workflow/implement/resource-check/resource-check-workflow.d.ts.map +1 -0
  155. package/dist/workflow/implement/resource-check/resource-check-workflow.js +325 -0
  156. package/dist/workflow/implement/resource-check/resource-check-workflow.js.map +1 -0
  157. package/dist/workflow/implement/resource-check/rules/index.d.ts +5 -0
  158. package/dist/workflow/implement/resource-check/rules/index.d.ts.map +1 -0
  159. package/dist/workflow/implement/resource-check/rules/index.js +21 -0
  160. package/dist/workflow/implement/resource-check/rules/index.js.map +1 -0
  161. package/dist/workflow/implement/resource-check/rules/markdown-format/arguments/argument-section-format-rule.d.ts +8 -0
  162. package/dist/workflow/implement/resource-check/rules/markdown-format/arguments/argument-section-format-rule.d.ts.map +1 -0
  163. package/dist/workflow/implement/resource-check/rules/markdown-format/arguments/argument-section-format-rule.js +51 -0
  164. package/dist/workflow/implement/resource-check/rules/markdown-format/arguments/argument-section-format-rule.js.map +1 -0
  165. package/dist/workflow/implement/resource-check/rules/markdown-format/attributes/attribute-section-format-rule.d.ts +8 -0
  166. package/dist/workflow/implement/resource-check/rules/markdown-format/attributes/attribute-section-format-rule.d.ts.map +1 -0
  167. package/dist/workflow/implement/resource-check/rules/markdown-format/attributes/attribute-section-format-rule.js +60 -0
  168. package/dist/workflow/implement/resource-check/rules/markdown-format/attributes/attribute-section-format-rule.js.map +1 -0
  169. package/dist/workflow/implement/resource-check/rules/markdown-format/blank-line-between-blocks-rule.d.ts +9 -0
  170. package/dist/workflow/implement/resource-check/rules/markdown-format/blank-line-between-blocks-rule.d.ts.map +1 -0
  171. package/dist/workflow/implement/resource-check/rules/markdown-format/blank-line-between-blocks-rule.js +80 -0
  172. package/dist/workflow/implement/resource-check/rules/markdown-format/blank-line-between-blocks-rule.js.map +1 -0
  173. package/dist/workflow/implement/resource-check/rules/markdown-format/example/example-section-exists-rule.d.ts +8 -0
  174. package/dist/workflow/implement/resource-check/rules/markdown-format/example/example-section-exists-rule.d.ts.map +1 -0
  175. package/dist/workflow/implement/resource-check/rules/markdown-format/example/example-section-exists-rule.js +42 -0
  176. package/dist/workflow/implement/resource-check/rules/markdown-format/example/example-section-exists-rule.js.map +1 -0
  177. package/dist/workflow/implement/resource-check/rules/markdown-format/example-section-exists-rule.d.ts +8 -0
  178. package/dist/workflow/implement/resource-check/rules/markdown-format/example-section-exists-rule.d.ts.map +1 -0
  179. package/dist/workflow/implement/resource-check/rules/markdown-format/example-section-exists-rule.js +34 -0
  180. package/dist/workflow/implement/resource-check/rules/markdown-format/example-section-exists-rule.js.map +1 -0
  181. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter/frontmatter-check-rule.d.ts +8 -0
  182. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter/frontmatter-check-rule.d.ts.map +1 -0
  183. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter/frontmatter-check-rule.js +33 -0
  184. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter/frontmatter-check-rule.js.map +1 -0
  185. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter-check-rule.d.ts +8 -0
  186. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter-check-rule.d.ts.map +1 -0
  187. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter-check-rule.js +33 -0
  188. package/dist/workflow/implement/resource-check/rules/markdown-format/frontmatter-check-rule.js.map +1 -0
  189. package/dist/workflow/implement/resource-check/rules/markdown-format/h1-exists-rule.d.ts +8 -0
  190. package/dist/workflow/implement/resource-check/rules/markdown-format/h1-exists-rule.d.ts.map +1 -0
  191. package/dist/workflow/implement/resource-check/rules/markdown-format/h1-exists-rule.js +34 -0
  192. package/dist/workflow/implement/resource-check/rules/markdown-format/h1-exists-rule.js.map +1 -0
  193. package/dist/workflow/implement/resource-check/rules/markdown-format/index.d.ts +11 -0
  194. package/dist/workflow/implement/resource-check/rules/markdown-format/index.d.ts.map +1 -0
  195. package/dist/workflow/implement/resource-check/rules/markdown-format/index.js +38 -0
  196. package/dist/workflow/implement/resource-check/rules/markdown-format/index.js.map +1 -0
  197. package/dist/workflow/implement/resource-check/rules/markdown-format/line-length-rule.d.ts +15 -0
  198. package/dist/workflow/implement/resource-check/rules/markdown-format/line-length-rule.d.ts.map +1 -0
  199. package/dist/workflow/implement/resource-check/rules/markdown-format/line-length-rule.js +77 -0
  200. package/dist/workflow/implement/resource-check/rules/markdown-format/line-length-rule.js.map +1 -0
  201. package/dist/workflow/implement/resource-check/rules/markdown-format/number-format-rule.d.ts +23 -0
  202. package/dist/workflow/implement/resource-check/rules/markdown-format/number-format-rule.d.ts.map +1 -0
  203. package/dist/workflow/implement/resource-check/rules/markdown-format/number-format-rule.js +128 -0
  204. package/dist/workflow/implement/resource-check/rules/markdown-format/number-format-rule.js.map +1 -0
  205. package/dist/workflow/implement/resource-check/rules/markdown-format/shared/section-check-result.d.ts +9 -0
  206. package/dist/workflow/implement/resource-check/rules/markdown-format/shared/section-check-result.d.ts.map +1 -0
  207. package/dist/workflow/implement/resource-check/rules/markdown-format/shared/section-check-result.js +19 -0
  208. package/dist/workflow/implement/resource-check/rules/markdown-format/shared/section-check-result.js.map +1 -0
  209. package/dist/workflow/implement/resource-check/rules/markdown-format/title/h1-exists-rule.d.ts +8 -0
  210. package/dist/workflow/implement/resource-check/rules/markdown-format/title/h1-exists-rule.d.ts.map +1 -0
  211. package/dist/workflow/implement/resource-check/rules/markdown-format/title/h1-exists-rule.js +44 -0
  212. package/dist/workflow/implement/resource-check/rules/markdown-format/title/h1-exists-rule.js.map +1 -0
  213. package/dist/workflow/implement/resource-check/rules/markdown-format/total/blank-line-between-blocks-rule.d.ts +9 -0
  214. package/dist/workflow/implement/resource-check/rules/markdown-format/total/blank-line-between-blocks-rule.d.ts.map +1 -0
  215. package/dist/workflow/implement/resource-check/rules/markdown-format/total/blank-line-between-blocks-rule.js +80 -0
  216. package/dist/workflow/implement/resource-check/rules/markdown-format/total/blank-line-between-blocks-rule.js.map +1 -0
  217. package/dist/workflow/implement/resource-check/rules/markdown-format/total/line-length-rule.d.ts +15 -0
  218. package/dist/workflow/implement/resource-check/rules/markdown-format/total/line-length-rule.d.ts.map +1 -0
  219. package/dist/workflow/implement/resource-check/rules/markdown-format/total/line-length-rule.js +77 -0
  220. package/dist/workflow/implement/resource-check/rules/markdown-format/total/line-length-rule.js.map +1 -0
  221. package/dist/workflow/implement/resource-check/rules/markdown-format/total/number-format-rule.d.ts +23 -0
  222. package/dist/workflow/implement/resource-check/rules/markdown-format/total/number-format-rule.d.ts.map +1 -0
  223. package/dist/workflow/implement/resource-check/rules/markdown-format/total/number-format-rule.js +128 -0
  224. package/dist/workflow/implement/resource-check/rules/markdown-format/total/number-format-rule.js.map +1 -0
  225. package/dist/workflow/implement/resource-check/rules/markdown-semantic/argument-section-semantic-rule.d.ts +11 -0
  226. package/dist/workflow/implement/resource-check/rules/markdown-semantic/argument-section-semantic-rule.d.ts.map +1 -0
  227. package/dist/workflow/implement/resource-check/rules/markdown-semantic/argument-section-semantic-rule.js +145 -0
  228. package/dist/workflow/implement/resource-check/rules/markdown-semantic/argument-section-semantic-rule.js.map +1 -0
  229. package/dist/workflow/implement/resource-check/rules/markdown-semantic/arguments/argument-section-semantic-rule.d.ts +11 -0
  230. package/dist/workflow/implement/resource-check/rules/markdown-semantic/arguments/argument-section-semantic-rule.d.ts.map +1 -0
  231. package/dist/workflow/implement/resource-check/rules/markdown-semantic/arguments/argument-section-semantic-rule.js +145 -0
  232. package/dist/workflow/implement/resource-check/rules/markdown-semantic/arguments/argument-section-semantic-rule.js.map +1 -0
  233. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attribute-section-semantic-rule.d.ts +9 -0
  234. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attribute-section-semantic-rule.d.ts.map +1 -0
  235. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attribute-section-semantic-rule.js +83 -0
  236. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attribute-section-semantic-rule.js.map +1 -0
  237. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attributes/attribute-section-semantic-rule.d.ts +9 -0
  238. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attributes/attribute-section-semantic-rule.d.ts.map +1 -0
  239. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attributes/attribute-section-semantic-rule.js +83 -0
  240. package/dist/workflow/implement/resource-check/rules/markdown-semantic/attributes/attribute-section-semantic-rule.js.map +1 -0
  241. package/dist/workflow/implement/resource-check/rules/markdown-semantic/index.d.ts +7 -0
  242. package/dist/workflow/implement/resource-check/rules/markdown-semantic/index.d.ts.map +1 -0
  243. package/dist/workflow/implement/resource-check/rules/markdown-semantic/index.js +15 -0
  244. package/dist/workflow/implement/resource-check/rules/markdown-semantic/index.js.map +1 -0
  245. package/dist/workflow/implement/resource-check/rules/markdown-semantic/section-existence-rule.d.ts +9 -0
  246. package/dist/workflow/implement/resource-check/rules/markdown-semantic/section-existence-rule.d.ts.map +1 -0
  247. package/dist/workflow/implement/resource-check/rules/markdown-semantic/section-existence-rule.js +96 -0
  248. package/dist/workflow/implement/resource-check/rules/markdown-semantic/section-existence-rule.js.map +1 -0
  249. package/dist/workflow/implement/resource-check/rules/markdown-semantic/total/section-existence-rule.d.ts +9 -0
  250. package/dist/workflow/implement/resource-check/rules/markdown-semantic/total/section-existence-rule.d.ts.map +1 -0
  251. package/dist/workflow/implement/resource-check/rules/markdown-semantic/total/section-existence-rule.js +109 -0
  252. package/dist/workflow/implement/resource-check/rules/markdown-semantic/total/section-existence-rule.js.map +1 -0
  253. package/dist/workflow/implement/resource-check/rules/stage-placeholder-rule.d.ts +19 -0
  254. package/dist/workflow/implement/resource-check/rules/stage-placeholder-rule.d.ts.map +1 -0
  255. package/dist/workflow/implement/resource-check/rules/stage-placeholder-rule.js +31 -0
  256. package/dist/workflow/implement/resource-check/rules/stage-placeholder-rule.js.map +1 -0
  257. package/dist/workflow/implement/resource-check/tools/doc-semantic/builder.d.ts +15 -0
  258. package/dist/workflow/implement/resource-check/tools/doc-semantic/builder.d.ts.map +1 -0
  259. package/dist/workflow/implement/resource-check/tools/doc-semantic/builder.js +554 -0
  260. package/dist/workflow/implement/resource-check/tools/doc-semantic/builder.js.map +1 -0
  261. package/dist/workflow/implement/resource-check/tools/doc-semantic/index.d.ts +5 -0
  262. package/dist/workflow/implement/resource-check/tools/doc-semantic/index.d.ts.map +1 -0
  263. package/dist/workflow/implement/resource-check/tools/doc-semantic/index.js +16 -0
  264. package/dist/workflow/implement/resource-check/tools/doc-semantic/index.js.map +1 -0
  265. package/dist/workflow/implement/resource-check/tools/doc-semantic/types.d.ts +94 -0
  266. package/dist/workflow/implement/resource-check/tools/doc-semantic/types.d.ts.map +1 -0
  267. package/dist/workflow/implement/resource-check/tools/doc-semantic/types.js +42 -0
  268. package/dist/workflow/implement/resource-check/tools/doc-semantic/types.js.map +1 -0
  269. package/dist/workflow/implement/resource-check/tools/schema-semantic/builder.d.ts +4 -0
  270. package/dist/workflow/implement/resource-check/tools/schema-semantic/builder.d.ts.map +1 -0
  271. package/dist/workflow/implement/resource-check/tools/schema-semantic/builder.js +103 -0
  272. package/dist/workflow/implement/resource-check/tools/schema-semantic/builder.js.map +1 -0
  273. package/dist/workflow/implement/resource-check/tools/schema-semantic/index.d.ts +3 -0
  274. package/dist/workflow/implement/resource-check/tools/schema-semantic/index.d.ts.map +1 -0
  275. package/dist/workflow/implement/resource-check/tools/schema-semantic/index.js +6 -0
  276. package/dist/workflow/implement/resource-check/tools/schema-semantic/index.js.map +1 -0
  277. package/dist/workflow/implement/resource-check/tools/schema-semantic/types.d.ts +47 -0
  278. package/dist/workflow/implement/resource-check/tools/schema-semantic/types.d.ts.map +1 -0
  279. package/dist/workflow/implement/resource-check/tools/schema-semantic/types.js +3 -0
  280. package/dist/workflow/implement/resource-check/tools/schema-semantic/types.js.map +1 -0
  281. package/dist/workflow/implement/resource-check/tools/terraform-schema/index.d.ts +4 -0
  282. package/dist/workflow/implement/resource-check/tools/terraform-schema/index.d.ts.map +1 -0
  283. package/dist/workflow/implement/resource-check/tools/terraform-schema/index.js +8 -0
  284. package/dist/workflow/implement/resource-check/tools/terraform-schema/index.js.map +1 -0
  285. package/dist/workflow/implement/resource-check/tools/terraform-schema/schema-extractor.d.ts +108 -0
  286. package/dist/workflow/implement/resource-check/tools/terraform-schema/schema-extractor.d.ts.map +1 -0
  287. package/dist/workflow/implement/resource-check/tools/terraform-schema/schema-extractor.js +498 -0
  288. package/dist/workflow/implement/resource-check/tools/terraform-schema/schema-extractor.js.map +1 -0
  289. package/dist/workflow/implement/resource-check/tools/terraform-schema/semantic-normalizer.d.ts +51 -0
  290. package/dist/workflow/implement/resource-check/tools/terraform-schema/semantic-normalizer.d.ts.map +1 -0
  291. package/dist/workflow/implement/resource-check/tools/terraform-schema/semantic-normalizer.js +271 -0
  292. package/dist/workflow/implement/resource-check/tools/terraform-schema/semantic-normalizer.js.map +1 -0
  293. package/dist/workflow/implement/resource-check/tools/terraform-schema/types.d.ts +133 -0
  294. package/dist/workflow/implement/resource-check/tools/terraform-schema/types.d.ts.map +1 -0
  295. package/dist/workflow/implement/resource-check/tools/terraform-schema/types.js +3 -0
  296. package/dist/workflow/implement/resource-check/tools/terraform-schema/types.js.map +1 -0
  297. package/dist/workflow/implement/resource-check/types.d.ts +18 -0
  298. package/dist/workflow/implement/resource-check/types.d.ts.map +1 -0
  299. package/dist/workflow/implement/resource-check/types.js +107 -0
  300. package/dist/workflow/implement/resource-check/types.js.map +1 -0
  301. package/dist/workflow/types/rule/rule.d.ts +72 -0
  302. package/dist/workflow/types/rule/rule.d.ts.map +1 -0
  303. package/dist/workflow/types/rule/rule.js +110 -0
  304. package/dist/workflow/types/rule/rule.js.map +1 -0
  305. package/dist/workflow/workflow.d.ts +52 -0
  306. package/dist/workflow/workflow.d.ts.map +1 -0
  307. package/dist/workflow/workflow.js +121 -0
  308. package/dist/workflow/workflow.js.map +1 -0
  309. package/package.json +36 -0
@@ -0,0 +1,94 @@
1
+ import type { MarkdownNode, SourceRange } from "../../../../../tools/ast-parser/markdown";
2
+ export interface StringTree {
3
+ text: string;
4
+ children: StringTree[];
5
+ sourceRange?: SourceRange;
6
+ }
7
+ export type DocBlockType = "FrontMatter" | "Title" | "ExampleList" | "ArgumentList" | "AttributeList" | "Import" | "TimeOut";
8
+ export interface FrontMatter {
9
+ subcategory: string;
10
+ pageTitle: string;
11
+ description: string;
12
+ raw: Record<string, unknown>;
13
+ sourceRange?: SourceRange;
14
+ }
15
+ export interface Title {
16
+ title: string;
17
+ description: string;
18
+ sourceRange?: SourceRange;
19
+ }
20
+ export interface Example {
21
+ title: string;
22
+ code: string;
23
+ sourceRange?: SourceRange;
24
+ }
25
+ export interface ExampleList {
26
+ title: string;
27
+ examples: Example[];
28
+ sourceRange?: SourceRange;
29
+ }
30
+ export interface Argument {
31
+ name: string;
32
+ tags: string[];
33
+ description: string;
34
+ details: StringTree;
35
+ arguments: Argument[];
36
+ sourceRange?: SourceRange;
37
+ }
38
+ export interface ArgumentList {
39
+ title: string;
40
+ description: string;
41
+ isComputed: () => boolean;
42
+ arguments: Argument[];
43
+ sourceRange?: SourceRange;
44
+ }
45
+ export interface Attribute {
46
+ name: string;
47
+ description: string;
48
+ details: StringTree;
49
+ attributes: Attribute[];
50
+ sourceRange?: SourceRange;
51
+ }
52
+ export interface AttributeList {
53
+ title: string;
54
+ description: string;
55
+ attributes: Attribute[];
56
+ sourceRange?: SourceRange;
57
+ }
58
+ export interface Import {
59
+ hasImportBlock: boolean;
60
+ importIdPattern?: string;
61
+ sourceRange?: SourceRange;
62
+ }
63
+ export interface TimeOut {
64
+ create?: string;
65
+ update?: string;
66
+ delete?: string;
67
+ sourceRange?: SourceRange;
68
+ }
69
+ export type DocBlock = FrontMatter | Title | ExampleList | ArgumentList | AttributeList | Import | TimeOut;
70
+ export interface BuildDiagnostic {
71
+ level: "warning" | "error";
72
+ message: string;
73
+ code?: string;
74
+ sourceRange?: SourceRange;
75
+ }
76
+ export interface DocBlockView<TNode extends DocBlock = DocBlock> {
77
+ kind: DocBlockType;
78
+ astRef: MarkdownNode[];
79
+ node: TNode;
80
+ sourceRange?: SourceRange;
81
+ }
82
+ export declare class DocSemanticView {
83
+ readonly blocks: DocBlockView[];
84
+ readonly diagnostics: BuildDiagnostic[];
85
+ constructor(blocks?: DocBlockView[], diagnostics?: BuildDiagnostic[]);
86
+ get frontMatter(): FrontMatter | undefined;
87
+ get title(): Title | undefined;
88
+ get argumentLists(): ArgumentList[];
89
+ get exampleLists(): ExampleList[];
90
+ get attributeLists(): AttributeList[];
91
+ get importBlock(): Import | undefined;
92
+ get timeOut(): TimeOut | undefined;
93
+ }
94
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/doc-semantic/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocSemanticView = void 0;
4
+ class DocSemanticView {
5
+ constructor(blocks = [], diagnostics = []) {
6
+ this.blocks = blocks;
7
+ this.diagnostics = diagnostics;
8
+ }
9
+ get frontMatter() {
10
+ const block = this.blocks.find((b) => b.kind === "FrontMatter");
11
+ return block?.node;
12
+ }
13
+ get title() {
14
+ const block = this.blocks.find((b) => b.kind === "Title");
15
+ return block?.node;
16
+ }
17
+ get argumentLists() {
18
+ return this.blocks
19
+ .filter((b) => b.kind === "ArgumentList")
20
+ .map((b) => b.node);
21
+ }
22
+ get exampleLists() {
23
+ return this.blocks
24
+ .filter((b) => b.kind === "ExampleList")
25
+ .map((b) => b.node);
26
+ }
27
+ get attributeLists() {
28
+ return this.blocks
29
+ .filter((b) => b.kind === "AttributeList")
30
+ .map((b) => b.node);
31
+ }
32
+ get importBlock() {
33
+ const block = this.blocks.find((b) => b.kind === "Import");
34
+ return block?.node;
35
+ }
36
+ get timeOut() {
37
+ const block = this.blocks.find((b) => b.kind === "TimeOut");
38
+ return block?.node;
39
+ }
40
+ }
41
+ exports.DocSemanticView = DocSemanticView;
42
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/doc-semantic/types.ts"],"names":[],"mappings":";;;AAkHA,MAAa,eAAe;IAIxB,YACI,SAAyB,EAAE,EAC3B,cAAiC,EAAE;QAEnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,IAAW,WAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAChE,OAAO,KAAK,EAAE,IAA+B,CAAC;IAClD,CAAC;IAED,IAAW,KAAK;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC1D,OAAO,KAAK,EAAE,IAAyB,CAAC;IAC5C,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,MAAM;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,MAAM;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,MAAM;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAqB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAW,WAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC3D,OAAO,KAAK,EAAE,IAA0B,CAAC;IAC7C,CAAC;IAED,IAAW,OAAO;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC5D,OAAO,KAAK,EAAE,IAA2B,CAAC;IAC9C,CAAC;CACJ;AAjDD,0CAiDC"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceSchema } from "../terraform-schema";
2
+ import type { SchemaSemanticView } from "./types";
3
+ export declare function buildSchemaSemanticView(schema: ResourceSchema, resourceType?: "resource" | "data-source"): SchemaSemanticView;
4
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/schema-semantic/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAER,kBAAkB,EAGrB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,cAAc,EACtB,YAAY,GAAE,UAAU,GAAG,aAA0B,GACtD,kBAAkB,CAsBpB"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSchemaSemanticView = buildSchemaSemanticView;
4
+ function buildSchemaSemanticView(schema, resourceType = "resource") {
5
+ const forceNewSet = new Set(schema.resourceSemantics?.forceNew?.fields ?? []);
6
+ const nonUpdatableSet = new Set(schema.resourceSemantics?.nonUpdatable?.fields ?? []);
7
+ const args = new Map();
8
+ const attrs = new Map();
9
+ for (const field of schema.fields) {
10
+ classifyField(field, forceNewSet, nonUpdatableSet, args, attrs);
11
+ }
12
+ if (resourceType === "resource") {
13
+ injectImplicitAttributes(attrs);
14
+ }
15
+ return {
16
+ resourceName: schema.resourceName,
17
+ arguments: args,
18
+ attributes: attrs,
19
+ timeouts: buildTimeoutView(schema),
20
+ importInfo: buildImportView(schema),
21
+ };
22
+ }
23
+ function classifyField(field, forceNewSet, nonUpdatableSet, args, attrs) {
24
+ if (field.internal)
25
+ return;
26
+ const semantic = toSemanticField(field, forceNewSet, nonUpdatableSet);
27
+ if (field.required || field.optional) {
28
+ args.set(field.name, semantic);
29
+ }
30
+ else {
31
+ attrs.set(field.name, semantic);
32
+ }
33
+ }
34
+ function toSemanticField(field, forceNewSet, nonUpdatableSet) {
35
+ const result = {
36
+ name: field.name,
37
+ type: field.type,
38
+ required: field.required,
39
+ optional: field.optional,
40
+ computed: field.computed,
41
+ forceNew: field.forceNew || forceNewSet.has(field.name),
42
+ nonUpdatable: nonUpdatableSet.has(field.name),
43
+ description: field.description,
44
+ };
45
+ if (field.subFields && field.subFields.length > 0) {
46
+ result.subFields = field.subFields.map((sub) => toSemanticField(sub, forceNewSet, nonUpdatableSet));
47
+ }
48
+ return result;
49
+ }
50
+ const IMPLICIT_ATTRIBUTES = [
51
+ {
52
+ name: "id",
53
+ type: "TypeString",
54
+ required: false,
55
+ optional: false,
56
+ computed: true,
57
+ forceNew: false,
58
+ nonUpdatable: false,
59
+ description: "The resource ID.",
60
+ },
61
+ ];
62
+ function injectImplicitAttributes(attrs) {
63
+ for (const field of IMPLICIT_ATTRIBUTES) {
64
+ if (!attrs.has(field.name)) {
65
+ attrs.set(field.name, field);
66
+ }
67
+ }
68
+ }
69
+ function buildTimeoutView(schema) {
70
+ const timeouts = schema.resourceSemantics?.timeouts;
71
+ if (!timeouts)
72
+ return null;
73
+ const view = {};
74
+ let hasAny = false;
75
+ if (timeouts.create?.confidence === "high" && timeouts.create.milliseconds != null) {
76
+ view.create = timeouts.create.milliseconds;
77
+ hasAny = true;
78
+ }
79
+ if (timeouts.read?.confidence === "high" && timeouts.read.milliseconds != null) {
80
+ view.read = timeouts.read.milliseconds;
81
+ hasAny = true;
82
+ }
83
+ if (timeouts.update?.confidence === "high" && timeouts.update.milliseconds != null) {
84
+ view.update = timeouts.update.milliseconds;
85
+ hasAny = true;
86
+ }
87
+ if (timeouts.delete?.confidence === "high" && timeouts.delete.milliseconds != null) {
88
+ view.delete = timeouts.delete.milliseconds;
89
+ hasAny = true;
90
+ }
91
+ return hasAny ? view : null;
92
+ }
93
+ function buildImportView(schema) {
94
+ const semantics = schema.resourceSemantics;
95
+ const options = schema.resourceOptions;
96
+ const importable = semantics?.importable?.value ?? options?.hasImporter ?? false;
97
+ const stateFunc = options?.importerStateContext;
98
+ const idParts = semantics?.importIdParts?.confidence === "high"
99
+ ? semantics.importIdParts.parts
100
+ : undefined;
101
+ return { importable, stateFunc, idParts };
102
+ }
103
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/schema-semantic/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { buildSchemaSemanticView } from "./builder";
2
+ export type { SemanticField, TimeoutView, ImportView, SchemaSemanticView, } from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/schema-semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,YAAY,EACR,aAAa,EACb,WAAW,EACX,UAAU,EACV,kBAAkB,GACrB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSchemaSemanticView = void 0;
4
+ var builder_1 = require("./builder");
5
+ Object.defineProperty(exports, "buildSchemaSemanticView", { enumerable: true, get: function () { return builder_1.buildSchemaSemanticView; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/schema-semantic/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoD;AAA3C,kHAAA,uBAAuB,OAAA"}
@@ -0,0 +1,47 @@
1
+ import type { SchemaFieldType } from "../terraform-schema/types";
2
+ /**
3
+ * A schema field enriched with document-oriented semantic tags.
4
+ * Used by doc-semantic rules to compare against DocArgument/DocAttribute.
5
+ */
6
+ export interface SemanticField {
7
+ name: string;
8
+ type: SchemaFieldType | string;
9
+ required: boolean;
10
+ optional: boolean;
11
+ computed: boolean;
12
+ forceNew: boolean;
13
+ nonUpdatable: boolean;
14
+ description: string;
15
+ subFields?: SemanticField[];
16
+ }
17
+ /**
18
+ * Simplified timeout view with millisecond values.
19
+ * Only includes entries where the normalizer had high confidence.
20
+ */
21
+ export interface TimeoutView {
22
+ create?: number;
23
+ read?: number;
24
+ update?: number;
25
+ delete?: number;
26
+ }
27
+ /**
28
+ * Import capability and ID format for a resource.
29
+ */
30
+ export interface ImportView {
31
+ importable: boolean;
32
+ stateFunc?: string;
33
+ idParts?: string[];
34
+ }
35
+ /**
36
+ * Schema-derived semantic view consumed by document validation rules.
37
+ * Built from raw ResourceSchema + ResourceSemantics during the
38
+ * check-markdown-semantic stage.
39
+ */
40
+ export interface SchemaSemanticView {
41
+ resourceName: string;
42
+ arguments: Map<string, SemanticField>;
43
+ attributes: Map<string, SemanticField>;
44
+ timeouts: TimeoutView | null;
45
+ importInfo: ImportView;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/schema-semantic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/schema-semantic/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { TerraformSchemaExtractor } from "./schema-extractor";
2
+ export { TerraformSchemaSemanticNormalizer } from "./semantic-normalizer";
3
+ export type { ForceNewSemantics, ImportIdSemantics, ImportableSemantics, NonUpdatableSemantics, ResourceOptions, ResourceSchema, ResourceSemantics, ResourceTimeoutSemantics, ResourceTimeouts, SchemaField, SchemaFieldType, SemanticConfidence, TimeoutSemanticValue, } from "./types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/terraform-schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAE1E,YAAY,EACR,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerraformSchemaSemanticNormalizer = exports.TerraformSchemaExtractor = void 0;
4
+ var schema_extractor_1 = require("./schema-extractor");
5
+ Object.defineProperty(exports, "TerraformSchemaExtractor", { enumerable: true, get: function () { return schema_extractor_1.TerraformSchemaExtractor; } });
6
+ var semantic_normalizer_1 = require("./semantic-normalizer");
7
+ Object.defineProperty(exports, "TerraformSchemaSemanticNormalizer", { enumerable: true, get: function () { return semantic_normalizer_1.TerraformSchemaSemanticNormalizer; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/terraform-schema/index.ts"],"names":[],"mappings":";;;AAAA,uDAA8D;AAArD,4HAAA,wBAAwB,OAAA;AACjC,6DAA0E;AAAjE,wIAAA,iCAAiC,OAAA"}
@@ -0,0 +1,108 @@
1
+ import { GoParser } from "../../../../../tools/ast-parser/go";
2
+ import type { ResourceSchema } from "./types";
3
+ /**
4
+ * Extracts Terraform resource schemas from Go source files.
5
+ *
6
+ * Targets the common Terraform Plugin SDK pattern:
7
+ * ```go
8
+ * func resourceXxx() *schema.Resource {
9
+ * return &schema.Resource{
10
+ * Schema: map[string]*schema.Schema{
11
+ * "field": { Type: schema.TypeString, ... },
12
+ * },
13
+ * }
14
+ * }
15
+ * ```
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const parser = await GoParser.create();
20
+ * const extractor = new TerraformSchemaExtractor(parser);
21
+ * const schemas = extractor.extract(goSourceCode);
22
+ * ```
23
+ */
24
+ export declare class TerraformSchemaExtractor {
25
+ private parser;
26
+ private currentRoot;
27
+ constructor(parser: GoParser);
28
+ /**
29
+ * Extract all resource schemas from a Go source string.
30
+ */
31
+ extract(goSource: string): ResourceSchema[];
32
+ private extractFromFunction;
33
+ /**
34
+ * Locate the returned `&schema.Resource{ ... }` composite literal
35
+ * in a function body.
36
+ */
37
+ private findResourceLiteral;
38
+ /**
39
+ * Locate the `Schema: map[string]*schema.Schema{ ... }` value from
40
+ * a resource composite literal.
41
+ */
42
+ private findSchemaMap;
43
+ private isResourceCompositeLiteral;
44
+ /**
45
+ * Find a top-level keyed value from a composite literal body by key.
46
+ */
47
+ private findTopLevelValueByKey;
48
+ /**
49
+ * Check if a node is a composite_literal of type
50
+ * `map[string]*schema.Schema{ ... }`.
51
+ */
52
+ private isSchemaMapLiteral;
53
+ /**
54
+ * Extract all schema fields from a map literal
55
+ * `map[string]*schema.Schema{ ... }`.
56
+ */
57
+ private extractFieldsFromMap;
58
+ /**
59
+ * Parse a single schema field from a keyed_element like:
60
+ * `"field_name": { Type: schema.TypeString, Required: true, ... }`
61
+ *
62
+ * keyed_element -> literal_element(key) + literal_element(value)
63
+ * key unwraps to: interpreted_string_literal
64
+ * value unwraps to: literal_value (shorthand for the struct literal)
65
+ */
66
+ private parseSchemaField;
67
+ /**
68
+ * Parse the properties (Type, Required, Optional, etc.) from
69
+ * a literal_value or composite_literal node containing the field's
70
+ * key-value pairs.
71
+ */
72
+ private parseFieldProperties;
73
+ /**
74
+ * Parse the `Elem` property which can be:
75
+ * - `&schema.Schema{ Type: schema.TypeString }` (simple element type)
76
+ * - `&schema.Resource{ Schema: map[string]*schema.Schema{ ... } }` (nested block)
77
+ * - `someSchemaFunc()` (function call returning *schema.Resource)
78
+ */
79
+ private parseElem;
80
+ /**
81
+ * Resolve an `Elem: someFunc()` call expression by locating the
82
+ * function definition in the same file and extracting its returned
83
+ * schema fields.
84
+ */
85
+ private resolveSchemaFuncCall;
86
+ private extractResourceOptions;
87
+ private extractImporterStateContext;
88
+ private extractTimeouts;
89
+ /**
90
+ * Detect `utils.SchemaDesc("...", utils.SchemaDescInput{Internal: true})`
91
+ * pattern in the Description value node.
92
+ */
93
+ private isInternalDescription;
94
+ /**
95
+ * Extract the content of a Go interpreted string literal,
96
+ * stripping the surrounding double quotes.
97
+ */
98
+ private extractStringLiteral;
99
+ /**
100
+ * Infer a Terraform resource name from a Go function name.
101
+ *
102
+ * `resourceAwsInstance` -> `aws_instance`
103
+ * `dataSourceAwsAmi` -> `aws_ami`
104
+ * `ResourceAwsVpcSubnet` -> `aws_vpc_subnet`
105
+ */
106
+ private inferResourceName;
107
+ }
108
+ //# sourceMappingURL=schema-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-extractor.d.ts","sourceRoot":"","sources":["../../../../../../src/workflow/implement/resource-check/tools/terraform-schema/schema-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,KAAK,EAER,cAAc,EAIjB,MAAM,SAAS,CAAC;AAgCjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,wBAAwB;IAGrB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,WAAW,CAA2B;gBAE1B,MAAM,EAAE,QAAQ;IAEpC;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE;IAsBlD,OAAO,CAAC,mBAAmB;IAyB3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,0BAA0B;IAOlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAgE5B;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA4CjB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,eAAe;IA0CvB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAkB5B"}