@cyberismo/backend 1.2.0 → 1.3.1

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 (472) hide show
  1. package/dist/app.d.ts +5 -15
  2. package/dist/app.js +31 -44
  3. package/dist/app.js.map +1 -1
  4. package/dist/auth/index.d.ts +0 -12
  5. package/dist/auth/index.js +2 -12
  6. package/dist/auth/index.js.map +1 -1
  7. package/dist/auth/keycloak.d.ts +0 -12
  8. package/dist/auth/keycloak.js +2 -12
  9. package/dist/auth/keycloak.js.map +1 -1
  10. package/dist/auth/mock.d.ts +0 -12
  11. package/dist/auth/mock.js +2 -12
  12. package/dist/auth/mock.js.map +1 -1
  13. package/dist/auth/types.d.ts +0 -12
  14. package/dist/auth/types.js +2 -12
  15. package/dist/auth/types.js.map +1 -1
  16. package/dist/common/errors.d.ts +12 -0
  17. package/dist/common/errors.js +31 -0
  18. package/dist/common/errors.js.map +1 -0
  19. package/dist/common/validationSchemas.d.ts +0 -12
  20. package/dist/common/validationSchemas.js +2 -12
  21. package/dist/common/validationSchemas.js.map +1 -1
  22. package/dist/domain/auth/index.d.ts +0 -12
  23. package/dist/domain/auth/index.js +2 -12
  24. package/dist/domain/auth/index.js.map +1 -1
  25. package/dist/domain/calculations/index.d.ts +0 -12
  26. package/dist/domain/calculations/index.js +4 -14
  27. package/dist/domain/calculations/index.js.map +1 -1
  28. package/dist/domain/calculations/schema.d.ts +0 -12
  29. package/dist/domain/calculations/schema.js +2 -12
  30. package/dist/domain/calculations/schema.js.map +1 -1
  31. package/dist/domain/calculations/service.d.ts +2 -14
  32. package/dist/domain/calculations/service.js +7 -17
  33. package/dist/domain/calculations/service.js.map +1 -1
  34. package/dist/domain/cardTypes/index.d.ts +0 -12
  35. package/dist/domain/cardTypes/index.js +10 -20
  36. package/dist/domain/cardTypes/index.js.map +1 -1
  37. package/dist/domain/cardTypes/schema.d.ts +0 -12
  38. package/dist/domain/cardTypes/schema.js +2 -12
  39. package/dist/domain/cardTypes/schema.js.map +1 -1
  40. package/dist/domain/cardTypes/service.d.ts +4 -16
  41. package/dist/domain/cardTypes/service.js +17 -25
  42. package/dist/domain/cardTypes/service.js.map +1 -1
  43. package/dist/domain/cards/index.d.ts +0 -12
  44. package/dist/domain/cards/index.js +120 -102
  45. package/dist/domain/cards/index.js.map +1 -1
  46. package/dist/domain/cards/lib.d.ts +6 -23
  47. package/dist/domain/cards/lib.js +7 -126
  48. package/dist/domain/cards/lib.js.map +1 -1
  49. package/dist/domain/cards/mermaid.d.ts +8 -0
  50. package/dist/domain/cards/mermaid.js +23 -0
  51. package/dist/domain/cards/mermaid.js.map +1 -0
  52. package/dist/domain/cards/schema.d.ts +6 -12
  53. package/dist/domain/cards/schema.js +6 -12
  54. package/dist/domain/cards/schema.js.map +1 -1
  55. package/dist/domain/cards/service.d.ts +28 -32
  56. package/dist/domain/cards/service.js +119 -83
  57. package/dist/domain/cards/service.js.map +1 -1
  58. package/dist/domain/connectors/index.d.ts +0 -12
  59. package/dist/domain/connectors/index.js +4 -14
  60. package/dist/domain/connectors/index.js.map +1 -1
  61. package/dist/domain/connectors/service.d.ts +2 -14
  62. package/dist/domain/connectors/service.js +4 -14
  63. package/dist/domain/connectors/service.js.map +1 -1
  64. package/dist/domain/events/events-by-project.d.ts +19 -0
  65. package/dist/domain/events/events-by-project.js +57 -0
  66. package/dist/domain/events/events-by-project.js.map +1 -0
  67. package/dist/domain/events/index.d.ts +0 -12
  68. package/dist/domain/events/index.js +3 -13
  69. package/dist/domain/events/index.js.map +1 -1
  70. package/dist/domain/events/lifetime.d.ts +0 -12
  71. package/dist/domain/events/lifetime.js +2 -12
  72. package/dist/domain/events/lifetime.js.map +1 -1
  73. package/dist/domain/events/project-events.d.ts +10 -14
  74. package/dist/domain/events/project-events.js +22 -18
  75. package/dist/domain/events/project-events.js.map +1 -1
  76. package/dist/domain/events/schema.d.ts +0 -12
  77. package/dist/domain/events/schema.js +2 -12
  78. package/dist/domain/events/schema.js.map +1 -1
  79. package/dist/domain/fieldTypes/index.d.ts +0 -12
  80. package/dist/domain/fieldTypes/index.js +6 -16
  81. package/dist/domain/fieldTypes/index.js.map +1 -1
  82. package/dist/domain/fieldTypes/schema.d.ts +0 -12
  83. package/dist/domain/fieldTypes/schema.js +2 -12
  84. package/dist/domain/fieldTypes/schema.js.map +1 -1
  85. package/dist/domain/fieldTypes/service.d.ts +4 -16
  86. package/dist/domain/fieldTypes/service.js +7 -17
  87. package/dist/domain/fieldTypes/service.js.map +1 -1
  88. package/dist/domain/graphModels/index.d.ts +0 -12
  89. package/dist/domain/graphModels/index.js +4 -14
  90. package/dist/domain/graphModels/index.js.map +1 -1
  91. package/dist/domain/graphModels/schema.d.ts +0 -12
  92. package/dist/domain/graphModels/schema.js +2 -12
  93. package/dist/domain/graphModels/schema.js.map +1 -1
  94. package/dist/domain/graphModels/service.d.ts +2 -14
  95. package/dist/domain/graphModels/service.js +4 -14
  96. package/dist/domain/graphModels/service.js.map +1 -1
  97. package/dist/domain/graphViews/index.d.ts +0 -12
  98. package/dist/domain/graphViews/index.js +4 -14
  99. package/dist/domain/graphViews/index.js.map +1 -1
  100. package/dist/domain/graphViews/schema.js +2 -0
  101. package/dist/domain/graphViews/schema.js.map +1 -1
  102. package/dist/domain/graphViews/service.d.ts +2 -14
  103. package/dist/domain/graphViews/service.js +4 -14
  104. package/dist/domain/graphViews/service.js.map +1 -1
  105. package/dist/domain/labels/index.d.ts +0 -12
  106. package/dist/domain/labels/index.js +4 -14
  107. package/dist/domain/labels/index.js.map +1 -1
  108. package/dist/domain/labels/service.d.ts +3 -15
  109. package/dist/domain/labels/service.js +5 -15
  110. package/dist/domain/labels/service.js.map +1 -1
  111. package/dist/domain/linkTypes/index.d.ts +0 -12
  112. package/dist/domain/linkTypes/index.js +6 -16
  113. package/dist/domain/linkTypes/index.js.map +1 -1
  114. package/dist/domain/linkTypes/schema.d.ts +0 -12
  115. package/dist/domain/linkTypes/schema.js +2 -12
  116. package/dist/domain/linkTypes/schema.js.map +1 -1
  117. package/dist/domain/linkTypes/service.d.ts +3 -15
  118. package/dist/domain/linkTypes/service.js +7 -17
  119. package/dist/domain/linkTypes/service.js.map +1 -1
  120. package/dist/domain/logicPrograms/index.d.ts +0 -12
  121. package/dist/domain/logicPrograms/index.js +4 -14
  122. package/dist/domain/logicPrograms/index.js.map +1 -1
  123. package/dist/domain/logicPrograms/service.d.ts +2 -14
  124. package/dist/domain/logicPrograms/service.js +5 -3
  125. package/dist/domain/logicPrograms/service.js.map +1 -1
  126. package/dist/domain/mcp/index.d.ts +3 -15
  127. package/dist/domain/mcp/index.js +27 -21
  128. package/dist/domain/mcp/index.js.map +1 -1
  129. package/dist/domain/project/index.d.ts +0 -12
  130. package/dist/domain/project/index.js +30 -40
  131. package/dist/domain/project/index.js.map +1 -1
  132. package/dist/domain/project/schema.d.ts +0 -12
  133. package/dist/domain/project/schema.js +2 -12
  134. package/dist/domain/project/schema.js.map +1 -1
  135. package/dist/domain/project/service.d.ts +16 -28
  136. package/dist/domain/project/service.js +48 -58
  137. package/dist/domain/project/service.js.map +1 -1
  138. package/dist/domain/projects/index.d.ts +2 -14
  139. package/dist/domain/projects/index.js +19 -36
  140. package/dist/domain/projects/index.js.map +1 -1
  141. package/dist/domain/projects/schema.d.ts +1 -12
  142. package/dist/domain/projects/schema.js +3 -12
  143. package/dist/domain/projects/schema.js.map +1 -1
  144. package/dist/domain/projects/service.d.ts +9 -35
  145. package/dist/domain/projects/service.js +12 -48
  146. package/dist/domain/projects/service.js.map +1 -1
  147. package/dist/domain/reports/index.d.ts +0 -12
  148. package/dist/domain/reports/index.js +4 -14
  149. package/dist/domain/reports/index.js.map +1 -1
  150. package/dist/domain/reports/schema.d.ts +0 -12
  151. package/dist/domain/reports/schema.js +2 -12
  152. package/dist/domain/reports/schema.js.map +1 -1
  153. package/dist/domain/reports/service.d.ts +2 -14
  154. package/dist/domain/reports/service.js +4 -14
  155. package/dist/domain/reports/service.js.map +1 -1
  156. package/dist/domain/resources/index.d.ts +0 -12
  157. package/dist/domain/resources/index.js +19 -26
  158. package/dist/domain/resources/index.js.map +1 -1
  159. package/dist/domain/resources/schema.js +2 -0
  160. package/dist/domain/resources/schema.js.map +1 -1
  161. package/dist/domain/resources/service.d.ts +11 -23
  162. package/dist/domain/resources/service.js +48 -59
  163. package/dist/domain/resources/service.js.map +1 -1
  164. package/dist/domain/skills/index.d.ts +0 -12
  165. package/dist/domain/skills/index.js +4 -14
  166. package/dist/domain/skills/index.js.map +1 -1
  167. package/dist/domain/skills/schema.d.ts +0 -12
  168. package/dist/domain/skills/schema.js +2 -12
  169. package/dist/domain/skills/schema.js.map +1 -1
  170. package/dist/domain/skills/service.d.ts +2 -14
  171. package/dist/domain/skills/service.js +4 -14
  172. package/dist/domain/skills/service.js.map +1 -1
  173. package/dist/domain/templates/index.d.ts +0 -12
  174. package/dist/domain/templates/index.js +8 -18
  175. package/dist/domain/templates/index.js.map +1 -1
  176. package/dist/domain/templates/schema.d.ts +0 -12
  177. package/dist/domain/templates/schema.js +2 -12
  178. package/dist/domain/templates/schema.js.map +1 -1
  179. package/dist/domain/templates/service.d.ts +4 -16
  180. package/dist/domain/templates/service.js +8 -18
  181. package/dist/domain/templates/service.js.map +1 -1
  182. package/dist/domain/tree/index.d.ts +0 -12
  183. package/dist/domain/tree/index.js +4 -14
  184. package/dist/domain/tree/index.js.map +1 -1
  185. package/dist/domain/tree/service.d.ts +3 -15
  186. package/dist/domain/tree/service.js +8 -15
  187. package/dist/domain/tree/service.js.map +1 -1
  188. package/dist/domain/workflows/index.d.ts +0 -12
  189. package/dist/domain/workflows/index.js +4 -14
  190. package/dist/domain/workflows/index.js.map +1 -1
  191. package/dist/domain/workflows/schema.d.ts +0 -12
  192. package/dist/domain/workflows/schema.js +2 -12
  193. package/dist/domain/workflows/schema.js.map +1 -1
  194. package/dist/domain/workflows/service.d.ts +2 -14
  195. package/dist/domain/workflows/service.js +4 -14
  196. package/dist/domain/workflows/service.js.map +1 -1
  197. package/dist/export.d.ts +6 -20
  198. package/dist/export.js +19 -29
  199. package/dist/export.js.map +1 -1
  200. package/dist/frontend.d.ts +22 -0
  201. package/dist/frontend.js +51 -0
  202. package/dist/frontend.js.map +1 -0
  203. package/dist/index.d.ts +3 -5
  204. package/dist/index.js +22 -48
  205. package/dist/index.js.map +1 -1
  206. package/dist/main.js +19 -30
  207. package/dist/main.js.map +1 -1
  208. package/dist/middleware/auth.d.ts +0 -12
  209. package/dist/middleware/auth.js +2 -12
  210. package/dist/middleware/auth.js.map +1 -1
  211. package/dist/middleware/commandManager.d.ts +15 -20
  212. package/dist/middleware/commandManager.js +27 -36
  213. package/dist/middleware/commandManager.js.map +1 -1
  214. package/dist/middleware/tree.js +2 -0
  215. package/dist/middleware/tree.js.map +1 -1
  216. package/dist/middleware/zvalidator.js +2 -0
  217. package/dist/middleware/zvalidator.js.map +1 -1
  218. package/dist/overlay.d.ts +4 -16
  219. package/dist/overlay.js +22 -17
  220. package/dist/overlay.js.map +1 -1
  221. package/dist/public/THIRD-PARTY.txt +1397 -286
  222. package/dist/public/assets/__vite-browser-external-DGgK3jMU.js +1 -0
  223. package/dist/public/assets/abnfDiagram-WEYOIA3C-B3qq7PKv.js +1 -0
  224. package/dist/public/assets/architecture-WOLXFQ4H-Bzau2LI0.js +1 -0
  225. package/dist/public/assets/architectureDiagram-ZHVYKT53-Bg0cUwdb.js +36 -0
  226. package/dist/public/assets/blockDiagram-RJAE7QA3-0RJB-ra-.js +140 -0
  227. package/dist/public/assets/c4Diagram-XDPPPE54-BzoQcLvf.js +38 -0
  228. package/dist/public/assets/channel-6BNdw4Ax.js +1 -0
  229. package/dist/public/assets/{chunk-SVP7TREG-CIQMl7hl.js → chunk-2E7WHVMD-6aqPk-Hk.js} +4 -4
  230. package/dist/public/assets/chunk-4EMNKR2T-vovNSAaE.js +1 -0
  231. package/dist/public/assets/{chunk-F27PBJKO-tDfs6zeO.js → chunk-55XCU76K-DXkKnt2y.js} +1 -1
  232. package/dist/public/assets/chunk-7S6XSTFO-B9bfO0l3.js +2 -0
  233. package/dist/public/assets/chunk-AQDTSKZB-ilLy_cYP.js +72 -0
  234. package/dist/public/assets/chunk-DSNLSHJZ-DAudglXu.js +129 -0
  235. package/dist/public/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  236. package/dist/public/assets/chunk-HAGFOTED-CSKFgs6b.js +62 -0
  237. package/dist/public/assets/chunk-HNE4Q36P-Cu5gPBVk.js +1 -0
  238. package/dist/public/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  239. package/dist/public/assets/chunk-NGNAAXSQ-DI_UYJZ4.js +136 -0
  240. package/dist/public/assets/chunk-NQOKRVIF-Bpcvhq1n.js +213 -0
  241. package/dist/public/assets/chunk-UHW7PFBP-BDjvOaTH.js +1 -0
  242. package/dist/public/assets/chunk-VQ5W62QI-DHTcO93W.js +1 -0
  243. package/dist/public/assets/chunk-WQQL4CDK-H6nAhuck.js +10 -0
  244. package/dist/public/assets/{chunk-XXDRQBXY-B7bWyHjt.js → chunk-XXDRQBXY-BUghdEVl.js} +1 -1
  245. package/dist/public/assets/chunk-YZO67HFG-D13E0_Yh.js +1 -0
  246. package/dist/public/assets/chunk-ZAUX2LTX-Dp5y-2wt.js +1 -0
  247. package/dist/public/assets/chunk-ZCHMQSOR-RJjlln1D.js +2 -0
  248. package/dist/public/assets/classDiagram-v2-4MYWR3UA-CAqiFCSv.js +217 -0
  249. package/dist/public/assets/cose-bilkent-JH36ORCC-C_VOHzoP.js +1 -0
  250. package/dist/public/assets/cynefin-EF2NZ3EQ-Dyk4ZPjK.js +1 -0
  251. package/dist/public/assets/{cynefinDiagram-5FMLGOSQ-_V_nrIhD.js → cynefinDiagram-WF24UDRP-b_Ia8gQX.js} +1 -1
  252. package/dist/public/assets/cytoscape.esm-GRKmfDkD.js +321 -0
  253. package/dist/public/assets/dagre-NK4GIZVX-CH1K1yF8.js +4 -0
  254. package/dist/public/assets/{diagram-VX7I27RA-De_UQv8C.js → diagram-CBK3MWTC-OaKd5avy.js} +13 -13
  255. package/dist/public/assets/diagram-I5XIIV2D-Cmu5z1ad.js +24 -0
  256. package/dist/public/assets/{diagram-S7CK7UJ4-25IjIKyo.js → diagram-ODIL2UCW-Cz1kkDDX.js} +7 -7
  257. package/dist/public/assets/diagram-PFBEJUXE-faMkmqUW.js +3 -0
  258. package/dist/public/assets/{diagram-UQ7AKVKN-C5VvsV7x.js → diagram-RJA3I4VV-nycvfte-.js} +2 -2
  259. package/dist/public/assets/diagram-TYUNFSNR-CjEv5QCm.js +200 -0
  260. package/dist/public/assets/{dist-BDCdLWk4.js → dist-DGs_yUrP.js} +1 -1
  261. package/dist/public/assets/ebnfDiagram-V4P3TTPT-DN-IIxCy.js +1 -0
  262. package/dist/public/assets/elk-QONTBCTQ-Bsam88GP.js +27 -0
  263. package/dist/public/assets/erDiagram-KYQIGQAA-DEU_qqNK.js +99 -0
  264. package/dist/public/assets/eventmodeling-K75KTNOO-Bl6NCM9E.js +1 -0
  265. package/dist/public/assets/flowDiagram-IUGLLWBU-Cl4qZ-36.js +1 -0
  266. package/dist/public/assets/ganttDiagram-R7GPNTJY-BmMd4aGi.js +292 -0
  267. package/dist/public/assets/gitGraph-VSP46ZUC-Q0H2PWek.js +1 -0
  268. package/dist/public/assets/gitGraphDiagram-PDYL7XHY-BlCTBYTj.js +106 -0
  269. package/dist/public/assets/index-CuBJ0hof.css +1 -0
  270. package/dist/public/assets/index-D701BZPh.js +2219 -0
  271. package/dist/public/assets/info-OHQRW6UA-D0TMPJxW.js +1 -0
  272. package/dist/public/assets/infoDiagram-MVDRKAX5-CljbtJXu.js +2 -0
  273. package/dist/public/assets/{ishikawaDiagram-5VMMS53U-KvT4DU1u.js → ishikawaDiagram-HPEHV2GE-_Y3Fr0hu.js} +6 -6
  274. package/dist/public/assets/{journeyDiagram-3NMN7TZE-PhGRkXkq.js → journeyDiagram-BOSHW7O7-Bo55jJ4m.js} +39 -39
  275. package/dist/public/assets/kanban-definition-FNSA4HC5-Cd-10MtF.js +89 -0
  276. package/dist/public/assets/katex-MEuSR36T.js +257 -0
  277. package/dist/public/assets/line-BDmh4sWC.js +1 -0
  278. package/dist/public/assets/linear-Dt7xjMrI.js +1 -0
  279. package/dist/public/assets/mermaid-parser.core-BJ1yyzvV.js +7 -0
  280. package/dist/public/assets/mindmap-definition-6OY57UG3-CRgumPuN.js +98 -0
  281. package/dist/public/assets/packet-JDAUHWVQ-DsTMT3Kw.js +1 -0
  282. package/dist/public/assets/pegDiagram-ECIUJNBX-BEGI5k3m.js +1 -0
  283. package/dist/public/assets/pie-XZMESJXO-COyqzA3N.js +1 -0
  284. package/dist/public/assets/pieDiagram-GNMPY74T-CrLJhZJJ.js +39 -0
  285. package/dist/public/assets/{quadrantDiagram-AXDQQJYC-B9dlNtZl.js → quadrantDiagram-D57K4MC3-Fl7HMHxK.js} +6 -6
  286. package/dist/public/assets/radar-ABXABTNO-DeXHKowk.js +1 -0
  287. package/dist/public/assets/railroad-I3PHUGI6-CUjKUdPz.js +1 -0
  288. package/dist/public/assets/railroad-abnf-LNEFI6M7-B1aEgHE6.js +1 -0
  289. package/dist/public/assets/railroad-ebnf-DWYD2UWJ-DmmI3Voz.js +1 -0
  290. package/dist/public/assets/railroad-peg-JR7BVNR7-BHzi9m7r.js +1 -0
  291. package/dist/public/assets/railroadDiagram-Y72NRBL7-D1oeE5fy.js +1 -0
  292. package/dist/public/assets/requirementDiagram-EQYSW5RA-BJDKK1aS.js +84 -0
  293. package/dist/public/assets/rolldown-runtime-BCiCTKAo.js +1 -0
  294. package/dist/public/assets/{sankeyDiagram-P5KCCOFB-C4rb2pZ9.js → sankeyDiagram-SY24JHO5-C4g0OwZ9.js} +7 -7
  295. package/dist/public/assets/sequenceDiagram-BLEHNHQU-CEvy4P-b.js +169 -0
  296. package/dist/public/assets/src-MPsEqXxq.js +1 -0
  297. package/dist/public/assets/stateDiagram-v2-A6IESKWZ-BFhvw4Gl.js +291 -0
  298. package/dist/public/assets/swimlanes-B3ENRKFQ-BIl_Q-FM.js +1 -0
  299. package/dist/public/assets/swimlanesDiagram-AYQRV4AK-rvDbKEHQ.js +8 -0
  300. package/dist/public/assets/timeline-definition-JXYKGLGB-qAoWTH4N.js +120 -0
  301. package/dist/public/assets/treeView-D4JQ5SDB-vq16JKkJ.js +1 -0
  302. package/dist/public/assets/treemap-SAJKECNS-C0IZTaDk.js +1 -0
  303. package/dist/public/assets/usecaseDiagram-WPOLBNNX-Dq8iz49r.js +328 -0
  304. package/dist/public/assets/vennDiagram-Q3Y3IDCW-Br4JmRjM.js +34 -0
  305. package/dist/public/assets/wardley-7MLQ67FV-CEPlAQ79.js +1 -0
  306. package/dist/public/assets/{wardleyDiagram-VM6X3IG4-BOXpwLCv.js → wardleyDiagram-IVAIDKWA-DURB7Ue6.js} +4 -4
  307. package/dist/public/assets/xychartDiagram-4URNHDU4-BiZywfhy.js +7 -0
  308. package/dist/public/index.html +27 -21
  309. package/dist/public/sbom.cdx.json +1 -1
  310. package/dist/types.d.ts +0 -12
  311. package/dist/types.js +2 -12
  312. package/dist/types.js.map +1 -1
  313. package/dist/utils.d.ts +12 -5
  314. package/dist/utils.js +18 -43
  315. package/dist/utils.js.map +1 -1
  316. package/package.json +13 -12
  317. package/src/app.ts +37 -52
  318. package/src/auth/index.ts +2 -12
  319. package/src/auth/keycloak.ts +2 -12
  320. package/src/auth/mock.ts +2 -12
  321. package/src/auth/types.ts +2 -12
  322. package/src/common/errors.ts +45 -0
  323. package/src/common/validationSchemas.ts +3 -12
  324. package/src/domain/auth/index.ts +2 -12
  325. package/src/domain/calculations/index.ts +4 -14
  326. package/src/domain/calculations/schema.ts +2 -12
  327. package/src/domain/calculations/service.ts +8 -21
  328. package/src/domain/cardTypes/index.ts +10 -20
  329. package/src/domain/cardTypes/schema.ts +3 -12
  330. package/src/domain/cardTypes/service.ts +22 -29
  331. package/src/domain/cards/index.ts +158 -128
  332. package/src/domain/cards/lib.ts +9 -161
  333. package/src/domain/cards/mermaid.ts +25 -0
  334. package/src/domain/cards/schema.ts +8 -12
  335. package/src/domain/cards/service.ts +165 -118
  336. package/src/domain/connectors/index.ts +5 -14
  337. package/src/domain/connectors/service.ts +5 -20
  338. package/src/domain/events/events-by-project.ts +59 -0
  339. package/src/domain/events/index.ts +3 -13
  340. package/src/domain/events/lifetime.ts +2 -12
  341. package/src/domain/events/project-events.ts +30 -18
  342. package/src/domain/events/schema.ts +2 -12
  343. package/src/domain/fieldTypes/index.ts +6 -16
  344. package/src/domain/fieldTypes/schema.ts +3 -12
  345. package/src/domain/fieldTypes/service.ts +9 -21
  346. package/src/domain/graphModels/index.ts +4 -14
  347. package/src/domain/graphModels/schema.ts +3 -12
  348. package/src/domain/graphModels/service.ts +5 -18
  349. package/src/domain/graphViews/index.ts +4 -14
  350. package/src/domain/graphViews/schema.ts +3 -0
  351. package/src/domain/graphViews/service.ts +5 -18
  352. package/src/domain/labels/index.ts +4 -14
  353. package/src/domain/labels/service.ts +6 -16
  354. package/src/domain/linkTypes/index.ts +6 -16
  355. package/src/domain/linkTypes/schema.ts +2 -12
  356. package/src/domain/linkTypes/service.ts +8 -21
  357. package/src/domain/logicPrograms/index.ts +5 -17
  358. package/src/domain/logicPrograms/service.ts +7 -16
  359. package/src/domain/mcp/index.ts +33 -24
  360. package/src/domain/project/index.ts +34 -40
  361. package/src/domain/project/schema.ts +2 -12
  362. package/src/domain/project/service.ts +56 -71
  363. package/src/domain/projects/index.ts +34 -50
  364. package/src/domain/projects/schema.ts +3 -12
  365. package/src/domain/projects/service.ts +18 -88
  366. package/src/domain/reports/index.ts +4 -14
  367. package/src/domain/reports/schema.ts +2 -12
  368. package/src/domain/reports/service.ts +5 -18
  369. package/src/domain/resources/index.ts +19 -30
  370. package/src/domain/resources/schema.ts +3 -0
  371. package/src/domain/resources/service.ts +55 -90
  372. package/src/domain/skills/index.ts +4 -14
  373. package/src/domain/skills/schema.ts +2 -12
  374. package/src/domain/skills/service.ts +5 -15
  375. package/src/domain/templates/index.ts +8 -18
  376. package/src/domain/templates/schema.ts +2 -12
  377. package/src/domain/templates/service.ts +9 -22
  378. package/src/domain/tree/index.ts +4 -14
  379. package/src/domain/tree/service.ts +10 -21
  380. package/src/domain/workflows/index.ts +4 -14
  381. package/src/domain/workflows/schema.ts +2 -12
  382. package/src/domain/workflows/service.ts +5 -18
  383. package/src/export.ts +24 -33
  384. package/src/frontend.ts +58 -0
  385. package/src/index.ts +32 -53
  386. package/src/main.ts +25 -35
  387. package/src/middleware/auth.ts +2 -12
  388. package/src/middleware/commandManager.ts +35 -50
  389. package/src/middleware/tree.ts +3 -0
  390. package/src/middleware/zvalidator.ts +3 -0
  391. package/src/overlay.ts +29 -19
  392. package/src/types.ts +2 -12
  393. package/src/utils.ts +26 -46
  394. package/dist/project-errors.d.ts +0 -18
  395. package/dist/project-errors.js +0 -25
  396. package/dist/project-errors.js.map +0 -1
  397. package/dist/project-registry.d.ts +0 -65
  398. package/dist/project-registry.js +0 -121
  399. package/dist/project-registry.js.map +0 -1
  400. package/dist/public/assets/__vite-browser-external-PaJ7c2l8.js +0 -1
  401. package/dist/public/assets/abnfDiagram-VCTEODGH-DB2dfOGe.js +0 -1
  402. package/dist/public/assets/architecture-7GRP2DOG-2V0X8hxt.js +0 -1
  403. package/dist/public/assets/architectureDiagram-5GKGNRK7-CRhUR2Ul.js +0 -36
  404. package/dist/public/assets/blockDiagram-I7D4REHJ-DJKsYF1v.js +0 -129
  405. package/dist/public/assets/c4Diagram-7LVT6UL2-BTwMzoAF.js +0 -38
  406. package/dist/public/assets/channel-C0JtPpMA.js +0 -1
  407. package/dist/public/assets/chunk-4HAMMTFA-DjjgrBsB.js +0 -62
  408. package/dist/public/assets/chunk-75Z2AOVW-CKqXRGJV.js +0 -2
  409. package/dist/public/assets/chunk-DU6HZSFF-iJGdiRt7.js +0 -127
  410. package/dist/public/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
  411. package/dist/public/assets/chunk-GMAD6QVW-DxHVEaGj.js +0 -72
  412. package/dist/public/assets/chunk-GVQU2GXP-AMxD4_Ta.js +0 -1
  413. package/dist/public/assets/chunk-IMKFNOWR-0rz8QrYC.js +0 -231
  414. package/dist/public/assets/chunk-L3NEJ4N5-BK3KAKMe.js +0 -1
  415. package/dist/public/assets/chunk-OSK3NFVY-B8MdrI_M.js +0 -10
  416. package/dist/public/assets/chunk-P2QGCYS3-D3J5AcHg.js +0 -1
  417. package/dist/public/assets/chunk-POPQ4Y6H-CsYg_XkK.js +0 -1
  418. package/dist/public/assets/chunk-PWAF6VOD-D9cdEIZp.js +0 -1
  419. package/dist/public/assets/chunk-SHT3W25Y-1jjokCf3.js +0 -168
  420. package/dist/public/assets/chunk-TICWLB2K-Ccsy2PYz.js +0 -206
  421. package/dist/public/assets/classDiagram-ZZMXUADV-mWyXNAXi.js +0 -1
  422. package/dist/public/assets/classDiagram-v2-VYDZK3BY-mWyXNAXi.js +0 -1
  423. package/dist/public/assets/cose-bilkent-JH36ORCC-DPzc3Pv4.js +0 -1
  424. package/dist/public/assets/cynefin-OW5HDTMX-BIVDCYOU.js +0 -1
  425. package/dist/public/assets/cytoscape.esm-NgwPT4ez.js +0 -321
  426. package/dist/public/assets/dagre-C-rnJpZF.js +0 -1
  427. package/dist/public/assets/dagre-GXQ25YYZ-CJc0wc6f.js +0 -4
  428. package/dist/public/assets/diagram-VSXAHHWV-Dw3rKVL_.js +0 -3
  429. package/dist/public/assets/diagram-Z3DM3KII-Bd-65QQW.js +0 -24
  430. package/dist/public/assets/ebnfDiagram-PWID7BFC-CrxdET5U.js +0 -1
  431. package/dist/public/assets/erDiagram-RLTQ6QDP-BKo0Uyna.js +0 -99
  432. package/dist/public/assets/eventmodeling-NTZA5JFV-DKkAdJZd.js +0 -1
  433. package/dist/public/assets/flowDiagram-HODETNUW-CEE2wjdt.js +0 -1
  434. package/dist/public/assets/ganttDiagram-EL5Y4UJY-BHFn8vk0.js +0 -292
  435. package/dist/public/assets/gitGraph-4MIJSDKK-Bpvnb45u.js +0 -1
  436. package/dist/public/assets/gitGraphDiagram-WWUBYQGX-Bw0EoxBY.js +0 -106
  437. package/dist/public/assets/index-D3HS7YxF.js +0 -2228
  438. package/dist/public/assets/index-Sv3WxZ_8.css +0 -1
  439. package/dist/public/assets/info-A6RAGUB7-BvvG_zrk.js +0 -1
  440. package/dist/public/assets/infoDiagram-27XIBGKW-CtpdJmtL.js +0 -2
  441. package/dist/public/assets/kanban-definition-UXKFOSKX-Oyx5QgRq.js +0 -89
  442. package/dist/public/assets/katex-ZlcWpGUi.js +0 -257
  443. package/dist/public/assets/line-Dr41HTk1.js +0 -1
  444. package/dist/public/assets/linear-DDBi9FwZ.js +0 -1
  445. package/dist/public/assets/mermaid-parser.core-DsIAxDBa.js +0 -7
  446. package/dist/public/assets/mindmap-definition-YA3MSWOX-r8hvd6gP.js +0 -96
  447. package/dist/public/assets/packet-AYTQ26CC-B0EpJ2Sc.js +0 -1
  448. package/dist/public/assets/pegDiagram-XKGWAZYB-DaNkQTQF.js +0 -1
  449. package/dist/public/assets/pie-WAS4IAKB-Dt2zttL9.js +0 -1
  450. package/dist/public/assets/pieDiagram-E7YTZNPT-x0XWEGbd.js +0 -39
  451. package/dist/public/assets/radar-RG4KPBEZ-DjbR4-5l.js +0 -1
  452. package/dist/public/assets/railroad-74A4TZTK-Bk3B5r_R.js +0 -1
  453. package/dist/public/assets/railroad-abnf-HS5TGJTU-DxaWfACD.js +0 -1
  454. package/dist/public/assets/railroad-ebnf-LZEXJU2U-DscxXZO0.js +0 -1
  455. package/dist/public/assets/railroad-peg-WCYAUIDC-BCWzRFzw.js +0 -1
  456. package/dist/public/assets/railroadDiagram-O6MQD6OU-DhwsoX6A.js +0 -1
  457. package/dist/public/assets/requirementDiagram-BXWQKSXE-BiqZ6axf.js +0 -84
  458. package/dist/public/assets/rolldown-runtime-B0Z9INg1.js +0 -1
  459. package/dist/public/assets/sequenceDiagram-WJ2MYXX4-DRKTnGD7.js +0 -162
  460. package/dist/public/assets/src-an_qrnIj.js +0 -1
  461. package/dist/public/assets/stateDiagram-D77RDMKH-xxdybg5Z.js +0 -1
  462. package/dist/public/assets/stateDiagram-v2-MP3YSRHH-CXzmJy_a.js +0 -1
  463. package/dist/public/assets/swimlanes-42K2YHIH-DyGI1gI6.js +0 -1
  464. package/dist/public/assets/swimlanesDiagram-VR7AAH4N-7hqb6VoW.js +0 -8
  465. package/dist/public/assets/timeline-definition-24CTP7MA-C2pIp77Q.js +0 -120
  466. package/dist/public/assets/treeView-Q6P3EWNA-CxRtaaB8.js +0 -1
  467. package/dist/public/assets/treemap-WGGIJYW6-G1IHiwTa.js +0 -1
  468. package/dist/public/assets/vennDiagram-4TSXK5OY-CwimQRR9.js +0 -34
  469. package/dist/public/assets/wardley-WFR3VGLG-DkQ3TjZX.js +0 -1
  470. package/dist/public/assets/xychartDiagram-S5SC5T6Z-ChOPYsHc.js +0 -7
  471. package/src/project-errors.ts +0 -33
  472. package/src/project-registry.ts +0 -161
@@ -1,19 +1,10 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2026
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
4
  import { Hono } from 'hono';
15
5
  import { zValidator } from '../../middleware/zvalidator.js';
16
- import type { ProjectRegistry } from '../../project-registry.js';
6
+ import type { ProjectDirectory } from '@cyberismo/data-handler';
7
+ import { errorBody, errorResponse } from '../../common/errors.js';
17
8
  import { requireRole, getCurrentUser } from '../../middleware/auth.js';
18
9
  import { isProjectReadOnly } from '../../overlay.js';
19
10
  import { UserRole } from '../../types.js';
@@ -21,7 +12,7 @@ import { createProjectSchema, cloneProjectSchema } from './schema.js';
21
12
  import * as projectsService from './service.js';
22
13
 
23
14
  export function createProjectsRouter(
24
- registry: ProjectRegistry,
15
+ directory: ProjectDirectory,
25
16
  multiProjectRoot?: string,
26
17
  ) {
27
18
  const router = new Hono();
@@ -38,9 +29,9 @@ export function createProjectsRouter(
38
29
  * 401:
39
30
  * description: Unauthorized
40
31
  */
41
- router.get('/', requireRole(UserRole.Reader), (c) => {
32
+ router.get('/', requireRole(UserRole.Reader), async (c) => {
42
33
  return c.json({
43
- projects: registry.list().map((project) => ({
34
+ projects: (await directory.list()).map((project) => ({
44
35
  ...project,
45
36
  readOnly: isProjectReadOnly(project.prefix),
46
37
  })),
@@ -62,38 +53,31 @@ export function createProjectsRouter(
62
53
  async (c) => {
63
54
  if (!multiProjectRoot) {
64
55
  return c.json(
65
- { error: 'Project creation is not available in single-project mode' },
56
+ errorBody(
57
+ 'permission-denied',
58
+ 'Project creation is not available in single-project mode',
59
+ ),
66
60
  403,
67
61
  );
68
62
  }
69
63
 
70
64
  const params = c.req.valid('json');
71
65
 
72
- if (registry.has(params.prefix)) {
73
- return c.json(
74
- { error: `Project with prefix '${params.prefix}' already exists` },
75
- 409,
76
- );
77
- }
78
-
79
66
  try {
80
67
  const result = await projectsService.createProject(
81
- registry,
82
- multiProjectRoot,
68
+ directory,
83
69
  params,
84
70
  getCurrentUser(c),
85
71
  );
86
72
  return c.json(result, 201);
87
73
  } catch (error) {
88
- return c.json(
89
- {
90
- error:
91
- error instanceof Error
92
- ? error.message
93
- : 'Failed to create project',
94
- },
95
- 500,
74
+ // A taken prefix is the directory's ProjectExistsError: a 409.
75
+ const { status, body } = errorResponse(
76
+ error instanceof Error
77
+ ? error
78
+ : new Error('Failed to create project'),
96
79
  );
80
+ return c.json(body, status);
97
81
  }
98
82
  },
99
83
  );
@@ -112,7 +96,10 @@ export function createProjectsRouter(
112
96
  async (c) => {
113
97
  if (!multiProjectRoot) {
114
98
  return c.json(
115
- { error: 'Project cloning is not available in single-project mode' },
99
+ errorBody(
100
+ 'permission-denied',
101
+ 'Project cloning is not available in single-project mode',
102
+ ),
116
103
  403,
117
104
  );
118
105
  }
@@ -120,18 +107,15 @@ export function createProjectsRouter(
120
107
  const { url } = c.req.valid('json');
121
108
 
122
109
  try {
123
- const result = await projectsService.cloneProject(
124
- registry,
125
- multiProjectRoot,
126
- url,
127
- );
110
+ const result = await directory.clone(url);
128
111
 
129
112
  if (result.projects.length === 0) {
130
113
  return c.json(
131
- {
132
- error: 'All projects in the cloned repository already exist',
133
- skippedDuplicates: result.skippedDuplicates,
134
- },
114
+ errorBody(
115
+ 'conflict',
116
+ 'All projects in the cloned repository already exist',
117
+ { skippedDuplicates: result.skippedDuplicates },
118
+ ),
135
119
  409,
136
120
  );
137
121
  }
@@ -139,12 +123,12 @@ export function createProjectsRouter(
139
123
  return c.json(result, 201);
140
124
  } catch (error) {
141
125
  return c.json(
142
- {
143
- error:
144
- error instanceof Error
145
- ? error.message
146
- : 'Failed to clone repository',
147
- },
126
+ errorBody(
127
+ 'internal',
128
+ error instanceof Error
129
+ ? error.message
130
+ : 'Failed to clone repository',
131
+ ),
148
132
  500,
149
133
  );
150
134
  }
@@ -1,15 +1,5 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2026
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
4
  import { z } from 'zod';
15
5
  import { Validate } from '@cyberismo/data-handler';
@@ -30,6 +20,7 @@ export const createProjectSchema = z.object({
30
20
  }),
31
21
  category: z.string().optional().default(''),
32
22
  description: z.string().optional().default(''),
23
+ skipDefaultHub: z.boolean().optional(),
33
24
  });
34
25
 
35
26
  export const cloneProjectSchema = z.object({
@@ -1,98 +1,28 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2026
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
- import { join } from 'node:path';
15
- import {
16
- CommandManager,
17
- Create,
18
- scanForProjects,
19
- } from '@cyberismo/data-handler';
20
- import type { ProjectRegistry } from '../../project-registry.js';
21
-
22
- export interface CreateProjectParams {
23
- name: string;
24
- prefix: string;
25
- category?: string;
26
- description?: string;
27
- }
28
-
29
- export interface CreateProjectResult {
30
- prefix: string;
31
- name: string;
32
- category?: string;
33
- description?: string;
34
- }
4
+ import { SYSTEM_ACTOR, type ProjectDirectory } from '@cyberismo/data-handler';
5
+ import type { CreateProjectParams } from '@cyberismo/model';
6
+ import { actorOf } from '../../middleware/commandManager.js';
7
+ import type { UserInfo } from '../../types.js';
35
8
 
36
9
  export async function createProject(
37
- registry: ProjectRegistry,
38
- rootPath: string,
10
+ directory: ProjectDirectory,
39
11
  params: CreateProjectParams,
40
- user?: { name: string; email: string } | null,
41
- ): Promise<CreateProjectResult> {
42
- const { name, prefix, category, description } = params;
43
- const projectPath = join(rootPath, prefix);
44
-
45
- const commands = await CommandManager.createProjectWithDefaults(
46
- projectPath,
12
+ user?: UserInfo | null,
13
+ ) {
14
+ const { prefix, failures, warnings } = await directory.create(
47
15
  params,
48
- {
49
- ...registry.options,
50
- gitUser: user ?? undefined,
51
- },
16
+ user ? actorOf(user) : SYSTEM_ACTOR,
17
+ user ? { name: user.name, email: user.email } : undefined,
52
18
  );
53
-
54
- registry.add(prefix, commands);
55
-
19
+ // The project's path stays on the server.
56
20
  return {
57
21
  prefix,
58
- name,
59
- category: category || undefined,
60
- description: description || undefined,
61
- };
62
- }
63
-
64
- export interface CloneProjectResult {
65
- projects: { prefix: string; name: string }[];
66
- skippedDuplicates?: string[];
67
- }
68
-
69
- export async function cloneProject(
70
- registry: ProjectRegistry,
71
- rootPath: string,
72
- url: string,
73
- ): Promise<CloneProjectResult> {
74
- const clonedPath = await Create.cloneProject(url, rootPath);
75
- const scanned = await scanForProjects(clonedPath);
76
-
77
- const registered: { prefix: string; name: string }[] = [];
78
- const skippedDuplicates: string[] = [];
79
-
80
- for (const project of scanned) {
81
- if (registry.has(project.prefix)) {
82
- skippedDuplicates.push(project.prefix);
83
- continue;
84
- }
85
- const commands = new CommandManager(project.path, registry.options);
86
- await commands.initialize();
87
- registry.add(project.prefix, commands);
88
- registered.push({
89
- prefix: project.prefix,
90
- name: project.name,
91
- });
92
- }
93
-
94
- return {
95
- projects: registered,
96
- ...(skippedDuplicates.length > 0 && { skippedDuplicates }),
22
+ name: params.name,
23
+ category: params.category || undefined,
24
+ description: params.description || undefined,
25
+ failures,
26
+ warnings,
97
27
  };
98
28
  }
@@ -1,15 +1,5 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2025
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
4
  import { Hono } from 'hono';
15
5
  import * as reportService from './service.js';
@@ -50,10 +40,10 @@ router.post(
50
40
  requireRole(UserRole.Admin),
51
41
  zValidator('json', createReportSchema),
52
42
  async (c) => {
53
- const commands = c.get('commands');
43
+ const ws = c.get('ws');
54
44
  const { identifier } = c.req.valid('json');
55
45
 
56
- await reportService.createReport(commands, identifier);
46
+ await reportService.createReport(ws, identifier);
57
47
  return c.json({ message: 'Report created successfully' });
58
48
  },
59
49
  );
@@ -1,15 +1,5 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2025
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
4
  import { z } from 'zod';
15
5
  import { identifierSchema } from '../../common/validationSchemas.js';
@@ -1,21 +1,8 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2025
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
- import type { CommandManager } from '@cyberismo/data-handler';
4
+ import type { Workspace } from '@cyberismo/data-handler';
15
5
 
16
- export async function createReport(
17
- commands: CommandManager,
18
- reportName: string,
19
- ) {
20
- await commands.createCmd.createReport(reportName);
6
+ export async function createReport(ws: Workspace, reportName: string) {
7
+ await ws.resources.create(reportName, 'reports', {});
21
8
  }
@@ -1,15 +1,5 @@
1
- /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2025
4
- This program is free software: you can redistribute it and/or modify it under
5
- the terms of the GNU Affero General Public License version 3 as published by
6
- the Free Software Foundation.
7
- This program is distributed in the hope that it will be useful, but WITHOUT
8
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
- FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
- details. You should have received a copy of the GNU Affero General Public
11
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
- */
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
13
3
 
14
4
  import { Hono } from 'hono';
15
5
  import { ssgParams } from 'hono/ssg';
@@ -42,10 +32,10 @@ const router = new Hono();
42
32
  * description: project_path not set or other internal error
43
33
  */
44
34
  router.get('/tree', requireRole(UserRole.Reader), async (c) => {
45
- const commands = c.get('commands');
35
+ const ws = c.get('ws');
46
36
 
47
37
  try {
48
- const tree = await resourceService.buildResourceTree(commands);
38
+ const tree = await resourceService.buildResourceTree(ws);
49
39
  return c.json(tree);
50
40
  } catch (error) {
51
41
  return c.json(
@@ -106,12 +96,12 @@ router.get(
106
96
  requireRole(UserRole.Reader),
107
97
  zValidator('param', validateResourceParamsSchema),
108
98
  async (c) => {
109
- const commands = c.get('commands');
99
+ const ws = c.get('ws');
110
100
  const resourceParams = c.req.valid('param');
111
101
 
112
102
  try {
113
103
  const response: ResourceValidationResponse =
114
- await resourceService.validateResource(commands, resourceParams);
104
+ await resourceService.validateResource(ws, resourceParams);
115
105
  return c.json(response);
116
106
  } catch (error) {
117
107
  if (error instanceof Error && error.message.includes('not found')) {
@@ -127,9 +117,9 @@ router.delete(
127
117
  requireRole(UserRole.Admin),
128
118
  zValidator('param', resourceParamsSchema),
129
119
  async (c) => {
130
- const commands = c.get('commands');
120
+ const ws = c.get('ws');
131
121
  const resourceParams = c.req.valid('param');
132
- await resourceService.deleteResource(commands, resourceParams);
122
+ await resourceService.deleteResource(ws, resourceParams);
133
123
  return c.json({
134
124
  message: 'Resource deleted',
135
125
  });
@@ -186,19 +176,19 @@ router.get(
186
176
  '/:prefix/workflows/:identifier/graph',
187
177
  requireRole(UserRole.Reader),
188
178
  ssgParams(async (c: AppContext) => {
189
- const commands = c.get('commands');
190
- return resourceService.listWorkflowGraphParams(commands);
179
+ const ws = c.get('ws');
180
+ return resourceService.listWorkflowGraphParams(ws);
191
181
  }),
192
182
  zValidator('param', prefixIdentifierParamsSchema),
193
183
  zValidator('query', workflowGraphQuerySchema),
194
184
  async (c) => {
195
- const commands = c.get('commands');
185
+ const ws = c.get('ws');
196
186
  const { prefix, identifier } = c.req.valid('param');
197
187
  const { card } = c.req.valid('query');
198
188
  const workflowName = `${prefix}/workflows/${identifier}`;
199
189
  try {
200
190
  const svg = await resourceService.getWorkflowGraph(
201
- commands,
191
+ ws,
202
192
  workflowName,
203
193
  card,
204
194
  );
@@ -273,13 +263,13 @@ router.post(
273
263
  zValidator('param', prefixIdentifierParamsSchema),
274
264
  zValidator('json', skillPreviewBodySchema),
275
265
  async (c) => {
276
- const commands = c.get('commands');
266
+ const ws = c.get('ws');
277
267
  const { prefix, identifier } = c.req.valid('param');
278
268
  const body = c.req.valid('json');
279
269
  const skillName = `${prefix}/skills/${identifier}`;
280
270
  try {
281
271
  const instructions = await resourceService.previewSkill(
282
- commands,
272
+ ws,
283
273
  skillName,
284
274
  body,
285
275
  );
@@ -300,15 +290,14 @@ router.post(
300
290
  zValidator('param', resourceParamsSchema),
301
291
  zValidator('json', updateOperationBodySchema),
302
292
  async (c) => {
303
- const commands = c.get('commands');
293
+ const ws = c.get('ws');
304
294
  const resourceParams = c.req.valid('param');
305
295
  const { updateKey, operation } = c.req.valid('json');
306
296
 
307
- await resourceService.updateResourceWithOperation(
308
- commands,
309
- resourceParams,
310
- { updateKey, operation },
311
- );
297
+ await resourceService.updateResourceWithOperation(ws, resourceParams, {
298
+ updateKey,
299
+ operation,
300
+ });
312
301
  return c.json({ message: 'Updated' });
313
302
  },
314
303
  );
@@ -1,3 +1,6 @@
1
+ // SPDX-FileCopyrightText: Cyberismo Ltd and contributors
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+
1
4
  import { z } from 'zod';
2
5
  import {
3
6
  identifierSchema,