@owlmeans/viable-common 0.0.43 → 0.0.45

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 (708) hide show
  1. package/README.md +3 -3
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/agent-presentation/SKILL.md +4 -4
  4. package/agent-meta/skills/viable-common/SKILL.md +59 -36
  5. package/build/agent/consts.d.ts +58 -0
  6. package/build/agent/consts.d.ts.map +1 -0
  7. package/build/agent/consts.js +63 -0
  8. package/build/agent/consts.js.map +1 -0
  9. package/build/agent/consts.local.d.ts +21 -0
  10. package/build/agent/consts.local.d.ts.map +1 -0
  11. package/build/agent/consts.local.js +44 -0
  12. package/build/agent/consts.local.js.map +1 -0
  13. package/build/agent/index.d.ts +2 -0
  14. package/build/agent/index.d.ts.map +1 -1
  15. package/build/agent/index.js +1 -0
  16. package/build/agent/index.js.map +1 -1
  17. package/build/agent/presentation/types.d.ts +21 -0
  18. package/build/agent/presentation/types.d.ts.map +1 -0
  19. package/build/agent/presentation/types.js.map +1 -0
  20. package/build/agent/presentation.d.ts +12 -94
  21. package/build/agent/presentation.d.ts.map +1 -1
  22. package/build/agent/presentation.js +218 -299
  23. package/build/agent/presentation.js.map +1 -1
  24. package/build/agent/types.d.ts +30 -0
  25. package/build/agent/types.d.ts.map +1 -1
  26. package/build/agent/types.local.d.ts +4 -0
  27. package/build/agent/types.local.d.ts.map +1 -0
  28. package/build/agent/types.local.js +2 -0
  29. package/build/agent/types.local.js.map +1 -0
  30. package/build/areas/consts.d.ts +5 -0
  31. package/build/areas/consts.d.ts.map +1 -1
  32. package/build/areas/consts.js +4 -0
  33. package/build/areas/consts.js.map +1 -1
  34. package/build/areas/index.d.ts +1 -0
  35. package/build/areas/index.d.ts.map +1 -1
  36. package/build/areas/index.js.map +1 -1
  37. package/build/areas/tenancy/types.d.ts +23 -0
  38. package/build/areas/tenancy/types.d.ts.map +1 -0
  39. package/build/areas/tenancy/types.js +2 -0
  40. package/build/areas/tenancy/types.js.map +1 -0
  41. package/build/areas/tenancy.d.ts +6 -50
  42. package/build/areas/tenancy.d.ts.map +1 -1
  43. package/build/areas/tenancy.js +21 -31
  44. package/build/areas/tenancy.js.map +1 -1
  45. package/build/areas/types.d.ts +32 -0
  46. package/build/areas/types.d.ts.map +1 -1
  47. package/build/ba/connecting/types.d.ts +45 -0
  48. package/build/ba/connecting/types.d.ts.map +1 -0
  49. package/build/ba/connecting/types.js +2 -0
  50. package/build/ba/connecting/types.js.map +1 -0
  51. package/build/ba/connecting.d.ts +4 -0
  52. package/build/ba/connecting.d.ts.map +1 -0
  53. package/build/ba/connecting.js +47 -0
  54. package/build/ba/connecting.js.map +1 -0
  55. package/build/ba/helpers.d.ts +4 -39
  56. package/build/ba/helpers.d.ts.map +1 -1
  57. package/build/ba/helpers.js +5 -79
  58. package/build/ba/helpers.js.map +1 -1
  59. package/build/ba/index.d.ts +2 -0
  60. package/build/ba/index.d.ts.map +1 -1
  61. package/build/ba/index.js +1 -0
  62. package/build/ba/index.js.map +1 -1
  63. package/build/ba/types.d.ts +1 -1
  64. package/build/ba/types.d.ts.map +1 -1
  65. package/build/blueprint/consts.d.ts +41 -0
  66. package/build/blueprint/consts.d.ts.map +1 -1
  67. package/build/blueprint/consts.js +51 -0
  68. package/build/blueprint/consts.js.map +1 -1
  69. package/build/blueprint/consts.local.d.ts +2 -0
  70. package/build/blueprint/consts.local.d.ts.map +1 -0
  71. package/build/blueprint/consts.local.js +3 -0
  72. package/build/blueprint/consts.local.js.map +1 -0
  73. package/build/blueprint/index.d.ts +1 -0
  74. package/build/blueprint/index.d.ts.map +1 -1
  75. package/build/blueprint/index.js +1 -0
  76. package/build/blueprint/index.js.map +1 -1
  77. package/build/blueprint/types.d.ts +3 -52
  78. package/build/blueprint/types.d.ts.map +1 -1
  79. package/build/blueprint/types.js +1 -65
  80. package/build/blueprint/types.js.map +1 -1
  81. package/build/blueprint/utils.d.ts +11 -0
  82. package/build/blueprint/utils.d.ts.map +1 -0
  83. package/build/blueprint/utils.js +16 -0
  84. package/build/blueprint/utils.js.map +1 -0
  85. package/build/branding.d.ts +0 -8
  86. package/build/branding.d.ts.map +1 -1
  87. package/build/branding.js +0 -16
  88. package/build/branding.js.map +1 -1
  89. package/build/connect/branding/types.d.ts +28 -0
  90. package/build/connect/branding/types.d.ts.map +1 -0
  91. package/build/connect/branding/types.js +2 -0
  92. package/build/connect/branding/types.js.map +1 -0
  93. package/build/connect/consts.d.ts +2 -10
  94. package/build/connect/consts.d.ts.map +1 -1
  95. package/build/connect/consts.js +2 -23
  96. package/build/connect/consts.js.map +1 -1
  97. package/build/connect/conversion/types.d.ts +93 -0
  98. package/build/connect/conversion/types.d.ts.map +1 -0
  99. package/build/connect/conversion/types.js +2 -0
  100. package/build/connect/conversion/types.js.map +1 -0
  101. package/build/connect/entrypoints/types.d.ts +30 -0
  102. package/build/connect/entrypoints/types.d.ts.map +1 -0
  103. package/build/connect/entrypoints/types.js +2 -0
  104. package/build/connect/entrypoints/types.js.map +1 -0
  105. package/build/connect/entrypoints.d.ts +61 -92
  106. package/build/connect/entrypoints.d.ts.map +1 -1
  107. package/build/connect/entrypoints.js +5 -2
  108. package/build/connect/entrypoints.js.map +1 -1
  109. package/build/connect/errors/types.d.ts +20 -0
  110. package/build/connect/errors/types.d.ts.map +1 -0
  111. package/build/connect/errors/types.js +2 -0
  112. package/build/connect/errors/types.js.map +1 -0
  113. package/build/connect/errors.d.ts +32 -0
  114. package/build/connect/errors.d.ts.map +1 -1
  115. package/build/connect/errors.js +65 -0
  116. package/build/connect/errors.js.map +1 -1
  117. package/build/connect/index.d.ts +13 -2
  118. package/build/connect/index.d.ts.map +1 -1
  119. package/build/connect/index.js +1 -0
  120. package/build/connect/index.js.map +1 -1
  121. package/build/connect/kit/types.d.ts +52 -0
  122. package/build/connect/kit/types.d.ts.map +1 -0
  123. package/build/connect/kit/types.js +2 -0
  124. package/build/connect/{types.js.map → kit/types.js.map} +1 -1
  125. package/build/connect/model-tier/types.d.ts +16 -0
  126. package/build/connect/model-tier/types.d.ts.map +1 -0
  127. package/build/connect/model-tier/types.js +2 -0
  128. package/build/connect/model-tier/types.js.map +1 -0
  129. package/build/connect/model-tier.d.ts +4 -0
  130. package/build/connect/model-tier.d.ts.map +1 -0
  131. package/build/connect/model-tier.js +21 -0
  132. package/build/connect/model-tier.js.map +1 -0
  133. package/build/connect/{ops.d.ts → ops/types.d.ts} +13 -4
  134. package/build/connect/ops/types.d.ts.map +1 -0
  135. package/build/connect/ops/types.js +2 -0
  136. package/build/connect/ops/types.js.map +1 -0
  137. package/build/connect/pipeline/types.d.ts +39 -0
  138. package/build/connect/pipeline/types.d.ts.map +1 -0
  139. package/build/connect/pipeline/types.js +2 -0
  140. package/build/connect/pipeline/types.js.map +1 -0
  141. package/build/connect/project/types.d.ts +127 -0
  142. package/build/connect/project/types.d.ts.map +1 -0
  143. package/build/connect/project/types.js +2 -0
  144. package/build/connect/project/types.js.map +1 -0
  145. package/build/connect/references/types.d.ts +157 -0
  146. package/build/connect/references/types.d.ts.map +1 -0
  147. package/build/connect/references/types.js +2 -0
  148. package/build/connect/references/types.js.map +1 -0
  149. package/build/connect/references/types.local.d.ts +5 -0
  150. package/build/connect/references/types.local.d.ts.map +1 -0
  151. package/build/connect/references/types.local.js +2 -0
  152. package/build/connect/references/types.local.js.map +1 -0
  153. package/build/connect/references.d.ts +1 -153
  154. package/build/connect/references.d.ts.map +1 -1
  155. package/build/connect/references.js.map +1 -1
  156. package/build/connect/schemas.d.ts +9 -5
  157. package/build/connect/schemas.d.ts.map +1 -1
  158. package/build/connect/schemas.js +10 -3
  159. package/build/connect/schemas.js.map +1 -1
  160. package/build/connect/session/types.d.ts +73 -0
  161. package/build/connect/session/types.d.ts.map +1 -0
  162. package/build/connect/session/types.js +2 -0
  163. package/build/connect/session/types.js.map +1 -0
  164. package/build/connect/settings/types.d.ts +48 -0
  165. package/build/connect/settings/types.d.ts.map +1 -0
  166. package/build/connect/settings/types.js +2 -0
  167. package/build/connect/settings/types.js.map +1 -0
  168. package/build/consts.d.ts +8 -0
  169. package/build/consts.d.ts.map +1 -1
  170. package/build/consts.js +16 -0
  171. package/build/consts.js.map +1 -1
  172. package/build/convert/analysis/types.d.ts +93 -0
  173. package/build/convert/analysis/types.d.ts.map +1 -0
  174. package/build/convert/analysis/types.js +2 -0
  175. package/build/convert/analysis/types.js.map +1 -0
  176. package/build/convert/census/consts.local.d.ts +55 -0
  177. package/build/convert/census/consts.local.d.ts.map +1 -0
  178. package/build/convert/census/consts.local.js +104 -0
  179. package/build/convert/census/consts.local.js.map +1 -0
  180. package/build/convert/census/types.d.ts +176 -0
  181. package/build/convert/census/types.d.ts.map +1 -0
  182. package/build/convert/census/types.js +2 -0
  183. package/build/convert/census/types.js.map +1 -0
  184. package/build/convert/census.d.ts +4 -0
  185. package/build/convert/census.d.ts.map +1 -0
  186. package/build/convert/census.js +83 -0
  187. package/build/convert/census.js.map +1 -0
  188. package/build/convert/consts.d.ts +4 -12
  189. package/build/convert/consts.d.ts.map +1 -1
  190. package/build/convert/consts.js +4 -3
  191. package/build/convert/consts.js.map +1 -1
  192. package/build/convert/detection/types.d.ts +67 -0
  193. package/build/convert/detection/types.d.ts.map +1 -0
  194. package/build/convert/detection/types.js +2 -0
  195. package/build/convert/detection/types.js.map +1 -0
  196. package/build/convert/docs/types.d.ts +129 -0
  197. package/build/convert/docs/types.d.ts.map +1 -0
  198. package/build/convert/docs/types.js +2 -0
  199. package/build/convert/docs/types.js.map +1 -0
  200. package/build/convert/docs.d.ts +4 -0
  201. package/build/convert/docs.d.ts.map +1 -0
  202. package/build/convert/docs.js +9 -0
  203. package/build/convert/docs.js.map +1 -0
  204. package/build/convert/estimate/types.d.ts +77 -0
  205. package/build/convert/estimate/types.d.ts.map +1 -0
  206. package/build/convert/estimate/types.js +2 -0
  207. package/build/convert/estimate/types.js.map +1 -0
  208. package/build/convert/estimate.d.ts +11 -0
  209. package/build/convert/estimate.d.ts.map +1 -0
  210. package/build/convert/estimate.js +18 -0
  211. package/build/convert/estimate.js.map +1 -0
  212. package/build/convert/helpers.d.ts +14 -78
  213. package/build/convert/helpers.d.ts.map +1 -1
  214. package/build/convert/helpers.js +27 -300
  215. package/build/convert/helpers.js.map +1 -1
  216. package/build/convert/index.d.ts +15 -0
  217. package/build/convert/index.d.ts.map +1 -1
  218. package/build/convert/index.js +6 -0
  219. package/build/convert/index.js.map +1 -1
  220. package/build/convert/origin/types.d.ts +41 -0
  221. package/build/convert/origin/types.d.ts.map +1 -0
  222. package/build/convert/origin/types.js +2 -0
  223. package/build/convert/origin/types.js.map +1 -0
  224. package/build/convert/origin.d.ts +4 -0
  225. package/build/convert/origin.d.ts.map +1 -0
  226. package/build/convert/origin.js +25 -0
  227. package/build/convert/origin.js.map +1 -0
  228. package/build/convert/record/types.d.ts +98 -0
  229. package/build/convert/record/types.d.ts.map +1 -0
  230. package/build/convert/record/types.js +2 -0
  231. package/build/convert/record/types.js.map +1 -0
  232. package/build/convert/schemas.d.ts +7 -6
  233. package/build/convert/schemas.d.ts.map +1 -1
  234. package/build/convert/schemas.js +1 -5
  235. package/build/convert/schemas.js.map +1 -1
  236. package/build/convert/stage/types.d.ts +27 -0
  237. package/build/convert/stage/types.d.ts.map +1 -0
  238. package/build/convert/stage/types.js +2 -0
  239. package/build/convert/stage/types.js.map +1 -0
  240. package/build/convert/stage.d.ts +4 -0
  241. package/build/convert/stage.d.ts.map +1 -0
  242. package/build/convert/stage.js +25 -0
  243. package/build/convert/stage.js.map +1 -0
  244. package/build/convert/taxonomy/types.d.ts +71 -0
  245. package/build/convert/taxonomy/types.d.ts.map +1 -0
  246. package/build/convert/taxonomy/types.js +2 -0
  247. package/build/convert/taxonomy/types.js.map +1 -0
  248. package/build/convert/types.d.ts +1 -648
  249. package/build/convert/types.d.ts.map +1 -1
  250. package/build/convert/utils.d.ts +5 -0
  251. package/build/convert/utils.d.ts.map +1 -0
  252. package/build/convert/utils.js +6 -0
  253. package/build/convert/utils.js.map +1 -0
  254. package/build/design/consts.d.ts +37 -0
  255. package/build/design/consts.d.ts.map +1 -1
  256. package/build/design/consts.js +44 -8
  257. package/build/design/consts.js.map +1 -1
  258. package/build/design/helpers.d.ts +9 -49
  259. package/build/design/helpers.d.ts.map +1 -1
  260. package/build/design/helpers.js +17 -224
  261. package/build/design/helpers.js.map +1 -1
  262. package/build/design/index.d.ts +3 -0
  263. package/build/design/index.d.ts.map +1 -1
  264. package/build/design/index.js +1 -0
  265. package/build/design/index.js.map +1 -1
  266. package/build/design/runtime/types.d.ts +16 -0
  267. package/build/design/runtime/types.d.ts.map +1 -0
  268. package/build/design/runtime/types.js +2 -0
  269. package/build/design/runtime/types.js.map +1 -0
  270. package/build/design/runtime.d.ts +8 -105
  271. package/build/design/runtime.d.ts.map +1 -1
  272. package/build/design/runtime.js +13 -48
  273. package/build/design/runtime.js.map +1 -1
  274. package/build/design/schemas.d.ts +1 -9
  275. package/build/design/schemas.d.ts.map +1 -1
  276. package/build/design/schemas.js +1 -1
  277. package/build/design/schemas.js.map +1 -1
  278. package/build/design/story/types.d.ts +67 -0
  279. package/build/design/story/types.d.ts.map +1 -0
  280. package/build/design/story/types.js +2 -0
  281. package/build/design/story/types.js.map +1 -0
  282. package/build/design/story.d.ts +4 -0
  283. package/build/design/story.d.ts.map +1 -0
  284. package/build/design/story.js +184 -0
  285. package/build/design/story.js.map +1 -0
  286. package/build/design/types.d.ts +75 -1
  287. package/build/design/types.d.ts.map +1 -1
  288. package/build/dev/schemas.d.ts.map +1 -1
  289. package/build/dev/schemas.js.map +1 -1
  290. package/build/dev/types.local.d.ts +5 -0
  291. package/build/dev/types.local.d.ts.map +1 -0
  292. package/build/dev/types.local.js +2 -0
  293. package/build/dev/types.local.js.map +1 -0
  294. package/build/integrity/consts.d.ts +0 -117
  295. package/build/integrity/consts.d.ts.map +1 -1
  296. package/build/integrity/consts.js +0 -281
  297. package/build/integrity/consts.js.map +1 -1
  298. package/build/integrity/consts.local.d.ts +5 -0
  299. package/build/integrity/consts.local.d.ts.map +1 -0
  300. package/build/integrity/consts.local.js +5 -0
  301. package/build/integrity/consts.local.js.map +1 -0
  302. package/build/integrity/index.d.ts +5 -0
  303. package/build/integrity/index.d.ts.map +1 -1
  304. package/build/integrity/index.js +3 -0
  305. package/build/integrity/index.js.map +1 -1
  306. package/build/integrity/layout/consts.d.ts +59 -0
  307. package/build/integrity/layout/consts.d.ts.map +1 -0
  308. package/build/integrity/layout/consts.js +66 -0
  309. package/build/integrity/layout/consts.js.map +1 -0
  310. package/build/integrity/layout/consts.local.d.ts +18 -0
  311. package/build/integrity/layout/consts.local.d.ts.map +1 -0
  312. package/build/integrity/layout/consts.local.js +176 -0
  313. package/build/integrity/layout/consts.local.js.map +1 -0
  314. package/build/integrity/layout/types.d.ts +35 -0
  315. package/build/integrity/layout/types.d.ts.map +1 -0
  316. package/build/integrity/layout/types.js +2 -0
  317. package/build/integrity/layout/types.js.map +1 -0
  318. package/build/integrity/layout.d.ts +4 -0
  319. package/build/integrity/layout.d.ts.map +1 -0
  320. package/build/integrity/layout.js +25 -0
  321. package/build/integrity/layout.js.map +1 -0
  322. package/build/integrity/types.d.ts +36 -2
  323. package/build/integrity/types.d.ts.map +1 -1
  324. package/build/integrity/utils.d.ts +13 -0
  325. package/build/integrity/utils.d.ts.map +1 -0
  326. package/build/integrity/utils.js +12 -0
  327. package/build/integrity/utils.js.map +1 -0
  328. package/build/integrity/verify/types.d.ts +26 -0
  329. package/build/integrity/verify/types.d.ts.map +1 -0
  330. package/build/integrity/verify/types.js +2 -0
  331. package/build/integrity/verify/types.js.map +1 -0
  332. package/build/integrity/verify.d.ts +5 -19
  333. package/build/integrity/verify.d.ts.map +1 -1
  334. package/build/integrity/verify.js +165 -175
  335. package/build/integrity/verify.js.map +1 -1
  336. package/build/intent/consts.d.ts +16 -0
  337. package/build/intent/consts.d.ts.map +1 -1
  338. package/build/intent/consts.js +63 -0
  339. package/build/intent/consts.js.map +1 -1
  340. package/build/intent/entrypoints.d.ts +2 -12
  341. package/build/intent/entrypoints.d.ts.map +1 -1
  342. package/build/intent/entrypoints.js.map +1 -1
  343. package/build/intent/index.d.ts +0 -1
  344. package/build/intent/index.d.ts.map +1 -1
  345. package/build/intent/index.js +0 -1
  346. package/build/intent/index.js.map +1 -1
  347. package/build/intent/types.d.ts +13 -0
  348. package/build/intent/types.d.ts.map +1 -1
  349. package/build/metadata/consts.d.ts +33 -0
  350. package/build/metadata/consts.d.ts.map +1 -1
  351. package/build/metadata/consts.js +37 -0
  352. package/build/metadata/consts.js.map +1 -1
  353. package/build/metadata/types.d.ts +1 -33
  354. package/build/metadata/types.d.ts.map +1 -1
  355. package/build/metadata/types.js +1 -38
  356. package/build/metadata/types.js.map +1 -1
  357. package/build/moderation/index.d.ts +2 -0
  358. package/build/moderation/index.d.ts.map +1 -1
  359. package/build/moderation/index.js +1 -0
  360. package/build/moderation/index.js.map +1 -1
  361. package/build/moderation/utils.d.ts +3 -15
  362. package/build/moderation/utils.d.ts.map +1 -1
  363. package/build/moderation/utils.js +5 -30
  364. package/build/moderation/utils.js.map +1 -1
  365. package/build/moderation/verdict/types.d.ts +24 -0
  366. package/build/moderation/verdict/types.d.ts.map +1 -0
  367. package/build/moderation/verdict/types.js +2 -0
  368. package/build/moderation/verdict/types.js.map +1 -0
  369. package/build/moderation/verdict.d.ts +4 -0
  370. package/build/moderation/verdict.d.ts.map +1 -0
  371. package/build/moderation/verdict.js +21 -0
  372. package/build/moderation/verdict.js.map +1 -0
  373. package/build/planning/card/types.d.ts +42 -0
  374. package/build/planning/card/types.d.ts.map +1 -0
  375. package/build/planning/card/types.js +2 -0
  376. package/build/planning/card/types.js.map +1 -0
  377. package/build/planning/card.d.ts +4 -0
  378. package/build/planning/card.d.ts.map +1 -0
  379. package/build/planning/card.js +51 -0
  380. package/build/planning/card.js.map +1 -0
  381. package/build/planning/consts.d.ts +13 -1
  382. package/build/planning/consts.d.ts.map +1 -1
  383. package/build/planning/consts.js +13 -0
  384. package/build/planning/consts.js.map +1 -1
  385. package/build/planning/helpers.d.ts +11 -37
  386. package/build/planning/helpers.d.ts.map +1 -1
  387. package/build/planning/helpers.js +24 -103
  388. package/build/planning/helpers.js.map +1 -1
  389. package/build/planning/index.d.ts +5 -1
  390. package/build/planning/index.d.ts.map +1 -1
  391. package/build/planning/index.js +2 -1
  392. package/build/planning/index.js.map +1 -1
  393. package/build/planning/landing/types.d.ts +16 -0
  394. package/build/planning/landing/types.d.ts.map +1 -0
  395. package/build/planning/landing/types.js +2 -0
  396. package/build/planning/landing/types.js.map +1 -0
  397. package/build/planning/landing.d.ts +5 -22
  398. package/build/planning/landing.d.ts.map +1 -1
  399. package/build/planning/landing.js +21 -35
  400. package/build/planning/landing.js.map +1 -1
  401. package/build/planning/schemas.d.ts +33 -0
  402. package/build/planning/schemas.d.ts.map +1 -1
  403. package/build/planning/schemas.js +173 -4
  404. package/build/planning/schemas.js.map +1 -1
  405. package/build/planning/spec/types.d.ts +22 -0
  406. package/build/planning/spec/types.d.ts.map +1 -0
  407. package/build/planning/spec/types.js +2 -0
  408. package/build/planning/spec/types.js.map +1 -0
  409. package/build/planning/spec.d.ts +4 -0
  410. package/build/planning/spec.d.ts.map +1 -0
  411. package/build/planning/spec.js +30 -0
  412. package/build/planning/spec.js.map +1 -0
  413. package/build/planning/types.d.ts +6 -5
  414. package/build/planning/types.d.ts.map +1 -1
  415. package/build/preview/consts.d.ts +3 -1
  416. package/build/preview/consts.d.ts.map +1 -1
  417. package/build/preview/consts.js +2 -0
  418. package/build/preview/consts.js.map +1 -1
  419. package/build/preview/types.d.ts +17 -2
  420. package/build/preview/types.d.ts.map +1 -1
  421. package/build/scaffold/consts.d.ts +40 -1
  422. package/build/scaffold/consts.d.ts.map +1 -1
  423. package/build/scaffold/consts.js +52 -0
  424. package/build/scaffold/consts.js.map +1 -1
  425. package/build/scaffold/helpers.d.ts +5 -30
  426. package/build/scaffold/helpers.d.ts.map +1 -1
  427. package/build/scaffold/helpers.js +9 -53
  428. package/build/scaffold/helpers.js.map +1 -1
  429. package/build/scaffold/index.d.ts +4 -0
  430. package/build/scaffold/index.d.ts.map +1 -1
  431. package/build/scaffold/index.js +2 -0
  432. package/build/scaffold/index.js.map +1 -1
  433. package/build/scaffold/landing/types.d.ts +48 -0
  434. package/build/scaffold/landing/types.d.ts.map +1 -0
  435. package/build/scaffold/landing/types.js +2 -0
  436. package/build/scaffold/landing/types.js.map +1 -0
  437. package/build/scaffold/landing.d.ts +4 -0
  438. package/build/scaffold/landing.d.ts.map +1 -0
  439. package/build/scaffold/landing.js +95 -0
  440. package/build/scaffold/landing.js.map +1 -0
  441. package/build/scaffold/schemas.d.ts +3 -2
  442. package/build/scaffold/schemas.d.ts.map +1 -1
  443. package/build/scaffold/schemas.js +177 -7
  444. package/build/scaffold/schemas.js.map +1 -1
  445. package/build/scaffold/share/types.d.ts +35 -0
  446. package/build/scaffold/share/types.d.ts.map +1 -0
  447. package/build/scaffold/share/types.js +2 -0
  448. package/build/scaffold/share/types.js.map +1 -0
  449. package/build/scaffold/share.d.ts +4 -0
  450. package/build/scaffold/share.d.ts.map +1 -0
  451. package/build/scaffold/share.js +42 -0
  452. package/build/scaffold/share.js.map +1 -0
  453. package/build/scaffold/types.d.ts +114 -2
  454. package/build/scaffold/types.d.ts.map +1 -1
  455. package/build/skills/consts.d.ts +42 -0
  456. package/build/skills/consts.d.ts.map +1 -1
  457. package/build/skills/consts.js +43 -0
  458. package/build/skills/consts.js.map +1 -1
  459. package/build/skills/index.d.ts +0 -1
  460. package/build/skills/index.d.ts.map +1 -1
  461. package/build/skills/index.js +0 -1
  462. package/build/skills/index.js.map +1 -1
  463. package/build/slot/command/types.d.ts +21 -0
  464. package/build/slot/command/types.d.ts.map +1 -0
  465. package/build/slot/command/types.js +2 -0
  466. package/build/slot/command/types.js.map +1 -0
  467. package/build/slot/command.d.ts +4 -0
  468. package/build/slot/command.d.ts.map +1 -0
  469. package/build/slot/command.js +31 -0
  470. package/build/slot/command.js.map +1 -0
  471. package/build/slot/consts.d.ts +7 -13
  472. package/build/slot/consts.d.ts.map +1 -1
  473. package/build/slot/consts.js +10 -36
  474. package/build/slot/consts.js.map +1 -1
  475. package/build/slot/helpers.d.ts +3 -22
  476. package/build/slot/helpers.d.ts.map +1 -1
  477. package/build/slot/helpers.js +5 -26
  478. package/build/slot/helpers.js.map +1 -1
  479. package/build/slot/index.d.ts +6 -0
  480. package/build/slot/index.d.ts.map +1 -1
  481. package/build/slot/index.js +3 -0
  482. package/build/slot/index.js.map +1 -1
  483. package/build/slot/layout/types.d.ts +17 -0
  484. package/build/slot/layout/types.d.ts.map +1 -0
  485. package/build/slot/layout/types.js +2 -0
  486. package/build/slot/layout/types.js.map +1 -0
  487. package/build/slot/layout.d.ts +5 -66
  488. package/build/slot/layout.d.ts.map +1 -1
  489. package/build/slot/layout.js +13 -27
  490. package/build/slot/layout.js.map +1 -1
  491. package/build/slot/origin/types.d.ts +23 -0
  492. package/build/slot/origin/types.d.ts.map +1 -0
  493. package/build/slot/origin/types.js +2 -0
  494. package/build/slot/origin/types.js.map +1 -0
  495. package/build/slot/origin.d.ts +4 -0
  496. package/build/slot/origin.d.ts.map +1 -0
  497. package/build/slot/origin.js +15 -0
  498. package/build/slot/origin.js.map +1 -0
  499. package/build/slot/types.d.ts +55 -1
  500. package/build/slot/types.d.ts.map +1 -1
  501. package/build/slot/utils.d.ts +6 -0
  502. package/build/slot/utils.d.ts.map +1 -0
  503. package/build/slot/utils.js +6 -0
  504. package/build/slot/utils.js.map +1 -0
  505. package/build/topology/card/types.d.ts +21 -0
  506. package/build/topology/card/types.d.ts.map +1 -0
  507. package/build/topology/card/types.js +2 -0
  508. package/build/topology/card/types.js.map +1 -0
  509. package/build/topology/card.d.ts +7 -19
  510. package/build/topology/card.d.ts.map +1 -1
  511. package/build/topology/card.js +84 -89
  512. package/build/topology/card.js.map +1 -1
  513. package/build/topology/consts.local.d.ts +4 -0
  514. package/build/topology/consts.local.d.ts.map +1 -0
  515. package/build/topology/consts.local.js +4 -0
  516. package/build/topology/consts.local.js.map +1 -0
  517. package/build/topology/helpers.d.ts +7 -33
  518. package/build/topology/helpers.d.ts.map +1 -1
  519. package/build/topology/helpers.js +15 -111
  520. package/build/topology/helpers.js.map +1 -1
  521. package/build/topology/index.d.ts +3 -0
  522. package/build/topology/index.d.ts.map +1 -1
  523. package/build/topology/index.js +1 -0
  524. package/build/topology/index.js.map +1 -1
  525. package/build/topology/resolve/types.d.ts +47 -0
  526. package/build/topology/resolve/types.d.ts.map +1 -0
  527. package/build/topology/resolve/types.js +2 -0
  528. package/build/topology/resolve/types.js.map +1 -0
  529. package/build/topology/resolve.d.ts +4 -0
  530. package/build/topology/resolve.d.ts.map +1 -0
  531. package/build/topology/resolve.js +89 -0
  532. package/build/topology/resolve.js.map +1 -0
  533. package/build/topology/types.d.ts +5 -0
  534. package/build/topology/types.d.ts.map +1 -1
  535. package/package.json +13 -13
  536. package/src/agent/consts.local.ts +47 -0
  537. package/src/agent/consts.ts +61 -0
  538. package/src/agent/index.ts +2 -0
  539. package/src/agent/presentation/types.ts +21 -0
  540. package/src/agent/presentation.ts +200 -309
  541. package/src/agent/types.local.ts +3 -0
  542. package/src/agent/types.ts +40 -0
  543. package/src/areas/consts.ts +7 -0
  544. package/src/areas/index.ts +1 -0
  545. package/src/areas/tenancy/types.ts +23 -0
  546. package/src/areas/tenancy.ts +26 -61
  547. package/src/areas/types.ts +31 -0
  548. package/src/ba/connecting/types.ts +45 -0
  549. package/src/ba/connecting.ts +64 -0
  550. package/src/ba/helpers.ts +8 -92
  551. package/src/ba/index.ts +2 -0
  552. package/src/ba/types.ts +1 -1
  553. package/src/blueprint/consts.local.ts +3 -0
  554. package/src/blueprint/consts.ts +52 -0
  555. package/src/blueprint/index.ts +1 -0
  556. package/src/blueprint/types.ts +4 -74
  557. package/src/blueprint/utils.ts +20 -0
  558. package/src/branding.ts +0 -17
  559. package/src/connect/branding/types.ts +29 -0
  560. package/src/connect/consts.ts +3 -22
  561. package/src/connect/conversion/types.ts +96 -0
  562. package/src/connect/entrypoints/types.ts +25 -0
  563. package/src/connect/entrypoints.ts +18 -35
  564. package/src/connect/errors/types.ts +22 -0
  565. package/src/connect/errors.ts +75 -0
  566. package/src/connect/index.ts +13 -2
  567. package/src/connect/kit/types.ts +56 -0
  568. package/src/connect/model-tier/types.ts +16 -0
  569. package/src/connect/model-tier.ts +22 -0
  570. package/src/connect/{ops.ts → ops/types.ts} +13 -3
  571. package/src/connect/pipeline/types.ts +41 -0
  572. package/src/connect/project/types.ts +127 -0
  573. package/src/connect/references/types.local.ts +5 -0
  574. package/src/connect/references/types.ts +73 -0
  575. package/src/connect/references.ts +15 -75
  576. package/src/connect/schemas.ts +19 -12
  577. package/src/connect/session/types.ts +81 -0
  578. package/src/connect/settings/types.ts +52 -0
  579. package/src/consts.ts +17 -0
  580. package/src/convert/analysis/types.ts +89 -0
  581. package/src/convert/census/consts.local.ts +120 -0
  582. package/src/convert/census/types.ts +181 -0
  583. package/src/convert/census.ts +95 -0
  584. package/src/convert/consts.ts +5 -14
  585. package/src/convert/detection/types.ts +74 -0
  586. package/src/convert/docs/types.ts +151 -0
  587. package/src/convert/docs.ts +15 -0
  588. package/src/convert/estimate/types.ts +75 -0
  589. package/src/convert/estimate.ts +19 -0
  590. package/src/convert/helpers.ts +29 -328
  591. package/src/convert/index.ts +15 -0
  592. package/src/convert/origin/types.ts +43 -0
  593. package/src/convert/origin.ts +33 -0
  594. package/src/convert/record/types.ts +105 -0
  595. package/src/convert/schemas.ts +13 -12
  596. package/src/convert/stage/types.ts +27 -0
  597. package/src/convert/stage.ts +31 -0
  598. package/src/convert/taxonomy/types.ts +74 -0
  599. package/src/convert/types.ts +5 -703
  600. package/src/convert/utils.ts +7 -0
  601. package/src/design/consts.ts +48 -0
  602. package/src/design/helpers.ts +20 -245
  603. package/src/design/index.ts +3 -0
  604. package/src/design/runtime/types.ts +14 -0
  605. package/src/design/runtime.ts +18 -116
  606. package/src/design/schemas.ts +2 -10
  607. package/src/design/story/types.ts +67 -0
  608. package/src/design/story.ts +221 -0
  609. package/src/design/types.ts +81 -1
  610. package/src/dev/schemas.ts +1 -3
  611. package/src/dev/types.local.ts +4 -0
  612. package/src/integrity/consts.local.ts +5 -0
  613. package/src/integrity/consts.ts +0 -348
  614. package/src/integrity/index.ts +5 -0
  615. package/src/integrity/layout/consts.local.ts +188 -0
  616. package/src/integrity/layout/consts.ts +79 -0
  617. package/src/integrity/layout/types.ts +35 -0
  618. package/src/integrity/layout.ts +39 -0
  619. package/src/integrity/types.ts +37 -2
  620. package/src/integrity/utils.ts +21 -0
  621. package/src/integrity/verify/types.ts +26 -0
  622. package/src/integrity/verify.ts +178 -184
  623. package/src/intent/consts.ts +67 -0
  624. package/src/intent/entrypoints.ts +2 -3
  625. package/src/intent/index.ts +0 -1
  626. package/src/intent/types.ts +10 -0
  627. package/src/metadata/consts.ts +37 -0
  628. package/src/metadata/types.ts +1 -37
  629. package/src/moderation/index.ts +2 -0
  630. package/src/moderation/utils.ts +7 -30
  631. package/src/moderation/verdict/types.ts +22 -0
  632. package/src/moderation/verdict.ts +28 -0
  633. package/src/planning/card/types.ts +44 -0
  634. package/src/planning/card.ts +77 -0
  635. package/src/planning/consts.ts +15 -2
  636. package/src/planning/helpers.ts +28 -116
  637. package/src/planning/index.ts +5 -1
  638. package/src/planning/landing/types.ts +15 -0
  639. package/src/planning/landing.ts +28 -38
  640. package/src/planning/schemas.ts +191 -4
  641. package/src/planning/spec/types.ts +22 -0
  642. package/src/planning/spec.ts +41 -0
  643. package/src/planning/types.ts +6 -6
  644. package/src/preview/consts.ts +2 -0
  645. package/src/preview/types.ts +19 -0
  646. package/src/scaffold/consts.ts +65 -1
  647. package/src/scaffold/helpers.ts +14 -80
  648. package/src/scaffold/index.ts +4 -0
  649. package/src/scaffold/landing/types.ts +48 -0
  650. package/src/scaffold/landing.ts +120 -0
  651. package/src/scaffold/schemas.ts +183 -7
  652. package/src/scaffold/share/types.ts +35 -0
  653. package/src/scaffold/share.ts +60 -0
  654. package/src/scaffold/types.ts +123 -1
  655. package/src/skills/consts.ts +46 -0
  656. package/src/skills/index.ts +0 -1
  657. package/src/slot/command/types.ts +21 -0
  658. package/src/slot/command.ts +38 -0
  659. package/src/slot/consts.ts +11 -40
  660. package/src/slot/helpers.ts +6 -31
  661. package/src/slot/index.ts +6 -0
  662. package/src/slot/layout/types.ts +17 -0
  663. package/src/slot/layout.ts +19 -77
  664. package/src/slot/origin/types.ts +23 -0
  665. package/src/slot/origin.ts +20 -0
  666. package/src/slot/types.ts +58 -1
  667. package/src/slot/utils.ts +10 -0
  668. package/src/topology/card/types.ts +21 -0
  669. package/src/topology/card.ts +85 -90
  670. package/src/topology/consts.local.ts +6 -0
  671. package/src/topology/helpers.ts +20 -125
  672. package/src/topology/index.ts +3 -0
  673. package/src/topology/resolve/types.ts +47 -0
  674. package/src/topology/resolve.ts +118 -0
  675. package/src/topology/types.ts +6 -0
  676. package/tests/blueprint.spec.ts +1 -2
  677. package/tests/branding.spec.ts +2 -2
  678. package/tests/connect-convert.spec.ts +21 -1
  679. package/tests/connect-errors.spec.ts +34 -1
  680. package/tests/convert.spec.ts +51 -52
  681. package/tests/design.spec.ts +13 -16
  682. package/tests/error-status.spec.ts +7 -1
  683. package/tests/planning.spec.ts +58 -75
  684. package/tests/presentation.spec.ts +21 -23
  685. package/tests/scaffold.spec.ts +286 -6
  686. package/tests/tenancy.spec.ts +21 -21
  687. package/build/connect/ops.d.ts.map +0 -1
  688. package/build/connect/ops.js +0 -2
  689. package/build/connect/ops.js.map +0 -1
  690. package/build/connect/types.d.ts +0 -437
  691. package/build/connect/types.d.ts.map +0 -1
  692. package/build/intent/flow.d.ts +0 -17
  693. package/build/intent/flow.d.ts.map +0 -1
  694. package/build/intent/flow.js +0 -65
  695. package/build/intent/flow.js.map +0 -1
  696. package/build/planning/flows.d.ts +0 -34
  697. package/build/planning/flows.d.ts.map +0 -1
  698. package/build/planning/flows.js +0 -174
  699. package/build/planning/flows.js.map +0 -1
  700. package/build/skills/roles.d.ts +0 -43
  701. package/build/skills/roles.d.ts.map +0 -1
  702. package/build/skills/roles.js +0 -44
  703. package/build/skills/roles.js.map +0 -1
  704. package/src/connect/types.ts +0 -466
  705. package/src/intent/flow.ts +0 -67
  706. package/src/planning/flows.ts +0 -204
  707. package/src/skills/roles.ts +0 -46
  708. /package/build/{connect → agent/presentation}/types.js +0 -0
@@ -1,95 +1,90 @@
1
- import { SubProject } from '../slot/consts.js';
2
1
  import { TOPOLOGY_VERSION } from './consts.js';
3
- import { orderPackages } from './helpers.js';
4
- const ROLES = new Set(Object.values(SubProject));
5
- const KINDS = new Set(['library', 'bundle']);
6
- const asStrings = (value) => Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
7
- /**
8
- * Read a package descriptor out of whatever the file held.
9
- *
10
- * Everything is narrowed rather than trusted: the file is on the target's volume, where a person,
11
- * a GitHub pull or a previous platform version may have written it. A descriptor that cannot be
12
- * narrowed is DROPPED, never repaired — a package with no name or no recognisable role would
13
- * otherwise resolve a path somewhere real and wrong.
14
- */
15
- const parsePackage = (value) => {
16
- if (value == null || typeof value !== 'object')
17
- return null;
18
- const raw = value;
19
- const name = typeof raw.name === 'string' ? raw.name.trim() : '';
20
- if (name === '' || name.includes('/') || name.startsWith('.'))
21
- return null;
22
- const roles = asStrings(raw.roles).filter((role) => ROLES.has(role));
23
- if (roles.length === 0)
24
- return null;
25
- const kind = KINDS.has(raw.kind) ? raw.kind : 'bundle';
26
- const areas = asStrings(raw.areas);
27
- const queues = asStrings(raw.queues);
28
- return {
29
- name,
30
- roles,
31
- kind,
32
- dependsOn: asStrings(raw.dependsOn),
33
- ...(areas.length > 0 ? { areas: areas } : {}),
34
- ...(queues.length > 0 ? { queues } : {}),
2
+ import { topologyHelper } from './resolve.js';
3
+ import { KINDS, ROLES } from './consts.local.js';
4
+ export const createTopologyCardHelper = () => {
5
+ const asStrings = (value) => Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
6
+ /**
7
+ * Read a package descriptor out of whatever the file held.
8
+ *
9
+ * Everything is narrowed rather than trusted: the file is on the target's volume, where a person,
10
+ * a GitHub pull or a previous platform version may have written it. A descriptor that cannot be
11
+ * narrowed is DROPPED, never repaired — a package with no name or no recognisable role would
12
+ * otherwise resolve a path somewhere real and wrong.
13
+ */
14
+ const parsePackage = (value) => {
15
+ if (value == null || typeof value !== 'object')
16
+ return null;
17
+ const raw = value;
18
+ const name = typeof raw.name === 'string' ? raw.name.trim() : '';
19
+ if (name === '' || name.includes('/') || name.startsWith('.'))
20
+ return null;
21
+ const roles = asStrings(raw.roles).filter((role) => ROLES.has(role));
22
+ if (roles.length === 0)
23
+ return null;
24
+ const kind = KINDS.has(raw.kind) ? raw.kind : 'bundle';
25
+ const areas = asStrings(raw.areas);
26
+ const queues = asStrings(raw.queues);
27
+ return {
28
+ name,
29
+ roles,
30
+ kind,
31
+ dependsOn: asStrings(raw.dependsOn),
32
+ ...(areas.length > 0 ? { areas: areas } : {}),
33
+ ...(queues.length > 0 ? { queues } : {}),
34
+ };
35
35
  };
36
- };
37
- /**
38
- * Narrow a parsed frontmatter block into a topology, or answer `null`.
39
- *
40
- * `null` means "use the layout default", and every caller treats it that way. A topology file
41
- * written by a platform version this one cannot read must not stop a project from building — the
42
- * arrangement it describes is almost certainly still the default one.
43
- */
44
- export const parseTopologyMeta = (data) => {
45
- if (data == null || typeof data !== 'object')
46
- return null;
47
- const raw = data;
48
- if (typeof raw.dir !== 'string' || raw.dir.trim() === '')
49
- return null;
50
- const packages = Array.isArray(raw.packages)
51
- ? raw.packages.map(parsePackage).filter((pkg) => pkg != null)
52
- : [];
53
- if (packages.length === 0)
54
- return null;
55
- return {
56
- id: typeof raw.id === 'string' && raw.id !== '' ? raw.id : 'recorded',
57
- dir: raw.dir.trim(),
58
- packages,
36
+ const parseTopologyMeta = (data) => {
37
+ if (data == null || typeof data !== 'object')
38
+ return null;
39
+ const raw = data;
40
+ if (typeof raw.dir !== 'string' || raw.dir.trim() === '')
41
+ return null;
42
+ const packages = Array.isArray(raw.packages)
43
+ ? raw.packages.map(parsePackage).filter((pkg) => pkg != null)
44
+ : [];
45
+ if (packages.length === 0)
46
+ return null;
47
+ return {
48
+ id: typeof raw.id === 'string' && raw.id !== '' ? raw.id : 'recorded',
49
+ dir: raw.dir.trim(),
50
+ packages,
51
+ };
59
52
  };
60
- };
61
- export const topologyMeta = (topology) => ({
62
- ...topology,
63
- packages: orderPackages(topology.packages),
64
- version: TOPOLOGY_VERSION,
65
- updatedAt: new Date().toISOString(),
66
- });
67
- /**
68
- * The body of `.agents/memory/topology.md` — what a model reads, and what a person reads.
69
- *
70
- * Rendered from the descriptor rather than maintained beside it, for the same reason the layout
71
- * tables are: a card that disagrees with the frontmatter teaches the wrong tree.
72
- */
73
- export const renderTopologyCard = (topology) => {
74
- const ordered = orderPackages(topology.packages);
75
- const rows = ordered.map(pkg => {
76
- const deps = pkg.dependsOn.length > 0 ? pkg.dependsOn.join(', ') : '—';
77
- const extra = [
78
- ...(pkg.areas != null ? [`areas: ${pkg.areas.join(', ')}`] : []),
79
- ...(pkg.queues != null ? [`queues: ${pkg.queues.join(', ')}`] : []),
80
- ].join('; ');
81
- return `| \`${topology.dir}/${pkg.name}\` | ${pkg.roles.join(', ')} | ${pkg.kind} | ${deps} | ${extra === '' ? '—' : extra} |`;
53
+ const topologyMeta = (topology) => ({
54
+ ...topology,
55
+ packages: topologyHelper.orderPackages(topology.packages),
56
+ version: TOPOLOGY_VERSION,
57
+ updatedAt: new Date().toISOString(),
82
58
  });
83
- return [
84
- '# Topology',
85
- '',
86
- 'Which packages this project has, what each one is, and which compile against which.',
87
- 'Built in the order of the table — a `library` must be built before anything importing it.',
88
- '',
89
- '| Package | Roles | Kind | Depends on | Notes |',
90
- '|---|---|---|---|---|',
91
- ...rows,
92
- '',
93
- ].join('\n');
59
+ const renderTopologyCard = (topology) => {
60
+ const ordered = topologyHelper.orderPackages(topology.packages);
61
+ const rows = ordered.map(pkg => {
62
+ const deps = pkg.dependsOn.length > 0 ? pkg.dependsOn.join(', ') : '—';
63
+ const extra = [
64
+ ...(pkg.areas != null ? [`areas: ${pkg.areas.join(', ')}`] : []),
65
+ ...(pkg.queues != null ? [`queues: ${pkg.queues.join(', ')}`] : []),
66
+ ].join('; ');
67
+ return `| \`${topology.dir}/${pkg.name}\` | ${pkg.roles.join(', ')} | ${pkg.kind} | ${deps} | ${extra === '' ? '—' : extra} |`;
68
+ });
69
+ return [
70
+ '# Topology',
71
+ '',
72
+ 'Which packages this project has, what each one is, and which compile against which.',
73
+ 'Built in the order of the table — a `library` must be built before anything importing it.',
74
+ '',
75
+ '| Package | Roles | Kind | Depends on | Notes |',
76
+ '|---|---|---|---|---|',
77
+ ...rows,
78
+ '',
79
+ ].join('\n');
80
+ };
81
+ return { parseTopologyMeta, topologyMeta, renderTopologyCard };
94
82
  };
83
+ export const topologyCardHelper = createTopologyCardHelper();
84
+ /** @deprecated compat:factory-refactor — use `topologyCardHelper.parseTopologyMeta(…)` */
85
+ export const parseTopologyMeta = (data) => topologyCardHelper.parseTopologyMeta(data);
86
+ /** @deprecated compat:factory-refactor — use `topologyCardHelper.topologyMeta(…)` */
87
+ export const topologyMeta = (topology) => topologyCardHelper.topologyMeta(topology);
88
+ /** @deprecated compat:factory-refactor — use `topologyCardHelper.renderTopologyCard(…)` */
89
+ export const renderTopologyCard = (topology) => topologyCardHelper.renderTopologyCard(topology);
95
90
  //# sourceMappingURL=card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/topology/card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/topology/card.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { TargetPackageKind } from './types.js';
2
+ export declare const ROLES: Set<string>;
3
+ export declare const KINDS: Set<TargetPackageKind>;
4
+ //# sourceMappingURL=consts.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../src/topology/consts.local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,KAAK,aAA6C,CAAA;AAE/D,eAAO,MAAM,KAAK,wBAAoD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { SubProject } from '../slot/consts.js';
2
+ export const ROLES = new Set(Object.values(SubProject));
3
+ export const KINDS = new Set(['library', 'bundle']);
4
+ //# sourceMappingURL=consts.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../src/topology/consts.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA"}
@@ -1,44 +1,18 @@
1
- import { TargetLayout } from '../integrity/consts.js';
2
1
  import type { ProjectArea } from '../areas/consts.js';
3
2
  import type { SubProject } from '../slot/consts.js';
4
3
  import type { ResolvedTopology, TargetPackageDescriptor, TopologyDescriptor } from './types.js';
5
- /**
6
- * Order the packages so that nothing is built before what it compiles against.
7
- *
8
- * Kahn's algorithm, with two deliberate tolerances. An edge to a package the topology does not
9
- * hold is DROPPED rather than fatal — a project may declare a dependency on something a pull has
10
- * not brought in yet, and refusing to order the tree would take the whole build down over one
11
- * name. A cycle leaves its members unvisited, and they are appended in declaration order: a cycle
12
- * cannot be built correctly in any order, so the useful behaviour is to build it in the order
13
- * somebody wrote rather than to throw.
14
- */
4
+ /** @deprecated compat:factory-refactor — use `topologyHelper.orderPackages(…)` */
15
5
  export declare const orderPackages: (packages: TargetPackageDescriptor[]) => TargetPackageDescriptor[];
16
- /** Resolve the derived halves — build order, library order and the role index. */
6
+ /** @deprecated compat:factory-refactor — use `topologyHelper.resolveTopology(…)` */
17
7
  export declare const resolveTopology: (topology: TopologyDescriptor) => ResolvedTopology;
18
- /** The default topology for a layout already decided. */
19
- export declare const topologyOf: (layout: TargetLayout) => TopologyDescriptor;
20
- /**
21
- * The directory a role names, or `null` when this topology has no package for it.
22
- *
23
- * `null` rather than the role's own name: a command aimed at a package the tree does not have must
24
- * fail where it is issued. Answering with a plausible directory runs it somewhere real and wrong,
25
- * which is how a type check once ran against the shared package instead of the one under repair.
26
- */
8
+ /** @deprecated compat:factory-refactor — use `topologyHelper.packageForRole(…)` */
27
9
  export declare const packageForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor | null;
28
- /** Every package holding a role — more than one only where a topology splits that role. */
29
- export declare const packagesForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor[];
30
- /** The package serving an area, for a topology that splits the browser app across several. */
10
+ /** @deprecated compat:factory-refactor — use `topologyHelper.packageForArea(…)` */
31
11
  export declare const packageForArea: (topology: ResolvedTopology, role: SubProject, area: ProjectArea) => TargetPackageDescriptor | null;
32
- /** `<dir>/<package>` — the only place a topology directory is composed. */
12
+ /** @deprecated compat:factory-refactor — use `topologyHelper.packageDir(…)` */
33
13
  export declare const packageDir: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => string;
34
- /**
35
- * Merge a package into a topology, by name.
36
- *
37
- * This is the ADOPTION path: a package that arrived with a GitHub pull is classified once and
38
- * recorded here, so the next run addresses the tree that exists rather than re-deriving one that
39
- * does not. Replacing by name rather than appending keeps a re-classification idempotent.
40
- */
14
+ /** @deprecated compat:factory-refactor — use `topologyHelper.withPackage(…)` */
41
15
  export declare const withPackage: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => TopologyDescriptor;
42
- /** Whether two topologies describe the same arrangement — used to skip a needless rewrite. */
16
+ /** @deprecated compat:factory-refactor — use `topologyHelper.sameTopology(…)` */
43
17
  export declare const sameTopology: (a: TopologyDescriptor, b: TopologyDescriptor) => boolean;
44
18
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,KAAK,EACV,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAC9D,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,aAAc,uBAAuB,EAAE,KAAG,uBAAuB,EA4C1F,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,eAAe,aAAc,kBAAkB,KAAG,gBAgB9D,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,UAAU,WAAY,YAAY,KAAG,kBACH,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,aACf,gBAAgB,QAAQ,UAAU,KAC3C,uBAAuB,GAAG,IAA0C,CAAA;AAEvE,2FAA2F;AAC3F,eAAO,MAAM,eAAe,aAChB,gBAAgB,QAAQ,UAAU,KAC3C,uBAAuB,EAAiC,CAAA;AAE3D,8FAA8F;AAC9F,eAAO,MAAM,cAAc,aACf,gBAAgB,QAAQ,UAAU,QAAQ,WAAW,KAC9D,uBAAuB,GAAG,IAM5B,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,UAAU,aAAc,kBAAkB,OAAO,uBAAuB,KAAG,MACzD,CAAA;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aACZ,kBAAkB,OAAO,uBAAuB,KACzD,kBAKD,CAAA;AAEF,8FAA8F;AAC9F,eAAO,MAAM,YAAY,MAAO,kBAAkB,KAAK,kBAAkB,KAAG,OAEtD,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/F,kFAAkF;AAClF,eAAO,MAAM,aAAa,aAAc,uBAAuB,EAAE,KAAG,uBAAuB,EACnD,CAAA;AAExC,oFAAoF;AACpF,eAAO,MAAM,eAAe,aAAc,kBAAkB,KAAG,gBACrB,CAAA;AAE1C,mFAAmF;AACnF,eAAO,MAAM,cAAc,aAAc,gBAAgB,QAAQ,UAAU,KAAG,uBAAuB,GAAG,IACzD,CAAA;AAE/C,mFAAmF;AACnF,eAAO,MAAM,cAAc,aACf,gBAAgB,QAAQ,UAAU,QAAQ,WAAW,KAC9D,uBAAuB,GAAG,IAA2D,CAAA;AAExF,+EAA+E;AAC/E,eAAO,MAAM,UAAU,aAAc,kBAAkB,OAAO,uBAAuB,KAAG,MAC9C,CAAA;AAE1C,gFAAgF;AAChF,eAAO,MAAM,WAAW,aAAc,kBAAkB,OAAO,uBAAuB,KAAG,kBAC9C,CAAA;AAE3C,iFAAiF;AACjF,eAAO,MAAM,YAAY,MAAO,kBAAkB,KAAK,kBAAkB,KAAG,OACzC,CAAA"}
@@ -1,112 +1,16 @@
1
- import { LAYOUT_TOPOLOGIES, DEFAULT_TOPOLOGY } from './consts.js';
2
- /**
3
- * Order the packages so that nothing is built before what it compiles against.
4
- *
5
- * Kahn's algorithm, with two deliberate tolerances. An edge to a package the topology does not
6
- * hold is DROPPED rather than fatal — a project may declare a dependency on something a pull has
7
- * not brought in yet, and refusing to order the tree would take the whole build down over one
8
- * name. A cycle leaves its members unvisited, and they are appended in declaration order: a cycle
9
- * cannot be built correctly in any order, so the useful behaviour is to build it in the order
10
- * somebody wrote rather than to throw.
11
- */
12
- export const orderPackages = (packages) => {
13
- const known = new Set(packages.map(pkg => pkg.name));
14
- const index = new Map(packages.map((pkg, at) => [pkg.name, at]));
15
- const pending = new Map(packages.map(pkg => [
16
- pkg.name, pkg.dependsOn.filter(dep => known.has(dep) && dep !== pkg.name).length,
17
- ]));
18
- const dependents = new Map();
19
- for (const pkg of packages) {
20
- for (const dep of pkg.dependsOn) {
21
- if (!known.has(dep) || dep === pkg.name)
22
- continue;
23
- dependents.set(dep, [...dependents.get(dep) ?? [], pkg.name]);
24
- }
25
- }
26
- const byName = new Map(packages.map(pkg => [pkg.name, pkg]));
27
- const out = [];
28
- // Ready packages are taken in DECLARATION order, not in the order they became ready. Both are
29
- // correct builds; only one is the same list every time and the same list a person wrote, and
30
- // this order is compared against the shipped layout tables by a test.
31
- const ready = packages.filter(pkg => pending.get(pkg.name) === 0).map(pkg => pkg.name);
32
- const take = () => {
33
- if (ready.length === 0)
34
- return undefined;
35
- let at = 0;
36
- for (let i = 1; i < ready.length; i++) {
37
- if ((index.get(ready[i]) ?? 0) < (index.get(ready[at]) ?? 0))
38
- at = i;
39
- }
40
- return ready.splice(at, 1)[0];
41
- };
42
- for (let name = take(); name != null; name = take()) {
43
- const pkg = byName.get(name);
44
- if (pkg == null)
45
- continue;
46
- out.push(pkg);
47
- for (const next of dependents.get(name) ?? []) {
48
- const left = (pending.get(next) ?? 0) - 1;
49
- pending.set(next, left);
50
- if (left === 0)
51
- ready.push(next);
52
- }
53
- }
54
- const seen = new Set(out.map(pkg => pkg.name));
55
- return [...out, ...packages.filter(pkg => !seen.has(pkg.name))];
56
- };
57
- /** Resolve the derived halves — build order, library order and the role index. */
58
- export const resolveTopology = (topology) => {
59
- const ordered = orderPackages(topology.packages);
60
- const byRole = {};
61
- for (const pkg of ordered) {
62
- for (const role of pkg.roles) {
63
- byRole[role] = [...byRole[role] ?? [], pkg];
64
- }
65
- }
66
- return {
67
- ...topology,
68
- packages: ordered,
69
- build: ordered.map(pkg => pkg.name),
70
- libraries: ordered.filter(pkg => pkg.kind === 'library').map(pkg => pkg.name),
71
- byRole,
72
- };
73
- };
74
- /** The default topology for a layout already decided. */
75
- export const topologyOf = (layout) => LAYOUT_TOPOLOGIES[layout] ?? DEFAULT_TOPOLOGY;
76
- /**
77
- * The directory a role names, or `null` when this topology has no package for it.
78
- *
79
- * `null` rather than the role's own name: a command aimed at a package the tree does not have must
80
- * fail where it is issued. Answering with a plausible directory runs it somewhere real and wrong,
81
- * which is how a type check once ran against the shared package instead of the one under repair.
82
- */
83
- export const packageForRole = (topology, role) => topology.byRole[role]?.[0] ?? null;
84
- /** Every package holding a role — more than one only where a topology splits that role. */
85
- export const packagesForRole = (topology, role) => topology.byRole[role] ?? [];
86
- /** The package serving an area, for a topology that splits the browser app across several. */
87
- export const packageForArea = (topology, role, area) => {
88
- const candidates = packagesForRole(topology, role);
89
- return candidates.find(pkg => pkg.areas?.includes(area) === true)
90
- ?? candidates.find(pkg => pkg.areas == null)
91
- ?? candidates[0]
92
- ?? null;
93
- };
94
- /** `<dir>/<package>` — the only place a topology directory is composed. */
95
- export const packageDir = (topology, pkg) => `${topology.dir}/${pkg.name}`;
96
- /**
97
- * Merge a package into a topology, by name.
98
- *
99
- * This is the ADOPTION path: a package that arrived with a GitHub pull is classified once and
100
- * recorded here, so the next run addresses the tree that exists rather than re-deriving one that
101
- * does not. Replacing by name rather than appending keeps a re-classification idempotent.
102
- */
103
- export const withPackage = (topology, pkg) => ({
104
- ...topology,
105
- packages: topology.packages.some(known => known.name === pkg.name)
106
- ? topology.packages.map(known => known.name === pkg.name ? pkg : known)
107
- : [...topology.packages, pkg],
108
- });
109
- /** Whether two topologies describe the same arrangement — used to skip a needless rewrite. */
110
- export const sameTopology = (a, b) => JSON.stringify(orderPackages(a.packages)) === JSON.stringify(orderPackages(b.packages))
111
- && a.dir === b.dir;
1
+ import { topologyHelper } from './resolve.js';
2
+ /** @deprecated compat:factory-refactor — use `topologyHelper.orderPackages(…)` */
3
+ export const orderPackages = (packages) => topologyHelper.orderPackages(packages);
4
+ /** @deprecated compat:factory-refactor — use `topologyHelper.resolveTopology(…)` */
5
+ export const resolveTopology = (topology) => topologyHelper.resolveTopology(topology);
6
+ /** @deprecated compat:factory-refactor — use `topologyHelper.packageForRole(…)` */
7
+ export const packageForRole = (topology, role) => topologyHelper.packageForRole(topology, role);
8
+ /** @deprecated compat:factory-refactor — use `topologyHelper.packageForArea(…)` */
9
+ export const packageForArea = (topology, role, area) => topologyHelper.packageForArea(topology, role, area);
10
+ /** @deprecated compat:factory-refactor — use `topologyHelper.packageDir(…)` */
11
+ export const packageDir = (topology, pkg) => topologyHelper.packageDir(topology, pkg);
12
+ /** @deprecated compat:factory-refactor — use `topologyHelper.withPackage(…)` */
13
+ export const withPackage = (topology, pkg) => topologyHelper.withPackage(topology, pkg);
14
+ /** @deprecated compat:factory-refactor — use `topologyHelper.sameTopology(…)` */
15
+ export const sameTopology = (a, b) => topologyHelper.sameTopology(a, b);
112
16
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAmC,EAA6B,EAAE,CAC9F,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAExC,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAA4B,EAAoB,EAAE,CAChF,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;AAE1C,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAE,IAAgB,EAAkC,EAAE,CAC7G,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAE/C,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAA0B,EAAE,IAAgB,EAAE,IAAiB,EAC/B,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAExF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAA4B,EAAE,GAA4B,EAAU,EAAE,CAC/F,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AAE1C,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,GAA4B,EAAsB,EAAE,CAC5G,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AAE3C,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAqB,EAAE,CAAqB,EAAW,EAAE,CACpF,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA"}
@@ -1,5 +1,8 @@
1
1
  export type * from './types.js';
2
+ export type * from './resolve/types.js';
3
+ export type * from './card/types.js';
2
4
  export * from './consts.js';
5
+ export * from './resolve.js';
3
6
  export * from './helpers.js';
4
7
  export * from './card.js';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAE/B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,iBAAiB,CAAA;AAEpC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './consts.js';
2
+ export * from './resolve.js';
2
3
  export * from './helpers.js';
3
4
  export * from './card.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,47 @@
1
+ import type { ProjectArea } from '../../areas/consts.js';
2
+ import type { TargetLayout } from '../../integrity/consts.js';
3
+ import type { SubProject } from '../../slot/consts.js';
4
+ import type { ResolvedTopology, TargetPackageDescriptor, TopologyDescriptor } from '../types.js';
5
+ /** A target's package arrangement: build order, the role index, and where each package lives. */
6
+ export interface TopologyHelper {
7
+ /**
8
+ * Order the packages so that nothing is built before what it compiles against.
9
+ *
10
+ * Kahn's algorithm, with two deliberate tolerances. An edge to a package the topology does not
11
+ * hold is DROPPED rather than fatal — a project may declare a dependency on something a pull has
12
+ * not brought in yet, and refusing to order the tree would take the whole build down over one
13
+ * name. A cycle leaves its members unvisited, and they are appended in declaration order: a cycle
14
+ * cannot be built correctly in any order, so the useful behaviour is to build it in the order
15
+ * somebody wrote rather than to throw.
16
+ */
17
+ orderPackages: (packages: TargetPackageDescriptor[]) => TargetPackageDescriptor[];
18
+ /** Resolve the derived halves — build order, library order and the role index. */
19
+ resolveTopology: (topology: TopologyDescriptor) => ResolvedTopology;
20
+ /** The default topology for a layout already decided. */
21
+ topologyOf: (layout: TargetLayout) => TopologyDescriptor;
22
+ /**
23
+ * The directory a role names, or `null` when this topology has no package for it.
24
+ *
25
+ * `null` rather than the role's own name: a command aimed at a package the tree does not have must
26
+ * fail where it is issued. Answering with a plausible directory runs it somewhere real and wrong,
27
+ * which is how a type check once ran against the shared package instead of the one under repair.
28
+ */
29
+ packageForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor | null;
30
+ /** Every package holding a role — more than one only where a topology splits that role. */
31
+ packagesForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor[];
32
+ /** The package serving an area, for a topology that splits the browser app across several. */
33
+ packageForArea: (topology: ResolvedTopology, role: SubProject, area: ProjectArea) => TargetPackageDescriptor | null;
34
+ /** `<dir>/<package>` — the only place a topology directory is composed. */
35
+ packageDir: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => string;
36
+ /**
37
+ * Merge a package into a topology, by name.
38
+ *
39
+ * This is the ADOPTION path: a package that arrived with a GitHub pull is classified once and
40
+ * recorded here, so the next run addresses the tree that exists rather than re-deriving one that
41
+ * does not. Replacing by name rather than appending keeps a re-classification idempotent.
42
+ */
43
+ withPackage: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => TopologyDescriptor;
44
+ /** Whether two topologies describe the same arrangement — used to skip a needless rewrite. */
45
+ sameTopology: (a: TopologyDescriptor, b: TopologyDescriptor) => boolean;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/topology/resolve/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhG,iGAAiG;AACjG,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;OASG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,CAAA;IACjF,kFAAkF;IAClF,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,gBAAgB,CAAA;IACnE,yDAAyD;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,kBAAkB,CAAA;IACxD;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,KAAK,uBAAuB,GAAG,IAAI,CAAA;IAChG,2FAA2F;IAC3F,eAAe,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,KAAK,uBAAuB,EAAE,CAAA;IAC5F,8FAA8F;IAC9F,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,KAAK,uBAAuB,GAAG,IAAI,CAAA;IACnH,2EAA2E;IAC3E,UAAU,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB,KAAK,MAAM,CAAA;IAClF;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB,KAAK,kBAAkB,CAAA;IAC/F,8FAA8F;IAC9F,YAAY,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAA;CACxE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/topology/resolve/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { TopologyHelper } from './resolve/types.js';
2
+ export declare const createTopologyHelper: () => TopologyHelper;
3
+ export declare const topologyHelper: TopologyHelper;
4
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/topology/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,eAAO,MAAM,oBAAoB,QAAO,cA0GvC,CAAA;AAED,eAAO,MAAM,cAAc,gBAAyB,CAAA"}
@@ -0,0 +1,89 @@
1
+ import { LAYOUT_TOPOLOGIES, DEFAULT_TOPOLOGY } from './consts.js';
2
+ export const createTopologyHelper = () => {
3
+ const orderPackages = (packages) => {
4
+ const known = new Set(packages.map(pkg => pkg.name));
5
+ const index = new Map(packages.map((pkg, at) => [pkg.name, at]));
6
+ const pending = new Map(packages.map(pkg => [
7
+ pkg.name, pkg.dependsOn.filter(dep => known.has(dep) && dep !== pkg.name).length,
8
+ ]));
9
+ const dependents = new Map();
10
+ for (const pkg of packages) {
11
+ for (const dep of pkg.dependsOn) {
12
+ if (!known.has(dep) || dep === pkg.name)
13
+ continue;
14
+ dependents.set(dep, [...dependents.get(dep) ?? [], pkg.name]);
15
+ }
16
+ }
17
+ const byName = new Map(packages.map(pkg => [pkg.name, pkg]));
18
+ const out = [];
19
+ // Ready packages are taken in DECLARATION order, not in the order they became ready. Both are
20
+ // correct builds; only one is the same list every time and the same list a person wrote, and
21
+ // this order is compared against the shipped layout tables by a test.
22
+ const ready = packages.filter(pkg => pending.get(pkg.name) === 0).map(pkg => pkg.name);
23
+ const take = () => {
24
+ if (ready.length === 0)
25
+ return undefined;
26
+ let at = 0;
27
+ for (let i = 1; i < ready.length; i++) {
28
+ if ((index.get(ready[i]) ?? 0) < (index.get(ready[at]) ?? 0))
29
+ at = i;
30
+ }
31
+ return ready.splice(at, 1)[0];
32
+ };
33
+ for (let name = take(); name != null; name = take()) {
34
+ const pkg = byName.get(name);
35
+ if (pkg == null)
36
+ continue;
37
+ out.push(pkg);
38
+ for (const next of dependents.get(name) ?? []) {
39
+ const left = (pending.get(next) ?? 0) - 1;
40
+ pending.set(next, left);
41
+ if (left === 0)
42
+ ready.push(next);
43
+ }
44
+ }
45
+ const seen = new Set(out.map(pkg => pkg.name));
46
+ return [...out, ...packages.filter(pkg => !seen.has(pkg.name))];
47
+ };
48
+ const resolveTopology = (topology) => {
49
+ const ordered = orderPackages(topology.packages);
50
+ const byRole = {};
51
+ for (const pkg of ordered) {
52
+ for (const role of pkg.roles) {
53
+ byRole[role] = [...byRole[role] ?? [], pkg];
54
+ }
55
+ }
56
+ return {
57
+ ...topology,
58
+ packages: ordered,
59
+ build: ordered.map(pkg => pkg.name),
60
+ libraries: ordered.filter(pkg => pkg.kind === 'library').map(pkg => pkg.name),
61
+ byRole,
62
+ };
63
+ };
64
+ const topologyOf = (layout) => LAYOUT_TOPOLOGIES[layout] ?? DEFAULT_TOPOLOGY;
65
+ const packageForRole = (topology, role) => topology.byRole[role]?.[0] ?? null;
66
+ const packagesForRole = (topology, role) => topology.byRole[role] ?? [];
67
+ const packageForArea = (topology, role, area) => {
68
+ const candidates = packagesForRole(topology, role);
69
+ return candidates.find(pkg => pkg.areas?.includes(area) === true)
70
+ ?? candidates.find(pkg => pkg.areas == null)
71
+ ?? candidates[0]
72
+ ?? null;
73
+ };
74
+ const packageDir = (topology, pkg) => `${topology.dir}/${pkg.name}`;
75
+ const withPackage = (topology, pkg) => ({
76
+ ...topology,
77
+ packages: topology.packages.some(known => known.name === pkg.name)
78
+ ? topology.packages.map(known => known.name === pkg.name ? pkg : known)
79
+ : [...topology.packages, pkg],
80
+ });
81
+ const sameTopology = (a, b) => JSON.stringify(orderPackages(a.packages)) === JSON.stringify(orderPackages(b.packages))
82
+ && a.dir === b.dir;
83
+ return {
84
+ orderPackages, resolveTopology, topologyOf, packageForRole, packagesForRole, packageForArea, packageDir,
85
+ withPackage, sameTopology,
86
+ };
87
+ };
88
+ export const topologyHelper = createTopologyHelper();
89
+ //# sourceMappingURL=resolve.js.map