@owlmeans/viable-common 0.0.4

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 (453) hide show
  1. package/README.md +68 -0
  2. package/agent-meta/manifest.json +16 -0
  3. package/agent-meta/skills/viable-common/SKILL.md +179 -0
  4. package/build/agent/index.d.ts +4 -0
  5. package/build/agent/index.d.ts.map +1 -0
  6. package/build/agent/index.js +3 -0
  7. package/build/agent/index.js.map +1 -0
  8. package/build/agent/memory.d.ts +12 -0
  9. package/build/agent/memory.d.ts.map +1 -0
  10. package/build/agent/memory.js +11 -0
  11. package/build/agent/memory.js.map +1 -0
  12. package/build/agent/spectator/consts.d.ts +9 -0
  13. package/build/agent/spectator/consts.d.ts.map +1 -0
  14. package/build/agent/spectator/consts.js +10 -0
  15. package/build/agent/spectator/consts.js.map +1 -0
  16. package/build/agent/spectator/index.d.ts +3 -0
  17. package/build/agent/spectator/index.d.ts.map +1 -0
  18. package/build/agent/spectator/index.js +2 -0
  19. package/build/agent/spectator/index.js.map +1 -0
  20. package/build/agent/spectator/types.d.ts +13 -0
  21. package/build/agent/spectator/types.d.ts.map +1 -0
  22. package/build/agent/spectator/types.js +2 -0
  23. package/build/agent/spectator/types.js.map +1 -0
  24. package/build/agent/types.d.ts +10 -0
  25. package/build/agent/types.d.ts.map +1 -0
  26. package/build/agent/types.js +2 -0
  27. package/build/agent/types.js.map +1 -0
  28. package/build/areas/consts.d.ts +88 -0
  29. package/build/areas/consts.d.ts.map +1 -0
  30. package/build/areas/consts.js +106 -0
  31. package/build/areas/consts.js.map +1 -0
  32. package/build/areas/index.d.ts +3 -0
  33. package/build/areas/index.d.ts.map +1 -0
  34. package/build/areas/index.js +2 -0
  35. package/build/areas/index.js.map +1 -0
  36. package/build/areas/types.d.ts +28 -0
  37. package/build/areas/types.d.ts.map +1 -0
  38. package/build/areas/types.js +2 -0
  39. package/build/areas/types.js.map +1 -0
  40. package/build/ba/consts.d.ts +38 -0
  41. package/build/ba/consts.d.ts.map +1 -0
  42. package/build/ba/consts.js +41 -0
  43. package/build/ba/consts.js.map +1 -0
  44. package/build/ba/helpers.d.ts +41 -0
  45. package/build/ba/helpers.d.ts.map +1 -0
  46. package/build/ba/helpers.js +79 -0
  47. package/build/ba/helpers.js.map +1 -0
  48. package/build/ba/index.d.ts +5 -0
  49. package/build/ba/index.d.ts.map +1 -0
  50. package/build/ba/index.js +4 -0
  51. package/build/ba/index.js.map +1 -0
  52. package/build/ba/schemas.d.ts +13 -0
  53. package/build/ba/schemas.d.ts.map +1 -0
  54. package/build/ba/schemas.js +181 -0
  55. package/build/ba/schemas.js.map +1 -0
  56. package/build/ba/types.d.ts +113 -0
  57. package/build/ba/types.d.ts.map +1 -0
  58. package/build/ba/types.js +2 -0
  59. package/build/ba/types.js.map +1 -0
  60. package/build/blueprint/case.d.ts +73 -0
  61. package/build/blueprint/case.d.ts.map +1 -0
  62. package/build/blueprint/case.js +244 -0
  63. package/build/blueprint/case.js.map +1 -0
  64. package/build/blueprint/consts.d.ts +11 -0
  65. package/build/blueprint/consts.d.ts.map +1 -0
  66. package/build/blueprint/consts.js +11 -0
  67. package/build/blueprint/consts.js.map +1 -0
  68. package/build/blueprint/index.d.ts +6 -0
  69. package/build/blueprint/index.d.ts.map +1 -0
  70. package/build/blueprint/index.js +6 -0
  71. package/build/blueprint/index.js.map +1 -0
  72. package/build/blueprint/resolve.d.ts +51 -0
  73. package/build/blueprint/resolve.d.ts.map +1 -0
  74. package/build/blueprint/resolve.js +108 -0
  75. package/build/blueprint/resolve.js.map +1 -0
  76. package/build/blueprint/schemas.d.ts +41 -0
  77. package/build/blueprint/schemas.d.ts.map +1 -0
  78. package/build/blueprint/schemas.js +27 -0
  79. package/build/blueprint/schemas.js.map +1 -0
  80. package/build/blueprint/types.d.ts +186 -0
  81. package/build/blueprint/types.d.ts.map +1 -0
  82. package/build/blueprint/types.js +32 -0
  83. package/build/blueprint/types.js.map +1 -0
  84. package/build/branding.d.ts +19 -0
  85. package/build/branding.d.ts.map +1 -0
  86. package/build/branding.js +32 -0
  87. package/build/branding.js.map +1 -0
  88. package/build/connect/consts.d.ts +378 -0
  89. package/build/connect/consts.d.ts.map +1 -0
  90. package/build/connect/consts.js +425 -0
  91. package/build/connect/consts.js.map +1 -0
  92. package/build/connect/entrypoints.d.ts +41 -0
  93. package/build/connect/entrypoints.d.ts.map +1 -0
  94. package/build/connect/entrypoints.js +141 -0
  95. package/build/connect/entrypoints.js.map +1 -0
  96. package/build/connect/errors.d.ts +50 -0
  97. package/build/connect/errors.d.ts.map +1 -0
  98. package/build/connect/errors.js +77 -0
  99. package/build/connect/errors.js.map +1 -0
  100. package/build/connect/index.d.ts +8 -0
  101. package/build/connect/index.d.ts.map +1 -0
  102. package/build/connect/index.js +6 -0
  103. package/build/connect/index.js.map +1 -0
  104. package/build/connect/ops.d.ts +192 -0
  105. package/build/connect/ops.d.ts.map +1 -0
  106. package/build/connect/ops.js +2 -0
  107. package/build/connect/ops.js.map +1 -0
  108. package/build/connect/references.d.ts +194 -0
  109. package/build/connect/references.d.ts.map +1 -0
  110. package/build/connect/references.js +62 -0
  111. package/build/connect/references.js.map +1 -0
  112. package/build/connect/schemas.d.ts +59 -0
  113. package/build/connect/schemas.d.ts.map +1 -0
  114. package/build/connect/schemas.js +346 -0
  115. package/build/connect/schemas.js.map +1 -0
  116. package/build/connect/types.d.ts +428 -0
  117. package/build/connect/types.d.ts.map +1 -0
  118. package/build/connect/types.js +2 -0
  119. package/build/connect/types.js.map +1 -0
  120. package/build/consts.d.ts +9 -0
  121. package/build/consts.d.ts.map +1 -0
  122. package/build/consts.js +31 -0
  123. package/build/consts.js.map +1 -0
  124. package/build/convert/consts.d.ts +539 -0
  125. package/build/convert/consts.d.ts.map +1 -0
  126. package/build/convert/consts.js +630 -0
  127. package/build/convert/consts.js.map +1 -0
  128. package/build/convert/helpers.d.ts +91 -0
  129. package/build/convert/helpers.d.ts.map +1 -0
  130. package/build/convert/helpers.js +301 -0
  131. package/build/convert/helpers.js.map +1 -0
  132. package/build/convert/index.d.ts +11 -0
  133. package/build/convert/index.d.ts.map +1 -0
  134. package/build/convert/index.js +4 -0
  135. package/build/convert/index.js.map +1 -0
  136. package/build/convert/schemas.d.ts +62 -0
  137. package/build/convert/schemas.d.ts.map +1 -0
  138. package/build/convert/schemas.js +626 -0
  139. package/build/convert/schemas.js.map +1 -0
  140. package/build/convert/types.d.ts +683 -0
  141. package/build/convert/types.d.ts.map +1 -0
  142. package/build/convert/types.js +2 -0
  143. package/build/convert/types.js.map +1 -0
  144. package/build/design/consts.d.ts +25 -0
  145. package/build/design/consts.d.ts.map +1 -0
  146. package/build/design/consts.js +26 -0
  147. package/build/design/consts.js.map +1 -0
  148. package/build/design/helpers.d.ts +60 -0
  149. package/build/design/helpers.d.ts.map +1 -0
  150. package/build/design/helpers.js +221 -0
  151. package/build/design/helpers.js.map +1 -0
  152. package/build/design/index.d.ts +6 -0
  153. package/build/design/index.d.ts.map +1 -0
  154. package/build/design/index.js +5 -0
  155. package/build/design/index.js.map +1 -0
  156. package/build/design/runtime.d.ts +126 -0
  157. package/build/design/runtime.d.ts.map +1 -0
  158. package/build/design/runtime.js +65 -0
  159. package/build/design/runtime.js.map +1 -0
  160. package/build/design/schemas.d.ts +21 -0
  161. package/build/design/schemas.d.ts.map +1 -0
  162. package/build/design/schemas.js +369 -0
  163. package/build/design/schemas.js.map +1 -0
  164. package/build/design/types.d.ts +199 -0
  165. package/build/design/types.d.ts.map +1 -0
  166. package/build/design/types.js +2 -0
  167. package/build/design/types.js.map +1 -0
  168. package/build/dev/consts.d.ts +32 -0
  169. package/build/dev/consts.d.ts.map +1 -0
  170. package/build/dev/consts.js +33 -0
  171. package/build/dev/consts.js.map +1 -0
  172. package/build/dev/index.d.ts +4 -0
  173. package/build/dev/index.d.ts.map +1 -0
  174. package/build/dev/index.js +3 -0
  175. package/build/dev/index.js.map +1 -0
  176. package/build/dev/schemas.d.ts +15 -0
  177. package/build/dev/schemas.d.ts.map +1 -0
  178. package/build/dev/schemas.js +116 -0
  179. package/build/dev/schemas.js.map +1 -0
  180. package/build/dev/types.d.ts +42 -0
  181. package/build/dev/types.d.ts.map +1 -0
  182. package/build/dev/types.js +2 -0
  183. package/build/dev/types.js.map +1 -0
  184. package/build/execution/consts.d.ts +36 -0
  185. package/build/execution/consts.d.ts.map +1 -0
  186. package/build/execution/consts.js +37 -0
  187. package/build/execution/consts.js.map +1 -0
  188. package/build/execution/index.d.ts +3 -0
  189. package/build/execution/index.d.ts.map +1 -0
  190. package/build/execution/index.js +2 -0
  191. package/build/execution/index.js.map +1 -0
  192. package/build/execution/types.d.ts +50 -0
  193. package/build/execution/types.d.ts.map +1 -0
  194. package/build/execution/types.js +2 -0
  195. package/build/execution/types.js.map +1 -0
  196. package/build/index.d.ts +22 -0
  197. package/build/index.d.ts.map +1 -0
  198. package/build/index.js +21 -0
  199. package/build/index.js.map +1 -0
  200. package/build/integrity/consts.d.ts +226 -0
  201. package/build/integrity/consts.d.ts.map +1 -0
  202. package/build/integrity/consts.js +401 -0
  203. package/build/integrity/consts.js.map +1 -0
  204. package/build/integrity/index.d.ts +4 -0
  205. package/build/integrity/index.d.ts.map +1 -0
  206. package/build/integrity/index.js +3 -0
  207. package/build/integrity/index.js.map +1 -0
  208. package/build/integrity/types.d.ts +35 -0
  209. package/build/integrity/types.d.ts.map +1 -0
  210. package/build/integrity/types.js +2 -0
  211. package/build/integrity/types.js.map +1 -0
  212. package/build/integrity/verify.d.ts +23 -0
  213. package/build/integrity/verify.d.ts.map +1 -0
  214. package/build/integrity/verify.js +198 -0
  215. package/build/integrity/verify.js.map +1 -0
  216. package/build/metadata/consts.d.ts +101 -0
  217. package/build/metadata/consts.d.ts.map +1 -0
  218. package/build/metadata/consts.js +104 -0
  219. package/build/metadata/consts.js.map +1 -0
  220. package/build/metadata/index.d.ts +3 -0
  221. package/build/metadata/index.d.ts.map +1 -0
  222. package/build/metadata/index.js +3 -0
  223. package/build/metadata/index.js.map +1 -0
  224. package/build/metadata/types.d.ts +286 -0
  225. package/build/metadata/types.d.ts.map +1 -0
  226. package/build/metadata/types.js +39 -0
  227. package/build/metadata/types.js.map +1 -0
  228. package/build/moderation/consts.d.ts +58 -0
  229. package/build/moderation/consts.d.ts.map +1 -0
  230. package/build/moderation/consts.js +60 -0
  231. package/build/moderation/consts.js.map +1 -0
  232. package/build/moderation/index.d.ts +5 -0
  233. package/build/moderation/index.d.ts.map +1 -0
  234. package/build/moderation/index.js +4 -0
  235. package/build/moderation/index.js.map +1 -0
  236. package/build/moderation/schemas.d.ts +19 -0
  237. package/build/moderation/schemas.d.ts.map +1 -0
  238. package/build/moderation/schemas.js +26 -0
  239. package/build/moderation/schemas.js.map +1 -0
  240. package/build/moderation/types.d.ts +64 -0
  241. package/build/moderation/types.d.ts.map +1 -0
  242. package/build/moderation/types.js +2 -0
  243. package/build/moderation/types.js.map +1 -0
  244. package/build/moderation/utils.d.ts +21 -0
  245. package/build/moderation/utils.d.ts.map +1 -0
  246. package/build/moderation/utils.js +31 -0
  247. package/build/moderation/utils.js.map +1 -0
  248. package/build/preview/consts.d.ts +10 -0
  249. package/build/preview/consts.d.ts.map +1 -0
  250. package/build/preview/consts.js +11 -0
  251. package/build/preview/consts.js.map +1 -0
  252. package/build/preview/index.d.ts +3 -0
  253. package/build/preview/index.d.ts.map +1 -0
  254. package/build/preview/index.js +2 -0
  255. package/build/preview/index.js.map +1 -0
  256. package/build/preview/types.d.ts +60 -0
  257. package/build/preview/types.d.ts.map +1 -0
  258. package/build/preview/types.js +2 -0
  259. package/build/preview/types.js.map +1 -0
  260. package/build/scaffold/consts.d.ts +25 -0
  261. package/build/scaffold/consts.d.ts.map +1 -0
  262. package/build/scaffold/consts.js +26 -0
  263. package/build/scaffold/consts.js.map +1 -0
  264. package/build/scaffold/helpers.d.ts +35 -0
  265. package/build/scaffold/helpers.d.ts.map +1 -0
  266. package/build/scaffold/helpers.js +54 -0
  267. package/build/scaffold/helpers.js.map +1 -0
  268. package/build/scaffold/index.d.ts +5 -0
  269. package/build/scaffold/index.d.ts.map +1 -0
  270. package/build/scaffold/index.js +4 -0
  271. package/build/scaffold/index.js.map +1 -0
  272. package/build/scaffold/schemas.d.ts +5 -0
  273. package/build/scaffold/schemas.d.ts.map +1 -0
  274. package/build/scaffold/schemas.js +273 -0
  275. package/build/scaffold/schemas.js.map +1 -0
  276. package/build/scaffold/types.d.ts +144 -0
  277. package/build/scaffold/types.d.ts.map +1 -0
  278. package/build/scaffold/types.js +2 -0
  279. package/build/scaffold/types.js.map +1 -0
  280. package/build/skills/catalogue.d.ts +47 -0
  281. package/build/skills/catalogue.d.ts.map +1 -0
  282. package/build/skills/catalogue.js +1566 -0
  283. package/build/skills/catalogue.js.map +1 -0
  284. package/build/skills/consts.d.ts +104 -0
  285. package/build/skills/consts.d.ts.map +1 -0
  286. package/build/skills/consts.js +170 -0
  287. package/build/skills/consts.js.map +1 -0
  288. package/build/skills/index.d.ts +4 -0
  289. package/build/skills/index.d.ts.map +1 -0
  290. package/build/skills/index.js +4 -0
  291. package/build/skills/index.js.map +1 -0
  292. package/build/skills/roles.d.ts +52 -0
  293. package/build/skills/roles.d.ts.map +1 -0
  294. package/build/skills/roles.js +256 -0
  295. package/build/skills/roles.js.map +1 -0
  296. package/build/slot/consts.d.ts +305 -0
  297. package/build/slot/consts.d.ts.map +1 -0
  298. package/build/slot/consts.js +376 -0
  299. package/build/slot/consts.js.map +1 -0
  300. package/build/slot/helpers.d.ts +25 -0
  301. package/build/slot/helpers.d.ts.map +1 -0
  302. package/build/slot/helpers.js +27 -0
  303. package/build/slot/helpers.js.map +1 -0
  304. package/build/slot/index.d.ts +6 -0
  305. package/build/slot/index.d.ts.map +1 -0
  306. package/build/slot/index.js +5 -0
  307. package/build/slot/index.js.map +1 -0
  308. package/build/slot/layout.d.ts +72 -0
  309. package/build/slot/layout.d.ts.map +1 -0
  310. package/build/slot/layout.js +82 -0
  311. package/build/slot/layout.js.map +1 -0
  312. package/build/slot/schemas.d.ts +12 -0
  313. package/build/slot/schemas.d.ts.map +1 -0
  314. package/build/slot/schemas.js +43 -0
  315. package/build/slot/schemas.js.map +1 -0
  316. package/build/slot/types.d.ts +147 -0
  317. package/build/slot/types.d.ts.map +1 -0
  318. package/build/slot/types.js +2 -0
  319. package/build/slot/types.js.map +1 -0
  320. package/build/topology/card.d.ts +23 -0
  321. package/build/topology/card.d.ts.map +1 -0
  322. package/build/topology/card.js +95 -0
  323. package/build/topology/card.js.map +1 -0
  324. package/build/topology/consts.d.ts +32 -0
  325. package/build/topology/consts.d.ts.map +1 -0
  326. package/build/topology/consts.js +55 -0
  327. package/build/topology/consts.js.map +1 -0
  328. package/build/topology/helpers.d.ts +44 -0
  329. package/build/topology/helpers.d.ts.map +1 -0
  330. package/build/topology/helpers.js +112 -0
  331. package/build/topology/helpers.js.map +1 -0
  332. package/build/topology/index.d.ts +5 -0
  333. package/build/topology/index.d.ts.map +1 -0
  334. package/build/topology/index.js +4 -0
  335. package/build/topology/index.js.map +1 -0
  336. package/build/topology/types.d.ts +83 -0
  337. package/build/topology/types.d.ts.map +1 -0
  338. package/build/topology/types.js +2 -0
  339. package/build/topology/types.js.map +1 -0
  340. package/build/types.d.ts +88 -0
  341. package/build/types.d.ts.map +1 -0
  342. package/build/types.js +2 -0
  343. package/build/types.js.map +1 -0
  344. package/build/ux/consts.d.ts +5 -0
  345. package/build/ux/consts.d.ts.map +1 -0
  346. package/build/ux/consts.js +6 -0
  347. package/build/ux/consts.js.map +1 -0
  348. package/build/ux/index.d.ts +4 -0
  349. package/build/ux/index.d.ts.map +1 -0
  350. package/build/ux/index.js +3 -0
  351. package/build/ux/index.js.map +1 -0
  352. package/build/ux/schemas.d.ts +8 -0
  353. package/build/ux/schemas.d.ts.map +1 -0
  354. package/build/ux/schemas.js +91 -0
  355. package/build/ux/schemas.js.map +1 -0
  356. package/build/ux/types.d.ts +21 -0
  357. package/build/ux/types.d.ts.map +1 -0
  358. package/build/ux/types.js +2 -0
  359. package/build/ux/types.js.map +1 -0
  360. package/package.json +71 -0
  361. package/src/agent/index.ts +4 -0
  362. package/src/agent/memory.ts +16 -0
  363. package/src/agent/spectator/consts.ts +10 -0
  364. package/src/agent/spectator/index.ts +3 -0
  365. package/src/agent/spectator/types.ts +14 -0
  366. package/src/agent/types.ts +10 -0
  367. package/src/areas/consts.ts +112 -0
  368. package/src/areas/index.ts +3 -0
  369. package/src/areas/types.ts +29 -0
  370. package/src/ba/consts.ts +40 -0
  371. package/src/ba/helpers.ts +93 -0
  372. package/src/ba/index.ts +5 -0
  373. package/src/ba/schemas.ts +196 -0
  374. package/src/ba/types.ts +125 -0
  375. package/src/blueprint/case.ts +272 -0
  376. package/src/blueprint/consts.ts +11 -0
  377. package/src/blueprint/index.ts +6 -0
  378. package/src/blueprint/resolve.ts +133 -0
  379. package/src/blueprint/schemas.ts +44 -0
  380. package/src/blueprint/types.ts +204 -0
  381. package/src/branding.ts +34 -0
  382. package/src/connect/consts.ts +441 -0
  383. package/src/connect/entrypoints.ts +291 -0
  384. package/src/connect/errors.ts +91 -0
  385. package/src/connect/index.ts +7 -0
  386. package/src/connect/ops.ts +208 -0
  387. package/src/connect/references.ts +89 -0
  388. package/src/connect/schemas.ts +384 -0
  389. package/src/connect/types.ts +456 -0
  390. package/src/consts.ts +34 -0
  391. package/src/convert/consts.ts +672 -0
  392. package/src/convert/helpers.ts +340 -0
  393. package/src/convert/index.ts +10 -0
  394. package/src/convert/schemas.ts +663 -0
  395. package/src/convert/types.ts +741 -0
  396. package/src/design/consts.ts +26 -0
  397. package/src/design/helpers.ts +255 -0
  398. package/src/design/index.ts +5 -0
  399. package/src/design/runtime.ts +142 -0
  400. package/src/design/schemas.ts +384 -0
  401. package/src/design/types.ts +191 -0
  402. package/src/dev/consts.ts +35 -0
  403. package/src/dev/index.ts +4 -0
  404. package/src/dev/schemas.ts +124 -0
  405. package/src/dev/types.ts +47 -0
  406. package/src/execution/consts.ts +37 -0
  407. package/src/execution/index.ts +3 -0
  408. package/src/execution/types.ts +55 -0
  409. package/src/index.ts +22 -0
  410. package/src/integrity/consts.ts +477 -0
  411. package/src/integrity/index.ts +3 -0
  412. package/src/integrity/types.ts +37 -0
  413. package/src/integrity/verify.ts +221 -0
  414. package/src/metadata/consts.ts +118 -0
  415. package/src/metadata/index.ts +3 -0
  416. package/src/metadata/types.ts +310 -0
  417. package/src/moderation/consts.ts +59 -0
  418. package/src/moderation/index.ts +4 -0
  419. package/src/moderation/schemas.ts +28 -0
  420. package/src/moderation/types.ts +68 -0
  421. package/src/moderation/utils.ts +35 -0
  422. package/src/preview/consts.ts +9 -0
  423. package/src/preview/index.ts +3 -0
  424. package/src/preview/types.ts +79 -0
  425. package/src/scaffold/consts.ts +26 -0
  426. package/src/scaffold/helpers.ts +84 -0
  427. package/src/scaffold/index.ts +4 -0
  428. package/src/scaffold/schemas.ts +283 -0
  429. package/src/scaffold/types.ts +118 -0
  430. package/src/skills/catalogue.ts +1617 -0
  431. package/src/skills/consts.ts +183 -0
  432. package/src/skills/index.ts +4 -0
  433. package/src/skills/roles.ts +299 -0
  434. package/src/slot/consts.ts +393 -0
  435. package/src/slot/helpers.ts +34 -0
  436. package/src/slot/index.ts +5 -0
  437. package/src/slot/layout.ts +141 -0
  438. package/src/slot/schemas.ts +46 -0
  439. package/src/slot/types.ts +164 -0
  440. package/src/topology/card.ts +106 -0
  441. package/src/topology/consts.ts +59 -0
  442. package/src/topology/helpers.ts +138 -0
  443. package/src/topology/index.ts +5 -0
  444. package/src/topology/types.ts +86 -0
  445. package/src/types.ts +104 -0
  446. package/src/ux/consts.ts +5 -0
  447. package/src/ux/index.ts +4 -0
  448. package/src/ux/schemas.ts +97 -0
  449. package/src/ux/types.ts +25 -0
  450. package/tests/connect-convert.spec.ts +161 -0
  451. package/tests/convert.spec.ts +318 -0
  452. package/tests/design.spec.ts +136 -0
  453. package/tsconfig.json +16 -0
@@ -0,0 +1,31 @@
1
+ import { ModerationCategory } from './consts.js';
2
+ /**
3
+ * Narrow whatever the model put in `category` to a real one, or to nothing.
4
+ *
5
+ * The wire field is a free string on purpose — see {@link ModerationVerdictSchema}. A model
6
+ * that is allowing has nothing to categorise and still fills the field, so anything
7
+ * unrecognized is treated as absent rather than as a failure.
8
+ */
9
+ export const normalizeCategory = (category) => {
10
+ const values = Object.values(ModerationCategory);
11
+ return category != null && values.includes(category)
12
+ ? category
13
+ : undefined;
14
+ };
15
+ /**
16
+ * What to do about a verdict.
17
+ *
18
+ * Pure, because this is the part with the operational levers on it and the part most likely
19
+ * to be wrong in a hurry: `enforce` turns the whole gate into an observer without a deploy,
20
+ * and `bypassEntities` releases one entity when a real customer is wrongly refused.
21
+ */
22
+ export const decideModeration = (verdict, policy = {}) => {
23
+ if (verdict.allowed)
24
+ return 'allow';
25
+ if (policy.entityId != null && policy.bypassEntities?.includes(policy.entityId) === true)
26
+ return 'allow';
27
+ // Defaults to ON: a gate that has to be switched on is a gate that is off in every
28
+ // environment nobody remembered to configure.
29
+ return policy.enforce !== false ? 'refuse' : 'shadow';
30
+ };
31
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/moderation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAkC,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAa,CAAA;IAE5D,OAAO,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,CAAC,CAAC,QAA8B;QAChC,CAAC,CAAC,SAAS,CAAA;AACf,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA0B,EAAE,MAAM,GAA6C,EAAE,EAC/D,EAAE;IACpB,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,OAAO,CAAA;IACnC,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IAExG,mFAAmF;IACnF,8CAA8C;IAC9C,OAAO,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;AACvD,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Enum for OwlMeans preview integration event types
3
+ */
4
+ export declare enum PreviewEventType {
5
+ Error = "OWLMEANS_PREVIEW_ERROR",
6
+ CaughtError = "OWLMEANS_PREVIEW_CONSOLE_ERROR",
7
+ PromiseRejection = "OWLMEANS_PREVIEW_PROMISE_REJECTION",
8
+ FetchError = "OWLMEANS_PREVIEW_FETCH_ERROR"
9
+ }
10
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/preview/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,KAAK,2BAA2B;IAChC,WAAW,mCAAmC;IAC9C,gBAAgB,uCAAuC;IACvD,UAAU,iCAAiC;CAC5C"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enum for OwlMeans preview integration event types
3
+ */
4
+ export var PreviewEventType;
5
+ (function (PreviewEventType) {
6
+ PreviewEventType["Error"] = "OWLMEANS_PREVIEW_ERROR";
7
+ PreviewEventType["CaughtError"] = "OWLMEANS_PREVIEW_CONSOLE_ERROR";
8
+ PreviewEventType["PromiseRejection"] = "OWLMEANS_PREVIEW_PROMISE_REJECTION";
9
+ PreviewEventType["FetchError"] = "OWLMEANS_PREVIEW_FETCH_ERROR";
10
+ })(PreviewEventType || (PreviewEventType = {}));
11
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/preview/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,oDAAgC,CAAA;IAChC,kEAA8C,CAAA;IAC9C,2EAAuD,CAAA;IACvD,+DAA2C,CAAA;AAC7C,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
@@ -0,0 +1,3 @@
1
+ export type * from './types.js';
2
+ export * from './consts.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preview/index.ts"],"names":[],"mappings":"AACA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './consts.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preview/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,60 @@
1
+ import type { PreviewEventType } from './consts.js';
2
+ /**
3
+ * Base interface for all OwlMeans preview messages
4
+ */
5
+ export interface OwlMeansPreviewMessage<T extends OwlMenasPreviewPayloads = OwlMenasPreviewPayloads> {
6
+ type: PreviewEventType;
7
+ payload: T;
8
+ }
9
+ export interface OwlMeansCaughtErrorPayload {
10
+ message: string;
11
+ stack?: string;
12
+ }
13
+ /**
14
+ * Payload for global error events
15
+ */
16
+ export interface OwlMeansErrorPayload {
17
+ message: string;
18
+ source: string;
19
+ line: number;
20
+ col: number;
21
+ stack?: string;
22
+ }
23
+ /**
24
+ * Payload for unhandled promise rejection events
25
+ */
26
+ export interface OwlMeansPromiseRejectionPayload {
27
+ reason: unknown;
28
+ stack?: string;
29
+ }
30
+ /**
31
+ * Payload for fetch error events
32
+ */
33
+ export interface OwlMeansFetchErrorPayload {
34
+ url: string | URL | Request;
35
+ options?: RequestInit;
36
+ status: number;
37
+ statusText: string;
38
+ body: string;
39
+ }
40
+ /**
41
+ * Specific message types for each event kind
42
+ */
43
+ export interface OwlMeansErrorMessage extends OwlMeansPreviewMessage<OwlMeansErrorPayload> {
44
+ type: PreviewEventType.Error;
45
+ }
46
+ export interface OwlMeansPromiseRejectionMessage extends OwlMeansPreviewMessage<OwlMeansPromiseRejectionPayload> {
47
+ type: PreviewEventType.PromiseRejection;
48
+ }
49
+ export interface OwlMeansFetchErrorMessage extends OwlMeansPreviewMessage<OwlMeansFetchErrorPayload> {
50
+ type: PreviewEventType.FetchError;
51
+ }
52
+ export interface OwlMeansCaughtErrorMessage extends OwlMeansPreviewMessage<OwlMeansCaughtErrorPayload> {
53
+ type: PreviewEventType.CaughtError;
54
+ }
55
+ /**
56
+ * Union type for all possible OwlMeans preview messages
57
+ */
58
+ export type OwlMeansPreviewMessages = OwlMeansErrorMessage | OwlMeansPromiseRejectionMessage | OwlMeansFetchErrorMessage | OwlMeansCaughtErrorMessage;
59
+ export type OwlMenasPreviewPayloads = OwlMeansErrorPayload | OwlMeansPromiseRejectionPayload | OwlMeansFetchErrorPayload | OwlMeansCaughtErrorPayload;
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB;IACjG,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAA;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAC;IACxF,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAA;CAC7B;AAED,MAAM,WAAW,+BAAgC,SAAQ,sBAAsB,CAAC,+BAA+B,CAAC;IAC9G,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAA;CACxC;AAED,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB,CAAC,yBAAyB,CAAC;IAClG,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAA;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,CAAC,0BAA0B,CAAC;IACpG,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,+BAA+B,GAC/B,yBAAyB,GACzB,0BAA0B,CAAA;AAE9B,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,+BAA+B,GAC/B,yBAAyB,GACzB,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/preview/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The shapes a drawn widget can take.
3
+ *
4
+ * A CLOSED set, and deliberately small: each value maps to one pre-built sketch primitive in the
5
+ * target's template, so a value nothing can draw is a value that produces a blank card. A story
6
+ * whose shape is none of these is a list — the commonest thing a screen is, and the safest
7
+ * placeholder for anything unrecognised.
8
+ */
9
+ export declare enum WidgetKind {
10
+ /** A queue, an index, a feed — records one after another. */
11
+ List = "list",
12
+ /** Records in columns, the shape a back office mostly takes. */
13
+ Table = "table",
14
+ /** The actor SUBMITS something. */
15
+ Form = "form",
16
+ /** A trend or a comparison over time. */
17
+ Chart = "chart",
18
+ /** Headline figures — a summary, a tracker, a status board. */
19
+ Stat = "stat"
20
+ }
21
+ /** How many of an area's widgets may be adapted onto its home screen. */
22
+ export declare const AREA_HOME_WIDGET_CAP = 3;
23
+ /** Sections per area beyond which a top menu stops being navigable. */
24
+ export declare const AREA_SECTION_CAP = 6;
25
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/scaffold/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,oBAAY,UAAU;IACpB,6DAA6D;IAC7D,IAAI,SAAS;IACb,gEAAgE;IAChE,KAAK,UAAU;IACf,mCAAmC;IACnC,IAAI,SAAS;IACb,yCAAyC;IACzC,KAAK,UAAU;IACf,+DAA+D;IAC/D,IAAI,SAAS;CACd;AAED,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,IAAI,CAAA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The shapes a drawn widget can take.
3
+ *
4
+ * A CLOSED set, and deliberately small: each value maps to one pre-built sketch primitive in the
5
+ * target's template, so a value nothing can draw is a value that produces a blank card. A story
6
+ * whose shape is none of these is a list — the commonest thing a screen is, and the safest
7
+ * placeholder for anything unrecognised.
8
+ */
9
+ export var WidgetKind;
10
+ (function (WidgetKind) {
11
+ /** A queue, an index, a feed — records one after another. */
12
+ WidgetKind["List"] = "list";
13
+ /** Records in columns, the shape a back office mostly takes. */
14
+ WidgetKind["Table"] = "table";
15
+ /** The actor SUBMITS something. */
16
+ WidgetKind["Form"] = "form";
17
+ /** A trend or a comparison over time. */
18
+ WidgetKind["Chart"] = "chart";
19
+ /** Headline figures — a summary, a tracker, a status board. */
20
+ WidgetKind["Stat"] = "stat";
21
+ })(WidgetKind || (WidgetKind = {}));
22
+ /** How many of an area's widgets may be adapted onto its home screen. */
23
+ export const AREA_HOME_WIDGET_CAP = 3;
24
+ /** Sections per area beyond which a top menu stops being navigable. */
25
+ export const AREA_SECTION_CAP = 6;
26
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/scaffold/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,6DAA6D;IAC7D,2BAAa,CAAA;IACb,gEAAgE;IAChE,6BAAe,CAAA;IACf,mCAAmC;IACnC,2BAAa,CAAA;IACb,yCAAyC;IACzC,6BAAe,CAAA;IACf,+DAA+D;IAC/D,2BAAa,CAAA;AACf,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAErC,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA"}
@@ -0,0 +1,35 @@
1
+ import type { ScaffoldPlan } from './types.js';
2
+ /**
3
+ * ONE reading of who owns a drawn artifact, so no consumer has to interpret the plan itself.
4
+ *
5
+ * The plan carries `sharesWidgetWith` / `sharesScreenWith` as untrusted hints — a model may drop
6
+ * them, invent a code, point forwards, or build a cycle. These resolve all of that away, and
7
+ * every one is TOTAL: a code the plan does not hold answers itself, which is the unshared
8
+ * behaviour and therefore exactly today's drawn tree.
9
+ *
10
+ * Pure and IO-free. `fillScaffoldPlan` normalises a plan through them before anything is stamped,
11
+ * so the stampers and the scaffold loop can read a plan that is already sane.
12
+ */
13
+ /** Which field the arrow is being followed along. */
14
+ export type ShareKind = 'widget' | 'screen';
15
+ /**
16
+ * The code whose artifact this story renders — itself when it owns one.
17
+ *
18
+ * Backward-only and bounded: an arrow is followed only to a story EARLIER in plan order, which
19
+ * makes a cycle unrepresentable rather than merely unlikely, and makes the owner the earliest
20
+ * member of its group. That is what keeps `widgetDefinition(owner)` stable — the name is a
21
+ * function of one code, never of the group, so adding a member renames nothing.
22
+ */
23
+ export declare const shareOwner: (plan: Pick<ScaffoldPlan, 'stories'>, code: string, kind?: ShareKind) => string;
24
+ /**
25
+ * Owner code → every member, owner first, in plan order.
26
+ *
27
+ * The shape the stampers need: one artifact per entry, and the full member list for the notice
28
+ * that names them.
29
+ */
30
+ export declare const shareGroups: (plan: Pick<ScaffoldPlan, 'stories'>, kind?: ShareKind) => Map<string, string[]>;
31
+ /** Every story that renders this owner's artifact, owner first. Total: an owner alone answers `[code]`. */
32
+ export declare const shareMembers: (plan: Pick<ScaffoldPlan, 'stories'>, owner: string, kind?: ShareKind) => string[];
33
+ /** Whether this story draws the artifact, as opposed to rendering somebody else's. */
34
+ export declare const ownsShare: (plan: Pick<ScaffoldPlan, 'stories'>, code: string, kind?: ShareKind) => boolean;
35
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/scaffold/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAA;AAEjE;;;;;;;;;;GAUG;AAEH,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAK3C;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,SACf,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,MAAM,SAAQ,SAAS,KACjE,MAsBF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAChB,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,SAAQ,SAAS,KACnD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAWtB,CAAA;AAED,2GAA2G;AAC3G,eAAO,MAAM,YAAY,SACjB,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,MAAM,SAAQ,SAAS,KAClE,MAAM,EAAmD,CAAA;AAE5D,sFAAsF;AACtF,eAAO,MAAM,SAAS,SACd,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,MAAM,SAAQ,SAAS,KACjE,OAAgD,CAAA"}
@@ -0,0 +1,54 @@
1
+ const pointerOf = (story, kind) => kind === 'widget' ? story.sharesWidgetWith : story.sharesScreenWith;
2
+ /**
3
+ * The code whose artifact this story renders — itself when it owns one.
4
+ *
5
+ * Backward-only and bounded: an arrow is followed only to a story EARLIER in plan order, which
6
+ * makes a cycle unrepresentable rather than merely unlikely, and makes the owner the earliest
7
+ * member of its group. That is what keeps `widgetDefinition(owner)` stable — the name is a
8
+ * function of one code, never of the group, so adding a member renames nothing.
9
+ */
10
+ export const shareOwner = (plan, code, kind = 'widget') => {
11
+ const order = new Map(plan.stories.map((story, index) => [story.code, index]));
12
+ const byCode = new Map(plan.stories.map(story => [story.code, story]));
13
+ let current = code;
14
+ // Bounded by the list length: every hop strictly decreases the plan index, so it terminates.
15
+ for (let hop = 0; hop <= plan.stories.length; hop++) {
16
+ const story = byCode.get(current);
17
+ const target = story != null ? pointerOf(story, kind) : undefined;
18
+ if (story == null || target == null || target === '' || target === current) {
19
+ return current;
20
+ }
21
+ const here = order.get(current);
22
+ const there = order.get(target);
23
+ // Unknown, forward or self-referential — none of them is a group, so the story owns its own.
24
+ if (here == null || there == null || there >= here) {
25
+ return current;
26
+ }
27
+ current = target;
28
+ }
29
+ return current;
30
+ };
31
+ /**
32
+ * Owner code → every member, owner first, in plan order.
33
+ *
34
+ * The shape the stampers need: one artifact per entry, and the full member list for the notice
35
+ * that names them.
36
+ */
37
+ export const shareGroups = (plan, kind = 'widget') => {
38
+ const groups = new Map();
39
+ for (const story of plan.stories) {
40
+ const owner = shareOwner(plan, story.code, kind);
41
+ const members = groups.get(owner) ?? [];
42
+ if (!members.includes(owner))
43
+ members.push(owner);
44
+ if (!members.includes(story.code))
45
+ members.push(story.code);
46
+ groups.set(owner, members);
47
+ }
48
+ return groups;
49
+ };
50
+ /** Every story that renders this owner's artifact, owner first. Total: an owner alone answers `[code]`. */
51
+ export const shareMembers = (plan, owner, kind = 'widget') => shareGroups(plan, kind).get(owner) ?? [owner];
52
+ /** Whether this story draws the artifact, as opposed to rendering somebody else's. */
53
+ export const ownsShare = (plan, code, kind = 'widget') => shareOwner(plan, code, kind) === code;
54
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/scaffold/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './consts.js';
2
+ export * from './schemas.js';
3
+ export type * from './types.js';
4
+ export * from './helpers.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './consts.js';
2
+ export * from './schemas.js';
3
+ export * from './helpers.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAE5B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { JSONSchemaType } from 'ajv';
2
+ import type { ProductIdentity, ScaffoldPlan } from './types.js';
3
+ export declare const ProductIdentitySchema: JSONSchemaType<ProductIdentity>;
4
+ export declare const ScaffoldPlanSchema: JSONSchemaType<ScaffoldPlan>;
5
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/scaffold/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAIzC,OAAO,KAAK,EACK,eAAe,EAAoB,YAAY,EAC/D,MAAM,YAAY,CAAA;AAqOnB,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,eAAe,CAkBjE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CA2B3D,CAAA"}
@@ -0,0 +1,273 @@
1
+ import { ProjectArea } from '../areas/consts.js';
2
+ import { WidgetKind } from './consts.js';
3
+ const SketchContentSchema = {
4
+ type: 'object',
5
+ title: 'SketchContent',
6
+ description: 'Plausible placeholder content for one drawn widget',
7
+ properties: {
8
+ headline: { type: 'string', description: "The placeholder's own heading, 2-5 words" },
9
+ caption: {
10
+ type: 'string',
11
+ description: 'One short line saying what the finished widget will show'
12
+ },
13
+ items: {
14
+ type: 'array', nullable: true,
15
+ items: { type: 'string' },
16
+ description: '3-5 example rows for a list widget - realistic record titles, never lorem ipsum'
17
+ },
18
+ columns: {
19
+ type: 'array', nullable: true,
20
+ items: { type: 'string' },
21
+ description: '3-5 column names for a table widget'
22
+ },
23
+ fields: {
24
+ type: 'array', nullable: true,
25
+ items: { type: 'string' },
26
+ description: '3-5 field labels for a form widget'
27
+ },
28
+ series: {
29
+ type: 'array', nullable: true,
30
+ items: {
31
+ type: 'object',
32
+ properties: {
33
+ label: { type: 'string', description: 'Short bar label' },
34
+ value: {
35
+ type: 'integer', minimum: 5, maximum: 100,
36
+ description: 'Relative bar height 5-100. Illustrative only, never real data'
37
+ },
38
+ },
39
+ required: ['label', 'value'],
40
+ additionalProperties: false,
41
+ },
42
+ description: '4-6 bars for a chart widget'
43
+ },
44
+ stats: {
45
+ type: 'array', nullable: true,
46
+ items: {
47
+ type: 'object',
48
+ properties: {
49
+ label: { type: 'string', description: 'What the figure counts' },
50
+ value: { type: 'string', description: 'A short illustrative figure, e.g. "128" or "94%"' },
51
+ },
52
+ required: ['label', 'value'],
53
+ additionalProperties: false,
54
+ },
55
+ description: '2-4 headline figures for a summary widget'
56
+ },
57
+ },
58
+ required: ['headline', 'caption'],
59
+ additionalProperties: false,
60
+ };
61
+ const ScaffoldStoryPlanSchema = {
62
+ type: 'object',
63
+ title: 'ScaffoldStoryPlan',
64
+ description: 'Where one user story lives in the menus, and what its dashboard widget shows',
65
+ properties: {
66
+ code: {
67
+ type: 'string',
68
+ description: 'The story code, copied EXACTLY from the story list given to you'
69
+ },
70
+ section: {
71
+ type: 'string',
72
+ description: 'Top-menu section inside the story\'s own area, 1-2 words, Title Case.'
73
+ + ' Stories that an actor works on together share one section'
74
+ },
75
+ screen: {
76
+ type: 'string',
77
+ description: 'The main screen this story will need, named "{section}/{purpose}" -'
78
+ + ' e.g. "Requests/Submit a request". The section part must equal the section above'
79
+ },
80
+ widget: {
81
+ type: 'object',
82
+ properties: {
83
+ kind: {
84
+ type: 'string',
85
+ enum: Object.values(WidgetKind),
86
+ description: 'What shape this story\'s dashboard widget takes:'
87
+ + ' list (records one after another), table (records in columns),'
88
+ + ' form (the actor submits something), chart (a trend or comparison),'
89
+ + ' stat (headline figures)'
90
+ },
91
+ title: { type: 'string', description: 'The widget\'s title, 2-4 words' },
92
+ description: {
93
+ type: 'string',
94
+ description: 'One sentence on what the finished widget shows its actor'
95
+ },
96
+ },
97
+ required: ['kind', 'title', 'description'],
98
+ additionalProperties: false,
99
+ },
100
+ sketch: SketchContentSchema,
101
+ home: {
102
+ type: 'boolean',
103
+ description: 'Whether this widget is one of the few important enough to also appear on the'
104
+ + ' home screen of its area. At most 3 per area'
105
+ },
106
+ sharesWidgetWith: {
107
+ type: 'string', nullable: true,
108
+ description: 'OPTIONAL. The code of an EARLIER story in this list whose widget this story'
109
+ + ' renders instead of drawing its own. Set it only when the two act on the same record'
110
+ + ' through the same shape — the same form, the same table — so one preview honestly'
111
+ + ' stands for both. Omit it whenever they differ.',
112
+ },
113
+ sharesScreenWith: {
114
+ type: 'string', nullable: true,
115
+ description: 'OPTIONAL. The code of an EARLIER story in this list whose screen this story'
116
+ + ' shares. Use it only when the two steps genuinely happen on one page.',
117
+ },
118
+ },
119
+ required: ['code', 'section', 'screen', 'widget', 'sketch', 'home'],
120
+ additionalProperties: false,
121
+ };
122
+ const ScaffoldAreaPlanSchema = {
123
+ type: 'object',
124
+ title: 'ScaffoldAreaPlan',
125
+ description: 'One area of the application: its menu sections and how it introduces itself',
126
+ properties: {
127
+ area: {
128
+ type: 'string',
129
+ enum: Object.values(ProjectArea),
130
+ description: 'guest, user, admin or operator'
131
+ },
132
+ intro: {
133
+ type: 'object',
134
+ properties: {
135
+ title: { type: 'string', description: 'What this area is, 2-5 words' },
136
+ text: {
137
+ type: 'string',
138
+ description: 'Two sentences telling this area\'s actor what they can do here'
139
+ },
140
+ },
141
+ required: ['title', 'text'],
142
+ additionalProperties: false,
143
+ },
144
+ sections: {
145
+ type: 'array',
146
+ items: { type: 'string' },
147
+ description: 'The top-menu sections of this area, in menu order.'
148
+ + ' Every section named by a story of this area must appear here'
149
+ },
150
+ },
151
+ required: ['area', 'intro', 'sections'],
152
+ additionalProperties: false,
153
+ };
154
+ const GuestHomePlanSchema = {
155
+ type: 'object',
156
+ title: 'GuestHomePlan',
157
+ description: "The product's public landing page",
158
+ properties: {
159
+ hero: {
160
+ type: 'object',
161
+ properties: {
162
+ eyebrow: { type: 'string', description: 'A 2-4 word positioning phrase above the headline' },
163
+ headline: {
164
+ type: 'string',
165
+ description: 'The product\'s promise in one line, under 9 words. Never the product name alone'
166
+ },
167
+ sub: { type: 'string', description: 'One or two sentences: what it does and who it is for' },
168
+ cta: { type: 'string', description: 'The call-to-action label, 2-3 words' },
169
+ },
170
+ required: ['eyebrow', 'headline', 'sub', 'cta'],
171
+ additionalProperties: false,
172
+ },
173
+ problem: {
174
+ type: 'object',
175
+ properties: {
176
+ title: { type: 'string', description: 'The problem in 3-6 words' },
177
+ text: {
178
+ type: 'string',
179
+ description: 'Two sentences on what is hard or slow today, from the point of view of'
180
+ + ' the person it happens to'
181
+ },
182
+ },
183
+ required: ['title', 'text'],
184
+ additionalProperties: false,
185
+ },
186
+ solution: {
187
+ type: 'object',
188
+ properties: {
189
+ title: { type: 'string', description: 'How this product solves it, 3-6 words' },
190
+ text: { type: 'string', description: 'Two sentences on what changes once they use it' },
191
+ },
192
+ required: ['title', 'text'],
193
+ additionalProperties: false,
194
+ },
195
+ features: {
196
+ type: 'array',
197
+ items: {
198
+ type: 'object',
199
+ properties: {
200
+ title: { type: 'string', description: 'The capability, 2-4 words' },
201
+ text: { type: 'string', description: 'One sentence on what it lets someone do' },
202
+ },
203
+ required: ['title', 'text'],
204
+ additionalProperties: false,
205
+ },
206
+ description: '3 to 6 capabilities, taken from what the specification actually describes'
207
+ },
208
+ testimonials: {
209
+ type: 'array',
210
+ items: {
211
+ type: 'object',
212
+ properties: {
213
+ quote: { type: 'string', description: 'One or two sentences a satisfied user would say' },
214
+ name: { type: 'string', description: 'A plausible first name and surname initial' },
215
+ role: { type: 'string', description: 'Their role, 2-4 words' },
216
+ },
217
+ required: ['quote', 'name', 'role'],
218
+ additionalProperties: false,
219
+ },
220
+ description: '2 or 3 illustrative testimonials'
221
+ },
222
+ },
223
+ required: ['hero', 'problem', 'solution', 'features', 'testimonials'],
224
+ additionalProperties: false,
225
+ };
226
+ export const ProductIdentitySchema = {
227
+ type: 'object',
228
+ title: 'ProductIdentity',
229
+ description: 'What this application calls itself wherever a machine reads it',
230
+ properties: {
231
+ name: {
232
+ type: 'string',
233
+ description: 'The product\'s own name as a person reads it — two or three words, the name'
234
+ + ' the landing page uses. Never a slug, never a placeholder, never the word "App"'
235
+ },
236
+ description: {
237
+ type: 'string',
238
+ description: 'ONE sentence saying what this product is and who it is for, as a search'
239
+ + ' result or a browser tab would show it. Under 160 characters'
240
+ },
241
+ },
242
+ required: ['name', 'description'],
243
+ additionalProperties: false,
244
+ };
245
+ export const ScaffoldPlanSchema = {
246
+ type: 'object',
247
+ title: 'ScaffoldPlan',
248
+ description: 'The whole application, sketched: its landing page, its menus, and one drawn'
249
+ + ' widget per user story',
250
+ properties: {
251
+ identity: ProductIdentitySchema,
252
+ guestHome: GuestHomePlanSchema,
253
+ areas: {
254
+ type: 'array',
255
+ items: ScaffoldAreaPlanSchema,
256
+ description: 'One entry per area that has at least one user story, plus guest'
257
+ },
258
+ stories: {
259
+ type: 'array',
260
+ items: ScaffoldStoryPlanSchema,
261
+ description: 'EXACTLY one entry per user story given to you, in the same order'
262
+ },
263
+ motifs: {
264
+ type: 'string',
265
+ description: 'Two or three sentences directing this product\'s illustrations: what shapes'
266
+ + ' and subjects belong to it, in the design system\'s own vocabulary. Abstract geometry,'
267
+ + ' never a described photograph'
268
+ },
269
+ },
270
+ required: ['identity', 'guestHome', 'areas', 'stories', 'motifs'],
271
+ additionalProperties: false,
272
+ };
273
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/scaffold/schemas.ts"],"names":[],"mappings":"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"}