@intentius/chant 0.7.0 → 0.8.1

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 (424) hide show
  1. package/dist/attrref.d.ts +35 -0
  2. package/dist/attrref.d.ts.map +1 -0
  3. package/dist/audit/catalog.d.ts +65 -0
  4. package/dist/audit/catalog.d.ts.map +1 -0
  5. package/dist/audit/core.d.ts +76 -0
  6. package/dist/audit/core.d.ts.map +1 -0
  7. package/dist/audit/discover.d.ts +76 -0
  8. package/dist/audit/discover.d.ts.map +1 -0
  9. package/dist/audit/fetch.d.ts +90 -0
  10. package/dist/audit/fetch.d.ts.map +1 -0
  11. package/dist/audit/proof.d.ts +53 -0
  12. package/dist/audit/proof.d.ts.map +1 -0
  13. package/dist/audit/report-html.d.ts +32 -0
  14. package/dist/audit/report-html.d.ts.map +1 -0
  15. package/dist/audit/report-model.d.ts +119 -0
  16. package/dist/audit/report-model.d.ts.map +1 -0
  17. package/dist/audit/report.d.ts +31 -0
  18. package/dist/audit/report.d.ts.map +1 -0
  19. package/dist/audit/rules-doc.d.ts +11 -0
  20. package/dist/audit/rules-doc.d.ts.map +1 -0
  21. package/dist/build.d.ts +120 -0
  22. package/dist/build.d.ts.map +1 -0
  23. package/dist/builder.d.ts +56 -0
  24. package/dist/builder.d.ts.map +1 -0
  25. package/dist/child-project.d.ts +34 -0
  26. package/dist/child-project.d.ts.map +1 -0
  27. package/dist/cli/commands/audit.d.ts +60 -0
  28. package/dist/cli/commands/audit.d.ts.map +1 -0
  29. package/dist/cli/commands/build.d.ts +70 -0
  30. package/dist/cli/commands/build.d.ts.map +1 -0
  31. package/dist/cli/commands/check-lexicon.d.ts +19 -0
  32. package/dist/cli/commands/check-lexicon.d.ts.map +1 -0
  33. package/dist/cli/commands/describe.d.ts +39 -0
  34. package/dist/cli/commands/describe.d.ts.map +1 -0
  35. package/dist/cli/commands/diff.d.ts +32 -0
  36. package/dist/cli/commands/diff.d.ts.map +1 -0
  37. package/dist/cli/commands/doctor.d.ts +11 -0
  38. package/dist/cli/commands/doctor.d.ts.map +1 -0
  39. package/dist/cli/commands/import.d.ts +68 -0
  40. package/dist/cli/commands/import.d.ts.map +1 -0
  41. package/dist/cli/commands/init-lexicon/templates/codegen.d.ts +9 -0
  42. package/dist/cli/commands/init-lexicon/templates/codegen.d.ts.map +1 -0
  43. package/dist/cli/commands/init-lexicon/templates/docs.d.ts +9 -0
  44. package/dist/cli/commands/init-lexicon/templates/docs.d.ts.map +1 -0
  45. package/dist/cli/commands/init-lexicon/templates/examples.d.ts +8 -0
  46. package/dist/cli/commands/init-lexicon/templates/examples.d.ts.map +1 -0
  47. package/dist/cli/commands/init-lexicon/templates/lint.d.ts +8 -0
  48. package/dist/cli/commands/init-lexicon/templates/lint.d.ts.map +1 -0
  49. package/dist/cli/commands/init-lexicon/templates/lsp.d.ts +6 -0
  50. package/dist/cli/commands/init-lexicon/templates/lsp.d.ts.map +1 -0
  51. package/dist/cli/commands/init-lexicon/templates/plugin.d.ts +12 -0
  52. package/dist/cli/commands/init-lexicon/templates/plugin.d.ts.map +1 -0
  53. package/dist/cli/commands/init-lexicon/templates/project.d.ts +19 -0
  54. package/dist/cli/commands/init-lexicon/templates/project.d.ts.map +1 -0
  55. package/dist/cli/commands/init-lexicon/templates/spec.d.ts +6 -0
  56. package/dist/cli/commands/init-lexicon/templates/spec.d.ts.map +1 -0
  57. package/dist/cli/commands/init-lexicon/templates/tests.d.ts +12 -0
  58. package/dist/cli/commands/init-lexicon/templates/tests.d.ts.map +1 -0
  59. package/dist/cli/commands/init-lexicon.d.ts +37 -0
  60. package/dist/cli/commands/init-lexicon.d.ts.map +1 -0
  61. package/dist/cli/commands/init.d.ts +48 -0
  62. package/dist/cli/commands/init.d.ts.map +1 -0
  63. package/dist/cli/commands/licenses.d.ts +23 -0
  64. package/dist/cli/commands/licenses.d.ts.map +1 -0
  65. package/dist/cli/commands/lint.d.ts +52 -0
  66. package/dist/cli/commands/lint.d.ts.map +1 -0
  67. package/dist/cli/commands/list.d.ts +38 -0
  68. package/dist/cli/commands/list.d.ts.map +1 -0
  69. package/dist/cli/commands/migrate.d.ts +51 -0
  70. package/dist/cli/commands/migrate.d.ts.map +1 -0
  71. package/dist/cli/commands/onboard.d.ts +19 -0
  72. package/dist/cli/commands/onboard.d.ts.map +1 -0
  73. package/dist/cli/commands/update.d.ts +29 -0
  74. package/dist/cli/commands/update.d.ts.map +1 -0
  75. package/dist/cli/commands/vendor.d.ts +84 -0
  76. package/dist/cli/commands/vendor.d.ts.map +1 -0
  77. package/dist/cli/conflict-check.d.ts +18 -0
  78. package/dist/cli/conflict-check.d.ts.map +1 -0
  79. package/dist/cli/debug.d.ts +5 -0
  80. package/dist/cli/debug.d.ts.map +1 -0
  81. package/dist/cli/format.d.ts +36 -0
  82. package/dist/cli/format.d.ts.map +1 -0
  83. package/dist/cli/handlers/build.d.ts +3 -0
  84. package/dist/cli/handlers/build.d.ts.map +1 -0
  85. package/dist/cli/handlers/dev.d.ts +7 -0
  86. package/dist/cli/handlers/dev.d.ts.map +1 -0
  87. package/dist/cli/handlers/graph.d.ts +8 -0
  88. package/dist/cli/handlers/graph.d.ts.map +1 -0
  89. package/dist/cli/handlers/init.d.ts +4 -0
  90. package/dist/cli/handlers/init.d.ts.map +1 -0
  91. package/dist/cli/handlers/lifecycle.d.ts +39 -0
  92. package/dist/cli/handlers/lifecycle.d.ts.map +1 -0
  93. package/dist/cli/handlers/lint.d.ts +3 -0
  94. package/dist/cli/handlers/lint.d.ts.map +1 -0
  95. package/dist/cli/handlers/migrate.d.ts +3 -0
  96. package/dist/cli/handlers/migrate.d.ts.map +1 -0
  97. package/dist/cli/handlers/misc.d.ts +8 -0
  98. package/dist/cli/handlers/misc.d.ts.map +1 -0
  99. package/dist/cli/handlers/run-client.d.ts +107 -0
  100. package/dist/cli/handlers/run-client.d.ts.map +1 -0
  101. package/dist/cli/handlers/run-report.d.ts +5 -0
  102. package/dist/cli/handlers/run-report.d.ts.map +1 -0
  103. package/dist/cli/handlers/run.d.ts +27 -0
  104. package/dist/cli/handlers/run.d.ts.map +1 -0
  105. package/dist/cli/handlers/serve.d.ts +5 -0
  106. package/dist/cli/handlers/serve.d.ts.map +1 -0
  107. package/dist/cli/handlers/vendor.d.ts +9 -0
  108. package/dist/cli/handlers/vendor.d.ts.map +1 -0
  109. package/dist/cli/index.d.ts +4 -0
  110. package/dist/cli/index.d.ts.map +1 -0
  111. package/dist/cli/lsp/capabilities.d.ts +21 -0
  112. package/dist/cli/lsp/capabilities.d.ts.map +1 -0
  113. package/dist/cli/lsp/diagnostics.d.ts +30 -0
  114. package/dist/cli/lsp/diagnostics.d.ts.map +1 -0
  115. package/dist/cli/lsp/server.d.ts +106 -0
  116. package/dist/cli/lsp/server.d.ts.map +1 -0
  117. package/dist/cli/main.d.ts +7 -0
  118. package/dist/cli/main.d.ts.map +1 -0
  119. package/dist/cli/mcp/lifecycle-tools.d.ts +15 -0
  120. package/dist/cli/mcp/lifecycle-tools.d.ts.map +1 -0
  121. package/dist/cli/mcp/op-tools.d.ts +7 -0
  122. package/dist/cli/mcp/op-tools.d.ts.map +1 -0
  123. package/dist/cli/mcp/resource-handlers.d.ts +28 -0
  124. package/dist/cli/mcp/resource-handlers.d.ts.map +1 -0
  125. package/dist/cli/mcp/resources/context.d.ts +6 -0
  126. package/dist/cli/mcp/resources/context.d.ts.map +1 -0
  127. package/dist/cli/mcp/server.d.ts +44 -0
  128. package/dist/cli/mcp/server.d.ts.map +1 -0
  129. package/dist/cli/mcp/tools/build.d.ts +31 -0
  130. package/dist/cli/mcp/tools/build.d.ts.map +1 -0
  131. package/dist/cli/mcp/tools/explain.d.ts +27 -0
  132. package/dist/cli/mcp/tools/explain.d.ts.map +1 -0
  133. package/dist/cli/mcp/tools/import.d.ts +26 -0
  134. package/dist/cli/mcp/tools/import.d.ts.map +1 -0
  135. package/dist/cli/mcp/tools/lint.d.ts +26 -0
  136. package/dist/cli/mcp/tools/lint.d.ts.map +1 -0
  137. package/dist/cli/mcp/tools/scaffold.d.ts +31 -0
  138. package/dist/cli/mcp/tools/scaffold.d.ts.map +1 -0
  139. package/dist/cli/mcp/tools/search.d.ts +31 -0
  140. package/dist/cli/mcp/tools/search.d.ts.map +1 -0
  141. package/dist/cli/mcp/types.d.ts +42 -0
  142. package/dist/cli/mcp/types.d.ts.map +1 -0
  143. package/dist/cli/plugins.d.ts +21 -0
  144. package/dist/cli/plugins.d.ts.map +1 -0
  145. package/dist/cli/registry.d.ts +100 -0
  146. package/dist/cli/registry.d.ts.map +1 -0
  147. package/dist/cli/reporters/stylish.d.ts +26 -0
  148. package/dist/cli/reporters/stylish.d.ts.map +1 -0
  149. package/dist/cli/watch.d.ts +29 -0
  150. package/dist/cli/watch.d.ts.map +1 -0
  151. package/dist/codegen/bound-property-types.d.ts +38 -0
  152. package/dist/codegen/bound-property-types.d.ts.map +1 -0
  153. package/dist/codegen/coverage.d.ts +57 -0
  154. package/dist/codegen/coverage.d.ts.map +1 -0
  155. package/dist/codegen/docs-file-markers.d.ts +16 -0
  156. package/dist/codegen/docs-file-markers.d.ts.map +1 -0
  157. package/dist/codegen/docs-rule-scanning.d.ts +14 -0
  158. package/dist/codegen/docs-rule-scanning.d.ts.map +1 -0
  159. package/dist/codegen/docs-rules.d.ts +17 -0
  160. package/dist/codegen/docs-rules.d.ts.map +1 -0
  161. package/dist/codegen/docs-sections.d.ts +11 -0
  162. package/dist/codegen/docs-sections.d.ts.map +1 -0
  163. package/dist/codegen/docs-sidebar.d.ts +6 -0
  164. package/dist/codegen/docs-sidebar.d.ts.map +1 -0
  165. package/dist/codegen/docs-types.d.ts +84 -0
  166. package/dist/codegen/docs-types.d.ts.map +1 -0
  167. package/dist/codegen/docs.d.ts +28 -0
  168. package/dist/codegen/docs.d.ts.map +1 -0
  169. package/dist/codegen/fetch.d.ts +76 -0
  170. package/dist/codegen/fetch.d.ts.map +1 -0
  171. package/dist/codegen/generate-post-synth-barrel.d.ts +32 -0
  172. package/dist/codegen/generate-post-synth-barrel.d.ts.map +1 -0
  173. package/dist/codegen/generate-registry.d.ts +40 -0
  174. package/dist/codegen/generate-registry.d.ts.map +1 -0
  175. package/dist/codegen/generate-runtime-index.d.ts +40 -0
  176. package/dist/codegen/generate-runtime-index.d.ts.map +1 -0
  177. package/dist/codegen/generate-typescript.d.ts +48 -0
  178. package/dist/codegen/generate-typescript.d.ts.map +1 -0
  179. package/dist/codegen/generate.d.ts +92 -0
  180. package/dist/codegen/generate.d.ts.map +1 -0
  181. package/dist/codegen/json-patch.d.ts +12 -0
  182. package/dist/codegen/json-patch.d.ts.map +1 -0
  183. package/dist/codegen/json-schema.d.ts +82 -0
  184. package/dist/codegen/json-schema.d.ts.map +1 -0
  185. package/dist/codegen/naming.d.ts +64 -0
  186. package/dist/codegen/naming.d.ts.map +1 -0
  187. package/dist/codegen/package.d.ts +64 -0
  188. package/dist/codegen/package.d.ts.map +1 -0
  189. package/dist/codegen/topo-sort.d.ts +13 -0
  190. package/dist/codegen/topo-sort.d.ts.map +1 -0
  191. package/dist/codegen/typecheck.d.ts +10 -0
  192. package/dist/codegen/typecheck.d.ts.map +1 -0
  193. package/dist/codegen/validate.d.ts +45 -0
  194. package/dist/codegen/validate.d.ts.map +1 -0
  195. package/dist/composite.d.ts +116 -0
  196. package/dist/composite.d.ts.map +1 -0
  197. package/dist/config.d.ts +78 -0
  198. package/dist/config.d.ts.map +1 -0
  199. package/dist/declarable.d.ts +34 -0
  200. package/dist/declarable.d.ts.map +1 -0
  201. package/dist/detectLexicon.d.ts +10 -0
  202. package/dist/detectLexicon.d.ts.map +1 -0
  203. package/dist/discovery/cache.d.ts +36 -0
  204. package/dist/discovery/cache.d.ts.map +1 -0
  205. package/dist/discovery/collect.d.ts +17 -0
  206. package/dist/discovery/collect.d.ts.map +1 -0
  207. package/dist/discovery/cycles.d.ts +23 -0
  208. package/dist/discovery/cycles.d.ts.map +1 -0
  209. package/dist/discovery/files.d.ts +7 -0
  210. package/dist/discovery/files.d.ts.map +1 -0
  211. package/dist/discovery/graph.d.ts +8 -0
  212. package/dist/discovery/graph.d.ts.map +1 -0
  213. package/dist/discovery/import.d.ts +9 -0
  214. package/dist/discovery/import.d.ts.map +1 -0
  215. package/dist/discovery/index.d.ts +25 -0
  216. package/dist/discovery/index.d.ts.map +1 -0
  217. package/dist/discovery/resolve.d.ts +10 -0
  218. package/dist/discovery/resolve.d.ts.map +1 -0
  219. package/dist/errors.d.ts +49 -0
  220. package/dist/errors.d.ts.map +1 -0
  221. package/dist/import/base-parser.d.ts +19 -0
  222. package/dist/import/base-parser.d.ts.map +1 -0
  223. package/dist/import/generator.d.ts +20 -0
  224. package/dist/import/generator.d.ts.map +1 -0
  225. package/dist/import/ir-utils.d.ts +25 -0
  226. package/dist/import/ir-utils.d.ts.map +1 -0
  227. package/dist/import/parser.d.ts +39 -0
  228. package/dist/import/parser.d.ts.map +1 -0
  229. package/dist/index.d.ts +66 -0
  230. package/dist/index.d.ts.map +1 -0
  231. package/dist/intrinsic-interpolation.d.ts +24 -0
  232. package/dist/intrinsic-interpolation.d.ts.map +1 -0
  233. package/dist/intrinsic.d.ts +24 -0
  234. package/dist/intrinsic.d.ts.map +1 -0
  235. package/dist/lexicon-integrity.d.ts +25 -0
  236. package/dist/lexicon-integrity.d.ts.map +1 -0
  237. package/dist/lexicon-manifest.d.ts +9 -0
  238. package/dist/lexicon-manifest.d.ts.map +1 -0
  239. package/dist/lexicon-output.d.ts +66 -0
  240. package/dist/lexicon-output.d.ts.map +1 -0
  241. package/dist/lexicon-plugin-helpers.d.ts +59 -0
  242. package/dist/lexicon-plugin-helpers.d.ts.map +1 -0
  243. package/dist/lexicon-schema.d.ts +82 -0
  244. package/dist/lexicon-schema.d.ts.map +1 -0
  245. package/dist/lexicon.d.ts +383 -0
  246. package/dist/lexicon.d.ts.map +1 -0
  247. package/dist/lifecycle/affected.d.ts +57 -0
  248. package/dist/lifecycle/affected.d.ts.map +1 -0
  249. package/dist/lifecycle/change-set.d.ts +90 -0
  250. package/dist/lifecycle/change-set.d.ts.map +1 -0
  251. package/dist/lifecycle/digest.d.ts +21 -0
  252. package/dist/lifecycle/digest.d.ts.map +1 -0
  253. package/dist/lifecycle/git.d.ts +72 -0
  254. package/dist/lifecycle/git.d.ts.map +1 -0
  255. package/dist/lifecycle/index.d.ts +8 -0
  256. package/dist/lifecycle/index.d.ts.map +1 -0
  257. package/dist/lifecycle/live-diff.d.ts +67 -0
  258. package/dist/lifecycle/live-diff.d.ts.map +1 -0
  259. package/dist/lifecycle/snapshot.d.ts +20 -0
  260. package/dist/lifecycle/snapshot.d.ts.map +1 -0
  261. package/dist/lifecycle/types.d.ts +61 -0
  262. package/dist/lifecycle/types.d.ts.map +1 -0
  263. package/dist/lint/config.d.ts +100 -0
  264. package/dist/lint/config.d.ts.map +1 -0
  265. package/dist/lint/declarative.d.ts +56 -0
  266. package/dist/lint/declarative.d.ts.map +1 -0
  267. package/dist/lint/discover.d.ts +35 -0
  268. package/dist/lint/discover.d.ts.map +1 -0
  269. package/dist/lint/engine.d.ts +21 -0
  270. package/dist/lint/engine.d.ts.map +1 -0
  271. package/dist/lint/named-checks.d.ts +19 -0
  272. package/dist/lint/named-checks.d.ts.map +1 -0
  273. package/dist/lint/parser.d.ts +9 -0
  274. package/dist/lint/parser.d.ts.map +1 -0
  275. package/dist/lint/policy.d.ts +22 -0
  276. package/dist/lint/policy.d.ts.map +1 -0
  277. package/dist/lint/post-synth.d.ts +69 -0
  278. package/dist/lint/post-synth.d.ts.map +1 -0
  279. package/dist/lint/presets/strict.json +19 -0
  280. package/dist/lint/rule-loader.d.ts +16 -0
  281. package/dist/lint/rule-loader.d.ts.map +1 -0
  282. package/dist/lint/rule-registry.d.ts +37 -0
  283. package/dist/lint/rule-registry.d.ts.map +1 -0
  284. package/dist/lint/rule.d.ts +82 -0
  285. package/dist/lint/rule.d.ts.map +1 -0
  286. package/dist/lint/rules/composite-scope.d.ts +18 -0
  287. package/dist/lint/rules/composite-scope.d.ts.map +1 -0
  288. package/dist/lint/rules/cor017-composite-name-match.d.ts +3 -0
  289. package/dist/lint/rules/cor017-composite-name-match.d.ts.map +1 -0
  290. package/dist/lint/rules/cor018-composite-prefer-lexicon-type.d.ts +3 -0
  291. package/dist/lint/rules/cor018-composite-prefer-lexicon-type.d.ts.map +1 -0
  292. package/dist/lint/rules/declarable-naming-convention.d.ts +3 -0
  293. package/dist/lint/rules/declarable-naming-convention.d.ts.map +1 -0
  294. package/dist/lint/rules/evl001-non-literal-expression.d.ts +3 -0
  295. package/dist/lint/rules/evl001-non-literal-expression.d.ts.map +1 -0
  296. package/dist/lint/rules/evl002-control-flow-resource.d.ts +3 -0
  297. package/dist/lint/rules/evl002-control-flow-resource.d.ts.map +1 -0
  298. package/dist/lint/rules/evl003-dynamic-property-access.d.ts +3 -0
  299. package/dist/lint/rules/evl003-dynamic-property-access.d.ts.map +1 -0
  300. package/dist/lint/rules/evl004-spread-non-const.d.ts +3 -0
  301. package/dist/lint/rules/evl004-spread-non-const.d.ts.map +1 -0
  302. package/dist/lint/rules/evl005-resource-block-body.d.ts +3 -0
  303. package/dist/lint/rules/evl005-resource-block-body.d.ts.map +1 -0
  304. package/dist/lint/rules/evl007-invalid-siblings.d.ts +3 -0
  305. package/dist/lint/rules/evl007-invalid-siblings.d.ts.map +1 -0
  306. package/dist/lint/rules/evl009-composite-no-constant.d.ts +3 -0
  307. package/dist/lint/rules/evl009-composite-no-constant.d.ts.map +1 -0
  308. package/dist/lint/rules/evl010-composite-no-transform.d.ts +3 -0
  309. package/dist/lint/rules/evl010-composite-no-transform.d.ts.map +1 -0
  310. package/dist/lint/rules/export-required.d.ts +3 -0
  311. package/dist/lint/rules/export-required.d.ts.map +1 -0
  312. package/dist/lint/rules/file-declarable-limit.d.ts +3 -0
  313. package/dist/lint/rules/file-declarable-limit.d.ts.map +1 -0
  314. package/dist/lint/rules/flat-declarations.d.ts +3 -0
  315. package/dist/lint/rules/flat-declarations.d.ts.map +1 -0
  316. package/dist/lint/rules/index.d.ts +31 -0
  317. package/dist/lint/rules/index.d.ts.map +1 -0
  318. package/dist/lint/rules/no-cyclic-declarable-ref.d.ts +3 -0
  319. package/dist/lint/rules/no-cyclic-declarable-ref.d.ts.map +1 -0
  320. package/dist/lint/rules/no-redundant-type-import.d.ts +10 -0
  321. package/dist/lint/rules/no-redundant-type-import.d.ts.map +1 -0
  322. package/dist/lint/rules/no-redundant-value-cast.d.ts +3 -0
  323. package/dist/lint/rules/no-redundant-value-cast.d.ts.map +1 -0
  324. package/dist/lint/rules/no-string-ref.d.ts +3 -0
  325. package/dist/lint/rules/no-string-ref.d.ts.map +1 -0
  326. package/dist/lint/rules/no-unused-declarable-import.d.ts +3 -0
  327. package/dist/lint/rules/no-unused-declarable-import.d.ts.map +1 -0
  328. package/dist/lint/rules/no-unused-declarable.d.ts +3 -0
  329. package/dist/lint/rules/no-unused-declarable.d.ts.map +1 -0
  330. package/dist/lint/rules/single-concern-file.d.ts +3 -0
  331. package/dist/lint/rules/single-concern-file.d.ts.map +1 -0
  332. package/dist/lint/selectors.d.ts +21 -0
  333. package/dist/lint/selectors.d.ts.map +1 -0
  334. package/dist/lsp/lexicon-providers.d.ts +61 -0
  335. package/dist/lsp/lexicon-providers.d.ts.map +1 -0
  336. package/dist/lsp/types.d.ts +64 -0
  337. package/dist/lsp/types.d.ts.map +1 -0
  338. package/dist/mcp/types.d.ts +21 -0
  339. package/dist/mcp/types.d.ts.map +1 -0
  340. package/dist/op/activity-registry.d.ts +57 -0
  341. package/dist/op/activity-registry.d.ts.map +1 -0
  342. package/dist/op/builders.d.ts +69 -0
  343. package/dist/op/builders.d.ts.map +1 -0
  344. package/dist/op/discover.d.ts +16 -0
  345. package/dist/op/discover.d.ts.map +1 -0
  346. package/dist/op/index.d.ts +11 -0
  347. package/dist/op/index.d.ts.map +1 -0
  348. package/dist/op/local-executor.d.ts +54 -0
  349. package/dist/op/local-executor.d.ts.map +1 -0
  350. package/dist/op/local-output.d.ts +16 -0
  351. package/dist/op/local-output.d.ts.map +1 -0
  352. package/dist/op/resource.d.ts +7 -0
  353. package/dist/op/resource.d.ts.map +1 -0
  354. package/dist/op/types.d.ts +71 -0
  355. package/dist/op/types.d.ts.map +1 -0
  356. package/dist/ownership.d.ts +75 -0
  357. package/dist/ownership.d.ts.map +1 -0
  358. package/dist/project-validation.d.ts +28 -0
  359. package/dist/project-validation.d.ts.map +1 -0
  360. package/dist/provenance.d.ts +26 -0
  361. package/dist/provenance.d.ts.map +1 -0
  362. package/dist/pseudo-parameter.d.ts +32 -0
  363. package/dist/pseudo-parameter.d.ts.map +1 -0
  364. package/dist/resource-attributes.d.ts +17 -0
  365. package/dist/resource-attributes.d.ts.map +1 -0
  366. package/dist/runtime-adapter.d.ts +41 -0
  367. package/dist/runtime-adapter.d.ts.map +1 -0
  368. package/dist/runtime.d.ts +23 -0
  369. package/dist/runtime.d.ts.map +1 -0
  370. package/dist/serializer-walker.d.ts +21 -0
  371. package/dist/serializer-walker.d.ts.map +1 -0
  372. package/dist/serializer.d.ts +64 -0
  373. package/dist/serializer.d.ts.map +1 -0
  374. package/dist/sort.d.ts +8 -0
  375. package/dist/sort.d.ts.map +1 -0
  376. package/dist/stack-output.d.ts +52 -0
  377. package/dist/stack-output.d.ts.map +1 -0
  378. package/dist/toml-emit.d.ts +22 -0
  379. package/dist/toml-emit.d.ts.map +1 -0
  380. package/dist/toml-parse.d.ts +14 -0
  381. package/dist/toml-parse.d.ts.map +1 -0
  382. package/dist/toml-utils.d.ts +20 -0
  383. package/dist/toml-utils.d.ts.map +1 -0
  384. package/dist/toml.d.ts +9 -0
  385. package/dist/toml.d.ts.map +1 -0
  386. package/dist/types.d.ts +47 -0
  387. package/dist/types.d.ts.map +1 -0
  388. package/dist/utils.d.ts +30 -0
  389. package/dist/utils.d.ts.map +1 -0
  390. package/dist/validation.d.ts +42 -0
  391. package/dist/validation.d.ts.map +1 -0
  392. package/dist/yaml.d.ts +42 -0
  393. package/dist/yaml.d.ts.map +1 -0
  394. package/package.json +31 -6
  395. package/src/audit/bundle-decoupling.test.ts +56 -0
  396. package/src/audit/catalog.test.ts +16 -1
  397. package/src/audit/catalog.ts +244 -4
  398. package/src/audit/core.test.ts +15 -0
  399. package/src/audit/core.ts +0 -0
  400. package/src/audit/detect-bundle.test.ts +35 -0
  401. package/src/audit/discover.test.ts +72 -0
  402. package/src/audit/discover.ts +329 -0
  403. package/src/audit/edge-init-safety.test.ts +43 -0
  404. package/src/audit/fetch.test.ts +136 -55
  405. package/src/audit/fetch.ts +175 -91
  406. package/src/audit/remote-discovery.test.ts +80 -0
  407. package/src/audit/report-html.ts +14 -6
  408. package/src/audit/report-model.ts +13 -1
  409. package/src/audit/report.test.ts +3 -1
  410. package/src/audit/report.ts +13 -5
  411. package/src/cli/commands/__fixtures__/audit-mixed/.github/workflows/ci.yml +5 -0
  412. package/src/cli/commands/__fixtures__/audit-mixed/Dockerfile +2 -0
  413. package/src/cli/commands/__fixtures__/audit-mixed/cfn/template.json +1 -0
  414. package/src/cli/commands/__fixtures__/audit-mixed/k8s/deploy.yaml +12 -0
  415. package/src/cli/commands/audit.test.ts +27 -19
  416. package/src/cli/commands/audit.ts +28 -272
  417. package/src/codegen/bound-property-types.test.ts +57 -0
  418. package/src/codegen/bound-property-types.ts +110 -0
  419. package/src/codegen/generate-post-synth-barrel.test.ts +37 -0
  420. package/src/codegen/generate-post-synth-barrel.ts +75 -0
  421. package/src/codegen/post-synth-barrel-guards.test.ts +63 -0
  422. package/src/codegen/validate.ts +13 -1
  423. package/src/lint/discover.ts +1 -1
  424. package/src/meta/peer-deps.test.ts +29 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Generic documentation pipeline for lexicons.
3
+ *
4
+ * Reads manifest.json and meta.json from a packaged lexicon's dist/ directory,
5
+ * collects rule metadata from source, and generates structured MDX reference
6
+ * pages. Individual lexicons supply callbacks for provider-specific formatting
7
+ * (service grouping, resource type URLs, custom overview content).
8
+ */
9
+ import type { DocsConfig, DocsResult } from "./docs-types.js";
10
+ export { expandFileMarkers } from "./docs-file-markers.js";
11
+ export type { DocsConfig, DocsResult } from "./docs-types.js";
12
+ /**
13
+ * Run the documentation pipeline with the supplied config.
14
+ */
15
+ export declare function docsPipeline(config: DocsConfig): DocsResult;
16
+ /**
17
+ * Write generated docs pages to disk.
18
+ */
19
+ export declare function writeDocsPages(result: DocsResult, outDir: string): void;
20
+ /**
21
+ * Scaffold a standalone Starlight docs site from pipeline results.
22
+ *
23
+ * Writes: package.json, astro.config.mjs, tsconfig.json, and all content
24
+ * pages under src/content/docs/. The resulting directory can be built with
25
+ * `npm install && npm run build`.
26
+ */
27
+ export declare function writeDocsSite(config: DocsConfig, result: DocsResult): void;
28
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/codegen/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAA2B,MAAM,cAAc,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI3D;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAuG3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAoG1E"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Generic HTTP fetch with caching and zip extraction utilities.
3
+ *
4
+ * Provides the download + cache + zip pattern used by lexicon codegen
5
+ * pipelines that fetch schemas from remote sources.
6
+ */
7
+ export interface FetchConfig {
8
+ /** URL to fetch. */
9
+ url: string;
10
+ /** Local file path for caching the download. */
11
+ cacheFile: string;
12
+ /** Cache TTL in milliseconds (default: 24 hours). */
13
+ cacheTtlMs?: number;
14
+ }
15
+ /**
16
+ * Fetch a URL, retrying on transient failures (network errors and
17
+ * retryable HTTP statuses) with exponential backoff.
18
+ *
19
+ * Permanent failures (e.g. 404, 403) are not retried — they throw on the
20
+ * first response. The returned response is guaranteed `ok`.
21
+ *
22
+ * `init` is passed through to `fetch` on every attempt, so callers that
23
+ * need request headers (e.g. the GitHub API `Accept` header) or an abort
24
+ * signal get retries without duplicating the loop.
25
+ */
26
+ export declare function fetchWithRetry(url: string, retries?: number, backoffMs?: number, init?: RequestInit): Promise<Response>;
27
+ /**
28
+ * Fetch a URL with local file caching.
29
+ *
30
+ * Returns cached data if the cache file exists and is younger than cacheTtlMs.
31
+ * Otherwise downloads from the URL, caches the result, and returns it.
32
+ */
33
+ export declare function fetchWithCache(config: FetchConfig, force?: boolean): Promise<Buffer>;
34
+ /**
35
+ * Extract files from a zip buffer using fflate.
36
+ *
37
+ * @param filter - Optional predicate to select which files to include.
38
+ * Receives the file name (path within the zip). Defaults to all files.
39
+ * @returns Map of filename → Buffer for each extracted file.
40
+ */
41
+ export declare function extractFromZip(zipData: Buffer, filter?: (name: string) => boolean): Promise<Map<string, Buffer>>;
42
+ /**
43
+ * Extract files from an uncompressed tar buffer.
44
+ *
45
+ * The caller handles gunzip (via `fflate.gunzipSync` or `zlib.gunzipSync`)
46
+ * and any prefix stripping. Returns `Map<path, Buffer>`.
47
+ *
48
+ * @param filter - Optional predicate to select which files to include.
49
+ * Receives the full file name (path within the tar). Defaults to all regular files.
50
+ */
51
+ export declare function extractFromTar(tarData: Uint8Array, filter?: (path: string) => boolean): Map<string, Buffer>;
52
+ export interface FetchTarConfig {
53
+ /** URL of the gzipped tarball. */
54
+ url: string;
55
+ /** Local directory for extracted files. */
56
+ destDir: string;
57
+ /** Cache TTL in milliseconds (default: 7 days). */
58
+ cacheTtlMs?: number;
59
+ }
60
+ /**
61
+ * Fetch a gzipped tarball, extract files matching `tarPrefix`, and cache them
62
+ * in `destDir`. Returns `destDir`.
63
+ *
64
+ * Checks `destDir` mtime against TTL. If fresh, returns immediately.
65
+ * Otherwise downloads, gunzips, extracts matching files, and writes to `destDir`.
66
+ *
67
+ * @param tarPrefix - Only files whose path (after stripping the top-level directory)
68
+ * starts with this prefix will be extracted.
69
+ * @param force - If true, ignore cache and re-download.
70
+ */
71
+ export declare function fetchAndExtractTar(config: FetchTarConfig, tarPrefix: string, force?: boolean): Promise<string>;
72
+ /**
73
+ * Clear a cache file. Ignores errors if the file doesn't exist.
74
+ */
75
+ export declare function clearCacheFile(cacheFile: string): void;
76
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/codegen/fetch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,SAAkB,EACzB,SAAS,SAAqB,EAC9B,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CA2BnB;AAMD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BxF;AAID;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAU9B;AAID;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACjC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyDrB;AAID,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAMtD"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Generate a static, importable barrel of a lexicon's post-synth checks.
3
+ *
4
+ * The runtime loader (`discoverPostSynthChecks`) readdir-globs the directory and
5
+ * `require()`s each file via tsx — fs- and tsx-coupled, so it can't run in a
6
+ * bundle or on an edge runtime (Cloudflare Workers). This generator produces a
7
+ * committed `lint/post-synth/index.ts` with explicit static imports + an exported
8
+ * `postSynthChecks` array, which bundlers can follow with no fs/tsx/require. See #409.
9
+ *
10
+ * Detection reuses the runtime's own `isPostSynthCheck`, so the barrel contains
11
+ * exactly the checks discovery would — including files whose export name differs
12
+ * from the filename (docker/helm/temporal) and excluding helper modules
13
+ * (cf-refs, arm-refs, …) that export no check.
14
+ */
15
+ export interface BarrelEntry {
16
+ /** Module specifier relative to the barrel, e.g. "./gha021" or "./apt-no-recommends". */
17
+ module: string;
18
+ /** Exported binding holding the check, e.g. "gha021" or "dkrd010". */
19
+ exportName: string;
20
+ /** The check's id (e.g. "GHA021"), used for stable ordering. */
21
+ id: string;
22
+ }
23
+ /**
24
+ * Scan a post-synth directory and return one entry per exported check.
25
+ * Runs at codegen time on Node (tsx-powered require), never in the shipped path.
26
+ */
27
+ export declare function scanPostSynthChecks(dir: string, importMetaUrl: string): BarrelEntry[];
28
+ /** Render the barrel file content from scanned entries (pure — easy to unit test). */
29
+ export declare function generatePostSynthBarrel(entries: BarrelEntry[]): string;
30
+ /** Scan a directory and render its barrel in one step. */
31
+ export declare function renderPostSynthBarrelForDir(dir: string, importMetaUrl: string): string;
32
+ //# sourceMappingURL=generate-post-synth-barrel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-post-synth-barrel.d.ts","sourceRoot":"","sources":["../../src/codegen/generate-post-synth-barrel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CAkBrF;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAgBtE;AAED,0DAA0D;AAC1D,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Generic lexicon registry builder.
3
+ *
4
+ * Implements the shared loop: iterate parsed results, resolve naming,
5
+ * build attrs/constraints maps, call format-specific entry builders,
6
+ * handle aliases and property type sub-entries.
7
+ */
8
+ import type { NamingStrategy } from "./naming.js";
9
+ import { type PropertyConstraints } from "./json-schema.js";
10
+ export interface RegistryResource {
11
+ typeName: string;
12
+ attributes: {
13
+ name: string;
14
+ }[];
15
+ properties: {
16
+ name: string;
17
+ constraints: PropertyConstraints;
18
+ }[];
19
+ propertyTypes: {
20
+ name: string;
21
+ specType: string;
22
+ }[];
23
+ }
24
+ export interface RegistryConfig<E> {
25
+ /** Short name extractor (e.g. shortName from the spec type). */
26
+ shortName: (typeName: string) => string;
27
+ /** Build a resource entry from parsed data. */
28
+ buildEntry: (resource: RegistryResource, tsName: string, attrs: Record<string, string> | undefined, propConstraints: Record<string, PropertyConstraints> | undefined) => E;
29
+ /** Build a property type entry. */
30
+ buildPropertyEntry: (resourceType: string, propertyType: string) => E;
31
+ }
32
+ /**
33
+ * Build a registry of entries from parsed results using the naming strategy.
34
+ */
35
+ export declare function buildRegistry<E>(results: RegistryResource[], naming: NamingStrategy, config: RegistryConfig<E>): Record<string, E>;
36
+ /**
37
+ * Sort registry keys and serialize to JSON.
38
+ */
39
+ export declare function serializeRegistry(entries: Record<string, unknown>): string;
40
+ //# sourceMappingURL=generate-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-registry.d.ts","sourceRoot":"","sources":["../../src/codegen/generate-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,mBAAmB,CAAA;KAAE,EAAE,CAAC;IACjE,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,gEAAgE;IAChE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,+CAA+C;IAC/C,UAAU,EAAE,CACV,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,KAC7D,CAAC,CAAC;IACP,mCAAmC;IACnC,kBAAkB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAuDnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAM1E"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Generic runtime index generator for lexicon packages.
3
+ *
4
+ * Produces the `index.ts` file containing factory constructor exports
5
+ * (`createResource`, `createProperty`) and collision-safe re-exports.
6
+ */
7
+ export interface RuntimeIndexConfig {
8
+ /** Lexicon identifier: "aws", "terraform", etc. */
9
+ lexiconName: string;
10
+ /** Optional re-exports of intrinsic functions. */
11
+ intrinsicReExports?: {
12
+ names: string[];
13
+ from: string;
14
+ };
15
+ /** Optional re-exports of pseudo-parameters. */
16
+ pseudoReExports?: {
17
+ names: string[];
18
+ from: string;
19
+ };
20
+ }
21
+ export interface RuntimeIndexEntry {
22
+ tsName: string;
23
+ resourceType: string;
24
+ attrs: Record<string, string>;
25
+ }
26
+ export interface RuntimeIndexPropertyEntry {
27
+ tsName: string;
28
+ resourceType: string;
29
+ }
30
+ /**
31
+ * Generate the runtime index.ts content with factory constructor exports.
32
+ *
33
+ * Phases:
34
+ * 1. Banner + import createResource/createProperty
35
+ * 2. Sort and emit resource exports
36
+ * 3. Sort and emit property exports
37
+ * 4. Collision-safe re-exports of intrinsics and pseudo-parameters
38
+ */
39
+ export declare function generateRuntimeIndex(resources: RuntimeIndexEntry[], properties: RuntimeIndexPropertyEntry[], config: RuntimeIndexConfig): string;
40
+ //# sourceMappingURL=generate-runtime-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-runtime-index.d.ts","sourceRoot":"","sources":["../../src/codegen/generate-runtime-index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gDAAgD;IAChD,eAAe,CAAC,EAAE;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,iBAAiB,EAAE,EAC9B,UAAU,EAAE,yBAAyB,EAAE,EACvC,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAoDR"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Generic TypeScript declaration (.d.ts) generation utilities.
3
+ *
4
+ * Provides functions for writing resource classes, property classes,
5
+ * constructors, and enum types. Lexicon-specific generators use these
6
+ * building blocks with their own orchestration logic.
7
+ */
8
+ export interface DtsProperty {
9
+ name: string;
10
+ type: string;
11
+ required: boolean;
12
+ description?: string;
13
+ }
14
+ export interface DtsAttribute {
15
+ name: string;
16
+ type: string;
17
+ }
18
+ export interface DtsPropertyType {
19
+ name: string;
20
+ properties: DtsProperty[];
21
+ }
22
+ export interface DtsResource {
23
+ typeName: string;
24
+ properties: DtsProperty[];
25
+ attributes: DtsAttribute[];
26
+ }
27
+ /**
28
+ * Write a resource class declaration with constructor and readonly attributes.
29
+ */
30
+ export declare function writeResourceClass(lines: string[], tsName: string, properties: DtsProperty[], attributes: DtsAttribute[], remap?: Map<string, string>, resourceAttributesType?: string): void;
31
+ /**
32
+ * Write a property class declaration with constructor.
33
+ */
34
+ export declare function writePropertyClass(lines: string[], tsName: string, properties: DtsProperty[], remap?: Map<string, string>): void;
35
+ /**
36
+ * Write a constructor with typed props parameter.
37
+ */
38
+ export declare function writeConstructor(lines: string[], props: DtsProperty[], remap: Map<string, string> | undefined, resourceAttributesType?: string): void;
39
+ /**
40
+ * Write an enum union type.
41
+ */
42
+ export declare function writeEnumType(lines: string[], tsName: string, values: string[]): void;
43
+ /**
44
+ * Resolve a type string through the remap table, handling arrays and
45
+ * common type normalization.
46
+ */
47
+ export declare function resolveConstructorType(tsType: string, remap: Map<string, string> | undefined): string;
48
+ //# sourceMappingURL=generate-typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-typescript.d.ts","sourceRoot":"","sources":["../../src/codegen/generate-typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,WAAW,EAAE,EACzB,UAAU,EAAE,YAAY,EAAE,EAC1B,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,IAAI,CAaN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,WAAW,EAAE,EACzB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACtC,sBAAsB,CAAC,EAAE,MAAM,GAC9B,IAAI,CAiCN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAerF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CA2BrG"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Generic generation pipeline orchestration.
3
+ *
4
+ * Provides the step sequencing, logging, warning collection, stats counting,
5
+ * and artifact writing pattern. Individual steps (fetch, parse, etc.) are
6
+ * supplied by the lexicon via callbacks.
7
+ */
8
+ import type { NamingStrategy } from "./naming.js";
9
+ export interface GenerateOptions {
10
+ force?: boolean;
11
+ verbose?: boolean;
12
+ dryRun?: boolean;
13
+ schemaSource?: Map<string, Buffer>;
14
+ }
15
+ export interface GenerateResult {
16
+ lexiconJSON: string;
17
+ typesDTS: string;
18
+ indexTS: string;
19
+ resources: number;
20
+ properties: number;
21
+ enums: number;
22
+ warnings: Array<{
23
+ file: string;
24
+ error: string;
25
+ }>;
26
+ }
27
+ /**
28
+ * A parsed result with enough structure for the pipeline to count stats.
29
+ * Lexicons extend this with their own fields.
30
+ */
31
+ export interface ParsedResult {
32
+ propertyTypes: Array<{
33
+ name: string;
34
+ }>;
35
+ enums: Array<unknown>;
36
+ }
37
+ export interface AugmentResult<T> {
38
+ schemas: Map<string, Buffer>;
39
+ extraResults?: T[];
40
+ warnings?: Array<{
41
+ file: string;
42
+ error: string;
43
+ }>;
44
+ }
45
+ export interface GeneratePipelineConfig<T extends ParsedResult> {
46
+ /** Fetch or provide raw schema data. */
47
+ fetchSchemas: (opts: {
48
+ force?: boolean;
49
+ }) => Promise<Map<string, Buffer>>;
50
+ /**
51
+ * Parse a single schema buffer into results. Returns null to skip.
52
+ *
53
+ * May return an array when a single schema file produces multiple results
54
+ * (e.g. K8s OpenAPI spec, GitLab CI schema).
55
+ */
56
+ parseSchema: (typeName: string, data: Buffer) => T | T[] | null;
57
+ /** Create a naming strategy from the parsed results. */
58
+ createNaming: (results: T[]) => NamingStrategy;
59
+ /** Generate lexicon JSON from results + naming. */
60
+ generateRegistry: (results: T[], naming: NamingStrategy) => string;
61
+ /** Generate TypeScript declarations. */
62
+ generateTypes: (results: T[], naming: NamingStrategy) => string;
63
+ /** Generate runtime index with factory exports. */
64
+ generateRuntimeIndex: (results: T[], naming: NamingStrategy) => string;
65
+ /** Optional pre-parse hook (patches, overlays, extra resources, etc.). */
66
+ augmentSchemas?: (schemas: Map<string, Buffer>, opts: GenerateOptions, log: (msg: string) => void) => Promise<AugmentResult<T>>;
67
+ /** Optional post-parse hook (add synthetic resources, fallbacks, etc.). */
68
+ augmentResults?: (results: T[], opts: GenerateOptions, log: (msg: string) => void) => {
69
+ results: T[];
70
+ warnings?: Array<{
71
+ file: string;
72
+ error: string;
73
+ }>;
74
+ };
75
+ }
76
+ /**
77
+ * Run a generation pipeline with the supplied config callbacks.
78
+ */
79
+ export declare function generatePipeline<T extends ParsedResult>(config: GeneratePipelineConfig<T>, opts?: GenerateOptions): Promise<GenerateResult>;
80
+ export interface WriteConfig {
81
+ /** Base directory of the lexicon package. */
82
+ baseDir: string;
83
+ /** Subdirectory for generated files (default: "src/generated"). */
84
+ generatedSubdir?: string;
85
+ /** Map of filename → content to write. */
86
+ files: Record<string, string>;
87
+ }
88
+ /**
89
+ * Write generated artifacts to disk.
90
+ */
91
+ export declare function writeGeneratedArtifacts(config: WriteConfig): void;
92
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,YAAY;IAC5D,wCAAwC;IACxC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1E;;;;;OAKG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAEhE,wDAAwD;IACxD,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC;IAE/C,mDAAmD;IACnD,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,KAAK,MAAM,CAAC;IAEnE,wCAAwC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,KAAK,MAAM,CAAC;IAEhE,mDAAmD;IACnD,oBAAoB,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,KAAK,MAAM,CAAC;IAEvE,0EAA0E;IAC1E,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KACvB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KACvB;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAC1E;AAID;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAC3D,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACjC,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,cAAc,CAAC,CAyFzB;AAID,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAOjE"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * RFC 6902 JSON Patch implementation.
3
+ *
4
+ * Applies a JSON Patch document (array of operations) to a JSON document.
5
+ * Supports add, remove, replace, and test operations.
6
+ */
7
+ /**
8
+ * Apply an RFC 6902 patch document to a JSON document.
9
+ * Returns the patched JSON as a string.
10
+ */
11
+ export declare function rfc6902Apply(doc: string, patch: string): string;
12
+ //# sourceMappingURL=json-patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-patch.d.ts","sourceRoot":"","sources":["../../src/codegen/json-patch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA6B/D"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Generic JSON Schema resolution utilities for lexicon code generation.
3
+ *
4
+ * These functions handle the common subset of JSON Schema used by
5
+ * infrastructure-as-code formats (CloudFormation, Terraform, Azure ARM, etc.).
6
+ * Lexicon-specific entry points call these with a `resolveDefName` callback
7
+ * to produce their own naming conventions.
8
+ */
9
+ export interface JsonSchemaDocument {
10
+ definitions?: Record<string, JsonSchemaDefinition>;
11
+ [key: string]: unknown;
12
+ }
13
+ export interface JsonSchemaProperty {
14
+ type?: string | string[];
15
+ $ref?: string;
16
+ items?: JsonSchemaProperty;
17
+ oneOf?: JsonSchemaProperty[];
18
+ anyOf?: JsonSchemaProperty[];
19
+ properties?: Record<string, JsonSchemaProperty>;
20
+ required?: string[];
21
+ enum?: string[];
22
+ pattern?: string;
23
+ minLength?: number;
24
+ maxLength?: number;
25
+ minimum?: number;
26
+ maximum?: number;
27
+ format?: string;
28
+ const?: unknown;
29
+ default?: unknown;
30
+ description?: string;
31
+ }
32
+ export interface JsonSchemaDefinition extends JsonSchemaProperty {
33
+ enum?: string[];
34
+ }
35
+ export interface PropertyConstraints {
36
+ pattern?: string;
37
+ minLength?: number;
38
+ maxLength?: number;
39
+ minimum?: number;
40
+ maximum?: number;
41
+ format?: string;
42
+ const?: unknown;
43
+ default?: unknown;
44
+ enum?: string[];
45
+ }
46
+ /**
47
+ * Get the primary type from a type field that can be string or string[].
48
+ * Returns first non-"null" type, or "any" if empty.
49
+ */
50
+ export declare function primaryType(type: string | string[] | undefined): string;
51
+ /**
52
+ * Resolve a schema property to its TypeScript type string.
53
+ *
54
+ * @param prop - The property to resolve
55
+ * @param schema - The containing schema document (for $ref resolution)
56
+ * @param resolveDefName - Callback to produce a TypeScript name from a definition.
57
+ * Receives (defName: string) and should return the TS type name for that definition.
58
+ * When null, $ref to object definitions resolves to "any".
59
+ */
60
+ export declare function resolvePropertyType(prop: JsonSchemaProperty | undefined, schema: JsonSchemaDocument, resolveDefName: ((defName: string) => string) | null): string;
61
+ /**
62
+ * Resolve a $ref pointer to a TypeScript type name.
63
+ *
64
+ * @param ref - The $ref string (e.g. "#/definitions/Foo")
65
+ * @param schema - The containing schema document
66
+ * @param resolveDefName - Callback to produce a TS name for object definitions.
67
+ * Receives (defName: string). When null, object defs resolve to "any".
68
+ */
69
+ export declare function resolveRef(ref: string, schema: JsonSchemaDocument, resolveDefName: ((defName: string) => string) | null): string;
70
+ /**
71
+ * Extract property constraints from a schema property.
72
+ */
73
+ export declare function extractConstraints(prop: JsonSchemaProperty): PropertyConstraints;
74
+ /**
75
+ * Check whether a PropertyConstraints object is empty (all fields undefined/absent).
76
+ */
77
+ export declare function constraintsIsEmpty(c: PropertyConstraints): boolean;
78
+ /**
79
+ * Check whether a schema definition is a pure string enum (no properties).
80
+ */
81
+ export declare function isEnumDefinition(def: JsonSchemaDefinition): boolean;
82
+ //# sourceMappingURL=json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/codegen/json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,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;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAID,MAAM,WAAW,mBAAmB;IAClC,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;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAOvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,kBAAkB,GAAG,SAAS,EACpC,MAAM,EAAE,kBAAkB,EAC1B,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GACnD,MAAM,CAwCR;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,kBAAkB,EAC1B,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GACnD,MAAM,CA+BR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,CAYhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAYlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAEnE"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Collision-free naming strategy for TypeScript class names.
3
+ *
4
+ * 5-phase algorithm:
5
+ * 1. Priority names (backward compatibility)
6
+ * 2. Priority aliases (additional short names)
7
+ * 3. Short names (last segment of type)
8
+ * 4. Collision resolution (service-prefixed)
9
+ * 5. Property type aliases (globally unique defs)
10
+ */
11
+ /**
12
+ * Minimal input required by the naming strategy — avoids coupling
13
+ * to any specific schema parser output format.
14
+ */
15
+ export interface NamingInput {
16
+ typeName: string;
17
+ propertyTypes: Array<{
18
+ name: string;
19
+ }>;
20
+ }
21
+ /**
22
+ * Configuration that parameterizes the naming algorithm.
23
+ * The data tables and name-extraction helpers are provider-specific.
24
+ */
25
+ export interface NamingConfig {
26
+ /** Fixed TypeScript class names for backward compatibility. */
27
+ priorityNames: Record<string, string>;
28
+ /** Additional TypeScript names beyond the primary priority name. */
29
+ priorityAliases: Record<string, string[]>;
30
+ /** Property type aliases that must always be emitted. */
31
+ priorityPropertyAliases: Record<string, Record<string, string>>;
32
+ /** Service name abbreviations for collision-resolved names. */
33
+ serviceAbbreviations: Record<string, string>;
34
+ /** Extract the short name from a type name (e.g. "Vendor::Service::Resource" → "Resource"). */
35
+ shortName: (typeName: string) => string;
36
+ /** Extract the service name from a type name (e.g. "Vendor::Service::Resource" → "Service"). */
37
+ serviceName: (typeName: string) => string;
38
+ }
39
+ export declare class NamingStrategy {
40
+ private config;
41
+ private assigned;
42
+ private _aliases;
43
+ private usedNames;
44
+ private _propertyAliases;
45
+ constructor(results: NamingInput[], config: NamingConfig);
46
+ /** Primary TypeScript class name for a type. */
47
+ resolve(typeName: string): string | undefined;
48
+ /** Additional TypeScript names for a type. */
49
+ aliases(typeName: string): string[];
50
+ /** All (typeName, tsName) pairs sorted by TS name. */
51
+ allAssignments(): [string, string][];
52
+ /** Property type aliases for a given type. */
53
+ propertyTypeAliases(typeName: string): Map<string, string> | undefined;
54
+ }
55
+ /**
56
+ * Construct property type name: "Bucket_ServerSideEncryptionByDefault"
57
+ */
58
+ export declare function propertyTypeName(parentTSName: string, defName: string): string;
59
+ /**
60
+ * Extract the raw definition name from a parser-generated name.
61
+ * "Bucket_ServerSideEncryptionByDefault" → "ServerSideEncryptionByDefault"
62
+ */
63
+ export declare function extractDefName(parserName: string, shortName: string): string;
64
+ //# sourceMappingURL=naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/codegen/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,yDAAyD;IACzD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,+FAA+F;IAC/F,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,gGAAgG;IAChG,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED,qBAAa,cAAc;IAMW,OAAO,CAAC,MAAM;IALlD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,gBAAgB,CAA0C;gBAEtD,OAAO,EAAE,WAAW,EAAE,EAAU,MAAM,EAAE,YAAY;IA8GhE,gDAAgD;IAChD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAInC,sDAAsD;IACtD,cAAc,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAcpC,8CAA8C;IAC9C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAGvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG5E"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Generic lexicon packaging pipeline.
3
+ *
4
+ * Orchestrates: generate → manifest → collect rules → collect skills →
5
+ * assemble BundleSpec → compute integrity → attach metadata.
6
+ */
7
+ import type { BundleSpec, LexiconManifest } from "../lexicon.js";
8
+ import type { GenerateResult } from "./generate.js";
9
+ export interface PackageOptions {
10
+ verbose?: boolean;
11
+ force?: boolean;
12
+ }
13
+ export interface PackageResult {
14
+ spec: BundleSpec;
15
+ stats: {
16
+ resources: number;
17
+ properties: number;
18
+ enums: number;
19
+ ruleCount: number;
20
+ skillCount: number;
21
+ };
22
+ }
23
+ export interface PackagePipelineConfig {
24
+ /** Run generation and return artifacts. */
25
+ generate: (opts: {
26
+ verbose?: boolean;
27
+ force?: boolean;
28
+ }) => Promise<GenerateResult>;
29
+ /** Build the lexicon manifest from the generate result. */
30
+ buildManifest: (genResult: GenerateResult) => LexiconManifest;
31
+ /** Source directory for collecting rules. */
32
+ srcDir: string;
33
+ /** Rule directories relative to srcDir (default: ["lint/rules", "lint/post-synth"]). */
34
+ ruleDirs?: string[];
35
+ /** Collect skill definitions. Returns map of filename → content. */
36
+ collectSkills: () => Map<string, string>;
37
+ /** Package version for metadata. */
38
+ version?: string;
39
+ }
40
+ /**
41
+ * Run the packaging pipeline with the supplied config.
42
+ */
43
+ export declare function packagePipeline(config: PackagePipelineConfig, opts?: PackageOptions): Promise<PackageResult>;
44
+ /**
45
+ * Collect lint rule source files from a lexicon package.
46
+ * Auto-discovers .ts files in the specified directories,
47
+ * skipping test files, re-export files (index.ts), and non-.ts files.
48
+ */
49
+ export declare function collectRules(srcDir: string, dirs?: string[]): Map<string, string>;
50
+ /**
51
+ * Write a BundleSpec to the given dist directory.
52
+ *
53
+ * Creates the directory structure and writes all artifacts:
54
+ * manifest.json, meta.json, types/index.d.ts, rules/*, skills/*, integrity.json.
55
+ */
56
+ export declare function writeBundleSpec(spec: BundleSpec, distDir: string): void;
57
+ /**
58
+ * Collect skills from a plugin's skill definitions.
59
+ */
60
+ export declare function collectSkills(skillDefs: Array<{
61
+ name: string;
62
+ content: string;
63
+ }>): Map<string, string>;
64
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/codegen/package.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACpF,2DAA2D;IAC3D,aAAa,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,eAAe,CAAC;IAC9D,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oEAAoE;IACpE,aAAa,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,EAC7B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAsC,GACjD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BrB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAmBvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAClD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generic DFS-based topological sort.
3
+ */
4
+ /**
5
+ * Sort nodes in topological order (dependencies first).
6
+ *
7
+ * @param nodes - The items to sort.
8
+ * @param getId - Extract a unique identifier from a node.
9
+ * @param getEdges - Return the IDs of nodes that `node` depends on.
10
+ * @returns Sorted array where dependencies appear before dependents.
11
+ */
12
+ export declare function topoSort<T>(nodes: T[], getId: (node: T) => string, getEdges: (node: T) => string[]): T[];
13
+ //# sourceMappingURL=topo-sort.d.ts.map