@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
@@ -0,0 +1,74 @@
1
+ import type { TargetLayout } from '../../integrity/consts.js'
2
+ import type {
3
+ ArchitectureCase, ConvertibilityReason, ConvertibilityVerdict, OriginShape, StackFamily, StackId
4
+ } from '../consts.js'
5
+
6
+ /** One piece of evidence for a stack, and how much it counts for. */
7
+ export interface StackSignal {
8
+ id: StackId
9
+ weight: number
10
+ evidence: string
11
+ }
12
+
13
+ /**
14
+ * What the pure detector concluded, before any model was asked.
15
+ *
16
+ * `confirmed` records whether the ONE model confirmation ran and agreed. `confirmedCase` is what
17
+ * that same call answered about the architecture — asked together because a model that has just
18
+ * read the manifests to name a framework has already read everything the case follows from, and
19
+ * two calls over the same evidence is twice the price for one answer.
20
+ */
21
+ export interface StackDetection {
22
+ stack: StackId
23
+ family: StackFamily
24
+ alternative?: StackId
25
+ confidence: number
26
+ confirmed: boolean
27
+ confirmedCase?: ArchitectureCase
28
+ signals: StackSignal[]
29
+ runtime?: string
30
+ reason?: string
31
+ }
32
+
33
+ /** The ONE model confirmation of the detected stack, and the case it implies. */
34
+ export interface StackConfirmation {
35
+ stack: StackId
36
+ alternative?: StackId
37
+ case: ArchitectureCase
38
+ runtime?: string
39
+ confidence: number
40
+ reason: string
41
+ }
42
+
43
+ /**
44
+ * What the tree IS, as the integrity manifest sees it.
45
+ *
46
+ * `violations` is how far a tree is from being a Viable target: zero means it IS one and the
47
+ * conversion is a repair, a handful means somebody edited a generated project, and a large number
48
+ * means it is foreign code that happens to be TypeScript.
49
+ */
50
+ export interface OriginShapeReport {
51
+ shape: OriginShape
52
+ layout?: TargetLayout
53
+ violations: number
54
+ evidence: string[]
55
+ }
56
+
57
+ export interface ArchitectureVerdict {
58
+ case: ArchitectureCase
59
+ confidence: number
60
+ reasons: string[]
61
+ /** Two cases fit equally well; the user is asked which. */
62
+ ambiguous: boolean
63
+ /** The origin has no user interface at all — a case the implementation stage must design one for. */
64
+ uiGap: boolean
65
+ }
66
+
67
+ export interface ConvertibilityReport {
68
+ verdict: ConvertibilityVerdict
69
+ reasons: ConvertibilityReason[]
70
+ /** What makes the verdict `Refused`, phrased for a person. */
71
+ blockers: string[]
72
+ /** What makes it `Limited` — shown before the user pays for anything. */
73
+ notes: string[]
74
+ }
@@ -0,0 +1,151 @@
1
+ import type { ProjectArea } from '../../areas/consts.js'
2
+ import type {
3
+ ArchitectureCase, ConversionStage, ConvertibilityVerdict, OriginKind, PurposeEvidenceSource, StackFamily, StackId
4
+ } from '../consts.js'
5
+
6
+ /** Where the per-story and per-seed conversion documents live in a target. */
7
+ export interface ConversionDocHelper {
8
+ /** The restored story document of one story code. */
9
+ conversionStoryDoc: (code: string) => string
10
+ /** The description document of one carried seed. */
11
+ conversionSeedDoc: (name: string) => string
12
+ /** The carried seed data file itself. */
13
+ conversionSeedData: (name: string, ext: string) => string
14
+ }
15
+
16
+ export interface ConversionDocMeta {
17
+ version: number
18
+ stage: ConversionStage
19
+ updatedAt: string
20
+ }
21
+
22
+ export interface ConversionIndexMeta extends ConversionDocMeta {
23
+ origin: string
24
+ originKind: OriginKind
25
+ stack: StackId
26
+ case: ArchitectureCase
27
+ verdict: ConvertibilityVerdict
28
+ purged: boolean
29
+ }
30
+
31
+ export interface InventoryDocMeta extends ConversionDocMeta {
32
+ files: number
33
+ bytes: number
34
+ packages: number
35
+ dumps: number
36
+ seeds: number
37
+ truncated: boolean
38
+ }
39
+
40
+ export interface StackDocMeta extends ConversionDocMeta {
41
+ stack: StackId
42
+ family: StackFamily
43
+ alternative?: StackId
44
+ confidence: number
45
+ confirmed: boolean
46
+ }
47
+
48
+ export interface ArchitectureDocMeta extends ConversionDocMeta {
49
+ case: ArchitectureCase
50
+ confidence: number
51
+ ambiguous: boolean
52
+ uiGap: boolean
53
+ }
54
+
55
+ export interface HarnessDocMeta extends ConversionDocMeta {
56
+ docs: number
57
+ hasReadme: boolean
58
+ hasAgents: boolean
59
+ openapi: boolean
60
+ }
61
+
62
+ export interface TaxonomyDocMeta extends ConversionDocMeta {
63
+ case: ArchitectureCase
64
+ packages: number
65
+ counts: Record<string, number>
66
+ deviations: number
67
+ }
68
+
69
+ export interface PurposeDocMeta extends ConversionDocMeta {
70
+ source: PurposeEvidenceSource
71
+ confidence: number
72
+ }
73
+
74
+ export interface AnalysisDocMeta extends ConversionDocMeta {
75
+ name: string
76
+ language: string
77
+ entities: string[]
78
+ flowSteps: number
79
+ }
80
+
81
+ export interface StoryListDocMeta extends ConversionDocMeta {
82
+ total: number
83
+ flow: number
84
+ connective: number
85
+ coverage: number
86
+ }
87
+
88
+ export interface StoryProofDocMeta extends ConversionDocMeta {
89
+ code: string
90
+ area: ProjectArea
91
+ origin: string[]
92
+ complexity: number
93
+ }
94
+
95
+ export interface EstimateDocMeta extends ConversionDocMeta {
96
+ stages: ConversionStage[]
97
+ inputTokens: number
98
+ outputTokens: number
99
+ }
100
+
101
+ export interface AssumptionsDocMeta extends ConversionDocMeta {
102
+ count: number
103
+ }
104
+
105
+ export interface InquiriesDocMeta extends ConversionDocMeta {
106
+ asked: number
107
+ answered: number
108
+ declined: number
109
+ }
110
+
111
+ export interface DumpsDocMeta extends ConversionDocMeta {
112
+ dumps: number
113
+ bytes: number
114
+ sampled: number
115
+ }
116
+
117
+ export interface SeedDocMeta extends ConversionDocMeta {
118
+ name: string
119
+ format: string
120
+ bytes: number
121
+ rows?: number
122
+ carried: boolean
123
+ }
124
+
125
+ export interface AreasDocMeta extends ConversionDocMeta {
126
+ areas: ProjectArea[]
127
+ roles: number
128
+ permissions: number
129
+ }
130
+
131
+ export interface StructureDocMeta extends ConversionDocMeta {
132
+ nodes: number
133
+ edges: number
134
+ }
135
+
136
+ export interface OriginCardDocMeta extends ConversionDocMeta {
137
+ chars: number
138
+ stack: StackId
139
+ case: ArchitectureCase
140
+ }
141
+
142
+ /** The frontmatter of the target's own `.agents/memory/conversion.md` node. */
143
+ export interface ConversionMemoryMeta {
144
+ version: number
145
+ stage: ConversionStage
146
+ case: ArchitectureCase
147
+ stack: StackId
148
+ origin: string
149
+ purged: boolean
150
+ updatedAt: string
151
+ }
@@ -0,0 +1,15 @@
1
+ import { CONVERSION_SEED_DATA_DIR, CONVERSION_SEED_DIR, CONVERSION_STORY_DIR } from './consts.js'
2
+ import type { ConversionDocHelper } from './docs/types.js'
3
+
4
+ export const createConversionDocHelper = (): ConversionDocHelper => {
5
+ const conversionStoryDoc = (code: string): string => `${CONVERSION_STORY_DIR}/${code}.md`
6
+
7
+ const conversionSeedDoc = (name: string): string => `${CONVERSION_SEED_DIR}/${name}.md`
8
+
9
+ const conversionSeedData = (name: string, ext: string): string =>
10
+ `${CONVERSION_SEED_DATA_DIR}/${name}.${ext}`
11
+
12
+ return { conversionStoryDoc, conversionSeedDoc, conversionSeedData }
13
+ }
14
+
15
+ export const conversionDocHelper = createConversionDocHelper()
@@ -0,0 +1,75 @@
1
+ import type { ModelRole } from '../../execution/consts.js'
2
+ import type { ConversionStage, EstimateSlice } from '../consts.js'
3
+
4
+ /**
5
+ * One row of a stage's role plan — what the estimator believes a step will spend.
6
+ *
7
+ * Data rather than a measurement: the plan says which slices of the origin a step reads, how many
8
+ * calls it makes and what it writes back, and the estimator projects tokens from the census. A
9
+ * step that is per-story is multiplied by the story count instead of run once.
10
+ */
11
+ export interface RolePlanEntry {
12
+ step: string
13
+ role: ModelRole
14
+ slices: EstimateSlice[]
15
+ /** What share of the named slices this step actually reads. */
16
+ factor: number
17
+ calls: number
18
+ /** Fixed input tokens per call — the persona, the framing, the schema. */
19
+ overhead: number
20
+ /** Expected output tokens per call. */
21
+ output: number
22
+ perStory?: boolean
23
+ }
24
+
25
+ export interface RoleEstimate {
26
+ role: ModelRole
27
+ calls: number
28
+ inputTokens: number
29
+ outputTokens: number
30
+ steps: string[]
31
+ }
32
+
33
+ /**
34
+ * What one stage is expected to cost, as the platform stores it on the conversion record.
35
+ *
36
+ * Priced on the agent, where the model presets and the run mode are: a DELEGATED conversion runs
37
+ * its model calls on the parent agent and costs the platform nothing, so `usd` is zero and
38
+ * `delegated` says why. `basis` is kept so a user can see what the number was projected from
39
+ * rather than being handed a figure with no provenance.
40
+ */
41
+ export interface ConversionEstimate {
42
+ stage: ConversionStage
43
+ version: number
44
+ roles: RoleEstimate[]
45
+ inputTokens: number
46
+ outputTokens: number
47
+ usd: number
48
+ /** @deprecated Credits are USD at the reference rate now — read `usd`. Kept for records stored before the change. */
49
+ credits?: number
50
+ delegated: boolean
51
+ basis: {
52
+ files: number
53
+ bytes: number
54
+ storyCount?: number
55
+ sampleRatio: number
56
+ retryFactor: number
57
+ }
58
+ computedAt: string
59
+ }
60
+
61
+ /**
62
+ * The per-story band shown before the implementation stage.
63
+ *
64
+ * A range, because a story's cost is set by how much code it turns out to need — which is exactly
65
+ * what nothing knows before it is written. Shown with the disclaimer that says so.
66
+ */
67
+ export interface StoryEstimateBand {
68
+ minUsd: number
69
+ maxUsd: number
70
+ /** @deprecated Credits are USD at the reference rate now — read `minUsd`. Kept for records stored before the change. */
71
+ minCredits?: number
72
+ /** @deprecated Credits are USD at the reference rate now — read `maxUsd`. Kept for records stored before the change. */
73
+ maxCredits?: number
74
+ perStory: { code: string, complexity: number, minUsd: number, maxUsd: number }[]
75
+ }
@@ -0,0 +1,19 @@
1
+ import type { StoryProof } from './analysis/types.js'
2
+
3
+ /**
4
+ * How much work re-implementing a story is, as a multiplier on the per-story price band.
5
+ *
6
+ * Derived from what the extraction found, never asked of a model: a story backed by a handful of
7
+ * proofs and no algorithm is ordinary CRUD, one that carries described algorithms is business
8
+ * logic somebody has to reproduce. Two runs over the same extraction therefore price identically,
9
+ * which is the point — a band that moved between two viewings of the same screen would be noise.
10
+ */
11
+ export const storyComplexity = (proof: Pick<StoryProof, 'proofs' | 'algorithms'>): number => {
12
+ const proofs = proof.proofs?.length ?? 0
13
+ const algorithms = proof.algorithms?.length ?? 0
14
+
15
+ if (algorithms > 1 || proofs > 8) return 2
16
+ if (algorithms > 0 || proofs > 3) return 1.5
17
+
18
+ return 1
19
+ }
@@ -1,222 +1,41 @@
1
- import {
2
- ArchitectureCase, ConversionDecision, ConversionStage, CONVERSION_STAGE_ORDER,
3
- CONVERTED_ORIGIN_DIR, EntropyClass, FileClass, ORIGIN_CARD_MAX_CHARS, SizeClass,
4
- SIZE_CLASS_BOUNDS
5
- } from './consts.js'
6
- import type { OriginCard, StoryProof } from './types.js'
7
- import { BINARY_EXTENSIONS, BULK_HINTS, DATA_AMBIGUOUS_EXT, DATA_OVERRIDABLE, EXT_CLASS, GENERATED_SEGMENTS, LOCK_NAMES, MANIFEST_NAMES, SEED_HINTS, TEST_SEGMENTS, TEXT_EXTENSIONS } from './consts.local.js'
1
+ import type { ConversionDecision, ConversionStage, EntropyClass, FileClass, SizeClass } from './consts.js'
2
+ import { censusHelper } from './census.js'
3
+ import { conversionOriginHelper } from './origin.js'
4
+ import type { OriginCard } from './origin/types.js'
5
+ import { conversionStageHelper } from './stage.js'
8
6
 
9
- /**
10
- * Pure, deterministic derivations over the conversion vocabulary.
11
- *
12
- * Everything here answers the same way for the same input, in every runtime, forever — which is
13
- * what makes the documents a conversion writes byte-stable across two runs, and therefore what
14
- * makes the prompt cache prefix they are injected into actually hit. Nothing in this file reads a
15
- * file, calls a model or looks at a clock.
16
- */
7
+ /** @deprecated compat:factory-refactor — use `censusHelper.sizeClassOf(…)` */
8
+ export const sizeClassOf = (bytes: number): SizeClass => censusHelper.sizeClassOf(bytes)
17
9
 
18
- /** Which {@link SizeClass} a byte count falls in. Boundaries are exclusive upper bounds. */
19
- export const sizeClassOf = (bytes: number): SizeClass => {
20
- if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Tiny]) return SizeClass.Tiny
21
- if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Small]) return SizeClass.Small
22
- if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Medium]) return SizeClass.Medium
23
- if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Large]) return SizeClass.Large
10
+ /** @deprecated compat:factory-refactor — use `censusHelper.fileClassOf(…)` */
11
+ export const fileClassOf = (path: string, ext: string): FileClass => censusHelper.fileClassOf(path, ext)
24
12
 
25
- return SizeClass.Huge
26
- }
13
+ /** @deprecated compat:factory-refactor — use `censusHelper.binaryByExtension(…)` */
14
+ export const binaryByExtension = (path: string): boolean | null => censusHelper.binaryByExtension(path)
27
15
 
28
- const segmentsOf = (path: string): string[] => path.split('/').filter(part => part !== '')
16
+ /** @deprecated compat:factory-refactor — use `censusHelper.entropyClassOf(…)` */
17
+ export const entropyClassOf = (head: string): EntropyClass => censusHelper.entropyClassOf(head)
29
18
 
30
- const hasSegment = (path: string, of: string[]): boolean =>
31
- segmentsOf(path).some(part => of.includes(part.toLowerCase()))
19
+ /** @deprecated compat:factory-refactor — use `censusHelper.isBulkPath(…)` */
20
+ export const isBulkPath = (path: string): boolean => censusHelper.isBulkPath(path)
32
21
 
33
- /**
34
- * What one file of the origin is.
35
- *
36
- * Location outranks the tail wherever it says more — a `.ts` under `__tests__/` is a test, a
37
- * `.json` under `seed/` is data — but only where it says more. The seed/dump rule therefore runs
38
- * AFTER the extension table and applies only to {@link DATA_OVERRIDABLE}: asked first, it answered
39
- * `Data` for every path merely containing the word (`tests/fixtures/user.ts`, `src/seedUsers.ts`,
40
- * `src/exportReport.ts`), which is the census's source budget spent on the wrong files twice over.
41
- */
42
- export const fileClassOf = (path: string, ext: string): FileClass => {
43
- const lower = path.toLowerCase()
44
- const base = segmentsOf(lower).pop() ?? lower
45
- const tail = (ext.startsWith('.') ? ext.slice(1) : ext).toLowerCase()
22
+ /** @deprecated compat:factory-refactor — use `censusHelper.isSeedPath(…)` */
23
+ export const isSeedPath = (path: string): boolean => censusHelper.isSeedPath(path)
46
24
 
47
- if (LOCK_NAMES.includes(base)) return FileClass.Lock
48
- if (hasSegment(lower, GENERATED_SEGMENTS)) return FileClass.Generated
49
- if (MANIFEST_NAMES.includes(base)) return FileClass.Manifest
50
- if (hasSegment(lower, TEST_SEGMENTS) || base.includes('.test.') || base.includes('.spec.')) {
51
- return FileClass.Test
52
- }
53
- if (base.startsWith('.env')) return FileClass.Config
25
+ /** @deprecated compat:factory-refactor — use `conversionStageHelper.stageAfter(…)` */
26
+ export const stageAfter = (stage: ConversionStage): ConversionStage => conversionStageHelper.stageAfter(stage)
54
27
 
55
- const byExt = EXT_CLASS[tail] ?? FileClass.Unknown
56
- if (
57
- (DATA_OVERRIDABLE.includes(byExt) || DATA_AMBIGUOUS_EXT.includes(tail))
58
- && (isSeedPath(lower) || isBulkPath(lower))
59
- ) {
60
- return FileClass.Data
61
- }
28
+ /** @deprecated compat:factory-refactor — use `conversionStageHelper.decisionFor(…)` */
29
+ export const decisionFor = (stage: ConversionStage): ConversionDecision => conversionStageHelper.decisionFor(stage)
62
30
 
63
- return byExt
64
- }
31
+ /** @deprecated compat:factory-refactor — use `conversionOriginHelper.originCardChars(…)` */
32
+ export const originCardChars = (card: OriginCard): number => conversionOriginHelper.originCardChars(card)
65
33
 
66
- /**
67
- * The binary verdict a path already carries, or `null` for a file that has to be probed.
68
- *
69
- * The three executors that walk a tree — the library-local helper, the publisher and the connector
70
- * SDK — must answer the same verdict for the same file, and a probe alone does not: a small `.ico`
71
- * with no NUL in its first bytes reads as text, so a census run on a laptop and the same census
72
- * run in the slot disagreed about the same repository. The tail is asked first and the probe only
73
- * where the tail says nothing, which is also why the probe is affordable at census scale — the
74
- * extensions above are the bulk of any repository.
75
- *
76
- * The extension is taken exactly the way `path.extname` takes it, because two of the three callers
77
- * used to: the last dot of the last SEGMENT, and nothing for a name with no dot or for a dotfile.
78
- */
79
- export const binaryByExtension = (path: string): boolean | null => {
80
- const base = segmentsOf(path).pop() ?? path
81
- const dot = base.lastIndexOf('.')
82
- if (dot < 1) return null
83
- const ext = base.slice(dot).toLowerCase()
34
+ /** @deprecated compat:factory-refactor — use `conversionOriginHelper.originCardFits(…)` */
35
+ export const originCardFits = (card: OriginCard): boolean => conversionOriginHelper.originCardFits(card)
84
36
 
85
- return TEXT_EXTENSIONS.includes(ext) ? false : BINARY_EXTENSIONS.includes(ext) ? true : null
86
- }
37
+ /** @deprecated compat:factory-refactor — use `conversionOriginHelper.isOriginPath(…)` */
38
+ export const isOriginPath = (path: string): boolean => conversionOriginHelper.isOriginPath(path)
87
39
 
88
- /**
89
- * How usable a file's head is as evidence.
90
- *
91
- * The printable ratio over the sampled head, and nothing cleverer: the question is only whether a
92
- * model can read it. A minified bundle is printable and useless, so a second rule catches the
93
- * shape that gives it away — very long lines with almost no whitespace.
94
- */
95
- export const entropyClassOf = (head: string): EntropyClass => {
96
- if (head.length < 1) return EntropyClass.Text
97
-
98
- let printable = 0
99
- let whitespace = 0
100
- for (const char of head) {
101
- const code = char.codePointAt(0) ?? 0
102
- if (code === 9 || code === 10 || code === 13 || code === 32) {
103
- ++whitespace
104
- ++printable
105
- } else if (code >= 32 && code !== 127) {
106
- ++printable
107
- }
108
- }
109
-
110
- const ratio = printable / head.length
111
- if (ratio < 0.85) return EntropyClass.Opaque
112
- // Prose, code and markup all break lines and indent. A body that does neither is minified,
113
- // encoded or packed — printable, and not something a model can reason over.
114
- if (whitespace / head.length < 0.05) return EntropyClass.Dense
115
-
116
- return EntropyClass.Text
117
- }
118
-
119
- const matchesHint = (path: string, hints: string[]): boolean => {
120
- const lower = path.toLowerCase()
121
- if (hasSegment(lower, hints)) return true
122
- const base = segmentsOf(lower).pop() ?? lower
123
-
124
- return hints.some(hint => base.includes(hint))
125
- }
126
-
127
- export const isBulkPath = (path: string): boolean => matchesHint(path, BULK_HINTS)
128
-
129
- export const isSeedPath = (path: string): boolean => matchesHint(path, SEED_HINTS)
130
-
131
- /**
132
- * How much work re-implementing a story is, as a multiplier on the per-story price band.
133
- *
134
- * Derived from what the extraction found, never asked of a model: a story backed by a handful of
135
- * proofs and no algorithm is ordinary CRUD, one that carries described algorithms is business
136
- * logic somebody has to reproduce. Two runs over the same extraction therefore price identically,
137
- * which is the point — a band that moved between two viewings of the same screen would be noise.
138
- */
139
- export const storyComplexity = (proof: Pick<StoryProof, 'proofs' | 'algorithms'>): number => {
140
- const proofs = proof.proofs?.length ?? 0
141
- const algorithms = proof.algorithms?.length ?? 0
142
-
143
- if (algorithms > 1 || proofs > 8) return 2
144
- if (algorithms > 0 || proofs > 3) return 1.5
145
-
146
- return 1
147
- }
148
-
149
- /**
150
- * The stage after this one.
151
- *
152
- * The last stage answers with itself: there is nothing after implementation, and returning
153
- * `undefined` would only move the same check to every call site.
154
- */
155
- export const stageAfter = (stage: ConversionStage): ConversionStage => {
156
- const at = CONVERSION_STAGE_ORDER.indexOf(stage)
157
-
158
- return CONVERSION_STAGE_ORDER[at + 1] ?? stage
159
- }
160
-
161
- /**
162
- * The decision that ADVANCES out of a stage.
163
- *
164
- * Implementation's is {@link ConversionDecision.Leave}, because a finished conversion has nothing
165
- * further to run and leaving it as it stands is the ordinary outcome rather than an abandonment.
166
- */
167
- export const decisionFor = (stage: ConversionStage): ConversionDecision => {
168
- switch (stage) {
169
- case ConversionStage.Intake: return ConversionDecision.Analyze
170
- case ConversionStage.Analysis: return ConversionDecision.Extract
171
- case ConversionStage.Extraction: return ConversionDecision.Implement
172
- default: return ConversionDecision.Leave
173
- }
174
- }
175
-
176
- /**
177
- * Whether a conversion at `from` may enter `to`.
178
- *
179
- * The same stage is legal — that is a retry. The next one is legal. Nothing else is: every stage
180
- * reads the documents the stage before it wrote, so skipping one means running against documents
181
- * that were never produced, and going back means overwriting the record a later stage is built on.
182
- */
183
- export const canEnter = (from: ConversionStage, to: ConversionStage): boolean => {
184
- const at = CONVERSION_STAGE_ORDER.indexOf(from)
185
- const next = CONVERSION_STAGE_ORDER.indexOf(to)
186
- if (at < 0 || next < 0) return false
187
-
188
- return next === at || next === at + 1
189
- }
190
-
191
- /** The size of the rendered origin card, so a composer can trim before it exceeds its ceiling. */
192
- export const originCardChars = (card: OriginCard): number => [
193
- card.stack as string,
194
- card.case as ArchitectureCase as string,
195
- card.purpose,
196
- ...card.packages,
197
- ...card.entities,
198
- ...card.flows,
199
- ...card.conventions,
200
- ].reduce((total, part) => total + (part?.length ?? 0), 0)
201
-
202
- /** Whether a rendered card still fits the budget every coder prompt carries it in. */
203
- export const originCardFits = (card: OriginCard): boolean =>
204
- originCardChars(card) <= ORIGIN_CARD_MAX_CHARS
205
-
206
- /** Whether a target-relative path names the origin tree, or something inside it. */
207
- export const isOriginPath = (path: string): boolean =>
208
- path === CONVERTED_ORIGIN_DIR || path.startsWith(`${CONVERTED_ORIGIN_DIR}/`)
209
-
210
- /**
211
- * A path inside the origin tree, from a path relative to the origin's own root.
212
- *
213
- * Idempotent: a path already under the origin comes back unchanged, so a caller that has lost
214
- * track of which side of the move it holds cannot produce `__viable_converted/__viable_converted/`.
215
- */
216
- export const originPath = (relative: string): string => {
217
- const path = relative.replace(/^\/+/, '')
218
- if (path === '') return CONVERTED_ORIGIN_DIR
219
- if (isOriginPath(path)) return path
220
-
221
- return `${CONVERTED_ORIGIN_DIR}/${path}`
222
- }
40
+ /** @deprecated compat:factory-refactor — use `conversionOriginHelper.originPath(…)` */
41
+ export const originPath = (relative: string): string => conversionOriginHelper.originPath(relative)
@@ -2,7 +2,21 @@ export * from './consts.js'
2
2
  export * from './utils.js'
3
3
  export * from './schemas.js'
4
4
  export * from './helpers.js'
5
+ export * from './census.js'
6
+ export * from './stage.js'
7
+ export * from './estimate.js'
8
+ export * from './origin.js'
9
+ export * from './docs.js'
5
10
  export type * from './types.js'
11
+ export type * from './census/types.js'
12
+ export type * from './detection/types.js'
13
+ export type * from './taxonomy/types.js'
14
+ export type * from './analysis/types.js'
15
+ export type * from './origin/types.js'
16
+ export type * from './estimate/types.js'
17
+ export type * from './record/types.js'
18
+ export type * from './docs/types.js'
19
+ export type * from './stage/types.js'
6
20
  /**
7
21
  * Declared beside the slot command that produces it and re-exported here, because the census is
8
22
  * the only thing that reads a whole tree of them: one declaration, reachable from both barrels
@@ -0,0 +1,43 @@
1
+ import type { ArchitectureCase, StackId, TaxonomyKind } from '../consts.js'
2
+
3
+ /** The origin tree inside a target, and the standing card that describes it. */
4
+ export interface ConversionOriginHelper {
5
+ /** The size of the rendered origin card, so a composer can trim before it exceeds its ceiling. */
6
+ originCardChars: (card: OriginCard) => number
7
+ /** Whether a rendered card still fits the budget every coder prompt carries it in. */
8
+ originCardFits: (card: OriginCard) => boolean
9
+ /** Whether a target-relative path names the origin tree, or something inside it. */
10
+ isOriginPath: (path: string) => boolean
11
+ /**
12
+ * A path inside the origin tree, from a path relative to the origin's own root.
13
+ *
14
+ * Idempotent: a path already under the origin comes back unchanged, so a caller that has lost
15
+ * track of which side of the move it holds cannot produce `__viable_converted/__viable_converted/`.
16
+ */
17
+ originPath: (relative: string) => string
18
+ }
19
+
20
+ /**
21
+ * The standing description of the origin every coder prompt carries.
22
+ *
23
+ * Capped at {@link ORIGIN_CARD_MAX_CHARS}: it rides on every generation call of the
24
+ * implementation stage, so its length is multiplied by the number of calls the conversion makes.
25
+ */
26
+ export interface OriginCard {
27
+ stack: StackId
28
+ case: ArchitectureCase
29
+ purpose: string
30
+ packages: string[]
31
+ entities: string[]
32
+ flows: string[]
33
+ conventions: string[]
34
+ chars: number
35
+ }
36
+
37
+ /** One line of the origin→target map the target's own agent memory keeps. */
38
+ export interface OriginMapEntry {
39
+ origin: string
40
+ target?: string
41
+ kind: TaxonomyKind
42
+ story?: string
43
+ }