@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 @@
1
+ {"version":3,"file":"catalogue.js","sourceRoot":"","sources":["../../src/skills/catalogue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Aliases of the skills viable registers on the prompt service.
3
+ *
4
+ * A skill is a named, reusable block of system-prompt knowledge. Roles reference these
5
+ * aliases instead of pasting the text, which is what stopped the same entrypoint and
6
+ * resource-layer rules from living in four different helper files at once.
7
+ */
8
+ export declare enum ViableSkill {
9
+ /** Answer with source code and nothing else. */
10
+ OutputSourceOnly = "output-source-only",
11
+ /** Answer with prose and nothing else. */
12
+ OutputTextOnly = "output-text-only",
13
+ /** Build only what was asked for. */
14
+ ScopeDiscipline = "scope-discipline",
15
+ /** One key user, one shortest path to value — for every analysis-stage helper. */
16
+ MainFlowFocus = "main-flow-focus",
17
+ /** Overrides the TypeScript rules for a file that is not TypeScript. */
18
+ NonTypescriptOutput = "non-typescript-output",
19
+ TsStyle = "ts-style",
20
+ TsImports = "ts-imports",
21
+ ReactComponents = "react-components",
22
+ OwlMeansEntrypoints = "owlmeans-entrypoints",
23
+ OwlMeansNav = "owlmeans-nav",
24
+ /** How one permission has to line up across the gate, the definition and the grant. */
25
+ PermissionModel = "permission-model",
26
+ ShadcnUi = "shadcn-ui",
27
+ OwlmeansState = "owlmeans-state",
28
+ /** What an action says when it worked, what it says when it did not, and where it leaves you. */
29
+ FormFeedback = "form-feedback",
30
+ StoreAccess = "store-access",
31
+ ViewModelNaming = "viewmodel-naming",
32
+ ResourceLayer = "resource-layer",
33
+ ResourceResults = "resource-results",
34
+ ResourceMigrations = "resource-migrations",
35
+ OwlMeansServer = "owlmeans-server",
36
+ OwlmeansContext = "owlmeans-context",
37
+ OwlMeansServices = "owlmeans-services",
38
+ FixerHeuristics = "fixer-heuristics",
39
+ ProjectLayout = "project-layout",
40
+ AgentTooling = "agent-tooling",
41
+ /** When work belongs off the request path — and, far more often, when it does not. */
42
+ QueueDiscipline = "queue-discipline",
43
+ /** Writing a queue declaration, a job entrypoint and a processor that agree. */
44
+ WorkerJobs = "worker-jobs",
45
+ /** Generating an @owlmeans/agent agent or pipeline INTO the application. */
46
+ TargetAgents = "target-agents",
47
+ /** Whether a model call, a fixed pipeline or a tool-using agent is the right shape. */
48
+ AgenticChoice = "agentic-choice",
49
+ /** Making a single model call from inside the generated application. */
50
+ TargetLlm = "target-llm",
51
+ /** Giving the application's own agent its tools and its own installed skills. */
52
+ TargetAgentTools = "target-agent-tools",
53
+ /** What a game brief is made of, and what it is not. */
54
+ GameDesign = "game-design",
55
+ /** The three.js scene component — renderer, camera, loop, disposal. */
56
+ GameScene = "game-scene",
57
+ /** Every control is an ordinary React component ABOVE the canvas, never inside it. */
58
+ GameUi = "game-ui",
59
+ /** Casual, turn-based online and live online — and who owns the state in each. */
60
+ GameNetworking = "game-networking",
61
+ LayoutDefinition = "layout-definition",
62
+ ScreenDefinition = "screen-definition",
63
+ LibrariesCommon = "libraries-common",
64
+ LibrariesUiState = "libraries-ui-state",
65
+ LibrariesUi = "libraries-ui",
66
+ LibrariesBackend = "libraries-backend",
67
+ LibrariesAi = "libraries-ai",
68
+ LibrariesGame = "libraries-game"
69
+ }
70
+ /**
71
+ * Sort weights. Skills render in this order inside the cached block, so the sequence is
72
+ * part of the cache key — reordering them invalidates every prefix at once. Grouped in
73
+ * tens to leave room for a consumer's own skills between them.
74
+ */
75
+ export declare const SKILL_ORDER: Record<ViableSkill, number>;
76
+ /**
77
+ * The catalogue entries whose subject a PUBLISHED `@owlmeans` package already documents.
78
+ *
79
+ * The catalogue and `agent-meta/skills/*` state the same contract twice — the P1 duplication —
80
+ * and the duplication is not symmetric: a package skill is versioned with the package and reaches
81
+ * a prompt through `owlmeansPackagesPlugin` whenever the request names that package, while a
82
+ * catalogue entry is a constant here that has to be edited by hand every time the framework moves.
83
+ *
84
+ * Naming the overlap is what makes it a DATA decision instead of a code one. A blueprint lists
85
+ * which of these its prompts carry, and a persona's skills are filtered against that list — so
86
+ * dropping one is a line in a blueprint, and restoring it is the same line. Everything NOT in this
87
+ * set is viable's own (output discipline, scope, the view-model convention, the fixer heuristics,
88
+ * where files live) and always loads, because no published package documents it.
89
+ *
90
+ * The default blueprint currently lists every one of them: the reduction is a real change to what
91
+ * a coder is told, and it is measured against a green end-to-end baseline rather than guessed.
92
+ */
93
+ export declare const FRAMEWORK_OWNED_SKILLS: ViableSkill[];
94
+ /**
95
+ * Filter a persona's skills against what a blueprint asks for.
96
+ *
97
+ * A skill nobody owns always survives. A framework-owned one survives only while the blueprint
98
+ * lists it — so a blueprint built on another persistence layer stops teaching the Postgres
99
+ * resource contract without anybody editing a persona, and a blueprint that lists nothing at all
100
+ * (the shape a test builds) is read as "everything", because an empty allow-list almost always
101
+ * means "not stated" rather than "none".
102
+ */
103
+ export declare const skillsForBlueprint: (skills: ViableSkill[], allowed?: ViableSkill[]) => ViableSkill[];
104
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/skills/consts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB,gDAAgD;IAChD,gBAAgB,uBAAuB;IACvC,0CAA0C;IAC1C,cAAc,qBAAqB;IACnC,qCAAqC;IACrC,eAAe,qBAAqB;IACpC,kFAAkF;IAClF,aAAa,oBAAoB;IACjC,wEAAwE;IACxE,mBAAmB,0BAA0B;IAE7C,OAAO,aAAa;IACpB,SAAS,eAAe;IAExB,eAAe,qBAAqB;IACpC,mBAAmB,yBAAyB;IAC5C,WAAW,iBAAiB;IAC5B,uFAAuF;IACvF,eAAe,qBAAqB;IACpC,QAAQ,cAAc;IACtB,aAAa,mBAAmB;IAChC,iGAAiG;IACjG,YAAY,kBAAkB;IAC9B,WAAW,iBAAiB;IAC5B,eAAe,qBAAqB;IAEpC,aAAa,mBAAmB;IAChC,eAAe,qBAAqB;IACpC,kBAAkB,wBAAwB;IAC1C,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;IACpC,gBAAgB,sBAAsB;IACtC,eAAe,qBAAqB;IAEpC,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAE9B,sFAAsF;IACtF,eAAe,qBAAqB;IACpC,gFAAgF;IAChF,UAAU,gBAAgB;IAC1B,4EAA4E;IAC5E,YAAY,kBAAkB;IAE9B,uFAAuF;IACvF,aAAa,mBAAmB;IAChC,wEAAwE;IACxE,SAAS,eAAe;IACxB,iFAAiF;IACjF,gBAAgB,uBAAuB;IAEvC,wDAAwD;IACxD,UAAU,gBAAgB;IAC1B,uEAAuE;IACvE,SAAS,eAAe;IACxB,sFAAsF;IACtF,MAAM,YAAY;IAClB,kFAAkF;IAClF,cAAc,oBAAoB;IAElC,gBAAgB,sBAAsB;IACtC,gBAAgB,sBAAsB;IAEtC,eAAe,qBAAqB;IACpC,gBAAgB,uBAAuB;IACvC,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CA4CnD,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,EAe/C,CAAA;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,WACrB,WAAW,EAAE,YAAY,WAAW,EAAE,KAC7C,WAAW,EAKb,CAAA"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Aliases of the skills viable registers on the prompt service.
3
+ *
4
+ * A skill is a named, reusable block of system-prompt knowledge. Roles reference these
5
+ * aliases instead of pasting the text, which is what stopped the same entrypoint and
6
+ * resource-layer rules from living in four different helper files at once.
7
+ */
8
+ export var ViableSkill;
9
+ (function (ViableSkill) {
10
+ /** Answer with source code and nothing else. */
11
+ ViableSkill["OutputSourceOnly"] = "output-source-only";
12
+ /** Answer with prose and nothing else. */
13
+ ViableSkill["OutputTextOnly"] = "output-text-only";
14
+ /** Build only what was asked for. */
15
+ ViableSkill["ScopeDiscipline"] = "scope-discipline";
16
+ /** One key user, one shortest path to value — for every analysis-stage helper. */
17
+ ViableSkill["MainFlowFocus"] = "main-flow-focus";
18
+ /** Overrides the TypeScript rules for a file that is not TypeScript. */
19
+ ViableSkill["NonTypescriptOutput"] = "non-typescript-output";
20
+ ViableSkill["TsStyle"] = "ts-style";
21
+ ViableSkill["TsImports"] = "ts-imports";
22
+ ViableSkill["ReactComponents"] = "react-components";
23
+ ViableSkill["OwlMeansEntrypoints"] = "owlmeans-entrypoints";
24
+ ViableSkill["OwlMeansNav"] = "owlmeans-nav";
25
+ /** How one permission has to line up across the gate, the definition and the grant. */
26
+ ViableSkill["PermissionModel"] = "permission-model";
27
+ ViableSkill["ShadcnUi"] = "shadcn-ui";
28
+ ViableSkill["OwlmeansState"] = "owlmeans-state";
29
+ /** What an action says when it worked, what it says when it did not, and where it leaves you. */
30
+ ViableSkill["FormFeedback"] = "form-feedback";
31
+ ViableSkill["StoreAccess"] = "store-access";
32
+ ViableSkill["ViewModelNaming"] = "viewmodel-naming";
33
+ ViableSkill["ResourceLayer"] = "resource-layer";
34
+ ViableSkill["ResourceResults"] = "resource-results";
35
+ ViableSkill["ResourceMigrations"] = "resource-migrations";
36
+ ViableSkill["OwlMeansServer"] = "owlmeans-server";
37
+ ViableSkill["OwlmeansContext"] = "owlmeans-context";
38
+ ViableSkill["OwlMeansServices"] = "owlmeans-services";
39
+ ViableSkill["FixerHeuristics"] = "fixer-heuristics";
40
+ ViableSkill["ProjectLayout"] = "project-layout";
41
+ ViableSkill["AgentTooling"] = "agent-tooling";
42
+ /** When work belongs off the request path — and, far more often, when it does not. */
43
+ ViableSkill["QueueDiscipline"] = "queue-discipline";
44
+ /** Writing a queue declaration, a job entrypoint and a processor that agree. */
45
+ ViableSkill["WorkerJobs"] = "worker-jobs";
46
+ /** Generating an @owlmeans/agent agent or pipeline INTO the application. */
47
+ ViableSkill["TargetAgents"] = "target-agents";
48
+ /** Whether a model call, a fixed pipeline or a tool-using agent is the right shape. */
49
+ ViableSkill["AgenticChoice"] = "agentic-choice";
50
+ /** Making a single model call from inside the generated application. */
51
+ ViableSkill["TargetLlm"] = "target-llm";
52
+ /** Giving the application's own agent its tools and its own installed skills. */
53
+ ViableSkill["TargetAgentTools"] = "target-agent-tools";
54
+ /** What a game brief is made of, and what it is not. */
55
+ ViableSkill["GameDesign"] = "game-design";
56
+ /** The three.js scene component — renderer, camera, loop, disposal. */
57
+ ViableSkill["GameScene"] = "game-scene";
58
+ /** Every control is an ordinary React component ABOVE the canvas, never inside it. */
59
+ ViableSkill["GameUi"] = "game-ui";
60
+ /** Casual, turn-based online and live online — and who owns the state in each. */
61
+ ViableSkill["GameNetworking"] = "game-networking";
62
+ ViableSkill["LayoutDefinition"] = "layout-definition";
63
+ ViableSkill["ScreenDefinition"] = "screen-definition";
64
+ ViableSkill["LibrariesCommon"] = "libraries-common";
65
+ ViableSkill["LibrariesUiState"] = "libraries-ui-state";
66
+ ViableSkill["LibrariesUi"] = "libraries-ui";
67
+ ViableSkill["LibrariesBackend"] = "libraries-backend";
68
+ ViableSkill["LibrariesAi"] = "libraries-ai";
69
+ ViableSkill["LibrariesGame"] = "libraries-game";
70
+ })(ViableSkill || (ViableSkill = {}));
71
+ /**
72
+ * Sort weights. Skills render in this order inside the cached block, so the sequence is
73
+ * part of the cache key — reordering them invalidates every prefix at once. Grouped in
74
+ * tens to leave room for a consumer's own skills between them.
75
+ */
76
+ export const SKILL_ORDER = {
77
+ [ViableSkill.OutputSourceOnly]: 10,
78
+ [ViableSkill.OutputTextOnly]: 10,
79
+ [ViableSkill.ScopeDiscipline]: 15,
80
+ [ViableSkill.MainFlowFocus]: 12,
81
+ [ViableSkill.NonTypescriptOutput]: 18,
82
+ [ViableSkill.TsStyle]: 20,
83
+ [ViableSkill.TsImports]: 30,
84
+ [ViableSkill.ReactComponents]: 40,
85
+ [ViableSkill.OwlMeansEntrypoints]: 41,
86
+ [ViableSkill.OwlMeansNav]: 42,
87
+ [ViableSkill.PermissionModel]: 43,
88
+ [ViableSkill.ShadcnUi]: 44,
89
+ [ViableSkill.OwlmeansState]: 50,
90
+ [ViableSkill.FormFeedback]: 51,
91
+ [ViableSkill.StoreAccess]: 52,
92
+ [ViableSkill.ViewModelNaming]: 55,
93
+ [ViableSkill.ResourceLayer]: 60,
94
+ [ViableSkill.ResourceResults]: 62,
95
+ [ViableSkill.ResourceMigrations]: 64,
96
+ [ViableSkill.OwlMeansServer]: 70,
97
+ [ViableSkill.OwlmeansContext]: 65,
98
+ [ViableSkill.OwlMeansServices]: 66,
99
+ [ViableSkill.FixerHeuristics]: 75,
100
+ [ViableSkill.ProjectLayout]: 5,
101
+ [ViableSkill.AgentTooling]: 8,
102
+ [ViableSkill.QueueDiscipline]: 67,
103
+ [ViableSkill.WorkerJobs]: 68,
104
+ [ViableSkill.TargetAgents]: 69,
105
+ [ViableSkill.AgenticChoice]: 71,
106
+ [ViableSkill.TargetLlm]: 72,
107
+ [ViableSkill.TargetAgentTools]: 73,
108
+ [ViableSkill.GameDesign]: 45,
109
+ [ViableSkill.GameScene]: 46,
110
+ [ViableSkill.GameUi]: 47,
111
+ [ViableSkill.GameNetworking]: 48,
112
+ [ViableSkill.LayoutDefinition]: 80,
113
+ [ViableSkill.ScreenDefinition]: 82,
114
+ [ViableSkill.LibrariesCommon]: 90,
115
+ [ViableSkill.LibrariesUiState]: 90,
116
+ [ViableSkill.LibrariesUi]: 90,
117
+ [ViableSkill.LibrariesBackend]: 90,
118
+ [ViableSkill.LibrariesAi]: 90,
119
+ [ViableSkill.LibrariesGame]: 90,
120
+ };
121
+ /**
122
+ * The catalogue entries whose subject a PUBLISHED `@owlmeans` package already documents.
123
+ *
124
+ * The catalogue and `agent-meta/skills/*` state the same contract twice — the P1 duplication —
125
+ * and the duplication is not symmetric: a package skill is versioned with the package and reaches
126
+ * a prompt through `owlmeansPackagesPlugin` whenever the request names that package, while a
127
+ * catalogue entry is a constant here that has to be edited by hand every time the framework moves.
128
+ *
129
+ * Naming the overlap is what makes it a DATA decision instead of a code one. A blueprint lists
130
+ * which of these its prompts carry, and a persona's skills are filtered against that list — so
131
+ * dropping one is a line in a blueprint, and restoring it is the same line. Everything NOT in this
132
+ * set is viable's own (output discipline, scope, the view-model convention, the fixer heuristics,
133
+ * where files live) and always loads, because no published package documents it.
134
+ *
135
+ * The default blueprint currently lists every one of them: the reduction is a real change to what
136
+ * a coder is told, and it is measured against a green end-to-end baseline rather than guessed.
137
+ */
138
+ export const FRAMEWORK_OWNED_SKILLS = [
139
+ ViableSkill.ResourceLayer,
140
+ ViableSkill.ResourceResults,
141
+ ViableSkill.ResourceMigrations,
142
+ ViableSkill.OwlmeansContext,
143
+ ViableSkill.OwlMeansServices,
144
+ ViableSkill.OwlMeansServer,
145
+ ViableSkill.OwlMeansEntrypoints,
146
+ ViableSkill.OwlMeansNav,
147
+ ViableSkill.PermissionModel,
148
+ ViableSkill.OwlmeansState,
149
+ ViableSkill.StoreAccess,
150
+ ViableSkill.ShadcnUi,
151
+ ViableSkill.ReactComponents,
152
+ ViableSkill.FormFeedback,
153
+ ];
154
+ const FRAMEWORK_OWNED = new Set(FRAMEWORK_OWNED_SKILLS);
155
+ /**
156
+ * Filter a persona's skills against what a blueprint asks for.
157
+ *
158
+ * A skill nobody owns always survives. A framework-owned one survives only while the blueprint
159
+ * lists it — so a blueprint built on another persistence layer stops teaching the Postgres
160
+ * resource contract without anybody editing a persona, and a blueprint that lists nothing at all
161
+ * (the shape a test builds) is read as "everything", because an empty allow-list almost always
162
+ * means "not stated" rather than "none".
163
+ */
164
+ export const skillsForBlueprint = (skills, allowed) => {
165
+ if (allowed == null || allowed.length === 0)
166
+ return skills;
167
+ const permitted = new Set(allowed);
168
+ return skills.filter(skill => !FRAMEWORK_OWNED.has(skill) || permitted.has(skill));
169
+ };
170
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/skills/consts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './consts.js';
2
+ export * from './catalogue.js';
3
+ export * from './roles.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './consts.js';
2
+ export * from './catalogue.js';
3
+ export * from './roles.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,52 @@
1
+ import type { PromptPolicy } from '@owlmeans/llm-common';
2
+ /**
3
+ * Who the model is being asked to be.
4
+ *
5
+ * A persona is per HELPER, not per model role: `ModelRole` selects which model answers,
6
+ * this selects what it is told it does. Two helpers can share a model and need different
7
+ * personas, and the same persona can run on a cheap or an expensive model depending on
8
+ * the effort tier — keeping the two axes separate is what makes that possible.
9
+ */
10
+ export declare enum ViablePersona {
11
+ BusinessAnalyst = "business-analyst",
12
+ ProductNaming = "product-naming",
13
+ /** Decides what KIND of product a prompt describes — which blueprint case builds it. */
14
+ ProductArchitect = "product-architect",
15
+ UxDesigner = "ux-designer",
16
+ VisualDesigner = "visual-designer",
17
+ LayoutArchitect = "layout-architect",
18
+ ComponentArchitect = "component-architect",
19
+ StateArchitect = "state-architect",
20
+ NavigationArchitect = "navigation-architect",
21
+ DomainTypesArchitect = "domain-types-architect",
22
+ AccessArchitect = "access-architect",
23
+ ApiArchitect = "api-architect",
24
+ DatalayerArchitect = "datalayer-architect",
25
+ BackendDomainArchitect = "backend-domain-architect",
26
+ CommonCoder = "common-coder",
27
+ UiStateCoder = "ui-state-coder",
28
+ UiViewCoder = "ui-view-coder",
29
+ UiNavCoder = "ui-nav-coder",
30
+ DatalayerCoder = "datalayer-coder",
31
+ ApiCoder = "api-coder",
32
+ BackendModelCoder = "backend-model-coder",
33
+ /** Decides whether a story needs a queue, a worker or an agent — and usually decides it does not. */
34
+ RuntimeArchitect = "runtime-architect",
35
+ /** Writes queue declarations, job processors and the application's own agents. */
36
+ WorkerCoder = "worker-coder",
37
+ FreeFlightCoder = "free-flight-coder",
38
+ Fixer = "fixer",
39
+ Orchestrator = "orchestrator",
40
+ SourceExtractor = "source-extractor",
41
+ DeclarationLookup = "declaration-lookup",
42
+ FixAgent = "fix-agent"
43
+ }
44
+ /**
45
+ * The role text and skill set behind every helper.
46
+ *
47
+ * This is the single place a persona is written down. Before it existed the same
48
+ * sentences lived in thirteen helper files and seven near-identical coder factories, and
49
+ * the Express-5, resource-layer and client-state rules were duplicated across three of them.
50
+ */
51
+ export declare const VIABLE_PERSONAS: Record<ViablePersona, PromptPolicy>;
52
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/skills/roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD;;;;;;;GAOG;AACH,oBAAY,aAAa;IACvB,eAAe,qBAAqB;IACpC,aAAa,mBAAmB;IAChC,wFAAwF;IACxF,gBAAgB,sBAAsB;IACtC,UAAU,gBAAgB;IAC1B,cAAc,oBAAoB;IAElC,eAAe,qBAAqB;IACpC,kBAAkB,wBAAwB;IAC1C,cAAc,oBAAoB;IAClC,mBAAmB,yBAAyB;IAC5C,oBAAoB,2BAA2B;IAC/C,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,kBAAkB,wBAAwB;IAC1C,sBAAsB,6BAA6B;IAEnD,WAAW,iBAAiB;IAC5B,YAAY,mBAAmB;IAC/B,WAAW,kBAAkB;IAC7B,UAAU,iBAAiB;IAC3B,cAAc,oBAAoB;IAClC,QAAQ,cAAc;IACtB,iBAAiB,wBAAwB;IACzC,qGAAqG;IACrG,gBAAgB,sBAAsB;IACtC,kFAAkF;IAClF,WAAW,iBAAiB;IAC5B,eAAe,sBAAsB;IAErC,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,eAAe,qBAAqB;IACpC,iBAAiB,uBAAuB;IACxC,QAAQ,cAAc;CACvB;AA6BD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CAuN/D,CAAA"}
@@ -0,0 +1,256 @@
1
+ import { ViableSkill } from './consts.js';
2
+ /**
3
+ * Who the model is being asked to be.
4
+ *
5
+ * A persona is per HELPER, not per model role: `ModelRole` selects which model answers,
6
+ * this selects what it is told it does. Two helpers can share a model and need different
7
+ * personas, and the same persona can run on a cheap or an expensive model depending on
8
+ * the effort tier — keeping the two axes separate is what makes that possible.
9
+ */
10
+ export var ViablePersona;
11
+ (function (ViablePersona) {
12
+ ViablePersona["BusinessAnalyst"] = "business-analyst";
13
+ ViablePersona["ProductNaming"] = "product-naming";
14
+ /** Decides what KIND of product a prompt describes — which blueprint case builds it. */
15
+ ViablePersona["ProductArchitect"] = "product-architect";
16
+ ViablePersona["UxDesigner"] = "ux-designer";
17
+ ViablePersona["VisualDesigner"] = "visual-designer";
18
+ ViablePersona["LayoutArchitect"] = "layout-architect";
19
+ ViablePersona["ComponentArchitect"] = "component-architect";
20
+ ViablePersona["StateArchitect"] = "state-architect";
21
+ ViablePersona["NavigationArchitect"] = "navigation-architect";
22
+ ViablePersona["DomainTypesArchitect"] = "domain-types-architect";
23
+ ViablePersona["AccessArchitect"] = "access-architect";
24
+ ViablePersona["ApiArchitect"] = "api-architect";
25
+ ViablePersona["DatalayerArchitect"] = "datalayer-architect";
26
+ ViablePersona["BackendDomainArchitect"] = "backend-domain-architect";
27
+ ViablePersona["CommonCoder"] = "common-coder";
28
+ ViablePersona["UiStateCoder"] = "ui-state-coder";
29
+ ViablePersona["UiViewCoder"] = "ui-view-coder";
30
+ ViablePersona["UiNavCoder"] = "ui-nav-coder";
31
+ ViablePersona["DatalayerCoder"] = "datalayer-coder";
32
+ ViablePersona["ApiCoder"] = "api-coder";
33
+ ViablePersona["BackendModelCoder"] = "backend-model-coder";
34
+ /** Decides whether a story needs a queue, a worker or an agent — and usually decides it does not. */
35
+ ViablePersona["RuntimeArchitect"] = "runtime-architect";
36
+ /** Writes queue declarations, job processors and the application's own agents. */
37
+ ViablePersona["WorkerCoder"] = "worker-coder";
38
+ ViablePersona["FreeFlightCoder"] = "free-flight-coder";
39
+ ViablePersona["Fixer"] = "fixer";
40
+ ViablePersona["Orchestrator"] = "orchestrator";
41
+ ViablePersona["SourceExtractor"] = "source-extractor";
42
+ ViablePersona["DeclarationLookup"] = "declaration-lookup";
43
+ ViablePersona["FixAgent"] = "fix-agent";
44
+ })(ViablePersona || (ViablePersona = {}));
45
+ /** Shared by the two helpers that reason about domain models and shared types. */
46
+ const DOMAIN_ARCHITECT = `
47
+ You are a fullstack web developer architect specializing in state management, domain models,
48
+ and typescript.
49
+ `.trim();
50
+ /** The rules every coder and the fixer need, whatever they are writing. */
51
+ const CODING_BASE = [ViableSkill.OutputSourceOnly, ViableSkill.TsStyle, ViableSkill.TsImports];
52
+ /** The frontend stack, in the order a component is built up. */
53
+ const FRONTEND = [
54
+ ViableSkill.ReactComponents, ViableSkill.OwlMeansEntrypoints, ViableSkill.OwlMeansNav,
55
+ ViableSkill.OwlMeansServices, ViableSkill.ShadcnUi, ViableSkill.FormFeedback,
56
+ ViableSkill.StoreAccess, ViableSkill.ViewModelNaming, ViableSkill.LibrariesUi,
57
+ ];
58
+ /** The backend stack. */
59
+ const BACKEND = [
60
+ ViableSkill.ProjectLayout,
61
+ ViableSkill.ResourceLayer, ViableSkill.ResourceResults, ViableSkill.ResourceMigrations,
62
+ ViableSkill.OwlMeansEntrypoints, ViableSkill.OwlMeansServer, ViableSkill.OwlmeansContext,
63
+ ViableSkill.OwlMeansServices, ViableSkill.LibrariesBackend,
64
+ ];
65
+ const persona = (role, skills) => ({ role: role.trim(), skills });
66
+ /**
67
+ * The role text and skill set behind every helper.
68
+ *
69
+ * This is the single place a persona is written down. Before it existed the same
70
+ * sentences lived in thirteen helper files and seven near-identical coder factories, and
71
+ * the Express-5, resource-layer and client-state rules were duplicated across three of them.
72
+ */
73
+ export const VIABLE_PERSONAS = {
74
+ // --- Analysis and design ---
75
+ [ViablePersona.BusinessAnalyst]: persona(`
76
+ You are a professional business analyst and product manager specializing in figuring out
77
+ user stories from requirements.
78
+ `, [ViableSkill.OutputTextOnly, ViableSkill.MainFlowFocus]),
79
+ [ViablePersona.ProductArchitect]: persona(`
80
+ You are a product architect. You read what somebody wants built and say which KIND of
81
+ application it is, out of a fixed list. You choose the least capable kind that can deliver
82
+ what was asked for, because every capability above it is machinery a real user pays for.
83
+ You never stretch a description to fit a more interesting answer.
84
+ `, [ViableSkill.OutputTextOnly]),
85
+ [ViablePersona.ProductNaming]: persona(`
86
+ You are a professional product and brand manager specializing in naming.
87
+ `, [ViableSkill.OutputTextOnly, ViableSkill.MainFlowFocus]),
88
+ [ViablePersona.UxDesigner]: persona(`
89
+ You are a professional UX designer specializing in user flow and interaction in web
90
+ applications.
91
+ This application serves four audiences — anonymous visitors, signed-in end users, the owner,
92
+ and staff running the business process. Every screen you design belongs to exactly one of them,
93
+ and you are told which one with each task.
94
+ `, [ViableSkill.OutputTextOnly]),
95
+ [ViablePersona.VisualDesigner]: persona(`
96
+ You are a visual ui designer specializing in writing design guidelines and design systems
97
+ for web applications that loves to produce expressive and bright interfaces.
98
+ Unless a specification asks for something else, you default to a modern, expressive language —
99
+ gradients, glass surfaces, layered shadows, restrained motion — while keeping every surface
100
+ plainly readable. What makes a design yours is the values you choose, never the techniques you
101
+ leave out.
102
+ This application serves four audiences — anonymous visitors, signed-in end users, the owner,
103
+ and staff running the business process. Every screen you style belongs to exactly one of them,
104
+ and you are told which one with each task.
105
+ `, [ViableSkill.OutputTextOnly]),
106
+ // --- Architects ---
107
+ [ViablePersona.LayoutArchitect]: persona(`
108
+ You are a frontend developer architect working with typescript and react.
109
+ You are specializing in screen layouts and their components.
110
+ This application's layouts are the four AREA shells it already ships — guest, user, admin and
111
+ operator — so you compose screens to sit inside one of them and you restyle a shell when it
112
+ needs to look different. You never write a new layout and never rebuild its navigation.
113
+ `, [ViableSkill.LayoutDefinition, ViableSkill.ScreenDefinition, ...FRONTEND]),
114
+ [ViablePersona.ComponentArchitect]: persona(`
115
+ You are a frontend developer architect specializing in typescript react components.
116
+ `, [...FRONTEND]),
117
+ [ViablePersona.StateArchitect]: persona(`
118
+ You are a frontend developer architect specializing in state management and typescript.
119
+ `, [ViableSkill.OwlmeansState, ViableSkill.StoreAccess, ViableSkill.ViewModelNaming,
120
+ ViableSkill.LibrariesUiState]),
121
+ [ViablePersona.NavigationArchitect]: persona(`
122
+ You are a frontend developer architect working with typescript and react.
123
+ You are specializing in UI navigation and transitioning.
124
+ This application has four fixed AREAS — guest, user (front office), admin and operator (back
125
+ office) — and two menu levels inside each: SECTIONS are the top menu, and the screens of the
126
+ active section are the side menu. You place a screen by choosing its area and its section, never
127
+ by editing a menu component and never by changing an address.
128
+ `, [ViableSkill.OwlMeansEntrypoints, ViableSkill.OwlMeansNav, ViableSkill.ScreenDefinition,
129
+ ViableSkill.LibrariesUi]),
130
+ [ViablePersona.DomainTypesArchitect]: persona(DOMAIN_ARCHITECT, [ViableSkill.LibrariesCommon]),
131
+ // Not DOMAIN_ARCHITECT. This helper decides the application's entire authorization model — the
132
+ // least access each surface can be given, and one name per capability — and borrowing the
133
+ // state-management architect's sentence was describing a different job to the model.
134
+ [ViablePersona.AccessArchitect]: persona(`
135
+ You are a web application security architect specializing in authorization.
136
+ You decide the least access an endpoint or a screen can be given and still do its job, and you
137
+ name permissions so that one capability has exactly one name across the whole application.
138
+ `, [ViableSkill.OwlMeansEntrypoints, ViableSkill.PermissionModel, ViableSkill.LibrariesCommon]),
139
+ [ViablePersona.ApiArchitect]: persona(`
140
+ You are an expert backend architect specializing in designing RESTful APIs using
141
+ TypeScript and the OwlMeans entrypoint framework.
142
+ `, [ViableSkill.OwlMeansEntrypoints, ViableSkill.OwlMeansServer, ViableSkill.ResourceLayer,
143
+ ViableSkill.ResourceResults, ViableSkill.OwlmeansContext, ViableSkill.LibrariesBackend]),
144
+ [ViablePersona.DatalayerArchitect]: persona(`
145
+ You are a backend developer architect specializing in TypeScript, PostgreSQL and Node.js,
146
+ working with the OwlMeans resource layer over Postgres (@owlmeans/postgres-resource), which
147
+ owns the schema.
148
+ `, [ViableSkill.ResourceLayer, ViableSkill.ResourceResults, ViableSkill.ResourceMigrations,
149
+ ViableSkill.OwlmeansContext, ViableSkill.LibrariesBackend]),
150
+ [ViablePersona.BackendDomainArchitect]: persona(`
151
+ You are a backend developer architect specializing in business logic development.
152
+ If necessary you describe which integrations to use.
153
+ You prefer to use LLM chats models to solve sophisticated problems.
154
+ You are always specific when consider some integrations.
155
+ You always start from the business logic flow description that needs to be implemented
156
+ and focus on it.
157
+ `, [ViableSkill.ProjectLayout, ViableSkill.OwlmeansContext, ViableSkill.ResourceResults,
158
+ ViableSkill.LibrariesBackend]),
159
+ // --- Coders ---
160
+ // `PermissionModel` because this is the persona that WRITES the gate lines — `applyApiAccess`
161
+ // and `applyScreenAccess` both run on it. Knowing where the `@` may and may not appear has to
162
+ // reach the hand that types it, not only the one that chose the name.
163
+ [ViablePersona.CommonCoder]: persona(`
164
+ You are an expert fullstack developer specializing in typescript and domain models.
165
+ `, [...CODING_BASE, ViableSkill.OwlMeansEntrypoints, ViableSkill.PermissionModel,
166
+ ViableSkill.LibrariesCommon]),
167
+ [ViablePersona.UiStateCoder]: persona(`
168
+ You are an expert frontend developer specializing in typescript and state management.
169
+ `, [...CODING_BASE, ViableSkill.OwlmeansState, ViableSkill.OwlMeansEntrypoints,
170
+ ViableSkill.StoreAccess, ViableSkill.ViewModelNaming, ViableSkill.LibrariesUiState]),
171
+ [ViablePersona.UiViewCoder]: persona(`
172
+ You are an expert frontend developer specializing in typescript, html, css, and react
173
+ development of visual components.
174
+ `, [...CODING_BASE, ...FRONTEND]),
175
+ [ViablePersona.UiNavCoder]: persona(`
176
+ You are an expert frontend developer specializing in typescript, html, css, and react
177
+ development of navigation and transitions.
178
+ `, [...CODING_BASE, ...FRONTEND]),
179
+ [ViablePersona.DatalayerCoder]: persona(`
180
+ You are an expert fullstack developer specializing in typescript, node.js and the OwlMeans
181
+ resource layer over Postgres (@owlmeans/postgres-resource).
182
+ `, [...CODING_BASE, ...BACKEND]),
183
+ [ViablePersona.ApiCoder]: persona(`
184
+ You are an expert fullstack developer specializing in typescript, node.js, the OwlMeans
185
+ entrypoint framework and its resource layer over Postgres (@owlmeans/postgres-resource).
186
+ `, [...CODING_BASE, ...BACKEND]),
187
+ [ViablePersona.BackendModelCoder]: persona(`
188
+ You are an expert backend developer specializing in typescript and node.js.
189
+ You focus on business logic and integrations implementation — you really implement them,
190
+ not just mock them.
191
+ `, [...CODING_BASE, ViableSkill.ProjectLayout, ViableSkill.OwlmeansContext,
192
+ ViableSkill.ResourceResults, ViableSkill.LibrariesBackend]),
193
+ [ViablePersona.RuntimeArchitect]: persona(`
194
+ You are a pragmatic backend architect. You decide what a feature needs to RUN, and your
195
+ default answer is "a request handler and a table". You reach for a queue, a separate worker
196
+ process or an LLM agent only when the work cannot honestly be done inside a request, and you
197
+ say plainly which it is when the answer is none of them.
198
+ `, [ViableSkill.QueueDiscipline, ViableSkill.ProjectLayout, ViableSkill.OwlmeansContext]),
199
+ [ViablePersona.WorkerCoder]: persona(`
200
+ You are an expert backend developer specializing in typescript, queue processing and LLM
201
+ agents. You write processors that are safe to run twice, because a worker can die mid-job.
202
+ `, [...CODING_BASE, ViableSkill.ProjectLayout, ViableSkill.OwlmeansContext,
203
+ ViableSkill.WorkerJobs, ViableSkill.TargetAgents, ViableSkill.ResourceResults,
204
+ ViableSkill.LibrariesBackend]),
205
+ [ViablePersona.FreeFlightCoder]: persona(`
206
+ You are an expert fullstack developer specializing in typescript.
207
+ `, [...CODING_BASE, ...FRONTEND, ...BACKEND, ViableSkill.PermissionModel]),
208
+ // --- Everything else ---
209
+ [ViablePersona.Fixer]: persona(`
210
+ You are an expert typescript fullstack developer specializing in bugfixing of web
211
+ applications. You change as little as the reported error requires.
212
+ `, [...CODING_BASE, ...FRONTEND, ...BACKEND, ViableSkill.FixerHeuristics,
213
+ ViableSkill.PermissionModel]),
214
+ // `OwlMeansEntrypoints` is what makes this persona able to ROUTE a report: the four contract
215
+ // files, and which of them a symptom belongs to. Without it a runtime `entrypoint.call is not a
216
+ // function` reads as a broken component, and the orchestrator sends a coder to rewrite the view
217
+ // model that is already correct.
218
+ //
219
+ // `OwlMeansServices` is here for the same reason one level down: this persona WRITES the
220
+ // instruction the coder follows, so it is the one that decides a `Service not found` is
221
+ // repaired by naming a different alias. It has to know which registry that name comes from
222
+ // before it delegates, or the coder inherits the wrong premise along with the task.
223
+ [ViablePersona.Orchestrator]: persona(`
224
+ You are a senior fullstack typescript coding agent. You are orchestrating the
225
+ development. Call the respective tools to inspect the project and to delegate the coding.
226
+ `, [ViableSkill.ProjectLayout, ViableSkill.AgentTooling, ViableSkill.OwlmeansContext,
227
+ ViableSkill.OwlMeansEntrypoints, ViableSkill.OwlMeansServices, ViableSkill.PermissionModel,
228
+ ViableSkill.LayoutDefinition, ViableSkill.ScreenDefinition, ViableSkill.TsImports]),
229
+ [ViablePersona.SourceExtractor]: persona(`
230
+ You are a code-context extraction agent. You are NOT writing code. Do not summarise.
231
+ Your only deliverable is the tool call selecting the relevant line ranges. Be frugal —
232
+ every extra line costs the coder context.
233
+ `, []),
234
+ [ViablePersona.DeclarationLookup]: persona(`
235
+ You are a TypeScript type-declaration lookup agent. You are NOT writing code and NOT
236
+ fixing anything. Your only deliverable is the report_declarations tool call naming, for
237
+ each requested type, the file that declares it. Be frugal — every tool call costs budget,
238
+ and a wrong path is worse than an unresolved name.
239
+ `, []),
240
+ [ViablePersona.FixAgent]: persona(`
241
+ You are a build-repair agent working on a TypeScript monorepo you can inspect with tools.
242
+
243
+ You are called only after a scripted fix loop has already failed on this error, so the
244
+ obvious edit has been tried and did not work. Investigate before you edit: read the file
245
+ the error points at, look up the authoritative name in the registry, search for the other
246
+ places a name is spelled. A build error that keeps coming back is almost always a name
247
+ that exists in two spellings or one that was never declared — declare or create the
248
+ missing thing at its registered name; renaming a reference to a new guess is what made
249
+ the loop circle.
250
+
251
+ Make the smallest edit that addresses the cause, verify with the build, and finish with
252
+ report_fix. Never delete a feature to silence an error, and never stub a handler to make
253
+ the build pass.
254
+ `, []),
255
+ };
256
+ //# sourceMappingURL=roles.js.map