@cyberismo/backend 0.0.23 → 0.0.25

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 (126) 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/index.js +63 -1
  5. package/dist/domain/cards/index.js.map +1 -1
  6. package/dist/domain/cards/lib.js +7 -1
  7. package/dist/domain/cards/lib.js.map +1 -1
  8. package/dist/domain/cards/schema.d.ts +8 -0
  9. package/dist/domain/cards/schema.js +7 -0
  10. package/dist/domain/cards/schema.js.map +1 -1
  11. package/dist/domain/cards/service.d.ts +2 -0
  12. package/dist/domain/cards/service.js +18 -1
  13. package/dist/domain/cards/service.js.map +1 -1
  14. package/dist/domain/mcp/index.d.ts +8 -2
  15. package/dist/domain/mcp/index.js +68 -65
  16. package/dist/domain/mcp/index.js.map +1 -1
  17. package/dist/domain/project/service.js +1 -1
  18. package/dist/domain/project/service.js.map +1 -1
  19. package/dist/domain/projects/index.d.ts +15 -0
  20. package/dist/domain/projects/index.js +35 -0
  21. package/dist/domain/projects/index.js.map +1 -0
  22. package/dist/domain/resources/index.js +63 -1
  23. package/dist/domain/resources/index.js.map +1 -1
  24. package/dist/domain/resources/schema.d.ts +9 -0
  25. package/dist/domain/resources/schema.js +8 -1
  26. package/dist/domain/resources/schema.js.map +1 -1
  27. package/dist/domain/resources/service.d.ts +12 -0
  28. package/dist/domain/resources/service.js +49 -6
  29. package/dist/domain/resources/service.js.map +1 -1
  30. package/dist/export.d.ts +7 -3
  31. package/dist/export.js +32 -16
  32. package/dist/export.js.map +1 -1
  33. package/dist/index.d.ts +5 -4
  34. package/dist/index.js +4 -3
  35. package/dist/index.js.map +1 -1
  36. package/dist/main.js +41 -6
  37. package/dist/main.js.map +1 -1
  38. package/dist/middleware/auth.js +10 -0
  39. package/dist/middleware/auth.js.map +1 -1
  40. package/dist/middleware/commandManager.d.ts +12 -0
  41. package/dist/middleware/commandManager.js +33 -7
  42. package/dist/middleware/commandManager.js.map +1 -1
  43. package/dist/project-registry.d.ts +50 -0
  44. package/dist/project-registry.js +77 -0
  45. package/dist/project-registry.js.map +1 -0
  46. package/dist/public/THIRD-PARTY.txt +2899 -1974
  47. package/dist/public/assets/architecture-7EHR7CIX-BhpB9ddF.js +1 -0
  48. package/dist/public/assets/architectureDiagram-3BPJPVTR-BQYiU_EO.js +36 -0
  49. package/dist/public/assets/blockDiagram-GPEHLZMM-DuyikC3X.js +132 -0
  50. package/dist/public/assets/c4Diagram-AAUBKEIU-BG8_sPEr.js +10 -0
  51. package/dist/public/assets/channel-BxgB7fMy.js +1 -0
  52. package/dist/public/assets/chunk-2J33WTMH-vNq8B1aw.js +1 -0
  53. package/dist/public/assets/chunk-4BX2VUAB-DFDBsmSo.js +1 -0
  54. package/dist/public/assets/chunk-55IACEB6-DCVUQPWM.js +1 -0
  55. package/dist/public/assets/chunk-727SXJPM-C5ihZMyl.js +206 -0
  56. package/dist/public/assets/chunk-AQP2D5EJ-XGOtp2xP.js +231 -0
  57. package/dist/public/assets/chunk-FMBD7UC4-Da1lR6Mn.js +15 -0
  58. package/dist/public/assets/chunk-ND2GUHAM-ZOvpvr6K.js +1 -0
  59. package/dist/public/assets/chunk-QZHKN3VN-D33jzvFT.js +1 -0
  60. package/dist/public/assets/classDiagram-4FO5ZUOK-hWfZv7hZ.js +1 -0
  61. package/dist/public/assets/classDiagram-v2-Q7XG4LA2-hWfZv7hZ.js +1 -0
  62. package/dist/public/assets/cose-bilkent-S5V4N54A-DO4z-ix4.js +1 -0
  63. package/dist/public/assets/cytoscape.esm-C8YCVR3_.js +321 -0
  64. package/dist/public/assets/dagre-BM42HDAG-DlpRfzgA.js +4 -0
  65. package/dist/public/assets/dagre-Bx709z4p.js +1 -0
  66. package/dist/public/assets/diagram-2AECGRRQ-D-t_ImBP.js +43 -0
  67. package/dist/public/assets/diagram-5GNKFQAL-CBgUMlXz.js +10 -0
  68. package/dist/public/assets/diagram-KO2AKTUF-XoB2TgQt.js +3 -0
  69. package/dist/public/assets/diagram-LMA3HP47-D1Sbl_eS.js +24 -0
  70. package/dist/public/assets/diagram-OG6HWLK6-DKP4aiIY.js +24 -0
  71. package/dist/public/assets/erDiagram-TEJ5UH35-DYxfHOOK.js +85 -0
  72. package/dist/public/assets/eventmodeling-FCH6USID-cF_1Mq4g.js +1 -0
  73. package/dist/public/assets/flowDiagram-I6XJVG4X-BDHPsmlq.js +162 -0
  74. package/dist/public/assets/ganttDiagram-6RSMTGT7-bGgIvBPN.js +292 -0
  75. package/dist/public/assets/gitGraph-WXDBUCRP-DOFshjLy.js +1 -0
  76. package/dist/public/assets/gitGraphDiagram-PVQCEYII-xSwLjGd-.js +106 -0
  77. package/dist/public/assets/graphlib-B8gBHxth.js +1 -0
  78. package/dist/public/assets/index-DGPv1qic.js +1028 -0
  79. package/dist/public/assets/index-DvHiopvR.css +1 -0
  80. package/dist/public/assets/info-J43DQDTF-BuJNK7zQ.js +1 -0
  81. package/dist/public/assets/infoDiagram-5YYISTIA-BanxuIib.js +2 -0
  82. package/dist/public/assets/ishikawaDiagram-YF4QCWOH-DWNWYxz5.js +70 -0
  83. package/dist/public/assets/journeyDiagram-JHISSGLW-I58P5XNg.js +139 -0
  84. package/dist/public/assets/kanban-definition-UN3LZRKU-CMRWbDti.js +89 -0
  85. package/dist/public/assets/katex-C4eR7coU.js +257 -0
  86. package/dist/public/assets/mermaid-parser.core-Dz__fM3g.js +161 -0
  87. package/dist/public/assets/mindmap-definition-RKZ34NQL-C47gCcpC.js +96 -0
  88. package/dist/public/assets/packet-YPE3B663-Cczitw2-.js +1 -0
  89. package/dist/public/assets/pie-LRSECV5Y-rO-Aqx6h.js +1 -0
  90. package/dist/public/assets/pieDiagram-4H26LBE5-VZAxHzjD.js +30 -0
  91. package/dist/public/assets/quadrantDiagram-W4KKPZXB-BY8JORvE.js +7 -0
  92. package/dist/public/assets/radar-GUYGQ44K-SSIGuQjW.js +1 -0
  93. package/dist/public/assets/requirementDiagram-4Y6WPE33-XhNBeFwj.js +84 -0
  94. package/dist/public/assets/sankeyDiagram-5OEKKPKP-H7I2OESy.js +40 -0
  95. package/dist/public/assets/sequenceDiagram-3UESZ5HK-jnTLwq-X.js +162 -0
  96. package/dist/public/assets/stateDiagram-AJRCARHV-BKcf2bdX.js +1 -0
  97. package/dist/public/assets/stateDiagram-v2-BHNVJYJU-wpO0gnsG.js +1 -0
  98. package/dist/public/assets/timeline-definition-PNZ67QCA-BZbaBDRH.js +120 -0
  99. package/dist/public/assets/treeView-BLDUP644-DkGx4HkR.js +1 -0
  100. package/dist/public/assets/treemap-LRROVOQU-yCyuONQh.js +1 -0
  101. package/dist/public/assets/vennDiagram-CIIHVFJN-nY9Pep3o.js +34 -0
  102. package/dist/public/assets/wardley-L42UT6IY-CXWWFUgk.js +1 -0
  103. package/dist/public/assets/wardleyDiagram-YWT4CUSO-CM0yrkHd.js +78 -0
  104. package/dist/public/assets/xychartDiagram-2RQKCTM6-1ZAtqvyQ.js +7 -0
  105. package/dist/public/config.json +1 -0
  106. package/dist/public/index.html +2 -2
  107. package/package.json +11 -7
  108. package/src/app.ts +71 -31
  109. package/src/domain/cards/index.ts +73 -0
  110. package/src/domain/cards/lib.ts +8 -1
  111. package/src/domain/cards/schema.ts +9 -0
  112. package/src/domain/cards/service.ts +28 -2
  113. package/src/domain/mcp/index.ts +83 -78
  114. package/src/domain/project/service.ts +1 -1
  115. package/src/domain/projects/index.ts +39 -0
  116. package/src/domain/resources/index.ts +74 -0
  117. package/src/domain/resources/schema.ts +14 -0
  118. package/src/domain/resources/service.ts +52 -4
  119. package/src/export.ts +44 -21
  120. package/src/index.ts +6 -5
  121. package/src/main.ts +46 -6
  122. package/src/middleware/auth.ts +10 -0
  123. package/src/middleware/commandManager.ts +47 -9
  124. package/src/project-registry.ts +110 -0
  125. package/dist/public/assets/index-Cdn_jRWy.js +0 -720
  126. package/dist/public/assets/index-ypsafPwV.css +0 -1
@@ -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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"}
@@ -29,7 +29,7 @@ export async function getProject(commands) {
29
29
  return commands.consistent(async () => {
30
30
  const project = await commands.showCmd.showProject();
31
31
  const modules = await commands.showCmd.showModules();
32
- const moduleDetails = await Promise.all(modules.map((mod) => toModuleInfo(commands, mod)));
32
+ const moduleDetails = await Promise.all(modules.map((mod) => toModuleInfo(commands, mod.name)));
33
33
  return {
34
34
  name: project.name,
35
35
  cardKeyPrefix: project.prefix,
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/project/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAuBF,KAAK,UAAU,YAAY,CACzB,QAAwB,EACxB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,UAAU;SAChD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,UAAU;SAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB;IAExB,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAClD,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,OAAO,EAAE,aAAa;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAwB,EACxB,OAA6B;IAE7B,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC/B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAE9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAwB,EAAE,MAAc;IACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAwB;IAC7D,MAAM,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAwB,EAAE,MAAc;IACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwB;IAExB,OAAO,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/project/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAuBF,KAAK,UAAU,YAAY,CACzB,QAAwB,EACxB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,UAAU;SAChD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,UAAU;SAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB;IAExB,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,OAAO,EAAE,aAAa;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAwB,EACxB,OAA6B;IAE7B,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC/B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAE9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAwB,EAAE,MAAc;IACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAwB;IAC7D,MAAM,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAwB,EAAE,MAAc;IACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwB;IAExB,OAAO,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
@@ -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"}
@@ -15,7 +15,7 @@ import * as resourceService from './service.js';
15
15
  import { UserRole } from '../../types.js';
16
16
  import { resourceParamsSchema } from '../../common/validationSchemas.js';
17
17
  import { zValidator } from '../../middleware/zvalidator.js';
18
- import { validateResourceParamsSchema, updateOperationBodySchema, } from './schema.js';
18
+ import { validateResourceParamsSchema, updateOperationBodySchema, workflowGraphParamsSchema, workflowGraphQuerySchema, } from './schema.js';
19
19
  import { requireRole } from '../../middleware/auth.js';
20
20
  const router = new Hono();
21
21
  /**
@@ -108,6 +108,68 @@ router.delete('/:prefix/:type/:identifier', requireRole(UserRole.Admin), zValida
108
108
  message: 'Resource deleted',
109
109
  });
110
110
  });
111
+ /**
112
+ * @swagger
113
+ * /api/resources/{prefix}/workflows/{identifier}/graph:
114
+ * get:
115
+ * summary: Render the state-machine graph for a workflow
116
+ * description: Returns a base64-encoded sanitized SVG of the workflow's
117
+ * state-machine diagram, rendered with the built-in
118
+ * workflow graph model and view. When the optional `card`
119
+ * query parameter is provided, the diagram highlights
120
+ * that card's current workflowState.
121
+ * parameters:
122
+ * - in: path
123
+ * name: prefix
124
+ * required: true
125
+ * schema:
126
+ * type: string
127
+ * - in: path
128
+ * name: identifier
129
+ * required: true
130
+ * schema:
131
+ * type: string
132
+ * - in: query
133
+ * name: card
134
+ * required: false
135
+ * schema:
136
+ * type: string
137
+ * description: Card key whose current workflowState should be
138
+ * highlighted in the rendered diagram.
139
+ * responses:
140
+ * 200:
141
+ * description: Rendered diagram
142
+ * content:
143
+ * application/json:
144
+ * schema:
145
+ * type: object
146
+ * properties:
147
+ * svg:
148
+ * type: string
149
+ * description: Base64-encoded SVG document.
150
+ * 400:
151
+ * description: Invalid path parameters
152
+ * 404:
153
+ * description: Workflow or card not found
154
+ * 500:
155
+ * description: Server error
156
+ */
157
+ router.get('/:prefix/workflows/:identifier/graph', requireRole(UserRole.Reader), zValidator('param', workflowGraphParamsSchema), zValidator('query', workflowGraphQuerySchema), async (c) => {
158
+ const commands = c.get('commands');
159
+ const { prefix, identifier } = c.req.valid('param');
160
+ const { card } = c.req.valid('query');
161
+ const workflowName = `${prefix}/workflows/${identifier}`;
162
+ try {
163
+ const svg = await resourceService.getWorkflowGraph(commands, workflowName, card);
164
+ return c.json({ svg });
165
+ }
166
+ catch (error) {
167
+ if (error instanceof Error && error.message.includes('not found')) {
168
+ return c.json({ error: error.message }, 404);
169
+ }
170
+ throw error;
171
+ }
172
+ });
111
173
  router.post('/:prefix/:type/:identifier/operation', requireRole(UserRole.Admin), zValidator('param', resourceParamsSchema), zValidator('json', updateOperationBodySchema), async (c) => {
112
174
  const commands = c.get('commands');
113
175
  const resourceParams = c.req.valid('param');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/resources/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/resources/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
1
  import { z } from 'zod';
2
+ export declare const workflowGraphParamsSchema: z.ZodObject<{
3
+ prefix: z.ZodString;
4
+ identifier: z.ZodString;
5
+ }, z.core.$strip>;
6
+ export type WorkflowGraphParams = z.infer<typeof workflowGraphParamsSchema>;
7
+ export declare const workflowGraphQuerySchema: z.ZodObject<{
8
+ card: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ export type WorkflowGraphQuery = z.infer<typeof workflowGraphQuerySchema>;
2
11
  export declare const resourceFileParamsSchema: z.ZodObject<{
3
12
  prefix: z.ZodString;
4
13
  type: z.ZodEnum<{
@@ -1,5 +1,12 @@
1
1
  import { z } from 'zod';
2
- import { resourceParamsSchema, resourceTypes, } from '../../common/validationSchemas.js';
2
+ import { identifierSchema, resourceParamsSchema, resourceTypes, } from '../../common/validationSchemas.js';
3
+ export const workflowGraphParamsSchema = z.object({
4
+ prefix: z.string(),
5
+ identifier: identifierSchema,
6
+ });
7
+ export const workflowGraphQuerySchema = z.object({
8
+ card: z.string().optional(),
9
+ });
3
10
  export const resourceFileParamsSchema = resourceParamsSchema.extend({
4
11
  file: z.string(),
5
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/domain/resources/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACtE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;CACtE,CAAC,CAAC;AAMH,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7C,OAAO,EAAE,8BAA8B;SACxC,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS;IACT,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACtC,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;SACpB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;YACf,YAAY,EAAE,CAAC;iBACZ,MAAM,CAAC;gBACN,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC/C,CAAC;iBACD,QAAQ,EAAE;SACd,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACzC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/domain/resources/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACtE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;CACtE,CAAC,CAAC;AAMH,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7C,OAAO,EAAE,8BAA8B;SACxC,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS;IACT,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACtC,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;SACpB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;YACf,YAAY,EAAE,CAAC;iBACZ,MAAM,CAAC;gBACN,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC/C,CAAC;iBACD,QAAQ,EAAE;SACd,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACzC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
@@ -29,6 +29,18 @@ export declare function deleteResource(commands: CommandManager, resource: Resou
29
29
  export declare function validateResource(commands: CommandManager, resource: ValidateResourceParams): Promise<{
30
30
  errors: string[];
31
31
  }>;
32
+ /**
33
+ * Renders the built-in state-machine graph for a single workflow.
34
+ * When `cardKey` is provided, the card's current workflowState is
35
+ * highlighted in the diagram. The workflow lookup, card lookup and
36
+ * graph rendering all run inside the same consistency window so the
37
+ * highlighted state matches the diagram even if the card is being
38
+ * transitioned concurrently.
39
+ * @returns base64-encoded sanitized SVG.
40
+ * @throws Error with 'not found' in the message when the workflow or
41
+ * card cannot be resolved.
42
+ */
43
+ export declare function getWorkflowGraph(commands: CommandManager, workflowName: string, cardKey?: string): Promise<string>;
32
44
  /**
33
45
  * Perform an updateOperation on a resource key.
34
46
  * This delegates to data-handler Update.applyResourceOperation.
@@ -24,14 +24,14 @@ const resourceTypes = [
24
24
  ];
25
25
  async function getModules(commands) {
26
26
  try {
27
- const moduleNames = await commands.showCmd.showModules();
28
- return Promise.all(moduleNames.map(async (moduleName) => {
27
+ const modules = await commands.showCmd.showModules();
28
+ return Promise.all(modules.map(async (mod) => {
29
29
  try {
30
- const module = await commands.showCmd.showModule(moduleName);
30
+ const module = await commands.showCmd.showModule(mod.name);
31
31
  return { name: module.name, cardKeyPrefix: module.cardKeyPrefix };
32
32
  }
33
33
  catch {
34
- return { name: moduleName, cardKeyPrefix: moduleName };
34
+ return { name: mod.name, cardKeyPrefix: mod.name };
35
35
  }
36
36
  }));
37
37
  }
@@ -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
  }
@@ -286,6 +286,49 @@ export async function validateResource(commands, resource) {
286
286
  errors: errors.split('\n\n').filter((error) => error !== ''),
287
287
  };
288
288
  }
289
+ /**
290
+ * Renders the built-in state-machine graph for a single workflow.
291
+ * When `cardKey` is provided, the card's current workflowState is
292
+ * highlighted in the diagram. The workflow lookup, card lookup and
293
+ * graph rendering all run inside the same consistency window so the
294
+ * highlighted state matches the diagram even if the card is being
295
+ * transitioned concurrently.
296
+ * @returns base64-encoded sanitized SVG.
297
+ * @throws Error with 'not found' in the message when the workflow or
298
+ * card cannot be resolved.
299
+ */
300
+ export async function getWorkflowGraph(commands, workflowName, cardKey) {
301
+ return commands.consistent(async () => {
302
+ try {
303
+ await commands.showCmd.showResource(workflowName, 'workflows');
304
+ }
305
+ catch (error) {
306
+ if (error instanceof Error && error.message.includes('does not exist')) {
307
+ throw new Error(`Workflow '${workflowName}' not found`, {
308
+ cause: error,
309
+ });
310
+ }
311
+ throw error;
312
+ }
313
+ let currentState;
314
+ if (cardKey) {
315
+ let card;
316
+ try {
317
+ card = await commands.showCmd.showCardDetails(cardKey);
318
+ }
319
+ catch (error) {
320
+ throw new Error(`Card '${cardKey}' not found`, { cause: error });
321
+ }
322
+ if (!card?.metadata) {
323
+ throw new Error(`Card '${cardKey}' not found`);
324
+ }
325
+ currentState = card.metadata.workflowState;
326
+ }
327
+ return commands.calculateCmd.runWorkflowGraph(workflowName, {
328
+ currentState,
329
+ });
330
+ });
331
+ }
289
332
  /**
290
333
  * Perform an updateOperation on a resource key.
291
334
  * This delegates to data-handler Update.applyResourceOperation.
@@ -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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"}
package/dist/export.d.ts CHANGED
@@ -11,8 +11,12 @@
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
13
  import type { CommandManager } from '@cyberismo/data-handler';
14
+ import type { ProjectRegistry } from './project-registry.js';
14
15
  import type { QueryResult } from '@cyberismo/data-handler/types/queries';
15
16
  import type { TreeOptions } from './types.js';
17
+ export interface ExportSiteOptions extends TreeOptions {
18
+ defaultProject?: string;
19
+ }
16
20
  /**
17
21
  * DO NO USE DIRECTLY. This resets the callOnce map, allowing you to redo the export.
18
22
  * Also resets the card query promise.
@@ -29,15 +33,15 @@ export declare function getCardQueryResult(commands: CommandManager, cardKey?: s
29
33
  /**
30
34
  * Export the site to a given directory.
31
35
  * Note: Do not call this function in parallel.
32
- * @param commands - CommandManager instance for the project.
36
+ * @param registry - ProjectRegistry holding all project CommandManagers.
33
37
  * @param exportDir - Directory to export to.
34
38
  * @param options - Export options.
35
39
  * @param options.recursive - Whether to export cards recursively.
36
40
  * @param options.cardKey - Key of the card to export. If not provided, all cards will be exported.
37
- * @param level - Log level for the operation.
41
+ * @param options.defaultProject - Default project prefix to write into config.json.
38
42
  * @param onProgress - Optional progress callback function.
39
43
  * @returns An object containing any errors that occurred during export.
40
44
  */
41
- export declare function exportSite(commands: CommandManager, exportDir?: string, options?: TreeOptions, onProgress?: (current: number, total: number) => void): Promise<{
45
+ export declare function exportSite(registry: ProjectRegistry, exportDir?: string, options?: ExportSiteOptions, onProgress?: (current: number, total: number) => void): Promise<{
42
46
  errors: string[];
43
47
  }>;