@endora-commerce/cli 0.100.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 (356) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/dist/bin/endora.d.ts +28 -0
  4. package/dist/bin/endora.d.ts.map +1 -0
  5. package/dist/bin/endora.js +926 -0
  6. package/dist/bin/endora.js.map +1 -0
  7. package/dist/check/estate.d.ts +189 -0
  8. package/dist/check/estate.d.ts.map +1 -0
  9. package/dist/check/estate.js +1037 -0
  10. package/dist/check/estate.js.map +1 -0
  11. package/dist/check/hosts.d.ts +25 -0
  12. package/dist/check/hosts.d.ts.map +1 -0
  13. package/dist/check/hosts.js +1347 -0
  14. package/dist/check/hosts.js.map +1 -0
  15. package/dist/check/index.d.ts +60 -0
  16. package/dist/check/index.d.ts.map +1 -0
  17. package/dist/check/index.js +111 -0
  18. package/dist/check/index.js.map +1 -0
  19. package/dist/check/layout.d.ts +136 -0
  20. package/dist/check/layout.d.ts.map +1 -0
  21. package/dist/check/layout.js +262 -0
  22. package/dist/check/layout.js.map +1 -0
  23. package/dist/check/ledger.d.ts +98 -0
  24. package/dist/check/ledger.d.ts.map +1 -0
  25. package/dist/check/ledger.js +173 -0
  26. package/dist/check/ledger.js.map +1 -0
  27. package/dist/check/peer-owners.d.ts +116 -0
  28. package/dist/check/peer-owners.d.ts.map +1 -0
  29. package/dist/check/peer-owners.js +225 -0
  30. package/dist/check/peer-owners.js.map +1 -0
  31. package/dist/check/report.d.ts +33 -0
  32. package/dist/check/report.d.ts.map +1 -0
  33. package/dist/check/report.js +107 -0
  34. package/dist/check/report.js.map +1 -0
  35. package/dist/check/run.d.ts +147 -0
  36. package/dist/check/run.d.ts.map +1 -0
  37. package/dist/check/run.js +111 -0
  38. package/dist/check/run.js.map +1 -0
  39. package/dist/checks.d.ts +17 -0
  40. package/dist/checks.d.ts.map +1 -0
  41. package/dist/checks.js +17 -0
  42. package/dist/checks.js.map +1 -0
  43. package/dist/dev/index.d.ts +83 -0
  44. package/dist/dev/index.d.ts.map +1 -0
  45. package/dist/dev/index.js +298 -0
  46. package/dist/dev/index.js.map +1 -0
  47. package/dist/generate/divergence.d.ts +38 -0
  48. package/dist/generate/divergence.d.ts.map +1 -0
  49. package/dist/generate/divergence.js +237 -0
  50. package/dist/generate/divergence.js.map +1 -0
  51. package/dist/generate/index.d.ts +90 -0
  52. package/dist/generate/index.d.ts.map +1 -0
  53. package/dist/generate/index.js +369 -0
  54. package/dist/generate/index.js.map +1 -0
  55. package/dist/index.d.ts +23 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +35 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/inputs/declaration.d.ts +18 -0
  60. package/dist/inputs/declaration.d.ts.map +1 -0
  61. package/dist/inputs/declaration.js +64 -0
  62. package/dist/inputs/declaration.js.map +1 -0
  63. package/dist/inputs/env-file.d.ts +73 -0
  64. package/dist/inputs/env-file.d.ts.map +1 -0
  65. package/dist/inputs/env-file.js +134 -0
  66. package/dist/inputs/env-file.js.map +1 -0
  67. package/dist/inputs/prompt.d.ts +21 -0
  68. package/dist/inputs/prompt.d.ts.map +1 -0
  69. package/dist/inputs/prompt.js +59 -0
  70. package/dist/inputs/prompt.js.map +1 -0
  71. package/dist/inputs/resolve.d.ts +163 -0
  72. package/dist/inputs/resolve.d.ts.map +1 -0
  73. package/dist/inputs/resolve.js +290 -0
  74. package/dist/inputs/resolve.js.map +1 -0
  75. package/dist/install/host.d.ts +27 -0
  76. package/dist/install/host.d.ts.map +1 -0
  77. package/dist/install/host.js +90 -0
  78. package/dist/install/host.js.map +1 -0
  79. package/dist/install/index.d.ts +173 -0
  80. package/dist/install/index.d.ts.map +1 -0
  81. package/dist/install/index.js +793 -0
  82. package/dist/install/index.js.map +1 -0
  83. package/dist/install/wizard.d.ts +144 -0
  84. package/dist/install/wizard.d.ts.map +1 -0
  85. package/dist/install/wizard.js +362 -0
  86. package/dist/install/wizard.js.map +1 -0
  87. package/dist/lib/admin-artefacts.d.ts +70 -0
  88. package/dist/lib/admin-artefacts.d.ts.map +1 -0
  89. package/dist/lib/admin-artefacts.js +354 -0
  90. package/dist/lib/admin-artefacts.js.map +1 -0
  91. package/dist/lib/admin-surfaces.d.ts +298 -0
  92. package/dist/lib/admin-surfaces.d.ts.map +1 -0
  93. package/dist/lib/admin-surfaces.js +669 -0
  94. package/dist/lib/admin-surfaces.js.map +1 -0
  95. package/dist/lib/delegated-composer.d.ts +85 -0
  96. package/dist/lib/delegated-composer.d.ts.map +1 -0
  97. package/dist/lib/delegated-composer.js +241 -0
  98. package/dist/lib/delegated-composer.js.map +1 -0
  99. package/dist/lib/divergence-artefacts.d.ts +305 -0
  100. package/dist/lib/divergence-artefacts.d.ts.map +1 -0
  101. package/dist/lib/divergence-artefacts.js +828 -0
  102. package/dist/lib/divergence-artefacts.js.map +1 -0
  103. package/dist/lib/divergence.d.ts +337 -0
  104. package/dist/lib/divergence.d.ts.map +1 -0
  105. package/dist/lib/divergence.js +1005 -0
  106. package/dist/lib/divergence.js.map +1 -0
  107. package/dist/lib/docs-artefacts.d.ts +395 -0
  108. package/dist/lib/docs-artefacts.d.ts.map +1 -0
  109. package/dist/lib/docs-artefacts.js +781 -0
  110. package/dist/lib/docs-artefacts.js.map +1 -0
  111. package/dist/lib/emitted-exports.d.ts +21 -0
  112. package/dist/lib/emitted-exports.d.ts.map +1 -0
  113. package/dist/lib/emitted-exports.js +96 -0
  114. package/dist/lib/emitted-exports.js.map +1 -0
  115. package/dist/lib/emitted-freshness.d.ts +112 -0
  116. package/dist/lib/emitted-freshness.d.ts.map +1 -0
  117. package/dist/lib/emitted-freshness.js +288 -0
  118. package/dist/lib/emitted-freshness.js.map +1 -0
  119. package/dist/lib/entity-index-artefact.d.ts +95 -0
  120. package/dist/lib/entity-index-artefact.d.ts.map +1 -0
  121. package/dist/lib/entity-index-artefact.js +210 -0
  122. package/dist/lib/entity-index-artefact.js.map +1 -0
  123. package/dist/lib/instance-build-inputs.d.ts +108 -0
  124. package/dist/lib/instance-build-inputs.d.ts.map +1 -0
  125. package/dist/lib/instance-build-inputs.js +165 -0
  126. package/dist/lib/instance-build-inputs.js.map +1 -0
  127. package/dist/lib/module-docs.d.ts +473 -0
  128. package/dist/lib/module-docs.d.ts.map +1 -0
  129. package/dist/lib/module-docs.js +711 -0
  130. package/dist/lib/module-docs.js.map +1 -0
  131. package/dist/lib/module-package-subpaths.d.ts +56 -0
  132. package/dist/lib/module-package-subpaths.d.ts.map +1 -0
  133. package/dist/lib/module-package-subpaths.js +223 -0
  134. package/dist/lib/module-package-subpaths.js.map +1 -0
  135. package/dist/lib/module-packages.d.ts +200 -0
  136. package/dist/lib/module-packages.d.ts.map +1 -0
  137. package/dist/lib/module-packages.js +580 -0
  138. package/dist/lib/module-packages.js.map +1 -0
  139. package/dist/lib/module-population.d.ts +129 -0
  140. package/dist/lib/module-population.d.ts.map +1 -0
  141. package/dist/lib/module-population.js +172 -0
  142. package/dist/lib/module-population.js.map +1 -0
  143. package/dist/lib/module-roots.d.ts +337 -0
  144. package/dist/lib/module-roots.d.ts.map +1 -0
  145. package/dist/lib/module-roots.js +586 -0
  146. package/dist/lib/module-roots.js.map +1 -0
  147. package/dist/lib/nested-checkouts.d.ts +33 -0
  148. package/dist/lib/nested-checkouts.d.ts.map +1 -0
  149. package/dist/lib/nested-checkouts.js +160 -0
  150. package/dist/lib/nested-checkouts.js.map +1 -0
  151. package/dist/lib/platform-root.d.ts +43 -0
  152. package/dist/lib/platform-root.d.ts.map +1 -0
  153. package/dist/lib/platform-root.js +134 -0
  154. package/dist/lib/platform-root.js.map +1 -0
  155. package/dist/lib/platform-surface.d.ts +235 -0
  156. package/dist/lib/platform-surface.d.ts.map +1 -0
  157. package/dist/lib/platform-surface.js +393 -0
  158. package/dist/lib/platform-surface.js.map +1 -0
  159. package/dist/lib/port-registrations.d.ts +223 -0
  160. package/dist/lib/port-registrations.d.ts.map +1 -0
  161. package/dist/lib/port-registrations.js +532 -0
  162. package/dist/lib/port-registrations.js.map +1 -0
  163. package/dist/lib/read-size.d.ts +154 -0
  164. package/dist/lib/read-size.d.ts.map +1 -0
  165. package/dist/lib/read-size.js +182 -0
  166. package/dist/lib/read-size.js.map +1 -0
  167. package/dist/lib/registration-owners.d.ts +79 -0
  168. package/dist/lib/registration-owners.d.ts.map +1 -0
  169. package/dist/lib/registration-owners.js +77 -0
  170. package/dist/lib/registration-owners.js.map +1 -0
  171. package/dist/lib/release-index.d.ts +53 -0
  172. package/dist/lib/release-index.d.ts.map +1 -0
  173. package/dist/lib/release-index.js +162 -0
  174. package/dist/lib/release-index.js.map +1 -0
  175. package/dist/lib/repeating-timers.d.ts +79 -0
  176. package/dist/lib/repeating-timers.d.ts.map +1 -0
  177. package/dist/lib/repeating-timers.js +189 -0
  178. package/dist/lib/repeating-timers.js.map +1 -0
  179. package/dist/lib/source-text.d.ts +34 -0
  180. package/dist/lib/source-text.d.ts.map +1 -0
  181. package/dist/lib/source-text.js +80 -0
  182. package/dist/lib/source-text.js.map +1 -0
  183. package/dist/lib/specifiers.d.ts +20 -0
  184. package/dist/lib/specifiers.d.ts.map +1 -0
  185. package/dist/lib/specifiers.js +130 -0
  186. package/dist/lib/specifiers.js.map +1 -0
  187. package/dist/lib/sql-tables.d.ts +166 -0
  188. package/dist/lib/sql-tables.d.ts.map +1 -0
  189. package/dist/lib/sql-tables.js +464 -0
  190. package/dist/lib/sql-tables.js.map +1 -0
  191. package/dist/lib/switchable-modules.d.ts +54 -0
  192. package/dist/lib/switchable-modules.d.ts.map +1 -0
  193. package/dist/lib/switchable-modules.js +104 -0
  194. package/dist/lib/switchable-modules.js.map +1 -0
  195. package/dist/lib/tailwind-sources.d.ts +136 -0
  196. package/dist/lib/tailwind-sources.d.ts.map +1 -0
  197. package/dist/lib/tailwind-sources.js +307 -0
  198. package/dist/lib/tailwind-sources.js.map +1 -0
  199. package/dist/lib/ui-layer.d.ts +54 -0
  200. package/dist/lib/ui-layer.d.ts.map +1 -0
  201. package/dist/lib/ui-layer.js +57 -0
  202. package/dist/lib/ui-layer.js.map +1 -0
  203. package/dist/lib/workspace-packages.d.ts +186 -0
  204. package/dist/lib/workspace-packages.d.ts.map +1 -0
  205. package/dist/lib/workspace-packages.js +351 -0
  206. package/dist/lib/workspace-packages.js.map +1 -0
  207. package/dist/new-instance/deploy.d.ts +211 -0
  208. package/dist/new-instance/deploy.d.ts.map +1 -0
  209. package/dist/new-instance/deploy.js +1381 -0
  210. package/dist/new-instance/deploy.js.map +1 -0
  211. package/dist/new-instance/docs-toolchain.d.ts +66 -0
  212. package/dist/new-instance/docs-toolchain.d.ts.map +1 -0
  213. package/dist/new-instance/docs-toolchain.js +69 -0
  214. package/dist/new-instance/docs-toolchain.js.map +1 -0
  215. package/dist/new-instance/host.d.ts +124 -0
  216. package/dist/new-instance/host.d.ts.map +1 -0
  217. package/dist/new-instance/host.js +276 -0
  218. package/dist/new-instance/host.js.map +1 -0
  219. package/dist/new-instance/index.d.ts +118 -0
  220. package/dist/new-instance/index.d.ts.map +1 -0
  221. package/dist/new-instance/index.js +567 -0
  222. package/dist/new-instance/index.js.map +1 -0
  223. package/dist/new-instance/modules.d.ts +188 -0
  224. package/dist/new-instance/modules.d.ts.map +1 -0
  225. package/dist/new-instance/modules.js +392 -0
  226. package/dist/new-instance/modules.js.map +1 -0
  227. package/dist/new-instance/template.d.ts +505 -0
  228. package/dist/new-instance/template.d.ts.map +1 -0
  229. package/dist/new-instance/template.js +1886 -0
  230. package/dist/new-instance/template.js.map +1 -0
  231. package/dist/new-module/emit.d.ts +67 -0
  232. package/dist/new-module/emit.d.ts.map +1 -0
  233. package/dist/new-module/emit.js +1393 -0
  234. package/dist/new-module/emit.js.map +1 -0
  235. package/dist/new-module/host.d.ts +67 -0
  236. package/dist/new-module/host.d.ts.map +1 -0
  237. package/dist/new-module/host.js +224 -0
  238. package/dist/new-module/host.js.map +1 -0
  239. package/dist/new-module/index.d.ts +32 -0
  240. package/dist/new-module/index.d.ts.map +1 -0
  241. package/dist/new-module/index.js +193 -0
  242. package/dist/new-module/index.js.map +1 -0
  243. package/dist/new-module/spec.d.ts +188 -0
  244. package/dist/new-module/spec.d.ts.map +1 -0
  245. package/dist/new-module/spec.js +404 -0
  246. package/dist/new-module/spec.js.map +1 -0
  247. package/dist/new-module/text.d.ts +15 -0
  248. package/dist/new-module/text.d.ts.map +1 -0
  249. package/dist/new-module/text.js +22 -0
  250. package/dist/new-module/text.js.map +1 -0
  251. package/dist/new-storefront/dockerfile.d.ts +20 -0
  252. package/dist/new-storefront/dockerfile.d.ts.map +1 -0
  253. package/dist/new-storefront/dockerfile.js +131 -0
  254. package/dist/new-storefront/dockerfile.js.map +1 -0
  255. package/dist/new-storefront/gitignore.d.ts +23 -0
  256. package/dist/new-storefront/gitignore.d.ts.map +1 -0
  257. package/dist/new-storefront/gitignore.js +39 -0
  258. package/dist/new-storefront/gitignore.js.map +1 -0
  259. package/dist/new-storefront/index.d.ts +93 -0
  260. package/dist/new-storefront/index.d.ts.map +1 -0
  261. package/dist/new-storefront/index.js +329 -0
  262. package/dist/new-storefront/index.js.map +1 -0
  263. package/dist/new-storefront/npmrc.d.ts +98 -0
  264. package/dist/new-storefront/npmrc.d.ts.map +1 -0
  265. package/dist/new-storefront/npmrc.js +217 -0
  266. package/dist/new-storefront/npmrc.js.map +1 -0
  267. package/dist/new-storefront/reference.d.ts +189 -0
  268. package/dist/new-storefront/reference.d.ts.map +1 -0
  269. package/dist/new-storefront/reference.js +430 -0
  270. package/dist/new-storefront/reference.js.map +1 -0
  271. package/dist/new-storefront/rewrite.d.ts +171 -0
  272. package/dist/new-storefront/rewrite.d.ts.map +1 -0
  273. package/dist/new-storefront/rewrite.js +701 -0
  274. package/dist/new-storefront/rewrite.js.map +1 -0
  275. package/dist/release-index.json +284 -0
  276. package/dist/rules/action-route-permissions.d.ts +141 -0
  277. package/dist/rules/action-route-permissions.d.ts.map +1 -0
  278. package/dist/rules/action-route-permissions.js +556 -0
  279. package/dist/rules/action-route-permissions.js.map +1 -0
  280. package/dist/rules/bundle-pairing.d.ts +74 -0
  281. package/dist/rules/bundle-pairing.d.ts.map +1 -0
  282. package/dist/rules/bundle-pairing.js +281 -0
  283. package/dist/rules/bundle-pairing.js.map +1 -0
  284. package/dist/rules/channel-resolution.d.ts +17 -0
  285. package/dist/rules/channel-resolution.d.ts.map +1 -0
  286. package/dist/rules/channel-resolution.js +382 -0
  287. package/dist/rules/channel-resolution.js.map +1 -0
  288. package/dist/rules/command-coverage.d.ts +210 -0
  289. package/dist/rules/command-coverage.d.ts.map +1 -0
  290. package/dist/rules/command-coverage.js +714 -0
  291. package/dist/rules/command-coverage.js.map +1 -0
  292. package/dist/rules/container-imports.d.ts +60 -0
  293. package/dist/rules/container-imports.d.ts.map +1 -0
  294. package/dist/rules/container-imports.js +158 -0
  295. package/dist/rules/container-imports.js.map +1 -0
  296. package/dist/rules/default-language-prose.d.ts +212 -0
  297. package/dist/rules/default-language-prose.d.ts.map +1 -0
  298. package/dist/rules/default-language-prose.js +710 -0
  299. package/dist/rules/default-language-prose.js.map +1 -0
  300. package/dist/rules/diacritic-folds.d.ts +238 -0
  301. package/dist/rules/diacritic-folds.d.ts.map +1 -0
  302. package/dist/rules/diacritic-folds.js +681 -0
  303. package/dist/rules/diacritic-folds.js.map +1 -0
  304. package/dist/rules/entity-tenant-classification.d.ts +171 -0
  305. package/dist/rules/entity-tenant-classification.d.ts.map +1 -0
  306. package/dist/rules/entity-tenant-classification.js +323 -0
  307. package/dist/rules/entity-tenant-classification.js.map +1 -0
  308. package/dist/rules/entry-presence.d.ts +142 -0
  309. package/dist/rules/entry-presence.d.ts.map +1 -0
  310. package/dist/rules/entry-presence.js +339 -0
  311. package/dist/rules/entry-presence.js.map +1 -0
  312. package/dist/rules/entry-scope.d.ts +91 -0
  313. package/dist/rules/entry-scope.d.ts.map +1 -0
  314. package/dist/rules/entry-scope.js +404 -0
  315. package/dist/rules/entry-scope.js.map +1 -0
  316. package/dist/rules/env-inputs.d.ts +222 -0
  317. package/dist/rules/env-inputs.d.ts.map +1 -0
  318. package/dist/rules/env-inputs.js +951 -0
  319. package/dist/rules/env-inputs.js.map +1 -0
  320. package/dist/rules/kernel-boundary.d.ts +37 -0
  321. package/dist/rules/kernel-boundary.d.ts.map +1 -0
  322. package/dist/rules/kernel-boundary.js +195 -0
  323. package/dist/rules/kernel-boundary.js.map +1 -0
  324. package/dist/rules/nul-bytes.d.ts +233 -0
  325. package/dist/rules/nul-bytes.d.ts.map +1 -0
  326. package/dist/rules/nul-bytes.js +332 -0
  327. package/dist/rules/nul-bytes.js.map +1 -0
  328. package/dist/rules/platform-surface.d.ts +479 -0
  329. package/dist/rules/platform-surface.d.ts.map +1 -0
  330. package/dist/rules/platform-surface.js +749 -0
  331. package/dist/rules/platform-surface.js.map +1 -0
  332. package/dist/rules/port-catches.d.ts +225 -0
  333. package/dist/rules/port-catches.d.ts.map +1 -0
  334. package/dist/rules/port-catches.js +1374 -0
  335. package/dist/rules/port-catches.js.map +1 -0
  336. package/dist/rules/port-shape.d.ts +213 -0
  337. package/dist/rules/port-shape.d.ts.map +1 -0
  338. package/dist/rules/port-shape.js +670 -0
  339. package/dist/rules/port-shape.js.map +1 -0
  340. package/dist/rules/queue-names.d.ts +108 -0
  341. package/dist/rules/queue-names.d.ts.map +1 -0
  342. package/dist/rules/queue-names.js +395 -0
  343. package/dist/rules/queue-names.js.map +1 -0
  344. package/dist/rules/singleton-identity.d.ts +205 -0
  345. package/dist/rules/singleton-identity.d.ts.map +1 -0
  346. package/dist/rules/singleton-identity.js +830 -0
  347. package/dist/rules/singleton-identity.js.map +1 -0
  348. package/dist/rules/subscribe-seam.d.ts +121 -0
  349. package/dist/rules/subscribe-seam.d.ts.map +1 -0
  350. package/dist/rules/subscribe-seam.js +594 -0
  351. package/dist/rules/subscribe-seam.js.map +1 -0
  352. package/dist/rules/transaction-context.d.ts +40 -0
  353. package/dist/rules/transaction-context.d.ts.map +1 -0
  354. package/dist/rules/transaction-context.js +294 -0
  355. package/dist/rules/transaction-context.js.map +1 -0
  356. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-coverage.js","sourceRoot":"","sources":["../../src/rules/command-coverage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { type HostResidentModules } from '../lib/module-population.js';
2
+ export interface ContainerImportFinding {
3
+ readonly file: string;
4
+ readonly moduleId: string;
5
+ readonly specifier: string;
6
+ readonly line: number;
7
+ }
8
+ /** `awilix` itself or any of its subpaths — and nothing whose name merely starts with it. */
9
+ export declare function isContainerSpecifier(specifier: string): boolean;
10
+ /**
11
+ * The owning module id of a source file, over every root a module can live in.
12
+ *
13
+ * Three shapes, in order. The two anchored regexes answer for the application's
14
+ * own trees — a deployment overlay first, then the core module tree — and both
15
+ * key on `/src/`, so they say nothing about a module that has become a
16
+ * **package** (feature 080, T040a). The third is `lib/module-population.ts`'
17
+ * `moduleIdOf`, the same segment reader the population floor uses, and it is
18
+ * what makes a path like `packages/modules/blog/src/services/x.ts` attribute to
19
+ * `blog` instead of to nobody.
20
+ *
21
+ * That fallback is not cosmetic. Without it a package's files are read by the
22
+ * walk, satisfy the floor, and are then attributed to `null` — which for every
23
+ * consumer here means *not a module*, so the check judges none of them and
24
+ * reports clean. That is issue #215's failure one layer in, and it is why
25
+ * `resolveModuleLayout` refuses a package root whose location the segment
26
+ * reader cannot attribute rather than letting it through unnamed.
27
+ *
28
+ * The fourth answer is `hostResident`, the map the layout derives from the
29
+ * manifest index for a module whose sources the host owns and whose directory
30
+ * therefore carries no `modules/<id>/` segment (feature 080, T040b). It is
31
+ * threaded from `main` rather than left to default, for exactly the reason the
32
+ * third shape exists: a file the walk reads and cannot name is a file this
33
+ * check judges as nobody's and reports clean about.
34
+ */
35
+ export declare function moduleOf(file: string, hostResident?: HostResidentModules): string | null;
36
+ /**
37
+ * Every file the rule applies to, over the roots it is given.
38
+ *
39
+ * The roots are a **parameter and not a default** since feature 080's T040a:
40
+ * they are `resolveModuleLayout().moduleWalkRoots` — the application's own
41
+ * module trees, the deployment overlay tree, and every module that has become a
42
+ * workspace package. A default spelled here would be the one caller that keeps
43
+ * reading the old layout after the tree moves, which is the whole shape this
44
+ * repository has now repaired three times.
45
+ *
46
+ * Exported so the check's own test can assert the **real** tree is clean, not
47
+ * only that the analyzer can go red on a fixture. Both callers therefore agree
48
+ * on the scan scope by construction.
49
+ */
50
+ export declare function collectModuleFiles(roots: readonly string[]): string[];
51
+ /**
52
+ * Every import of the container library in `source`.
53
+ *
54
+ * Covers the four ways a specifier reaches a module: `import … from`,
55
+ * `export … from`, `import(…)` and `require(…)`. A `import type { … }` is
56
+ * **also** a finding: it erases at runtime, but it is still a module reading
57
+ * the container's types instead of the kernel's, which is what the seam is for.
58
+ */
59
+ export declare function analyzeSource(source: string, file: string, hostResident?: HostResidentModules): ContainerImportFinding[];
60
+ //# sourceMappingURL=container-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-imports.d.ts","sourceRoot":"","sources":["../../src/rules/container-imports.ts"],"names":[],"mappings":"AAsCA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAQrC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,mBAA8C,GAC3D,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAErE;AAgBD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,mBAA8C,GAC3D,sBAAsB,EAAE,CAsC1B"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * CI check — no module imports the container library (feature 072, T041 / FR-032).
3
+ *
4
+ * A module sees exactly one kernel surface: `ModuleContext`. It spells the
5
+ * container's vocabulary through `ctx.asClass` / `ctx.asFunction` / `ctx.asValue`
6
+ * and resolves through `ctx.cradle()`, so `awilix` stays confined to
7
+ * `src/kernel/`. Two things depend on that:
8
+ *
9
+ * 1. **The container stays swappable.** 66 modules importing `awilix`
10
+ * directly is 66 files to touch the day it is replaced, and the seam stops
11
+ * being a seam.
12
+ * 2. **The lifecycle gating of Constitution XVII holds by construction.** A
13
+ * module that reaches the container directly can register a route, a
14
+ * worker or a subscriber that never passes through `defineModuleRoutes`,
15
+ * `defineModuleWorker` or `subscribeForModule` — and nothing else in the
16
+ * tree would notice.
17
+ *
18
+ * Scope: every file under `src/modules/` and under a deployment overlay's
19
+ * `src/apps/<deployment>/modules/` (feature 057 — an overlay module is an
20
+ * ordinary lifecycle participant and the same rule applies to it).
21
+ *
22
+ * Static analysis through the TypeScript compiler API, so a mention in a
23
+ * comment or a string is not a finding. Sits alongside
24
+ * `check-kernel-boundary.ts` and `check-entry-scope.ts`.
25
+ *
26
+ * ## One analysis, two hosts
27
+ *
28
+ * This file is the analysis. `backend/scripts/check-container-imports.ts` hosts
29
+ * it over this repository's module tree; `endora check` hosts it over one module
30
+ * package (`specs/101-endora-check/contracts/package-scope-layout.md` §6). The
31
+ * roots are a parameter in both, so neither host re-derives the other's
32
+ * population.
33
+ */
34
+ import { existsSync, readdirSync, statSync } from 'node:fs';
35
+ import { join } from 'node:path';
36
+ import ts from 'typescript';
37
+ import { moduleIdOf, NO_HOST_RESIDENT_MODULES, } from '../lib/module-population.js';
38
+ /**
39
+ * The container library. Matched on the package name, so a deep import
40
+ * (`awilix/lib/…`) is caught too.
41
+ */
42
+ const FORBIDDEN_PACKAGE = 'awilix';
43
+ /** `awilix` itself or any of its subpaths — and nothing whose name merely starts with it. */
44
+ export function isContainerSpecifier(specifier) {
45
+ return specifier === FORBIDDEN_PACKAGE || specifier.startsWith(`${FORBIDDEN_PACKAGE}/`);
46
+ }
47
+ /**
48
+ * The owning module id of a source file, over every root a module can live in.
49
+ *
50
+ * Three shapes, in order. The two anchored regexes answer for the application's
51
+ * own trees — a deployment overlay first, then the core module tree — and both
52
+ * key on `/src/`, so they say nothing about a module that has become a
53
+ * **package** (feature 080, T040a). The third is `lib/module-population.ts`'
54
+ * `moduleIdOf`, the same segment reader the population floor uses, and it is
55
+ * what makes a path like `packages/modules/blog/src/services/x.ts` attribute to
56
+ * `blog` instead of to nobody.
57
+ *
58
+ * That fallback is not cosmetic. Without it a package's files are read by the
59
+ * walk, satisfy the floor, and are then attributed to `null` — which for every
60
+ * consumer here means *not a module*, so the check judges none of them and
61
+ * reports clean. That is issue #215's failure one layer in, and it is why
62
+ * `resolveModuleLayout` refuses a package root whose location the segment
63
+ * reader cannot attribute rather than letting it through unnamed.
64
+ *
65
+ * The fourth answer is `hostResident`, the map the layout derives from the
66
+ * manifest index for a module whose sources the host owns and whose directory
67
+ * therefore carries no `modules/<id>/` segment (feature 080, T040b). It is
68
+ * threaded from `main` rather than left to default, for exactly the reason the
69
+ * third shape exists: a file the walk reads and cannot name is a file this
70
+ * check judges as nobody's and reports clean about.
71
+ */
72
+ export function moduleOf(file, hostResident = NO_HOST_RESIDENT_MODULES) {
73
+ const overlay = /\/src\/apps\/[^/]+\/modules\/([^/]+)\//.exec(file);
74
+ if (overlay)
75
+ return overlay[1] ?? null;
76
+ const core = /\/src\/modules\/([^/]+)\//.exec(file);
77
+ if (core)
78
+ return core[1] ?? null;
79
+ return moduleIdOf(file, hostResident);
80
+ }
81
+ /**
82
+ * Every file the rule applies to, over the roots it is given.
83
+ *
84
+ * The roots are a **parameter and not a default** since feature 080's T040a:
85
+ * they are `resolveModuleLayout().moduleWalkRoots` — the application's own
86
+ * module trees, the deployment overlay tree, and every module that has become a
87
+ * workspace package. A default spelled here would be the one caller that keeps
88
+ * reading the old layout after the tree moves, which is the whole shape this
89
+ * repository has now repaired three times.
90
+ *
91
+ * Exported so the check's own test can assert the **real** tree is clean, not
92
+ * only that the analyzer can go red on a fixture. Both callers therefore agree
93
+ * on the scan scope by construction.
94
+ */
95
+ export function collectModuleFiles(roots) {
96
+ return roots.flatMap((root) => walk(root));
97
+ }
98
+ function walk(dir, out = []) {
99
+ if (!existsSync(dir))
100
+ return out;
101
+ for (const name of readdirSync(dir)) {
102
+ const full = join(dir, name);
103
+ if (statSync(full).isDirectory()) {
104
+ if (name === 'node_modules' || name === 'dist')
105
+ continue;
106
+ walk(full, out);
107
+ }
108
+ else if (name.endsWith('.ts')) {
109
+ out.push(full);
110
+ }
111
+ }
112
+ return out;
113
+ }
114
+ /**
115
+ * Every import of the container library in `source`.
116
+ *
117
+ * Covers the four ways a specifier reaches a module: `import … from`,
118
+ * `export … from`, `import(…)` and `require(…)`. A `import type { … }` is
119
+ * **also** a finding: it erases at runtime, but it is still a module reading
120
+ * the container's types instead of the kernel's, which is what the seam is for.
121
+ */
122
+ export function analyzeSource(source, file, hostResident = NO_HOST_RESIDENT_MODULES) {
123
+ const moduleId = moduleOf(file, hostResident);
124
+ if (moduleId === null)
125
+ return [];
126
+ const sf = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true);
127
+ const findings = [];
128
+ const record = (specifier) => {
129
+ if (!isContainerSpecifier(specifier.text))
130
+ return;
131
+ findings.push({
132
+ file,
133
+ moduleId,
134
+ specifier: specifier.text,
135
+ line: sf.getLineAndCharacterOfPosition(specifier.getStart(sf)).line + 1,
136
+ });
137
+ };
138
+ const visit = (node) => {
139
+ if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&
140
+ node.moduleSpecifier &&
141
+ ts.isStringLiteral(node.moduleSpecifier)) {
142
+ record(node.moduleSpecifier);
143
+ }
144
+ if (ts.isCallExpression(node)) {
145
+ const callee = node.expression;
146
+ const isDynamicImport = callee.kind === ts.SyntaxKind.ImportKeyword;
147
+ const isRequire = ts.isIdentifier(callee) && callee.text === 'require';
148
+ const [first] = node.arguments;
149
+ if ((isDynamicImport || isRequire) && first && ts.isStringLiteral(first)) {
150
+ record(first);
151
+ }
152
+ }
153
+ node.forEachChild(visit);
154
+ };
155
+ sf.forEachChild(visit);
156
+ return findings;
157
+ }
158
+ //# sourceMappingURL=container-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-imports.js","sourceRoot":"","sources":["../../src/rules/container-imports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,212 @@
1
+ import ts from 'typescript';
2
+ export type DefaultLanguageProseFindingKind = 'non-english-default' | 'polish-default-behind-a-prop' | 'unclassifiable-literal';
3
+ /**
4
+ * Polish diacritics — `scripts/check-language.sh`'s own `pattern`, character for
5
+ * character, so the two instruments cannot come to disagree about what a Polish
6
+ * letter is. `ó` is in it although it is shared with Icelandic and Spanish:
7
+ * dropping it would make `'Potwierdzenie zamówienia'` invisible, which is a
8
+ * larger hole than the two English currency labels it costs.
9
+ */
10
+ export declare const POLISH_DIACRITICS = "\u0105\u0104\u0107\u0106\u0119\u0118\u0142\u0141\u0144\u0143\u00F3\u00D3\u015B\u015A\u017A\u0179\u017C\u017B";
11
+ /**
12
+ * Polish function words, for the prose that carries no diacritic.
13
+ *
14
+ * Function words only, and deliberately: a domain vocabulary would be a
15
+ * population defined by the presence of the words somebody thought to enumerate
16
+ * (issue #244). Every entry is a form that is not also an English word — `pod`,
17
+ * `ten`, `to`, `do`, `on`, `z` and `we` are all excluded for that reason, and
18
+ * their absence is why `'Data wystawienia'` is one of the blind spots § 1.3
19
+ * declares. The exclusions are measured rather than assumed, twice:
20
+ *
21
+ * * **`we`** (Polish "in") was in the list for one run and reported five
22
+ * English sentences, `'…and "we do not want files" is not a business
23
+ * decision'` among them.
24
+ * * **`w`** (Polish "in") is the single most useful Polish function word and is
25
+ * out for a different reason: it is **one letter**, and a one-letter token is
26
+ * not a word in a tree full of SQL aliases and XML namespaces. Measured: it
27
+ * found two real sites (`'Faktura wystawiona w trybie offline.'` and
28
+ * `'Numer w KSeF'`, both diacritic-free Polish) and eight wrong ones — a
29
+ * `select w.id, w.code …` join alias and seven `http://www.w3.org/…`
30
+ * signature algorithm URIs. Its absence is the second half of § 1.3's
31
+ * declared bound, and the two sites it costs are Polish legal artefacts a
32
+ * ledger entry would keep either way.
33
+ *
34
+ * So the stopword pass keeps {@link proseTokens}' floor: a token is a word when
35
+ * it has two letters.
36
+ */
37
+ export declare const POLISH_STOPWORDS: readonly string[];
38
+ /**
39
+ * Polish proper nouns that stay Polish inside English prose — the list
40
+ * `scripts/check-language.sh` carries, blanked before the detector runs for the
41
+ * same reason it blanks them: an English sentence routinely names a Polish
42
+ * institution, and translating the name would make it wrong rather than more
43
+ * English.
44
+ *
45
+ * Held to the shell list, in both directions, by the companion test. Matched
46
+ * **case-sensitively and as a whole phrase**, exactly as the shell does, so
47
+ * `'Metoda płatności'` — an invoice label with a lower-case second word — is
48
+ * still judged while the feature name `Metoda Płatności` is not.
49
+ */
50
+ export declare const POLISH_PROPER_NOUNS: readonly string[];
51
+ /**
52
+ * Property names whose value declares which language the enclosing object is
53
+ * written in — the `language-declaring-object` exemption.
54
+ *
55
+ * A vocabulary and not a derivation, because there is nothing in the tree that
56
+ * declares it; it is kept to the four spellings that mean exactly this, and the
57
+ * reason it cannot be widened to "a sibling holding a language code" is in the
58
+ * header: a seed row's `entryCode: 'en-US'` is the row's subject.
59
+ */
60
+ export declare const LANGUAGE_DECLARING_FIELDS: readonly string[];
61
+ /** The languages a detector exists for. Polish, and § 1.3 declares the bound. */
62
+ export declare const DETECTED_LANGUAGES: readonly string[];
63
+ /** How a literal is placed against the per-language structures around it. */
64
+ export type StructurePlacement = 'language-keyed-property' | 'language-declaring-object' | 'single-language-file' | 'outside' | 'unclassifiable';
65
+ export interface ProseSite {
66
+ /** The file, as `layout.keyOf` spells it. */
67
+ readonly file: string;
68
+ readonly line: number;
69
+ /** The literal's own text, with template placeholders collapsed. */
70
+ readonly text: string;
71
+ /** The language the detector answered. */
72
+ readonly language: string;
73
+ readonly placement: StructurePlacement;
74
+ readonly kind: DefaultLanguageProseFindingKind;
75
+ }
76
+ export interface DefaultLanguageProseInput {
77
+ /** File key → source text. The top of the analysis (issue #130). */
78
+ readonly sources: ReadonlyMap<string, string>;
79
+ /** The platform's shipped languages — `SUPPORTED_LANGUAGES` in a real run. */
80
+ readonly languages: readonly string[];
81
+ }
82
+ export interface DefaultLanguageProseResult {
83
+ /** Every non-English prose literal outside a per-language structure. */
84
+ readonly findings: readonly ProseSite[];
85
+ /** Findings no ledger entry answers for. */
86
+ readonly violations: readonly ProseSite[];
87
+ /** Findings an entry answers for. */
88
+ readonly ledgered: readonly ProseSite[];
89
+ /** Ledger keys that no longer describe a finding. */
90
+ readonly stale: readonly string[];
91
+ /** Entries filed under a module that does not own the file they name. */
92
+ readonly misfiled: readonly string[];
93
+ /** Every string or template literal the walk classified — the `sites` count. */
94
+ readonly classified: number;
95
+ }
96
+ /** The word tokens a literal holds — letters only, so a placeholder splits. */
97
+ export declare function proseTokens(text: string): string[];
98
+ /**
99
+ * Whether the literal is prose at all.
100
+ *
101
+ * Two word tokens, or one in the prop-default position — see the header: there
102
+ * the position establishes that the string is a label a human reads, which is
103
+ * what the token count otherwise has to infer.
104
+ */
105
+ export declare function isProse(text: string, inPropDefault?: boolean): boolean;
106
+ /** The proper nouns removed, so a citation is not read as prose. */
107
+ export declare function blankProperNouns(text: string): string;
108
+ /** Whether the literal holds a Polish function word. */
109
+ export declare function hasPolishStopword(text: string): boolean;
110
+ /**
111
+ * The non-English language this literal is in, or `null`.
112
+ *
113
+ * `languages` gates the answer: a detector for a language the platform does not
114
+ * ship would report a finding nobody can act on.
115
+ */
116
+ export declare function detectLanguage(text: string, languages: readonly string[]): string | null;
117
+ /** `pl-PL` → `pl`, and `PL` → `pl`. Case and region folded, nothing else. */
118
+ export declare function primarySubtag(code: string): string;
119
+ /** Every name a file declares as an export, for the `single-language-file` shape. */
120
+ export declare function declaredExportNames(sf: ts.SourceFile): string[];
121
+ /**
122
+ * Whether the file's own declared subject is one language — § 1.2's third shape.
123
+ *
124
+ * The evidence is a language **code** in a declared export name. It deliberately
125
+ * does not fire on `POLISH_TRANSLATION_SEED`, which is a language *name*: that
126
+ * file is exempt through `language-declaring-object` instead, from the
127
+ * `languageCode: 'pl-PL'` its rows carry, which is the structural answer and
128
+ * needs no mapping from a code to an English word.
129
+ */
130
+ export declare function isSingleLanguageFile(sf: ts.SourceFile, languages: readonly string[]): boolean;
131
+ /**
132
+ * Where the literal sits relative to the per-language structures enclosing it.
133
+ *
134
+ * A computed key anywhere on the path is `unclassifiable` and **not** a skip
135
+ * (issue #113): `{ [language]: 'Przesyłka wysłana' }` may or may not be a
136
+ * per-language map, and treating it as exempt is the direction that agrees with
137
+ * the defect.
138
+ */
139
+ export declare function placementOf(node: ts.Node, languages: readonly string[], singleLanguageFile: boolean): StructurePlacement;
140
+ export interface FileAnalysis {
141
+ readonly sites: readonly ProseSite[];
142
+ /** Every literal node this file offered the classifier. */
143
+ readonly classified: number;
144
+ }
145
+ /** Every non-English prose literal in one file, and how many it classified. */
146
+ export declare function analyzeSource(file: string, source: string, languages: readonly string[]): FileAnalysis;
147
+ /** One shard's declared entries, plus the module it is filed under. */
148
+ export interface LedgerShard {
149
+ readonly moduleId: string;
150
+ readonly entries: Readonly<Record<string, string>>;
151
+ }
152
+ /** The digest half of a ledger key — never a line (§ 2.1). */
153
+ export declare function literalDigest(text: string): string;
154
+ /** `<file>:<digest>`, so an insertion above the site does not red it. */
155
+ export declare function ledgerKey(site: Pick<ProseSite, 'file' | 'text'>): string;
156
+ /**
157
+ * The findings, over the sources and shipped languages handed in.
158
+ *
159
+ * Pure: a red proof enters here, over **source text**, which is where a real run
160
+ * enters (issue #130). A fixture handing in a classified literal would prove the
161
+ * reporter and leave the parser, the position filter, the detector and the whole
162
+ * structure analysis unproven.
163
+ */
164
+ export declare function checkDefaultLanguageProse(input: DefaultLanguageProseInput, shards?: readonly LedgerShard[], moduleOf?: (file: string) => string | null): DefaultLanguageProseResult;
165
+ /** Directories a module walk never descends into. */
166
+ /**
167
+ * Directory names this rule's walk prunes wherever they occur under its root.
168
+ *
169
+ * `migrations` is the one that is a *rule* rather than a convenience, and its
170
+ * reason is in this file's header: an applied migration cannot be edited, so a
171
+ * ledger entry over a literal in one would never drain.
172
+ */
173
+ export declare const PRUNED_DIRECTORIES: readonly string[];
174
+ /**
175
+ * Whether a file is in this rule's population — the **one** membership
176
+ * decision, asked by the walk and by anything that needs to know what the walk
177
+ * would open.
178
+ *
179
+ * It is one function called from two places on purpose, in the idiom
180
+ * `command-coverage.ts` states: while the prune the walk does for speed and the
181
+ * rule the population states were two expressions of one predicate, one could go
182
+ * missing without the other noticing. The second caller is `endora check`'s
183
+ * package-scope floor, which has to know that a declared `./migrations` layer is
184
+ * **not** expected of this rule — otherwise a package that publishes migrations
185
+ * reports a short walk for a layer the rule excludes by design.
186
+ */
187
+ export declare function isScannedPath(absolutePath: string, root: string): boolean;
188
+ /**
189
+ * Every TypeScript source under `dir`, with the rule's own prunes applied.
190
+ *
191
+ * Exported because the population is part of the rule: two hosts computing
192
+ * "which files this check reads" two ways is the shape that lets one of them go
193
+ * half-blind.
194
+ */
195
+ export declare function collectProseSources(dir: string, out?: string[]): string[];
196
+ /**
197
+ * Every shard in `directory`, loaded.
198
+ *
199
+ * Rejects rather than returning an empty list when the directory is missing or a
200
+ * shard fails to import: both are "read nothing", and the CLI turns the
201
+ * rejection into exit 2.
202
+ */
203
+ export declare function loadLedgerShards(directory: string): Promise<LedgerShard[]>;
204
+ /**
205
+ * The remedy paragraph, one per finding kind.
206
+ *
207
+ * Exported because the remedy is part of the rule and not part of a host: an
208
+ * author outside this checkout reads the same sentence this repository's run
209
+ * prints, and a second wording would be a second answer to "what do I do".
210
+ */
211
+ export declare const REMEDIES: Readonly<Record<DefaultLanguageProseFindingKind, string>>;
212
+ //# sourceMappingURL=default-language-prose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-language-prose.d.ts","sourceRoot":"","sources":["../../src/rules/default-language-prose.ts"],"names":[],"mappings":"AAqIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,MAAM,MAAM,+BAA+B,GACvC,qBAAqB,GACrB,8BAA8B,GAC9B,wBAAwB,CAAC;AAE7B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,iHAAuB,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAkD7C,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAKhD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAKtD,CAAC;AAIF,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAW,CAAC;AAE5D,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAC1B,yBAAyB,GACzB,2BAA2B,GAC3B,sBAAsB,GACtB,SAAS,GACT,gBAAgB,CAAC;AAErB,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAID,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAIlD;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,OAAO,CAGpE;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAOxF;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAsGD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAAE,CAyB/D;AAUD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAI7F;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,kBAAkB,EAAE,OAAO,GAC1B,kBAAkB,CAqBpB;AAyBD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,YAAY,CAqCd;AAID,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,yBAAyB,EAChC,MAAM,GAAE,SAAS,WAAW,EAAO,EACnC,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAiB,GACrD,0BAA0B,CAoC5B;AAID,qDAAqD;AACrD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAK/C,CAAC;AAIF;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKzE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAoB7E;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAwBhF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAmB9E,CAAC"}