@owlmeans/viable-common 0.0.44 → 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 (589) 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 +40 -28
  5. package/build/agent/index.d.ts +1 -0
  6. package/build/agent/index.d.ts.map +1 -1
  7. package/build/agent/index.js.map +1 -1
  8. package/build/agent/presentation/types.d.ts +21 -0
  9. package/build/agent/presentation/types.d.ts.map +1 -0
  10. package/build/agent/presentation/types.js.map +1 -0
  11. package/build/agent/presentation.d.ts +10 -8
  12. package/build/agent/presentation.d.ts.map +1 -1
  13. package/build/agent/presentation.js +216 -195
  14. package/build/agent/presentation.js.map +1 -1
  15. package/build/agent/types.local.d.ts +3 -1
  16. package/build/agent/types.local.d.ts.map +1 -1
  17. package/build/areas/index.d.ts +1 -0
  18. package/build/areas/index.d.ts.map +1 -1
  19. package/build/areas/index.js.map +1 -1
  20. package/build/areas/tenancy/types.d.ts +23 -0
  21. package/build/areas/tenancy/types.d.ts.map +1 -0
  22. package/build/areas/tenancy/types.js +2 -0
  23. package/build/areas/tenancy/types.js.map +1 -0
  24. package/build/areas/tenancy.d.ts +5 -14
  25. package/build/areas/tenancy.d.ts.map +1 -1
  26. package/build/areas/tenancy.js +20 -26
  27. package/build/areas/tenancy.js.map +1 -1
  28. package/build/ba/connecting/types.d.ts +45 -0
  29. package/build/ba/connecting/types.d.ts.map +1 -0
  30. package/build/ba/connecting/types.js +2 -0
  31. package/build/ba/connecting/types.js.map +1 -0
  32. package/build/ba/connecting.d.ts +4 -0
  33. package/build/ba/connecting.d.ts.map +1 -0
  34. package/build/ba/connecting.js +47 -0
  35. package/build/ba/connecting.js.map +1 -0
  36. package/build/ba/helpers.d.ts +4 -39
  37. package/build/ba/helpers.d.ts.map +1 -1
  38. package/build/ba/helpers.js +5 -79
  39. package/build/ba/helpers.js.map +1 -1
  40. package/build/ba/index.d.ts +2 -0
  41. package/build/ba/index.d.ts.map +1 -1
  42. package/build/ba/index.js +1 -0
  43. package/build/ba/index.js.map +1 -1
  44. package/build/blueprint/types.d.ts +1 -2
  45. package/build/blueprint/types.d.ts.map +1 -1
  46. package/build/connect/branding/types.d.ts +28 -0
  47. package/build/connect/branding/types.d.ts.map +1 -0
  48. package/build/connect/branding/types.js +2 -0
  49. package/build/connect/branding/types.js.map +1 -0
  50. package/build/connect/consts.d.ts +2 -0
  51. package/build/connect/consts.d.ts.map +1 -1
  52. package/build/connect/consts.js +2 -0
  53. package/build/connect/consts.js.map +1 -1
  54. package/build/connect/conversion/types.d.ts +93 -0
  55. package/build/connect/conversion/types.d.ts.map +1 -0
  56. package/build/connect/conversion/types.js +2 -0
  57. package/build/connect/conversion/types.js.map +1 -0
  58. package/build/connect/entrypoints/types.d.ts +30 -0
  59. package/build/connect/entrypoints/types.d.ts.map +1 -0
  60. package/build/connect/entrypoints/types.js +2 -0
  61. package/build/connect/entrypoints/types.js.map +1 -0
  62. package/build/connect/entrypoints.d.ts +17 -11
  63. package/build/connect/entrypoints.d.ts.map +1 -1
  64. package/build/connect/entrypoints.js.map +1 -1
  65. package/build/connect/errors/types.d.ts +20 -0
  66. package/build/connect/errors/types.d.ts.map +1 -0
  67. package/build/connect/errors/types.js +2 -0
  68. package/build/connect/errors/types.js.map +1 -0
  69. package/build/connect/errors.d.ts +1 -1
  70. package/build/connect/errors.d.ts.map +1 -1
  71. package/build/connect/index.d.ts +13 -3
  72. package/build/connect/index.d.ts.map +1 -1
  73. package/build/connect/index.js +1 -1
  74. package/build/connect/index.js.map +1 -1
  75. package/build/connect/kit/types.d.ts +52 -0
  76. package/build/connect/kit/types.d.ts.map +1 -0
  77. package/build/connect/kit/types.js +2 -0
  78. package/build/connect/{types.js.map → kit/types.js.map} +1 -1
  79. package/build/connect/model-tier/types.d.ts +16 -0
  80. package/build/connect/model-tier/types.d.ts.map +1 -0
  81. package/build/connect/model-tier/types.js +2 -0
  82. package/build/connect/model-tier/types.js.map +1 -0
  83. package/build/connect/model-tier.d.ts +4 -0
  84. package/build/connect/model-tier.d.ts.map +1 -0
  85. package/build/connect/model-tier.js +21 -0
  86. package/build/connect/model-tier.js.map +1 -0
  87. package/build/connect/{ops.d.ts → ops/types.d.ts} +13 -4
  88. package/build/connect/ops/types.d.ts.map +1 -0
  89. package/build/connect/ops/types.js +2 -0
  90. package/build/connect/ops/types.js.map +1 -0
  91. package/build/connect/pipeline/types.d.ts +39 -0
  92. package/build/connect/pipeline/types.d.ts.map +1 -0
  93. package/build/connect/pipeline/types.js +2 -0
  94. package/build/connect/pipeline/types.js.map +1 -0
  95. package/build/connect/project/types.d.ts +127 -0
  96. package/build/connect/project/types.d.ts.map +1 -0
  97. package/build/connect/project/types.js +2 -0
  98. package/build/connect/project/types.js.map +1 -0
  99. package/build/connect/references/types.d.ts +157 -0
  100. package/build/connect/references/types.d.ts.map +1 -0
  101. package/build/connect/references/types.js +2 -0
  102. package/build/connect/references/types.js.map +1 -0
  103. package/build/connect/references/types.local.d.ts +5 -0
  104. package/build/connect/references/types.local.d.ts.map +1 -0
  105. package/build/connect/references/types.local.js.map +1 -0
  106. package/build/connect/references.d.ts +1 -1
  107. package/build/connect/references.d.ts.map +1 -1
  108. package/build/connect/references.js.map +1 -1
  109. package/build/connect/schemas.d.ts +8 -5
  110. package/build/connect/schemas.d.ts.map +1 -1
  111. package/build/connect/schemas.js +1 -3
  112. package/build/connect/schemas.js.map +1 -1
  113. package/build/connect/session/types.d.ts +73 -0
  114. package/build/connect/session/types.d.ts.map +1 -0
  115. package/build/connect/session/types.js +2 -0
  116. package/build/connect/session/types.js.map +1 -0
  117. package/build/connect/settings/types.d.ts +48 -0
  118. package/build/connect/settings/types.d.ts.map +1 -0
  119. package/build/connect/settings/types.js +2 -0
  120. package/build/connect/settings/types.js.map +1 -0
  121. package/build/convert/analysis/types.d.ts +93 -0
  122. package/build/convert/analysis/types.d.ts.map +1 -0
  123. package/build/convert/analysis/types.js +2 -0
  124. package/build/convert/analysis/types.js.map +1 -0
  125. package/build/convert/{consts.local.d.ts → census/consts.local.d.ts} +1 -1
  126. package/build/convert/census/consts.local.d.ts.map +1 -0
  127. package/build/convert/{consts.local.js → census/consts.local.js} +1 -1
  128. package/build/convert/census/consts.local.js.map +1 -0
  129. package/build/convert/census/types.d.ts +176 -0
  130. package/build/convert/census/types.d.ts.map +1 -0
  131. package/build/convert/census/types.js +2 -0
  132. package/build/convert/census/types.js.map +1 -0
  133. package/build/convert/census.d.ts +4 -0
  134. package/build/convert/census.d.ts.map +1 -0
  135. package/build/convert/census.js +83 -0
  136. package/build/convert/census.js.map +1 -0
  137. package/build/convert/consts.d.ts +4 -0
  138. package/build/convert/consts.d.ts.map +1 -1
  139. package/build/convert/consts.js +4 -0
  140. package/build/convert/consts.js.map +1 -1
  141. package/build/convert/detection/types.d.ts +67 -0
  142. package/build/convert/detection/types.d.ts.map +1 -0
  143. package/build/convert/detection/types.js +2 -0
  144. package/build/convert/detection/types.js.map +1 -0
  145. package/build/convert/docs/types.d.ts +129 -0
  146. package/build/convert/docs/types.d.ts.map +1 -0
  147. package/build/convert/docs/types.js +2 -0
  148. package/build/convert/docs/types.js.map +1 -0
  149. package/build/convert/docs.d.ts +4 -0
  150. package/build/convert/docs.d.ts.map +1 -0
  151. package/build/convert/docs.js +9 -0
  152. package/build/convert/docs.js.map +1 -0
  153. package/build/convert/estimate/types.d.ts +77 -0
  154. package/build/convert/estimate/types.d.ts.map +1 -0
  155. package/build/convert/estimate/types.js +2 -0
  156. package/build/convert/estimate/types.js.map +1 -0
  157. package/build/convert/estimate.d.ts +11 -0
  158. package/build/convert/estimate.d.ts.map +1 -0
  159. package/build/convert/estimate.js +18 -0
  160. package/build/convert/estimate.js.map +1 -0
  161. package/build/convert/helpers.d.ts +14 -78
  162. package/build/convert/helpers.d.ts.map +1 -1
  163. package/build/convert/helpers.js +27 -199
  164. package/build/convert/helpers.js.map +1 -1
  165. package/build/convert/index.d.ts +14 -0
  166. package/build/convert/index.d.ts.map +1 -1
  167. package/build/convert/index.js +5 -0
  168. package/build/convert/index.js.map +1 -1
  169. package/build/convert/origin/types.d.ts +41 -0
  170. package/build/convert/origin/types.d.ts.map +1 -0
  171. package/build/convert/origin/types.js +2 -0
  172. package/build/convert/origin/types.js.map +1 -0
  173. package/build/convert/origin.d.ts +4 -0
  174. package/build/convert/origin.d.ts.map +1 -0
  175. package/build/convert/origin.js +25 -0
  176. package/build/convert/origin.js.map +1 -0
  177. package/build/convert/record/types.d.ts +98 -0
  178. package/build/convert/record/types.d.ts.map +1 -0
  179. package/build/convert/record/types.js +2 -0
  180. package/build/convert/record/types.js.map +1 -0
  181. package/build/convert/schemas.d.ts +7 -6
  182. package/build/convert/schemas.d.ts.map +1 -1
  183. package/build/convert/schemas.js +1 -5
  184. package/build/convert/schemas.js.map +1 -1
  185. package/build/convert/stage/types.d.ts +27 -0
  186. package/build/convert/stage/types.d.ts.map +1 -0
  187. package/build/convert/stage/types.js +2 -0
  188. package/build/convert/stage/types.js.map +1 -0
  189. package/build/convert/stage.d.ts +4 -0
  190. package/build/convert/stage.d.ts.map +1 -0
  191. package/build/convert/stage.js +25 -0
  192. package/build/convert/stage.js.map +1 -0
  193. package/build/convert/taxonomy/types.d.ts +71 -0
  194. package/build/convert/taxonomy/types.d.ts.map +1 -0
  195. package/build/convert/taxonomy/types.js +2 -0
  196. package/build/convert/taxonomy/types.js.map +1 -0
  197. package/build/convert/types.d.ts +1 -657
  198. package/build/convert/types.d.ts.map +1 -1
  199. package/build/convert/utils.d.ts +2 -1
  200. package/build/convert/utils.d.ts.map +1 -1
  201. package/build/convert/utils.js +5 -4
  202. package/build/convert/utils.js.map +1 -1
  203. package/build/design/helpers.d.ts +9 -49
  204. package/build/design/helpers.d.ts.map +1 -1
  205. package/build/design/helpers.js +17 -224
  206. package/build/design/helpers.js.map +1 -1
  207. package/build/design/index.d.ts +3 -0
  208. package/build/design/index.d.ts.map +1 -1
  209. package/build/design/index.js +1 -0
  210. package/build/design/index.js.map +1 -1
  211. package/build/design/runtime/types.d.ts +16 -0
  212. package/build/design/runtime/types.d.ts.map +1 -0
  213. package/build/design/runtime/types.js +2 -0
  214. package/build/design/runtime/types.js.map +1 -0
  215. package/build/design/runtime.d.ts +6 -2
  216. package/build/design/runtime.d.ts.map +1 -1
  217. package/build/design/runtime.js +13 -5
  218. package/build/design/runtime.js.map +1 -1
  219. package/build/design/story/types.d.ts +67 -0
  220. package/build/design/story/types.d.ts.map +1 -0
  221. package/build/design/story/types.js +2 -0
  222. package/build/design/story/types.js.map +1 -0
  223. package/build/design/story.d.ts +4 -0
  224. package/build/design/story.d.ts.map +1 -0
  225. package/build/design/story.js +184 -0
  226. package/build/design/story.js.map +1 -0
  227. package/build/dev/types.local.d.ts +2 -1
  228. package/build/dev/types.local.d.ts.map +1 -1
  229. package/build/integrity/index.d.ts +4 -0
  230. package/build/integrity/index.d.ts.map +1 -1
  231. package/build/integrity/index.js +2 -0
  232. package/build/integrity/index.js.map +1 -1
  233. package/build/integrity/layout/consts.d.ts +59 -0
  234. package/build/integrity/layout/consts.d.ts.map +1 -0
  235. package/build/integrity/layout/consts.js +66 -0
  236. package/build/integrity/layout/consts.js.map +1 -0
  237. package/build/integrity/layout/consts.local.d.ts +18 -0
  238. package/build/integrity/layout/consts.local.d.ts.map +1 -0
  239. package/build/integrity/layout/consts.local.js +176 -0
  240. package/build/integrity/layout/consts.local.js.map +1 -0
  241. package/build/integrity/layout/types.d.ts +35 -0
  242. package/build/integrity/layout/types.d.ts.map +1 -0
  243. package/build/integrity/layout/types.js +2 -0
  244. package/build/integrity/layout/types.js.map +1 -0
  245. package/build/integrity/layout.d.ts +4 -0
  246. package/build/integrity/layout.d.ts.map +1 -0
  247. package/build/integrity/layout.js +25 -0
  248. package/build/integrity/layout.js.map +1 -0
  249. package/build/integrity/types.d.ts +3 -1
  250. package/build/integrity/types.d.ts.map +1 -1
  251. package/build/integrity/utils.d.ts +6 -81
  252. package/build/integrity/utils.d.ts.map +1 -1
  253. package/build/integrity/utils.js +11 -279
  254. package/build/integrity/utils.js.map +1 -1
  255. package/build/integrity/verify/types.d.ts +26 -0
  256. package/build/integrity/verify/types.d.ts.map +1 -0
  257. package/build/integrity/verify/types.js +2 -0
  258. package/build/integrity/verify/types.js.map +1 -0
  259. package/build/integrity/verify.d.ts +5 -19
  260. package/build/integrity/verify.d.ts.map +1 -1
  261. package/build/integrity/verify.js +164 -175
  262. package/build/integrity/verify.js.map +1 -1
  263. package/build/intent/consts.d.ts +16 -0
  264. package/build/intent/consts.d.ts.map +1 -1
  265. package/build/intent/consts.js +63 -0
  266. package/build/intent/consts.js.map +1 -1
  267. package/build/intent/entrypoints.d.ts +2 -11
  268. package/build/intent/entrypoints.d.ts.map +1 -1
  269. package/build/intent/entrypoints.js.map +1 -1
  270. package/build/intent/index.d.ts +0 -1
  271. package/build/intent/index.d.ts.map +1 -1
  272. package/build/intent/index.js +0 -1
  273. package/build/intent/index.js.map +1 -1
  274. package/build/intent/types.d.ts +13 -2
  275. package/build/intent/types.d.ts.map +1 -1
  276. package/build/moderation/index.d.ts +2 -0
  277. package/build/moderation/index.d.ts.map +1 -1
  278. package/build/moderation/index.js +1 -0
  279. package/build/moderation/index.js.map +1 -1
  280. package/build/moderation/utils.d.ts +3 -15
  281. package/build/moderation/utils.d.ts.map +1 -1
  282. package/build/moderation/utils.js +5 -30
  283. package/build/moderation/utils.js.map +1 -1
  284. package/build/moderation/verdict/types.d.ts +24 -0
  285. package/build/moderation/verdict/types.d.ts.map +1 -0
  286. package/build/moderation/verdict/types.js +2 -0
  287. package/build/moderation/verdict/types.js.map +1 -0
  288. package/build/moderation/verdict.d.ts +4 -0
  289. package/build/moderation/verdict.d.ts.map +1 -0
  290. package/build/moderation/verdict.js +21 -0
  291. package/build/moderation/verdict.js.map +1 -0
  292. package/build/planning/card/types.d.ts +42 -0
  293. package/build/planning/card/types.d.ts.map +1 -0
  294. package/build/planning/card/types.js +2 -0
  295. package/build/planning/card/types.js.map +1 -0
  296. package/build/planning/card.d.ts +4 -0
  297. package/build/planning/card.d.ts.map +1 -0
  298. package/build/planning/card.js +51 -0
  299. package/build/planning/card.js.map +1 -0
  300. package/build/planning/helpers.d.ts +11 -37
  301. package/build/planning/helpers.d.ts.map +1 -1
  302. package/build/planning/helpers.js +24 -103
  303. package/build/planning/helpers.js.map +1 -1
  304. package/build/planning/index.d.ts +5 -0
  305. package/build/planning/index.d.ts.map +1 -1
  306. package/build/planning/index.js +2 -0
  307. package/build/planning/index.js.map +1 -1
  308. package/build/planning/landing/types.d.ts +16 -0
  309. package/build/planning/landing/types.d.ts.map +1 -0
  310. package/build/planning/landing/types.js +2 -0
  311. package/build/planning/landing/types.js.map +1 -0
  312. package/build/planning/landing.d.ts +5 -10
  313. package/build/planning/landing.d.ts.map +1 -1
  314. package/build/planning/landing.js +20 -22
  315. package/build/planning/landing.js.map +1 -1
  316. package/build/planning/schemas.d.ts +1 -5
  317. package/build/planning/schemas.d.ts.map +1 -1
  318. package/build/planning/schemas.js +3 -3
  319. package/build/planning/schemas.js.map +1 -1
  320. package/build/planning/spec/types.d.ts +22 -0
  321. package/build/planning/spec/types.d.ts.map +1 -0
  322. package/build/planning/spec/types.js +2 -0
  323. package/build/planning/spec/types.js.map +1 -0
  324. package/build/planning/spec.d.ts +4 -0
  325. package/build/planning/spec.d.ts.map +1 -0
  326. package/build/planning/spec.js +30 -0
  327. package/build/planning/spec.js.map +1 -0
  328. package/build/planning/types.d.ts +4 -3
  329. package/build/planning/types.d.ts.map +1 -1
  330. package/build/scaffold/consts.d.ts +40 -1
  331. package/build/scaffold/consts.d.ts.map +1 -1
  332. package/build/scaffold/consts.js +52 -0
  333. package/build/scaffold/consts.js.map +1 -1
  334. package/build/scaffold/helpers.d.ts +4 -16
  335. package/build/scaffold/helpers.d.ts.map +1 -1
  336. package/build/scaffold/helpers.js +9 -64
  337. package/build/scaffold/helpers.js.map +1 -1
  338. package/build/scaffold/index.d.ts +4 -0
  339. package/build/scaffold/index.d.ts.map +1 -1
  340. package/build/scaffold/index.js +2 -0
  341. package/build/scaffold/index.js.map +1 -1
  342. package/build/scaffold/landing/types.d.ts +48 -0
  343. package/build/scaffold/landing/types.d.ts.map +1 -0
  344. package/build/scaffold/landing/types.js +2 -0
  345. package/build/scaffold/landing/types.js.map +1 -0
  346. package/build/scaffold/landing.d.ts +4 -0
  347. package/build/scaffold/landing.d.ts.map +1 -0
  348. package/build/scaffold/landing.js +95 -0
  349. package/build/scaffold/landing.js.map +1 -0
  350. package/build/scaffold/schemas.d.ts +3 -2
  351. package/build/scaffold/schemas.d.ts.map +1 -1
  352. package/build/scaffold/schemas.js +177 -7
  353. package/build/scaffold/schemas.js.map +1 -1
  354. package/build/scaffold/share/types.d.ts +35 -0
  355. package/build/scaffold/share/types.d.ts.map +1 -0
  356. package/build/scaffold/share/types.js +2 -0
  357. package/build/scaffold/share/types.js.map +1 -0
  358. package/build/scaffold/share.d.ts +4 -0
  359. package/build/scaffold/share.d.ts.map +1 -0
  360. package/build/scaffold/share.js +42 -0
  361. package/build/scaffold/share.js.map +1 -0
  362. package/build/scaffold/types.d.ts +112 -2
  363. package/build/scaffold/types.d.ts.map +1 -1
  364. package/build/skills/consts.d.ts +42 -0
  365. package/build/skills/consts.d.ts.map +1 -1
  366. package/build/skills/consts.js +43 -0
  367. package/build/skills/consts.js.map +1 -1
  368. package/build/skills/index.d.ts +0 -1
  369. package/build/skills/index.d.ts.map +1 -1
  370. package/build/skills/index.js +0 -1
  371. package/build/skills/index.js.map +1 -1
  372. package/build/slot/command/types.d.ts +21 -0
  373. package/build/slot/command/types.d.ts.map +1 -0
  374. package/build/slot/command/types.js +2 -0
  375. package/build/slot/command/types.js.map +1 -0
  376. package/build/slot/command.d.ts +4 -0
  377. package/build/slot/command.d.ts.map +1 -0
  378. package/build/slot/command.js +31 -0
  379. package/build/slot/command.js.map +1 -0
  380. package/build/slot/helpers.d.ts +2 -16
  381. package/build/slot/helpers.d.ts.map +1 -1
  382. package/build/slot/helpers.js +5 -26
  383. package/build/slot/helpers.js.map +1 -1
  384. package/build/slot/index.d.ts +5 -0
  385. package/build/slot/index.d.ts.map +1 -1
  386. package/build/slot/index.js +2 -0
  387. package/build/slot/index.js.map +1 -1
  388. package/build/slot/layout/types.d.ts +17 -0
  389. package/build/slot/layout/types.d.ts.map +1 -0
  390. package/build/slot/layout/types.js +2 -0
  391. package/build/slot/layout/types.js.map +1 -0
  392. package/build/slot/layout.d.ts +4 -9
  393. package/build/slot/layout.d.ts.map +1 -1
  394. package/build/slot/layout.js +13 -15
  395. package/build/slot/layout.js.map +1 -1
  396. package/build/slot/origin/types.d.ts +23 -0
  397. package/build/slot/origin/types.d.ts.map +1 -0
  398. package/build/slot/origin/types.js +2 -0
  399. package/build/slot/origin/types.js.map +1 -0
  400. package/build/slot/origin.d.ts +4 -0
  401. package/build/slot/origin.d.ts.map +1 -0
  402. package/build/slot/origin.js +15 -0
  403. package/build/slot/origin.js.map +1 -0
  404. package/build/slot/types.d.ts.map +1 -1
  405. package/build/slot/utils.d.ts +3 -15
  406. package/build/slot/utils.d.ts.map +1 -1
  407. package/build/slot/utils.js +5 -40
  408. package/build/slot/utils.js.map +1 -1
  409. package/build/topology/card/types.d.ts +21 -0
  410. package/build/topology/card/types.d.ts.map +1 -0
  411. package/build/topology/card/types.js +2 -0
  412. package/build/topology/card/types.js.map +1 -0
  413. package/build/topology/card.d.ts +6 -13
  414. package/build/topology/card.d.ts.map +1 -1
  415. package/build/topology/card.js +83 -86
  416. package/build/topology/card.js.map +1 -1
  417. package/build/topology/helpers.d.ts +7 -33
  418. package/build/topology/helpers.d.ts.map +1 -1
  419. package/build/topology/helpers.js +15 -111
  420. package/build/topology/helpers.js.map +1 -1
  421. package/build/topology/index.d.ts +3 -0
  422. package/build/topology/index.d.ts.map +1 -1
  423. package/build/topology/index.js +1 -0
  424. package/build/topology/index.js.map +1 -1
  425. package/build/topology/resolve/types.d.ts +47 -0
  426. package/build/topology/resolve/types.d.ts.map +1 -0
  427. package/build/topology/resolve/types.js +2 -0
  428. package/build/topology/resolve/types.js.map +1 -0
  429. package/build/topology/resolve.d.ts +4 -0
  430. package/build/topology/resolve.d.ts.map +1 -0
  431. package/build/topology/resolve.js +89 -0
  432. package/build/topology/resolve.js.map +1 -0
  433. package/package.json +11 -11
  434. package/src/agent/index.ts +1 -0
  435. package/src/agent/presentation/types.ts +21 -0
  436. package/src/agent/presentation.ts +199 -165
  437. package/src/agent/types.local.ts +3 -1
  438. package/src/areas/index.ts +1 -0
  439. package/src/areas/tenancy/types.ts +23 -0
  440. package/src/areas/tenancy.ts +26 -25
  441. package/src/ba/connecting/types.ts +45 -0
  442. package/src/ba/connecting.ts +64 -0
  443. package/src/ba/helpers.ts +8 -92
  444. package/src/ba/index.ts +2 -0
  445. package/src/blueprint/types.ts +2 -2
  446. package/src/connect/branding/types.ts +29 -0
  447. package/src/connect/consts.ts +3 -0
  448. package/src/connect/conversion/types.ts +96 -0
  449. package/src/connect/entrypoints/types.ts +25 -0
  450. package/src/connect/entrypoints.ts +13 -2
  451. package/src/connect/errors/types.ts +22 -0
  452. package/src/connect/errors.ts +1 -1
  453. package/src/connect/index.ts +13 -3
  454. package/src/connect/kit/types.ts +56 -0
  455. package/src/connect/model-tier/types.ts +16 -0
  456. package/src/connect/model-tier.ts +22 -0
  457. package/src/connect/{ops.ts → ops/types.ts} +13 -3
  458. package/src/connect/pipeline/types.ts +41 -0
  459. package/src/connect/project/types.ts +127 -0
  460. package/src/connect/references/types.local.ts +5 -0
  461. package/src/connect/references/types.ts +73 -0
  462. package/src/connect/references.ts +13 -2
  463. package/src/connect/schemas.ts +9 -13
  464. package/src/connect/session/types.ts +81 -0
  465. package/src/connect/settings/types.ts +52 -0
  466. package/src/convert/analysis/types.ts +89 -0
  467. package/src/convert/{consts.local.ts → census/consts.local.ts} +1 -1
  468. package/src/convert/census/types.ts +181 -0
  469. package/src/convert/census.ts +95 -0
  470. package/src/convert/consts.ts +5 -0
  471. package/src/convert/detection/types.ts +74 -0
  472. package/src/convert/docs/types.ts +151 -0
  473. package/src/convert/docs.ts +15 -0
  474. package/src/convert/estimate/types.ts +75 -0
  475. package/src/convert/estimate.ts +19 -0
  476. package/src/convert/helpers.ts +29 -210
  477. package/src/convert/index.ts +14 -0
  478. package/src/convert/origin/types.ts +43 -0
  479. package/src/convert/origin.ts +33 -0
  480. package/src/convert/record/types.ts +105 -0
  481. package/src/convert/schemas.ts +13 -12
  482. package/src/convert/stage/types.ts +27 -0
  483. package/src/convert/stage.ts +31 -0
  484. package/src/convert/taxonomy/types.ts +74 -0
  485. package/src/convert/types.ts +5 -709
  486. package/src/convert/utils.ts +5 -6
  487. package/src/design/helpers.ts +20 -245
  488. package/src/design/index.ts +3 -0
  489. package/src/design/runtime/types.ts +14 -0
  490. package/src/design/runtime.ts +22 -7
  491. package/src/design/story/types.ts +67 -0
  492. package/src/design/story.ts +221 -0
  493. package/src/dev/types.local.ts +1 -1
  494. package/src/integrity/index.ts +4 -0
  495. package/src/integrity/layout/consts.local.ts +188 -0
  496. package/src/integrity/layout/consts.ts +79 -0
  497. package/src/integrity/layout/types.ts +35 -0
  498. package/src/integrity/layout.ts +39 -0
  499. package/src/integrity/types.ts +3 -1
  500. package/src/integrity/utils.ts +14 -313
  501. package/src/integrity/verify/types.ts +26 -0
  502. package/src/integrity/verify.ts +177 -181
  503. package/src/intent/consts.ts +67 -0
  504. package/src/intent/entrypoints.ts +2 -2
  505. package/src/intent/index.ts +0 -1
  506. package/src/intent/types.ts +9 -2
  507. package/src/moderation/index.ts +2 -0
  508. package/src/moderation/utils.ts +7 -30
  509. package/src/moderation/verdict/types.ts +22 -0
  510. package/src/moderation/verdict.ts +28 -0
  511. package/src/planning/card/types.ts +44 -0
  512. package/src/planning/card.ts +77 -0
  513. package/src/planning/helpers.ts +28 -116
  514. package/src/planning/index.ts +5 -0
  515. package/src/planning/landing/types.ts +15 -0
  516. package/src/planning/landing.ts +27 -24
  517. package/src/planning/schemas.ts +3 -3
  518. package/src/planning/spec/types.ts +22 -0
  519. package/src/planning/spec.ts +41 -0
  520. package/src/planning/types.ts +4 -4
  521. package/src/scaffold/consts.ts +65 -1
  522. package/src/scaffold/helpers.ts +14 -77
  523. package/src/scaffold/index.ts +4 -0
  524. package/src/scaffold/landing/types.ts +48 -0
  525. package/src/scaffold/landing.ts +120 -0
  526. package/src/scaffold/schemas.ts +183 -7
  527. package/src/scaffold/share/types.ts +35 -0
  528. package/src/scaffold/share.ts +60 -0
  529. package/src/scaffold/types.ts +120 -1
  530. package/src/skills/consts.ts +46 -0
  531. package/src/skills/index.ts +0 -1
  532. package/src/slot/command/types.ts +21 -0
  533. package/src/slot/command.ts +38 -0
  534. package/src/slot/helpers.ts +5 -25
  535. package/src/slot/index.ts +5 -0
  536. package/src/slot/layout/types.ts +17 -0
  537. package/src/slot/layout.ts +19 -16
  538. package/src/slot/origin/types.ts +23 -0
  539. package/src/slot/origin.ts +20 -0
  540. package/src/slot/types.ts +1 -0
  541. package/src/slot/utils.ts +8 -43
  542. package/src/topology/card/types.ts +21 -0
  543. package/src/topology/card.ts +84 -82
  544. package/src/topology/helpers.ts +20 -125
  545. package/src/topology/index.ts +3 -0
  546. package/src/topology/resolve/types.ts +47 -0
  547. package/src/topology/resolve.ts +118 -0
  548. package/tests/blueprint.spec.ts +1 -2
  549. package/tests/connect-errors.spec.ts +1 -1
  550. package/tests/convert.spec.ts +50 -50
  551. package/tests/design.spec.ts +13 -16
  552. package/tests/planning.spec.ts +57 -59
  553. package/tests/presentation.spec.ts +20 -20
  554. package/tests/scaffold.spec.ts +286 -6
  555. package/tests/tenancy.spec.ts +21 -21
  556. package/build/connect/ops.d.ts.map +0 -1
  557. package/build/connect/ops.js +0 -2
  558. package/build/connect/ops.js.map +0 -1
  559. package/build/connect/types.d.ts +0 -650
  560. package/build/connect/types.d.ts.map +0 -1
  561. package/build/connect/types.local.d.ts +0 -4
  562. package/build/connect/types.local.d.ts.map +0 -1
  563. package/build/connect/types.local.js.map +0 -1
  564. package/build/connect/utils.d.ts +0 -12
  565. package/build/connect/utils.d.ts.map +0 -1
  566. package/build/connect/utils.js +0 -25
  567. package/build/connect/utils.js.map +0 -1
  568. package/build/convert/consts.local.d.ts.map +0 -1
  569. package/build/convert/consts.local.js.map +0 -1
  570. package/build/intent/consts.local.d.ts +0 -4
  571. package/build/intent/consts.local.d.ts.map +0 -1
  572. package/build/intent/consts.local.js +0 -3
  573. package/build/intent/consts.local.js.map +0 -1
  574. package/build/intent/flow.d.ts +0 -17
  575. package/build/intent/flow.d.ts.map +0 -1
  576. package/build/intent/flow.js +0 -65
  577. package/build/intent/flow.js.map +0 -1
  578. package/build/skills/roles.d.ts +0 -43
  579. package/build/skills/roles.d.ts.map +0 -1
  580. package/build/skills/roles.js +0 -44
  581. package/build/skills/roles.js.map +0 -1
  582. package/src/connect/types.local.ts +0 -5
  583. package/src/connect/types.ts +0 -589
  584. package/src/connect/utils.ts +0 -23
  585. package/src/intent/consts.local.ts +0 -3
  586. package/src/intent/flow.ts +0 -66
  587. package/src/skills/roles.ts +0 -46
  588. /package/build/{connect → agent/presentation}/types.js +0 -0
  589. /package/build/connect/{types.local.js → references/types.local.js} +0 -0
@@ -1,320 +1,21 @@
1
- import { HARNESS_PROTECTED, ROOT_PROTECTED } from './consts.local.js'
2
- import { TARGET_BUNDLED_PACKAGES, TARGET_CURRENT_LAYOUT, TARGET_LEGACY_BUNDLED_PACKAGES, TARGET_LEGACY_PACKAGES, TARGET_LEGACY_PACKAGES_DIR, TARGET_PACKAGES_DIR, TargetLayout, TargetLegacyPackage, TargetPackage } from './consts.js'
1
+ import type { TargetLayout } from './consts.js'
2
+ import { targetLayoutHelper } from './layout.js'
3
3
  import type { TargetLayoutManifest } from './types.js'
4
4
 
5
- const fileIn = (dir: string, pkg: string, path: string): string => `${dir}/${pkg}/${path}`
5
+ /** @deprecated compat:factory-refactor — use `targetLayoutHelper.targetManifest(…)` */
6
+ export const targetManifest = (layout: TargetLayout): TargetLayoutManifest => targetLayoutHelper.targetManifest(layout)
6
7
 
7
- const protectedOf = (
8
- dir: string, packages: readonly string[], bundled: readonly string[]
9
- ): readonly string[] => [
10
- ...ROOT_PROTECTED,
11
- ...HARNESS_PROTECTED,
12
- ...packages.flatMap(pkg => [fileIn(dir, pkg, 'package.json'), fileIn(dir, pkg, 'tsconfig.json')]),
13
- ...bundled.flatMap(pkg =>
14
- [fileIn(dir, pkg, 'rollup.config.js'), fileIn(dir, pkg, 'rollup.build.mjs')]),
15
- ]
16
-
17
- const v2 = (pkg: TargetPackage, path: string): string =>
18
- fileIn(TARGET_PACKAGES_DIR, pkg, path)
19
-
20
- const v1 = (pkg: TargetLegacyPackage, path: string): string =>
21
- fileIn(TARGET_LEGACY_PACKAGES_DIR, pkg, path)
22
-
23
- /**
24
- * The current layout: five workspace packages under `sources/`.
25
- *
26
- * `common` and `backend` are libraries the other three import, so they emit declarations with
27
- * `tsc -b` rather than a bundle; `api`, `web` and `worker` each bundle themselves.
28
- */
29
- const V2_MANIFEST: TargetLayoutManifest = {
30
- layout: TargetLayout.V2,
31
- dir: TARGET_PACKAGES_DIR,
32
- packages: Object.values(TargetPackage),
33
- // The same file the publisher's own filesystem detection probes for (`sources/api`), so the
34
- // two answers about one volume cannot disagree.
35
- probe: v2(TargetPackage.Api, 'package.json'),
36
- files: [
37
- 'package.json',
38
- 'bunfig.toml',
39
- v2(TargetPackage.Common, 'package.json'),
40
- v2(TargetPackage.Common, 'tsconfig.json'),
41
- v2(TargetPackage.Common, 'src/index.ts'),
42
- v2(TargetPackage.Common, 'src/entrypoints.ts'),
43
- v2(TargetPackage.Backend, 'package.json'),
44
- v2(TargetPackage.Backend, 'tsconfig.json'),
45
- v2(TargetPackage.Backend, 'src/index.ts'),
46
- v2(TargetPackage.Backend, 'src/context.ts'),
47
- v2(TargetPackage.Backend, 'src/config.ts'),
48
- v2(TargetPackage.Api, 'package.json'),
49
- v2(TargetPackage.Api, 'tsconfig.json'),
50
- v2(TargetPackage.Api, 'rollup.config.js'),
51
- v2(TargetPackage.Api, 'rollup.build.mjs'),
52
- v2(TargetPackage.Api, 'src/index.ts'),
53
- v2(TargetPackage.Api, 'src/owlmeans.ts'),
54
- v2(TargetPackage.Api, 'src/config.ts'),
55
- v2(TargetPackage.Api, 'src/entrypoints.ts'),
56
- v2(TargetPackage.Web, 'package.json'),
57
- v2(TargetPackage.Web, 'tsconfig.json'),
58
- v2(TargetPackage.Web, 'rollup.config.js'),
59
- v2(TargetPackage.Web, 'rollup.build.mjs'),
60
- v2(TargetPackage.Web, 'src/index.tsx'),
61
- v2(TargetPackage.Web, 'src/owlmeans.ts'),
62
- v2(TargetPackage.Web, 'src/config.ts'),
63
- v2(TargetPackage.Web, 'src/entrypoints.ts'),
64
- v2(TargetPackage.Worker, 'package.json'),
65
- v2(TargetPackage.Worker, 'tsconfig.json'),
66
- v2(TargetPackage.Worker, 'rollup.config.js'),
67
- v2(TargetPackage.Worker, 'rollup.build.mjs'),
68
- v2(TargetPackage.Worker, 'src/index.ts'),
69
- v2(TargetPackage.Worker, 'src/owlmeans.ts'),
70
- v2(TargetPackage.Worker, 'src/config.ts'),
71
- v2(TargetPackage.Worker, 'src/entrypoints.ts'),
72
- ],
73
- protectedFiles: protectedOf(
74
- TARGET_PACKAGES_DIR, Object.values(TargetPackage), TARGET_BUNDLED_PACKAGES),
75
- buildScripts: {
76
- [TargetPackage.Common]: 'tsc -b',
77
- [TargetPackage.Backend]: 'tsc -b',
78
- [TargetPackage.Api]: 'bun ./rollup.build.mjs',
79
- [TargetPackage.Web]: 'bun ./rollup.build.mjs',
80
- [TargetPackage.Worker]: 'bun ./rollup.build.mjs',
81
- },
82
- requiredDeps: {
83
- [TargetPackage.Common]: ['@owlmeans/context', '@owlmeans/entrypoint'],
84
- [TargetPackage.Backend]: ['@owlmeans/context', '@owlmeans/postgres-resource'],
85
- [TargetPackage.Api]: ['@owlmeans/server-app'],
86
- [TargetPackage.Web]: ['@owlmeans/web-client'],
87
- [TargetPackage.Worker]: ['@owlmeans/queue', '@owlmeans/redis-queue'],
88
- },
89
- // `api` and `worker` both reach the database through `backend`, which is the whole reason
90
- // `backend` is a library: two runtimes, one context factory, one set of resources. A `worker`
91
- // that stopped depending on `backend` is processing jobs against something else.
92
- workspaceDeps: {
93
- [TargetPackage.Common]: [],
94
- [TargetPackage.Backend]: [TargetPackage.Common],
95
- [TargetPackage.Api]: [TargetPackage.Common, TargetPackage.Backend],
96
- [TargetPackage.Web]: [TargetPackage.Common],
97
- [TargetPackage.Worker]: [TargetPackage.Backend],
98
- },
99
- workspaceGlob: `${TARGET_PACKAGES_DIR}/*`,
100
- workspaceEntries: Object.values(TargetPackage).map(pkg => `${TARGET_PACKAGES_DIR}/${pkg}`),
101
- markers: {
102
- [v2(TargetPackage.Common, 'src/index.ts')]: ['./entrypoints.js'],
103
- [v2(TargetPackage.Backend, 'src/index.ts')]: ['./context.js'],
104
- [v2(TargetPackage.Backend, 'src/context.ts')]: ['@owlmeans/context', 'makeContext'],
105
- [v2(TargetPackage.Api, 'src/index.ts')]: ['./owlmeans.js', 'initOwlMeans'],
106
- [v2(TargetPackage.Api, 'src/owlmeans.ts')]: ['@owlmeans/server-app', 'makeContext'],
107
- [v2(TargetPackage.Web, 'src/index.tsx')]: ['@owlmeans/web-client', 'renderApp', './owlmeans'],
108
- [v2(TargetPackage.Web, 'src/owlmeans.ts')]: ['makeContext', 'owlCtx'],
109
- // The worker binds nothing but its health port; what makes it a worker is that it listens.
110
- [v2(TargetPackage.Worker, 'src/index.ts')]: ['./owlmeans.js', 'initOwlMeans'],
111
- [v2(TargetPackage.Worker, 'src/owlmeans.ts')]: ['@owlmeans/queue', 'makeContext'],
112
- // The build configuration itself: what it reads and what it emits. These are the paths the
113
- // publisher spawns and serves, so a config that redirects either one is a different program.
114
- // Matched loosely enough to survive the `path.resolve(srcDir, …)` the template writes them
115
- // with, and strictly enough that an input or an output somewhere else fails.
116
- [v2(TargetPackage.Api, 'rollup.config.js')]: ['input:', 'index.ts', 'dist', 'index.js'],
117
- [v2(TargetPackage.Web, 'rollup.config.js')]: ['input:', 'index.tsx', 'dist', 'bundle.js'],
118
- [v2(TargetPackage.Worker, 'rollup.config.js')]: ['input:', 'index.ts', 'dist', 'index.js'],
119
- },
120
- }
121
-
122
- /**
123
- * The legacy layout: three workspace packages under `packages/`.
124
- *
125
- * Frozen — nothing generates one any more, and every rule here is stated against the trees that
126
- * exist rather than against a template this repository still ships (it does not). `backend` is
127
- * the HTTP server AND the data layer, which is why it carries both `@owlmeans/server-app` and
128
- * `@owlmeans/postgres-resource`; `common` is the only library.
129
- */
130
- const V1_MANIFEST: TargetLayoutManifest = {
131
- layout: TargetLayout.V1,
132
- dir: TARGET_LEGACY_PACKAGES_DIR,
133
- packages: TARGET_LEGACY_PACKAGES,
134
- // `packages/backend` again — the publisher's own marker for this layout.
135
- probe: v1(TargetLegacyPackage.Backend, 'package.json'),
136
- files: [
137
- 'package.json',
138
- 'bunfig.toml',
139
- v1(TargetLegacyPackage.Common, 'package.json'),
140
- v1(TargetLegacyPackage.Common, 'tsconfig.json'),
141
- v1(TargetLegacyPackage.Common, 'src/index.ts'),
142
- v1(TargetLegacyPackage.Common, 'src/entrypoints.ts'),
143
- v1(TargetLegacyPackage.Backend, 'package.json'),
144
- v1(TargetLegacyPackage.Backend, 'tsconfig.json'),
145
- v1(TargetLegacyPackage.Backend, 'rollup.config.js'),
146
- v1(TargetLegacyPackage.Backend, 'rollup.build.mjs'),
147
- v1(TargetLegacyPackage.Backend, 'src/index.ts'),
148
- v1(TargetLegacyPackage.Backend, 'src/owlmeans.ts'),
149
- v1(TargetLegacyPackage.Backend, 'src/config.ts'),
150
- v1(TargetLegacyPackage.Backend, 'src/entrypoints.ts'),
151
- v1(TargetLegacyPackage.Frontend, 'package.json'),
152
- v1(TargetLegacyPackage.Frontend, 'tsconfig.json'),
153
- v1(TargetLegacyPackage.Frontend, 'rollup.config.js'),
154
- v1(TargetLegacyPackage.Frontend, 'rollup.build.mjs'),
155
- v1(TargetLegacyPackage.Frontend, 'src/index.tsx'),
156
- v1(TargetLegacyPackage.Frontend, 'src/owlmeans.ts'),
157
- v1(TargetLegacyPackage.Frontend, 'src/config.ts'),
158
- v1(TargetLegacyPackage.Frontend, 'src/entrypoints.ts'),
159
- ],
160
- protectedFiles: protectedOf(
161
- TARGET_LEGACY_PACKAGES_DIR, TARGET_LEGACY_PACKAGES, TARGET_LEGACY_BUNDLED_PACKAGES),
162
- buildScripts: {
163
- [TargetLegacyPackage.Common]: 'tsc -b',
164
- [TargetLegacyPackage.Backend]: 'bun ./rollup.build.mjs',
165
- [TargetLegacyPackage.Frontend]: 'bun ./rollup.build.mjs',
166
- },
167
- requiredDeps: {
168
- [TargetLegacyPackage.Common]: ['@owlmeans/context', '@owlmeans/entrypoint'],
169
- [TargetLegacyPackage.Backend]: ['@owlmeans/server-app', '@owlmeans/postgres-resource'],
170
- [TargetLegacyPackage.Frontend]: ['@owlmeans/web-client'],
171
- },
172
- workspaceDeps: {
173
- [TargetLegacyPackage.Common]: [],
174
- [TargetLegacyPackage.Backend]: [TargetLegacyPackage.Common],
175
- [TargetLegacyPackage.Frontend]: [TargetLegacyPackage.Common],
176
- },
177
- workspaceGlob: `${TARGET_LEGACY_PACKAGES_DIR}/*`,
178
- workspaceEntries: TARGET_LEGACY_PACKAGES.map(pkg => `${TARGET_LEGACY_PACKAGES_DIR}/${pkg}`),
179
- markers: {
180
- [v1(TargetLegacyPackage.Common, 'src/index.ts')]: ['./entrypoints.js'],
181
- [v1(TargetLegacyPackage.Backend, 'src/index.ts')]: ['./owlmeans.js', 'initOwlMeans'],
182
- [v1(TargetLegacyPackage.Backend, 'src/owlmeans.ts')]: ['@owlmeans/server-app', 'makeContext'],
183
- [v1(TargetLegacyPackage.Frontend, 'src/index.tsx')]:
184
- ['@owlmeans/web-client', 'renderApp', './owlmeans'],
185
- [v1(TargetLegacyPackage.Frontend, 'src/owlmeans.ts')]: ['makeContext', 'owlCtx'],
186
- [v1(TargetLegacyPackage.Backend, 'rollup.config.js')]:
187
- ['input:', 'index.ts', 'dist', 'index.js'],
188
- [v1(TargetLegacyPackage.Frontend, 'rollup.config.js')]:
189
- ['input:', 'index.tsx', 'dist', 'bundle.js'],
190
- },
191
- }
192
-
193
- /**
194
- * Every layout the platform is willing to run, keyed by its own name.
195
- *
196
- * Declared current-first, and the order is load-bearing: detection walks it and takes the first
197
- * probe it finds, so a half-migrated tree carrying both is verified against the layout the
198
- * platform generates today rather than against the frozen one.
199
- */
200
- export const TARGET_LAYOUTS: Readonly<Record<TargetLayout, TargetLayoutManifest>> = {
201
- [TargetLayout.V2]: V2_MANIFEST,
202
- [TargetLayout.V1]: V1_MANIFEST,
203
- }
204
-
205
- /** What one layout asserts. */
206
- export const targetManifest = (layout: TargetLayout): TargetLayoutManifest =>
207
- TARGET_LAYOUTS[layout]
208
-
209
- /**
210
- * Whether a tree of this layout can still be GENERATED INTO.
211
- *
212
- * A legacy target is served, built and run exactly like any other — that is the whole point of
213
- * verifying it against its own manifest. What no longer works on it is code generation: every
214
- * path builder, every stamped import specifier and the whole `docs/` metadata tree name the
215
- * current layout's packages, so a story implemented into a legacy tree writes files into
216
- * directories its workspace does not contain. That fails silently — the build succeeds, the
217
- * story completes and the application does not change — which is why the platform refuses
218
- * instead, and names re-initialization as the one cure.
219
- *
220
- * `undefined` reads as current: a publisher that predates layout reporting omits it, and reading
221
- * that silence as legacy would refuse development for every slot already in the cluster.
222
- */
8
+ /** @deprecated compat:factory-refactor — use `targetLayoutHelper.isLegacyLayout(…)` */
223
9
  export const isLegacyLayout = (layout: TargetLayout | string | undefined | null): boolean =>
224
- layout != null && layout !== TARGET_CURRENT_LAYOUT
225
-
226
- /**
227
- * The files whose presence tells the layouts apart.
228
- *
229
- * Each layout's probe is a path the other cannot have. They are members of their own layout's
230
- * file list too, so a caller that reads {@link TARGET_INTEGRITY_FILES} always has both in hand —
231
- * which is the whole reason detection works at all. It did not before: the probe for the legacy
232
- * layout was declared but never read, so `detectTargetLayout` could only ever answer `V2`.
233
- */
234
- export const TARGET_LAYOUT_PROBE_FILES: readonly string[] =
235
- Object.values(TARGET_LAYOUTS).map(manifest => manifest.probe)
236
-
237
- /**
238
- * Which layout a tree is in, from its files alone — IO-free, like everything else here.
239
- *
240
- * A tree that shows neither probe is reported as the current layout: it is not a target at all,
241
- * and the integrity report is what has to say so, in the vocabulary of the layout the platform
242
- * generates today.
243
- */
244
- export const detectTargetLayout = (files: Record<string, string | null>): TargetLayout => {
245
- for (const manifest of Object.values(TARGET_LAYOUTS)) {
246
- if (files[manifest.probe] != null) {
247
- return manifest.layout
248
- }
249
- }
250
-
251
- return TARGET_CURRENT_LAYOUT
252
- }
253
-
254
- /**
255
- * Files a caller must read and hand to `verifyTargetShape`.
256
- *
257
- * The UNION over every layout, because a caller reads before it knows which layout it is holding
258
- * and the probes are what settle that. The verifier reports only the files its selected layout
259
- * actually requires, so the extra reads cost a `stat` each and never a violation.
260
- *
261
- * The verifier is pure and does no IO of its own — the publisher reads these from the PVC, and
262
- * a test reads them from the template tree. A path that does not exist is passed as `null`,
263
- * which the verifier reports rather than skipping: absence is a violation for everything here.
264
- */
265
- export const TARGET_INTEGRITY_FILES: readonly string[] = [
266
- ...new Set(Object.values(TARGET_LAYOUTS).flatMap(manifest => manifest.files)),
267
- ]
268
-
269
- /**
270
- * Files no user-facing write may touch, through any path — the union over every layout.
271
- *
272
- * These are the ones that decide what gets EXECUTED — the build scripts, the package manifests
273
- * that name them, the compiler configuration that resolves them, and the install configuration.
274
- * The agent harness is here for the same reason: `.claude/settings.json` declares a
275
- * `SessionStart` hook and `.agents/scripts/link-skills.sh` is the command it spawns, so a write
276
- * to either runs code in the slot the next time an agent session opens, with no build and no
277
- * request involved. The agent's own generator already refuses the wiring sources
278
- * (`WIRING_SOURCES`), but that guard is LLM-scoped: it never saw a manual editor save and never
279
- * saw a git merge.
280
- *
281
- * The union rather than the current layout's list, because this is a path-shaped refusal with
282
- * nothing to gain from being narrow: a v2 path cannot exist in a v1 tree, so covering both costs
283
- * nothing and covers the legacy slots that were left writable.
284
- */
285
- export const TARGET_PROTECTED_FILES: readonly string[] = [
286
- ...new Set(Object.values(TARGET_LAYOUTS).flatMap(manifest => manifest.protectedFiles)),
287
- ]
288
-
289
- /** `<slug>-<package>` — the only way a workspace package is ever named, in either layout. */
290
- export const targetPackageName = (slug: string, pkg: string): string => `${slug}-${pkg}`
291
-
292
- /** Everything one package must declare, once the root manifest has named the slug. */
293
- export const targetRequiredDeps = (
294
- slug: string, pkg: string, layout: TargetLayout = TARGET_CURRENT_LAYOUT
295
- ): string[] => {
296
- const manifest = targetManifest(layout)
297
-
298
- return [
299
- ...(manifest.requiredDeps[pkg] ?? []),
300
- ...(manifest.workspaceDeps[pkg] ?? []).map(dep => targetPackageName(slug, dep)),
301
- ]
302
- }
303
-
304
- /**
305
- * The current layout's own rules, kept as named constants because consumers outside the verifier
306
- * ask about the tree the platform generates today — never about a frozen one.
307
- */
308
- export const TARGET_BUILD_SCRIPTS: Readonly<Record<string, string>> = V2_MANIFEST.buildScripts
309
-
310
- export const TARGET_REQUIRED_DEPS: Readonly<Record<string, readonly string[]>> =
311
- V2_MANIFEST.requiredDeps
312
-
313
- export const TARGET_WORKSPACE_DEPS: Readonly<Record<string, readonly string[]>> =
314
- V2_MANIFEST.workspaceDeps
10
+ targetLayoutHelper.isLegacyLayout(layout)
315
11
 
316
- export const TARGET_ENTRY_MARKERS: Readonly<Record<string, readonly string[]>> = V2_MANIFEST.markers
12
+ /** @deprecated compat:factory-refactor — use `targetLayoutHelper.detectTargetLayout(…)` */
13
+ export const detectTargetLayout = (files: Record<string, string | null>): TargetLayout =>
14
+ targetLayoutHelper.detectTargetLayout(files)
317
15
 
318
- export const TARGET_WORKSPACE_GLOB = V2_MANIFEST.workspaceGlob
16
+ /** @deprecated compat:factory-refactor — use `targetLayoutHelper.targetPackageName(…)` */
17
+ export const targetPackageName = (slug: string, pkg: string): string => targetLayoutHelper.targetPackageName(slug, pkg)
319
18
 
320
- export const TARGET_WORKSPACE_ENTRIES: readonly string[] = V2_MANIFEST.workspaceEntries
19
+ /** @deprecated compat:factory-refactor — use `targetLayoutHelper.targetRequiredDeps(…)` */
20
+ export const targetRequiredDeps = (slug: string, pkg: string, layout?: TargetLayout): string[] =>
21
+ targetLayoutHelper.targetRequiredDeps(slug, pkg, layout)
@@ -0,0 +1,26 @@
1
+ import type { TargetFileMap, TargetIntegrityReport } from '../types.js'
2
+
3
+ /** The integrity verdict on a target tree, and its one-line-per-violation rendering. */
4
+ export interface TargetIntegrityHelper {
5
+ /**
6
+ * Decide whether a tree is the generated application, from its files alone.
7
+ *
8
+ * Pure and IO-free on purpose. The publisher reads the sandbox and calls this; a test reads
9
+ * the template and calls this; both then agree by construction. It is also why the check is
10
+ * cheap enough to sit in front of every spawn rather than only at the moments someone
11
+ * remembered to guard.
12
+ *
13
+ * The tree picks the manifest it is verified against. A slot holds the layout it was
14
+ * initialized with for the life of the project and nothing migrates it, so asserting the
15
+ * current layout unconditionally does not make the check stricter — it aims it at a tree that
16
+ * was never there, and every legacy slot answers with one `missing` violation per file it was
17
+ * never supposed to have. That refuses the application the platform itself generated.
18
+ *
19
+ * Every rule collects rather than short-circuits: a tree that fails is usually a person's
20
+ * repository, and telling them one thing at a time turns a fix into a dozen round trips
21
+ * through a pull that reverts itself each time.
22
+ */
23
+ verifyTargetShape: (files: TargetFileMap) => TargetIntegrityReport
24
+ /** One line per violation — what goes into a log, `slot.lastError`, or a build diagnostic. */
25
+ formatIntegrityReport: (report: TargetIntegrityReport) => string
26
+ }