@cyberismo/backend 0.0.24 → 0.0.26

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 (194) hide show
  1. package/dist/app.d.ts +3 -3
  2. package/dist/app.js +58 -29
  3. package/dist/app.js.map +1 -1
  4. package/dist/domain/cards/lib.js +8 -1
  5. package/dist/domain/cards/lib.js.map +1 -1
  6. package/dist/domain/cards/service.js +6 -1
  7. package/dist/domain/cards/service.js.map +1 -1
  8. package/dist/domain/mcp/index.d.ts +8 -2
  9. package/dist/domain/mcp/index.js +68 -65
  10. package/dist/domain/mcp/index.js.map +1 -1
  11. package/dist/domain/projects/index.d.ts +15 -0
  12. package/dist/domain/projects/index.js +35 -0
  13. package/dist/domain/projects/index.js.map +1 -0
  14. package/dist/domain/resources/service.js +2 -2
  15. package/dist/domain/resources/service.js.map +1 -1
  16. package/dist/export.d.ts +7 -3
  17. package/dist/export.js +32 -16
  18. package/dist/export.js.map +1 -1
  19. package/dist/index.d.ts +5 -4
  20. package/dist/index.js +4 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/main.js +41 -6
  23. package/dist/main.js.map +1 -1
  24. package/dist/middleware/auth.js +10 -0
  25. package/dist/middleware/auth.js.map +1 -1
  26. package/dist/middleware/commandManager.d.ts +12 -0
  27. package/dist/middleware/commandManager.js +33 -7
  28. package/dist/middleware/commandManager.js.map +1 -1
  29. package/dist/project-registry.d.ts +50 -0
  30. package/dist/project-registry.js +77 -0
  31. package/dist/project-registry.js.map +1 -0
  32. package/dist/public/THIRD-PARTY.txt +3482 -4525
  33. package/dist/public/assets/architecture-7EHR7CIX-BhpB9ddF.js +1 -0
  34. package/dist/public/assets/architectureDiagram-3BPJPVTR-BQYiU_EO.js +36 -0
  35. package/dist/public/assets/blockDiagram-GPEHLZMM-DuyikC3X.js +132 -0
  36. package/dist/public/assets/{c4Diagram-AHTNJAMY-CW7AUKhY.js → c4Diagram-AAUBKEIU-BG8_sPEr.js} +6 -6
  37. package/dist/public/assets/channel-BxgB7fMy.js +1 -0
  38. package/dist/public/assets/chunk-2J33WTMH-vNq8B1aw.js +1 -0
  39. package/dist/public/assets/chunk-4BX2VUAB-DFDBsmSo.js +1 -0
  40. package/dist/public/assets/chunk-55IACEB6-DCVUQPWM.js +1 -0
  41. package/dist/public/assets/chunk-727SXJPM-C5ihZMyl.js +206 -0
  42. package/dist/public/assets/chunk-AQP2D5EJ-XGOtp2xP.js +231 -0
  43. package/dist/public/assets/{chunk-FMBD7UC4-DChB7ne2.js → chunk-FMBD7UC4-Da1lR6Mn.js} +1 -1
  44. package/dist/public/assets/chunk-ND2GUHAM-ZOvpvr6K.js +1 -0
  45. package/dist/public/assets/chunk-QZHKN3VN-D33jzvFT.js +1 -0
  46. package/dist/public/assets/classDiagram-4FO5ZUOK-hWfZv7hZ.js +1 -0
  47. package/dist/public/assets/classDiagram-v2-Q7XG4LA2-hWfZv7hZ.js +1 -0
  48. package/dist/public/assets/cose-bilkent-S5V4N54A-DO4z-ix4.js +1 -0
  49. package/dist/public/assets/{cytoscape.esm-DpmcErfs.js → cytoscape.esm-C8YCVR3_.js} +3 -3
  50. package/dist/public/assets/dagre-BM42HDAG-DlpRfzgA.js +4 -0
  51. package/dist/public/assets/dagre-Bx709z4p.js +1 -0
  52. package/dist/public/assets/diagram-2AECGRRQ-D-t_ImBP.js +43 -0
  53. package/dist/public/assets/diagram-5GNKFQAL-CBgUMlXz.js +10 -0
  54. package/dist/public/assets/diagram-KO2AKTUF-XoB2TgQt.js +3 -0
  55. package/dist/public/assets/diagram-LMA3HP47-D1Sbl_eS.js +24 -0
  56. package/dist/public/assets/diagram-OG6HWLK6-DKP4aiIY.js +24 -0
  57. package/dist/public/assets/erDiagram-TEJ5UH35-DYxfHOOK.js +85 -0
  58. package/dist/public/assets/eventmodeling-FCH6USID-cF_1Mq4g.js +1 -0
  59. package/dist/public/assets/flowDiagram-I6XJVG4X-BDHPsmlq.js +162 -0
  60. package/dist/public/assets/ganttDiagram-6RSMTGT7-bGgIvBPN.js +292 -0
  61. package/dist/public/assets/gitGraph-WXDBUCRP-DOFshjLy.js +1 -0
  62. package/dist/public/assets/gitGraphDiagram-PVQCEYII-xSwLjGd-.js +106 -0
  63. package/dist/public/assets/graphlib-B8gBHxth.js +1 -0
  64. package/dist/public/assets/index-DGPv1qic.js +1028 -0
  65. package/dist/public/assets/index-DvHiopvR.css +1 -0
  66. package/dist/public/assets/info-J43DQDTF-BuJNK7zQ.js +1 -0
  67. package/dist/public/assets/infoDiagram-5YYISTIA-BanxuIib.js +2 -0
  68. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-B3HoSFaq.js → ishikawaDiagram-YF4QCWOH-DWNWYxz5.js} +6 -6
  69. package/dist/public/assets/{journeyDiagram-VCZTEJTY-kH30WNF3.js → journeyDiagram-JHISSGLW-I58P5XNg.js} +6 -6
  70. package/dist/public/assets/kanban-definition-UN3LZRKU-CMRWbDti.js +89 -0
  71. package/dist/public/assets/mermaid-parser.core-Dz__fM3g.js +161 -0
  72. package/dist/public/assets/{mindmap-definition-QFDTVHPH-CNWWI4MF.js → mindmap-definition-RKZ34NQL-C47gCcpC.js} +29 -29
  73. package/dist/public/assets/packet-YPE3B663-Cczitw2-.js +1 -0
  74. package/dist/public/assets/pie-LRSECV5Y-rO-Aqx6h.js +1 -0
  75. package/dist/public/assets/pieDiagram-4H26LBE5-VZAxHzjD.js +30 -0
  76. package/dist/public/assets/quadrantDiagram-W4KKPZXB-BY8JORvE.js +7 -0
  77. package/dist/public/assets/radar-GUYGQ44K-SSIGuQjW.js +1 -0
  78. package/dist/public/assets/requirementDiagram-4Y6WPE33-XhNBeFwj.js +84 -0
  79. package/dist/public/assets/sankeyDiagram-5OEKKPKP-H7I2OESy.js +40 -0
  80. package/dist/public/assets/sequenceDiagram-3UESZ5HK-jnTLwq-X.js +162 -0
  81. package/dist/public/assets/stateDiagram-AJRCARHV-BKcf2bdX.js +1 -0
  82. package/dist/public/assets/stateDiagram-v2-BHNVJYJU-wpO0gnsG.js +1 -0
  83. package/dist/public/assets/{timeline-definition-GMOUNBTQ-9MnBod43.js → timeline-definition-PNZ67QCA-BZbaBDRH.js} +8 -8
  84. package/dist/public/assets/treeView-BLDUP644-DkGx4HkR.js +1 -0
  85. package/dist/public/assets/treemap-LRROVOQU-yCyuONQh.js +1 -0
  86. package/dist/public/assets/vennDiagram-CIIHVFJN-nY9Pep3o.js +34 -0
  87. package/dist/public/assets/wardley-L42UT6IY-CXWWFUgk.js +1 -0
  88. package/dist/public/assets/wardleyDiagram-YWT4CUSO-CM0yrkHd.js +78 -0
  89. package/dist/public/assets/{xychartDiagram-5P7HB3ND-BcqyvmmW.js → xychartDiagram-2RQKCTM6-1ZAtqvyQ.js} +6 -6
  90. package/dist/public/config.json +1 -0
  91. package/dist/public/index.html +2 -31
  92. package/package.json +9 -5
  93. package/src/app.ts +71 -31
  94. package/src/domain/cards/lib.ts +13 -1
  95. package/src/domain/cards/service.ts +11 -1
  96. package/src/domain/mcp/index.ts +83 -78
  97. package/src/domain/projects/index.ts +39 -0
  98. package/src/domain/resources/service.ts +2 -0
  99. package/src/export.ts +44 -21
  100. package/src/index.ts +6 -5
  101. package/src/main.ts +46 -6
  102. package/src/middleware/auth.ts +10 -0
  103. package/src/middleware/commandManager.ts +47 -9
  104. package/src/project-registry.ts +110 -0
  105. package/dist/public/assets/arc-DFTvTCxD.js +0 -1
  106. package/dist/public/assets/architecture-YZFGNWBL-DsWVZJri.js +0 -1
  107. package/dist/public/assets/architectureDiagram-Q4EWVU46-AN0fWZIG.js +0 -36
  108. package/dist/public/assets/array-xS8TccZC.js +0 -1
  109. package/dist/public/assets/blockDiagram-DXYQGD6D-RrIidZT3.js +0 -132
  110. package/dist/public/assets/channel-BxffgrNT.js +0 -1
  111. package/dist/public/assets/chunk-2KRD3SAO-D5XH6bj9.js +0 -1
  112. package/dist/public/assets/chunk-336JU56O-CVDEj5x8.js +0 -2
  113. package/dist/public/assets/chunk-426QAEUC-CIWkCWTf.js +0 -1
  114. package/dist/public/assets/chunk-4BX2VUAB-O8dxzEpn.js +0 -1
  115. package/dist/public/assets/chunk-4TB4RGXK-Bt4fWDlh.js +0 -206
  116. package/dist/public/assets/chunk-55IACEB6-R-yr7oHq.js +0 -1
  117. package/dist/public/assets/chunk-5FUZZQ4R-D7L4hZzZ.js +0 -62
  118. package/dist/public/assets/chunk-5PVQY5BW-D46cRkay.js +0 -2
  119. package/dist/public/assets/chunk-67CJDMHE-1fLguPDq.js +0 -1
  120. package/dist/public/assets/chunk-7N4EOEYR-BPbEiVZr.js +0 -1
  121. package/dist/public/assets/chunk-AA7GKIK3-DZOqN73n.js +0 -1
  122. package/dist/public/assets/chunk-BSJP7CBP-BQPMRa-Q.js +0 -1
  123. package/dist/public/assets/chunk-CFjPhJqf.js +0 -1
  124. package/dist/public/assets/chunk-CIAEETIT-CoKBG93U.js +0 -1
  125. package/dist/public/assets/chunk-EDXVE4YY-BxmMvdBY.js +0 -1
  126. package/dist/public/assets/chunk-ENJZ2VHE-BrjxYY_T.js +0 -10
  127. package/dist/public/assets/chunk-FOC6F5B3-DyK4SoM2.js +0 -1
  128. package/dist/public/assets/chunk-ICPOFSXX-6-ABzkfw.js +0 -122
  129. package/dist/public/assets/chunk-K5T4RW27-432kjUXO.js +0 -94
  130. package/dist/public/assets/chunk-KGLVRYIC-ChpiuJys.js +0 -1
  131. package/dist/public/assets/chunk-LIHQZDEY-C65uflEj.js +0 -1
  132. package/dist/public/assets/chunk-ORNJ4GCN-DPvOqXKg.js +0 -1
  133. package/dist/public/assets/chunk-OYMX7WX6-BecMUsrL.js +0 -231
  134. package/dist/public/assets/chunk-QZHKN3VN-d1i_Lm1t.js +0 -1
  135. package/dist/public/assets/chunk-U2HBQHQK-C6yvwOAo.js +0 -70
  136. package/dist/public/assets/chunk-X2U36JSP-D1C3tOED.js +0 -1
  137. package/dist/public/assets/chunk-XPW4576I-BH37LuuF.js +0 -32
  138. package/dist/public/assets/chunk-YZCP3GAM-D83gHdmx.js +0 -1
  139. package/dist/public/assets/chunk-ZZ45TVLE-DrCjtkdu.js +0 -1
  140. package/dist/public/assets/classDiagram-6PBFFD2Q-CRYacdjd.js +0 -1
  141. package/dist/public/assets/classDiagram-v2-HSJHXN6E-qOJXC_A9.js +0 -1
  142. package/dist/public/assets/clone-Bno0nirE.js +0 -1
  143. package/dist/public/assets/colors-DZGTowqM.js +0 -1
  144. package/dist/public/assets/cose-bilkent-S5V4N54A-BdSMsFO7.js +0 -1
  145. package/dist/public/assets/dagre-D0KOcyEK.js +0 -1
  146. package/dist/public/assets/dagre-KV5264BT-C_l1Bck_.js +0 -4
  147. package/dist/public/assets/defaultLocale-B6dPnyNg.js +0 -1
  148. package/dist/public/assets/diagram-5BDNPKRD-D6FxiIv1.js +0 -10
  149. package/dist/public/assets/diagram-G4DWMVQ6-COGBv7tQ.js +0 -24
  150. package/dist/public/assets/diagram-MMDJMWI5-U6E9w334.js +0 -43
  151. package/dist/public/assets/diagram-TYMM5635-Tvfdnlo4.js +0 -24
  152. package/dist/public/assets/dist-C6vvxvVV.js +0 -1
  153. package/dist/public/assets/erDiagram-SMLLAGMA-VcPXkmy9.js +0 -85
  154. package/dist/public/assets/flatten-BKeNCJRx.js +0 -1
  155. package/dist/public/assets/flowDiagram-DWJPFMVM-PRQdlypB.js +0 -162
  156. package/dist/public/assets/ganttDiagram-T4ZO3ILL-CSVaTciZ.js +0 -292
  157. package/dist/public/assets/gitGraph-7Q5UKJZL-C6GVmHC4.js +0 -1
  158. package/dist/public/assets/gitGraphDiagram-UUTBAWPF-DMa-Gcy1.js +0 -106
  159. package/dist/public/assets/graphlib-BYojtb6k.js +0 -1
  160. package/dist/public/assets/identity-nF-8qK2-.js +0 -1
  161. package/dist/public/assets/index-oVbUFngg.js +0 -737
  162. package/dist/public/assets/index-ypsafPwV.css +0 -1
  163. package/dist/public/assets/info-OMHHGYJF-CjsmQeYR.js +0 -1
  164. package/dist/public/assets/infoDiagram-42DDH7IO-COL_Na4w.js +0 -2
  165. package/dist/public/assets/init-B9nbfZCT.js +0 -1
  166. package/dist/public/assets/isEmpty-Di-NpihJ.js +0 -1
  167. package/dist/public/assets/kanban-definition-6JOO6SKY-RdjEsejt.js +0 -89
  168. package/dist/public/assets/line-DrKJYWGi.js +0 -1
  169. package/dist/public/assets/linear-C8MDrvxz.js +0 -1
  170. package/dist/public/assets/mermaid-parser.core-BeZK8g2G.js +0 -4
  171. package/dist/public/assets/ordinal-BXaEVJbT.js +0 -1
  172. package/dist/public/assets/packet-4T2RLAQJ-Dq0Z9G3r.js +0 -1
  173. package/dist/public/assets/path-C7Bv0Qdk.js +0 -1
  174. package/dist/public/assets/pie-ZZUOXDRM-Coeb8Atk.js +0 -1
  175. package/dist/public/assets/pieDiagram-DEJITSTG-CrDW-30P.js +0 -30
  176. package/dist/public/assets/quadrantDiagram-34T5L4WZ-BoDA5WQ-.js +0 -7
  177. package/dist/public/assets/radar-PYXPWWZC-BF2NN2TG.js +0 -1
  178. package/dist/public/assets/range-DuD7Go1R.js +0 -1
  179. package/dist/public/assets/reduce-5tLTMRkg.js +0 -1
  180. package/dist/public/assets/requirementDiagram-MS252O5E-BnG7epLH.js +0 -84
  181. package/dist/public/assets/rough.esm-DE7XMpOC.js +0 -1
  182. package/dist/public/assets/sankeyDiagram-XADWPNL6-oyTFoxhB.js +0 -10
  183. package/dist/public/assets/sequenceDiagram-FGHM5R23-hwG2jT_2.js +0 -157
  184. package/dist/public/assets/src-ps-3oTnY.js +0 -1
  185. package/dist/public/assets/stateDiagram-FHFEXIEX-BiYqw63j.js +0 -1
  186. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-CggSrcDh.js +0 -1
  187. package/dist/public/assets/time-Bgnk7ODM.js +0 -1
  188. package/dist/public/assets/treeView-SZITEDCU-IRdgIoRV.js +0 -1
  189. package/dist/public/assets/treemap-DK8fitek.js +0 -1
  190. package/dist/public/assets/treemap-W4RFUUIX-C-JBwyWW.js +0 -1
  191. package/dist/public/assets/vennDiagram-DHZGUBPP-sEA6JNL-.js +0 -34
  192. package/dist/public/assets/wardley-RL74JXVD-DdU04Q7E.js +0 -1
  193. package/dist/public/assets/wardleyDiagram-NUSXRM2D-Dws321pY.js +0 -20
  194. /package/dist/public/assets/{katex-Bfn1OZEl.js → katex-C4eR7coU.js} +0 -0
package/dist/app.d.ts CHANGED
@@ -11,14 +11,14 @@
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
13
  import { Hono } from 'hono';
14
- import type { CommandManager } from '@cyberismo/data-handler';
15
14
  import type { AppVars, TreeOptions } from './types.js';
16
15
  import type { AuthProvider } from './auth/types.js';
16
+ import type { ProjectRegistry } from './project-registry.js';
17
17
  /**
18
18
  * Create the Hono app for the backend
19
19
  * @param authProvider - Authentication provider
20
- * @param commands - CommandManager instance for the project
20
+ * @param registry - ProjectRegistry holding all project CommandManagers
21
21
  */
22
- export declare function createApp(authProvider: AuthProvider, commands: CommandManager, opts?: TreeOptions): Hono<{
22
+ export declare function createApp(authProvider: AuthProvider, registry: ProjectRegistry, opts?: TreeOptions, exportMode?: boolean): Hono<{
23
23
  Variables: AppVars;
24
24
  }, import("hono/types").BlankSchema, "/">;
package/dist/app.js CHANGED
@@ -13,7 +13,7 @@
13
13
  import { Hono } from 'hono';
14
14
  import { staticFrontendDirRelative } from './utils.js';
15
15
  import { serveStatic } from '@hono/node-server/serve-static';
16
- import { attachCommandManager } from './middleware/commandManager.js';
16
+ import { attachProjectRegistry } from './middleware/commandManager.js';
17
17
  import calculationsRouter from './domain/calculations/index.js';
18
18
  import cardsRouter from './domain/cards/index.js';
19
19
  import cardTypesRouter from './domain/cardTypes/index.js';
@@ -34,53 +34,82 @@ import logicProgramsRouter from './domain/logicPrograms/index.js';
34
34
  import { isSSGContext } from 'hono/ssg';
35
35
  import treeMiddleware from './middleware/tree.js';
36
36
  import projectRouter from './domain/project/index.js';
37
- import mcpRouter from './domain/mcp/index.js';
37
+ import { createMcpRouter } from './domain/mcp/index.js';
38
38
  import { createAuthRouter } from './domain/auth/index.js';
39
39
  import { createAuthMiddleware } from './middleware/auth.js';
40
+ import { createProjectsRouter } from './domain/projects/index.js';
41
+ import { simpleMcpAuthRouter } from '@hono/mcp';
42
+ /**
43
+ * Create a Hono sub-app with all project-scoped routes.
44
+ */
45
+ function createProjectScopedRoutes(middleware) {
46
+ const projectScoped = new Hono();
47
+ projectScoped.use('*', middleware);
48
+ projectScoped.route('/calculations', calculationsRouter);
49
+ projectScoped.route('/cards', cardsRouter);
50
+ projectScoped.route('/cardTypes', cardTypesRouter);
51
+ projectScoped.route('/connectors', connectorsRouter);
52
+ projectScoped.route('/fieldTypes', fieldTypesRouter);
53
+ projectScoped.route('/graphModels', graphModelsRouter);
54
+ projectScoped.route('/graphViews', graphViewsRouter);
55
+ projectScoped.route('/linkTypes', linkTypesRouter);
56
+ projectScoped.route('/reports', reportsRouter);
57
+ projectScoped.route('/templates', templatesRouter);
58
+ projectScoped.route('/tree', treeRouter);
59
+ projectScoped.route('/workflows', workflowsRouter);
60
+ projectScoped.route('/resources', resourcesRouter);
61
+ projectScoped.route('/logicPrograms', logicProgramsRouter);
62
+ projectScoped.route('/labels', labelsRouter);
63
+ projectScoped.route('/project', projectRouter);
64
+ return projectScoped;
65
+ }
40
66
  /**
41
67
  * Create the Hono app for the backend
42
68
  * @param authProvider - Authentication provider
43
- * @param commands - CommandManager instance for the project
69
+ * @param registry - ProjectRegistry holding all project CommandManagers
44
70
  */
45
- export function createApp(authProvider, commands, opts) {
71
+ export function createApp(authProvider, registry, opts, exportMode = false) {
46
72
  const app = new Hono();
73
+ // Public — no auth middleware (MCP clients call this before they have a token)
74
+ // RFC 9728 resource metadata & OAuth authorization server metadata via @hono/mcp
75
+ const issuer = process.env.OIDC_ISSUER;
76
+ if (issuer) {
77
+ const origin = new URL(issuer).origin;
78
+ app.route('/', simpleMcpAuthRouter({
79
+ issuer,
80
+ resourceServerUrl: new URL(`${origin}/mcp`),
81
+ }));
82
+ }
47
83
  app.use(treeMiddleware(opts));
48
84
  // Apply authentication middleware to all API and MCP routes
49
85
  app.use('/api/*', createAuthMiddleware(authProvider));
50
86
  app.use('/mcp', createAuthMiddleware(authProvider));
51
87
  app.use('/mcp/*', createAuthMiddleware(authProvider));
52
- // Attach CommandManager to API and MCP routes
53
- const commandManagerMiddleware = attachCommandManager(commands);
54
- app.use('/api/*', commandManagerMiddleware);
55
- app.use('/mcp', commandManagerMiddleware);
56
- app.use('/mcp/*', commandManagerMiddleware);
57
- // Wire up routes
88
+ // Global routes (no project-specific CommandManager needed)
58
89
  app.route('/api/auth', createAuthRouter());
59
- // Mount routers
60
- app.route('/api/calculations', calculationsRouter);
61
- app.route('/api/cards', cardsRouter);
62
- app.route('/api/cardTypes', cardTypesRouter);
63
- app.route('/api/connectors', connectorsRouter);
64
- app.route('/api/fieldTypes', fieldTypesRouter);
65
- app.route('/api/graphModels', graphModelsRouter);
66
- app.route('/api/graphViews', graphViewsRouter);
67
- app.route('/api/linkTypes', linkTypesRouter);
68
- app.route('/api/reports', reportsRouter);
69
- app.route('/api/templates', templatesRouter);
70
- app.route('/api/tree', treeRouter);
71
- app.route('/api/workflows', workflowsRouter);
72
- app.route('/api/resources', resourcesRouter);
73
- app.route('/api/logicPrograms', logicProgramsRouter);
74
- app.route('/api/labels', labelsRouter);
75
- app.route('/api/project', projectRouter);
90
+ app.route('/api/projects', createProjectsRouter(registry));
91
+ if (exportMode) {
92
+ // Export mode: mount at each concrete prefix so SSG sees
93
+ // static routes instead of dynamic :prefix patterns it would skip.
94
+ for (const { prefix } of registry.list()) {
95
+ const scoped = createProjectScopedRoutes(attachProjectRegistry(registry, prefix));
96
+ app.route(`/api/projects/${prefix}`, scoped);
97
+ }
98
+ }
99
+ else {
100
+ // Normal mode: dynamic :prefix param
101
+ const scoped = createProjectScopedRoutes(attachProjectRegistry(registry));
102
+ app.route('/api/projects/:prefix', scoped);
103
+ }
76
104
  // MCP endpoint for AI assistant integration
77
- app.route('/mcp', mcpRouter);
105
+ app.route('/mcp', createMcpRouter(registry));
78
106
  app.use('*', serveStatic({
79
107
  root: staticFrontendDirRelative,
80
108
  }));
81
109
  // serve index.html for all other routes
82
110
  app.notFound(async (c) => {
83
- if (c.req.path.startsWith('/api')) {
111
+ if (c.req.path.startsWith('/api') ||
112
+ c.req.path.startsWith('/.well-known')) {
84
113
  return c.text('Not Found', 404);
85
114
  }
86
115
  const file = await readFile(path.join(import.meta.dirname, 'public', 'index.html'));
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  import Processor from '@asciidoctor/core';
14
14
  import { evaluateMacros } from '@cyberismo/data-handler';
15
15
  import { preprocessMermaidBlocksForHtml } from '@cyberismo/data-handler/utils/mermaid-renderer';
16
+ import { rewriteAsciidocCardXrefs } from '@cyberismo/data-handler/utils/asciidoc-xref';
16
17
  import { getCardQueryResult } from '../../export.js';
17
18
  export async function getCardDetails(commands, key, staticMode, raw) {
18
19
  return commands.consistent(async () => {
@@ -40,11 +41,15 @@ export async function getCardDetails(commands, key, staticMode, raw) {
40
41
  }
41
42
  // Convert [mermaid] AsciiDoc blocks to passthrough HTML before asciidoctor processes them
42
43
  asciidocContent = preprocessMermaidBlocksForHtml(asciidocContent);
44
+ // Rewrite native AsciiDoc xrefs that target other cards into
45
+ // /projects/<prefix>/cards/<key> links.
46
+ asciidocContent = rewriteAsciidocCardXrefs(asciidocContent, commands.project, staticMode ? 'staticSite' : 'inject');
47
+ const projectPrefix = commands.project.projectPrefix;
43
48
  const htmlContent = Processor()
44
49
  .convert(asciidocContent, {
45
50
  safe: 'safe',
46
51
  attributes: {
47
- imagesdir: `/api/cards/${key}/a`,
52
+ imagesdir: `/api/projects/${projectPrefix}/cards/${key}/a`,
48
53
  icons: 'font',
49
54
  },
50
55
  })
@@ -99,6 +104,7 @@ export async function getCardDetails(commands, key, staticMode, raw) {
99
104
  rawContent: cardDetailsResponse.content || '',
100
105
  parsedContent: htmlContent,
101
106
  attachments: cardDetailsResponse.attachments,
107
+ path: cardDetailsResponse.path,
102
108
  },
103
109
  };
104
110
  }
@@ -117,6 +123,7 @@ export async function getCardDetails(commands, key, staticMode, raw) {
117
123
  rawContent: cardDetailsResponse.content || '',
118
124
  parsedContent: htmlContent,
119
125
  attachments: cardDetailsResponse.attachments,
126
+ path: cardDetailsResponse.path,
120
127
  },
121
128
  };
122
129
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/domain/cards/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/domain/cards/lib.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  import Processor from '@asciidoctor/core';
14
14
  import { evaluateMacros } from '@cyberismo/data-handler';
15
15
  import { preprocessMermaidBlocksForHtml } from '@cyberismo/data-handler/utils/mermaid-renderer';
16
+ import { rewriteAsciidocCardXrefs } from '@cyberismo/data-handler/utils/asciidoc-xref';
16
17
  import { allCards } from './lib.js';
17
18
  export async function getProjectInfo(commands) {
18
19
  return commands.consistent(async () => {
@@ -114,12 +115,16 @@ export async function parseContent(commands, key, content) {
114
115
  }
115
116
  // Convert [mermaid] AsciiDoc blocks to passthrough HTML before asciidoctor processes them
116
117
  asciidocContent = preprocessMermaidBlocksForHtml(asciidocContent);
118
+ // Rewrite native AsciiDoc xrefs that target other cards into
119
+ // /projects/<prefix>/cards/<key> links.
120
+ asciidocContent = rewriteAsciidocCardXrefs(asciidocContent, commands.project, 'inject');
117
121
  const processor = Processor();
122
+ const projectPrefix = commands.project.projectPrefix;
118
123
  const parsedContent = processor
119
124
  .convert(asciidocContent, {
120
125
  safe: 'safe',
121
126
  attributes: {
122
- imagesdir: `/api/cards/${key}/a`,
127
+ imagesdir: `/api/projects/${projectPrefix}/cards/${key}/a`,
123
128
  icons: 'font',
124
129
  },
125
130
  })
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/cards/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/cards/service.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,11 @@
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
13
  import { Hono } from 'hono';
14
- declare const router: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
15
- export default router;
14
+ import { type ProjectProvider } from '@cyberismo/mcp';
15
+ import { type AppVars } from '../../types.js';
16
+ /**
17
+ * Create an MCP HTTP router that serves all projects via the given provider.
18
+ */
19
+ export declare function createMcpRouter(provider: ProjectProvider): Hono<{
20
+ Variables: AppVars;
21
+ }>;
@@ -13,8 +13,11 @@
13
13
  import { Hono } from 'hono';
14
14
  import { randomUUID } from 'node:crypto';
15
15
  import { WebStandardStreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';
16
- import { createMcpServer } from '@cyberismo/mcp/server';
16
+ import { createMcpServer } from '@cyberismo/mcp';
17
+ import { requireRole } from '../../middleware/auth.js';
18
+ import { UserRole } from '../../types.js';
17
19
  const MAX_SESSIONS = 100;
20
+ const MAX_SESSIONS_PER_USER = 5;
18
21
  const SESSION_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
19
22
  const CLEANUP_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
20
23
  const sessions = new Map();
@@ -54,74 +57,74 @@ const cleanupInterval = setInterval(() => {
54
57
  }
55
58
  }, CLEANUP_INTERVAL_MS);
56
59
  cleanupInterval.unref();
57
- const router = new Hono();
58
60
  /**
59
- * MCP HTTP endpoint handler.
60
- * Supports GET (SSE streaming), POST (messages), and DELETE (session cleanup).
61
+ * Create an MCP HTTP router that serves all projects via the given provider.
61
62
  */
62
- router.all('/', async (c) => {
63
- const commands = c.get('commands');
64
- const sessionId = c.req.header('mcp-session-id');
65
- // Handle DELETE before routing to existing session so it always runs cleanup
66
- if (c.req.method === 'DELETE') {
63
+ export function createMcpRouter(provider) {
64
+ const router = new Hono();
65
+ /**
66
+ * MCP HTTP endpoint handler.
67
+ * Supports POST (messages) and DELETE (session cleanup).
68
+ */
69
+ router.all('/', requireRole(UserRole.Editor), async (c) => {
70
+ const sessionId = c.req.header('mcp-session-id');
71
+ // Handle DELETE before routing to existing session so it always runs cleanup
72
+ if (c.req.method === 'DELETE') {
73
+ if (sessionId) {
74
+ await destroySession(sessionId);
75
+ }
76
+ return c.json({ message: 'Session closed' });
77
+ }
78
+ // Handle existing session
79
+ if (sessionId && sessions.has(sessionId)) {
80
+ const session = sessions.get(sessionId);
81
+ session.lastActivity = Date.now();
82
+ const response = await session.transport.handleRequest(c.req.raw);
83
+ return response;
84
+ }
85
+ // Reject requests with an unknown session ID (e.g. after server restart)
67
86
  if (sessionId) {
68
- await destroySession(sessionId);
87
+ return c.json({ error: 'Unknown session ID' }, 404);
69
88
  }
70
- return c.json({ message: 'Session closed' });
71
- }
72
- // Handle existing session
73
- if (sessionId && sessions.has(sessionId)) {
74
- const session = sessions.get(sessionId);
75
- session.lastActivity = Date.now();
76
- const response = await session.transport.handleRequest(c.req.raw);
89
+ // Only allow POST to create new sessions (initialize)
90
+ if (c.req.method !== 'POST') {
91
+ return c.json({ error: 'Method not allowed. Use POST to initialize a session.' }, 405);
92
+ }
93
+ // Reject new sessions when at capacity
94
+ if (sessions.size >= MAX_SESSIONS) {
95
+ return c.json({ error: 'Too many active sessions' }, 503);
96
+ }
97
+ const user = c.get('user');
98
+ const userSessionCount = [...sessions.values()].filter((s) => s.userId === user.id).length;
99
+ if (userSessionCount >= MAX_SESSIONS_PER_USER) {
100
+ return c.json({ error: 'Too many active sessions for this user' }, 503);
101
+ }
102
+ // Create new session for initialization
103
+ const transport = new WebStandardStreamableHTTPServerTransport({
104
+ sessionIdGenerator: () => randomUUID(),
105
+ onsessioninitialized: (newSessionId) => {
106
+ sessions.set(newSessionId, {
107
+ transport,
108
+ server,
109
+ lastActivity: Date.now(),
110
+ userId: user.id,
111
+ });
112
+ },
113
+ onsessionclosed: (closedSessionId) => {
114
+ void destroySession(closedSessionId, true);
115
+ },
116
+ });
117
+ transport.onclose = () => {
118
+ const sid = transport.sessionId;
119
+ if (sid) {
120
+ void destroySession(sid, true);
121
+ }
122
+ };
123
+ const server = createMcpServer(provider);
124
+ await server.connect(transport);
125
+ const response = await transport.handleRequest(c.req.raw);
77
126
  return response;
78
- }
79
- // Only allow POST to create new sessions (initialize)
80
- if (c.req.method !== 'POST') {
81
- return c.json({ error: 'Method not allowed. Use POST to initialize a session.' }, 405);
82
- }
83
- // Reject new sessions when at capacity
84
- if (sessions.size >= MAX_SESSIONS) {
85
- return c.json({ error: 'Too many active sessions' }, 503);
86
- }
87
- // Create new session for initialization
88
- const transport = new WebStandardStreamableHTTPServerTransport({
89
- sessionIdGenerator: () => randomUUID(),
90
- onsessioninitialized: (newSessionId) => {
91
- sessions.set(newSessionId, {
92
- transport,
93
- server,
94
- commands,
95
- lastActivity: Date.now(),
96
- });
97
- },
98
- onsessionclosed: (closedSessionId) => {
99
- void destroySession(closedSessionId, true);
100
- },
101
127
  });
102
- transport.onclose = () => {
103
- const sid = transport.sessionId;
104
- if (sid) {
105
- void destroySession(sid, true);
106
- }
107
- };
108
- const server = createMcpServer(commands);
109
- await server.connect(transport);
110
- const response = await transport.handleRequest(c.req.raw);
111
- return response;
112
- });
113
- /**
114
- * SSE endpoint for server-to-client messages
115
- */
116
- router.get('/sse', async (c) => {
117
- const sessionId = c.req.header('mcp-session-id');
118
- if (!sessionId || !sessions.has(sessionId)) {
119
- return c.json({ error: 'Invalid or missing session ID' }, 400);
120
- }
121
- const session = sessions.get(sessionId);
122
- session.lastActivity = Date.now();
123
- const response = await session.transport.handleRequest(c.req.raw);
124
- return response;
125
- });
126
- export default router;
128
+ return router;
129
+ }
127
130
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
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
+ */
13
+ import { Hono } from 'hono';
14
+ import type { ProjectRegistry } from '../../project-registry.js';
15
+ export declare function createProjectsRouter(registry: ProjectRegistry): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
@@ -0,0 +1,35 @@
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
+ */
13
+ import { Hono } from 'hono';
14
+ import { requireRole } from '../../middleware/auth.js';
15
+ import { UserRole } from '../../types.js';
16
+ export function createProjectsRouter(registry) {
17
+ const router = new Hono();
18
+ /**
19
+ * @swagger
20
+ * /api/projects:
21
+ * get:
22
+ * summary: List available projects
23
+ * description: Returns a list of all available projects
24
+ * responses:
25
+ * 200:
26
+ * description: List of projects
27
+ * 401:
28
+ * description: Unauthorized
29
+ */
30
+ router.get('/', requireRole(UserRole.Reader), (c) => {
31
+ return c.json(registry.list());
32
+ });
33
+ return router;
34
+ }
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/projects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC5D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAClD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -232,7 +232,7 @@ async function processTemplates(commands, projectPrefix) {
232
232
  const { prefix } = parseResourcePrefix(template);
233
233
  if (prefix === projectPrefix) {
234
234
  if (!rootResources.find((resource) => resource.name === template)) {
235
- rootResources.push(await createResourceNode(commands, 'templates', template, projectPrefix));
235
+ rootResources.push(await createResourceNode(commands, 'templates', template, projectPrefix, []));
236
236
  }
237
237
  }
238
238
  else {
@@ -240,7 +240,7 @@ async function processTemplates(commands, projectPrefix) {
240
240
  moduleResources[prefix] = [];
241
241
  }
242
242
  if (!moduleResources[prefix].find((resource) => resource.name === template)) {
243
- moduleResources[prefix].push(await createResourceNode(commands, 'templates', template, projectPrefix));
243
+ moduleResources[prefix].push(await createResourceNode(commands, 'templates', template, projectPrefix, []));
244
244
  }
245
245
  }
246
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/resources/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/resources/service.ts"],"names":[],"mappings":"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"}