@cyberismo/backend 0.0.22 → 0.0.23

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 (57) hide show
  1. package/dist/app.js +3 -1
  2. package/dist/app.js.map +1 -1
  3. package/dist/domain/cards/index.js +107 -12
  4. package/dist/domain/cards/index.js.map +1 -1
  5. package/dist/domain/cards/lib.js +1 -4
  6. package/dist/domain/cards/lib.js.map +1 -1
  7. package/dist/domain/cards/presence.d.ts +50 -0
  8. package/dist/domain/cards/presence.js +93 -0
  9. package/dist/domain/cards/presence.js.map +1 -0
  10. package/dist/domain/cards/schema.d.ts +47 -0
  11. package/dist/domain/cards/schema.js +37 -0
  12. package/dist/domain/cards/schema.js.map +1 -0
  13. package/dist/domain/cards/service.d.ts +5 -2
  14. package/dist/domain/cards/service.js +21 -4
  15. package/dist/domain/cards/service.js.map +1 -1
  16. package/dist/domain/connectors/index.d.ts +15 -0
  17. package/dist/domain/connectors/index.js +37 -0
  18. package/dist/domain/connectors/index.js.map +1 -0
  19. package/dist/domain/connectors/service.d.ts +23 -0
  20. package/dist/domain/connectors/service.js +46 -0
  21. package/dist/domain/connectors/service.js.map +1 -0
  22. package/dist/domain/project/index.js +12 -1
  23. package/dist/domain/project/index.js.map +1 -1
  24. package/dist/domain/project/schema.d.ts +3 -0
  25. package/dist/domain/project/schema.js +8 -0
  26. package/dist/domain/project/schema.js.map +1 -1
  27. package/dist/domain/project/service.d.ts +3 -1
  28. package/dist/domain/project/service.js +6 -0
  29. package/dist/domain/project/service.js.map +1 -1
  30. package/dist/domain/tree/service.js +0 -1
  31. package/dist/domain/tree/service.js.map +1 -1
  32. package/dist/export.js +1 -2
  33. package/dist/export.js.map +1 -1
  34. package/dist/index.js +7 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/public/THIRD-PARTY.txt +1196 -615
  37. package/dist/public/assets/index-Cdn_jRWy.js +720 -0
  38. package/dist/public/assets/index-ypsafPwV.css +1 -0
  39. package/dist/public/images/broken_link.svg +7 -0
  40. package/dist/public/index.html +2 -2
  41. package/package.json +5 -5
  42. package/src/app.ts +3 -1
  43. package/src/domain/cards/index.ts +198 -48
  44. package/src/domain/cards/lib.ts +2 -5
  45. package/src/domain/cards/presence.ts +124 -0
  46. package/src/domain/cards/schema.ts +41 -0
  47. package/src/domain/cards/service.ts +65 -4
  48. package/src/domain/connectors/index.ts +39 -0
  49. package/src/domain/connectors/service.ts +67 -0
  50. package/src/domain/project/index.ts +23 -1
  51. package/src/domain/project/schema.ts +9 -0
  52. package/src/domain/project/service.ts +17 -1
  53. package/src/domain/tree/service.ts +0 -1
  54. package/src/export.ts +1 -2
  55. package/src/index.ts +8 -4
  56. package/dist/public/assets/index-B_lh6qtv.css +0 -1
  57. package/dist/public/assets/index-CEol8Bfi.js +0 -164949
package/dist/app.js CHANGED
@@ -17,6 +17,7 @@ import { attachCommandManager } 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';
20
+ import connectorsRouter from './domain/connectors/index.js';
20
21
  import fieldTypesRouter from './domain/fieldTypes/index.js';
21
22
  import graphModelsRouter from './domain/graphModels/index.js';
22
23
  import graphViewsRouter from './domain/graphViews/index.js';
@@ -59,6 +60,7 @@ export function createApp(authProvider, commands, opts) {
59
60
  app.route('/api/calculations', calculationsRouter);
60
61
  app.route('/api/cards', cardsRouter);
61
62
  app.route('/api/cardTypes', cardTypesRouter);
63
+ app.route('/api/connectors', connectorsRouter);
62
64
  app.route('/api/fieldTypes', fieldTypesRouter);
63
65
  app.route('/api/graphModels', graphModelsRouter);
64
66
  app.route('/api/graphViews', graphViewsRouter);
@@ -79,7 +81,7 @@ export function createApp(authProvider, commands, opts) {
79
81
  // serve index.html for all other routes
80
82
  app.notFound(async (c) => {
81
83
  if (c.req.path.startsWith('/api')) {
82
- return c.text('Not Found', 400);
84
+ return c.text('Not Found', 404);
83
85
  }
84
86
  const file = await readFile(path.join(import.meta.dirname, 'public', 'index.html'));
85
87
  return c.html(file.toString());
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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"}
@@ -11,11 +11,15 @@
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 { streamSSE } from 'hono/streaming';
14
15
  import { getCardDetails } from './lib.js';
15
16
  import * as cardService from './service.js';
16
17
  import { isSSGContext, ssgParams } from 'hono/ssg';
17
18
  import { UserRole } from '../../types.js';
19
+ import { presenceStore } from './presence.js';
18
20
  import { requireRole } from '../../middleware/auth.js';
21
+ import { zValidator } from '../../middleware/zvalidator.js';
22
+ import { createLinkSchema, removeLinkSchema, updateLinkSchema, } from './schema.js';
19
23
  const router = new Hono();
20
24
  /**
21
25
  * @swagger
@@ -429,15 +433,12 @@ router.post('/:key/parse', requireRole(UserRole.Reader), async (c) => {
429
433
  * 500:
430
434
  * description: Server error
431
435
  */
432
- router.post('/:key/links', requireRole(UserRole.Editor), async (c) => {
436
+ router.post('/:key/links', requireRole(UserRole.Editor), zValidator('json', createLinkSchema), async (c) => {
433
437
  const commands = c.get('commands');
434
438
  const key = c.req.param('key');
435
- const { toCard, linkType, description } = await c.req.json();
436
- if (!toCard || !linkType) {
437
- return c.json({ error: 'toCard and linkType are required' }, 400);
438
- }
439
+ const { toCard, linkType, description, direction } = c.req.valid('json');
439
440
  try {
440
- const result = await cardService.createLink(commands, key, toCard, linkType, description);
441
+ const result = await cardService.createLink(commands, key, toCard, linkType, direction, description);
441
442
  return c.json(result);
442
443
  }
443
444
  catch (error) {
@@ -477,15 +478,12 @@ router.post('/:key/links', requireRole(UserRole.Editor), async (c) => {
477
478
  * 500:
478
479
  * description: Server error
479
480
  */
480
- router.delete('/:key/links', requireRole(UserRole.Editor), async (c) => {
481
+ router.delete('/:key/links', requireRole(UserRole.Editor), zValidator('json', removeLinkSchema), async (c) => {
481
482
  const commands = c.get('commands');
482
483
  const key = c.req.param('key');
483
- const { toCard, linkType, description } = await c.req.json();
484
- if (!toCard || !linkType) {
485
- return c.json({ error: 'toCard and linkType are required' }, 400);
486
- }
484
+ const { toCard, linkType, description, direction } = c.req.valid('json');
487
485
  try {
488
- const result = await cardService.removeLink(commands, key, toCard, linkType, description);
486
+ const result = await cardService.removeLink(commands, key, toCard, linkType, direction, description);
489
487
  return c.json(result);
490
488
  }
491
489
  catch (error) {
@@ -494,6 +492,61 @@ router.delete('/:key/links', requireRole(UserRole.Editor), async (c) => {
494
492
  }, 500);
495
493
  }
496
494
  });
495
+ /**
496
+ * @swagger
497
+ * /api/cards/{key}/links:
498
+ * put:
499
+ * summary: Update a link between cards
500
+ * parameters:
501
+ * - name: key
502
+ * in: path
503
+ * required: true
504
+ * schema:
505
+ * type: string
506
+ * requestBody:
507
+ * content:
508
+ * application/json:
509
+ * schema:
510
+ * type: object
511
+ * properties:
512
+ * toCard:
513
+ * type: string
514
+ * linkType:
515
+ * type: string
516
+ * description:
517
+ * type: string
518
+ * direction:
519
+ * type: string
520
+ * previousToCard:
521
+ * type: string
522
+ * previousLinkType:
523
+ * type: string
524
+ * previousDirection:
525
+ * type: string
526
+ * previousDescription:
527
+ * type: string
528
+ * responses:
529
+ * 200:
530
+ * description: Link updated successfully
531
+ * 400:
532
+ * description: Invalid request
533
+ * 500:
534
+ * description: Server error
535
+ */
536
+ router.put('/:key/links', requireRole(UserRole.Editor), zValidator('json', updateLinkSchema), async (c) => {
537
+ const commands = c.get('commands');
538
+ const key = c.req.param('key');
539
+ const { toCard, linkType, description, direction, previousToCard, previousLinkType, previousDirection, previousDescription, } = c.req.valid('json');
540
+ try {
541
+ const result = await cardService.updateLink(commands, key, toCard, linkType, direction, previousToCard, previousLinkType, previousDirection, description, previousDescription);
542
+ return c.json(result);
543
+ }
544
+ catch (error) {
545
+ return c.json({
546
+ error: error instanceof Error ? error.message : 'Failed to update link',
547
+ }, 500);
548
+ }
549
+ });
497
550
  /**
498
551
  * @swagger
499
552
  * /api/cards/{key}/a/{attachment}:
@@ -548,5 +601,47 @@ router.get('/:key/a/:attachment', requireRole(UserRole.Reader), ssgParams(async
548
601
  }, 404);
549
602
  }
550
603
  });
604
+ /**
605
+ * @swagger
606
+ * /api/cards/{key}/presence:
607
+ * get:
608
+ * summary: SSE stream of users currently viewing or editing this card
609
+ * parameters:
610
+ * - name: key
611
+ * in: path
612
+ * required: true
613
+ * description: Card key (string)
614
+ * - name: mode
615
+ * in: query
616
+ * required: false
617
+ * schema:
618
+ * type: string
619
+ * enum: [viewing, editing]
620
+ * description: Whether the user is viewing or editing (default: viewing)
621
+ * responses:
622
+ * 200:
623
+ * description: SSE stream with presence events
624
+ */
625
+ router.get('/:key/presence', requireRole(UserRole.Reader), (c) => {
626
+ const key = c.req.param('key');
627
+ const mode = c.req.query('mode') === 'editing' ? 'editing' : 'viewing';
628
+ const user = c.get('user');
629
+ if (!key) {
630
+ return c.text('No card key', 400);
631
+ }
632
+ return streamSSE(c, async (stream) => {
633
+ const connId = presenceStore.add(key, user, mode, (data) => void stream.writeSSE(data));
634
+ let aborted = false;
635
+ stream.onAbort(() => {
636
+ aborted = true;
637
+ presenceStore.remove(key, connId);
638
+ });
639
+ // Keep connection alive with periodic heartbeat
640
+ while (!aborted) {
641
+ await stream.write(': hb\n\n');
642
+ await stream.sleep(30000);
643
+ }
644
+ });
645
+ });
551
646
  export default router;
552
647
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/cards/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/cards/index.ts"],"names":[],"mappings":"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"}
@@ -25,10 +25,6 @@ export async function getCardDetails(commands, key, staticMode, raw) {
25
25
  if (!cardDetailsResponse) {
26
26
  return { status: 400, message: `Card ${key} not found from project` };
27
27
  }
28
- // always parse for now if not in export mode
29
- if (!staticMode && !raw) {
30
- await commands.calculateCmd.generate();
31
- }
32
28
  let asciidocContent = '';
33
29
  try {
34
30
  asciidocContent = await evaluateMacros(cardDetailsResponse.content || '', {
@@ -81,6 +77,7 @@ export async function getCardDetails(commands, key, staticMode, raw) {
81
77
  cardTypeDisplayName: cardDetailsResponse.metadata.cardType,
82
78
  workflowState: '',
83
79
  lastUpdated: cardDetailsResponse.metadata.lastUpdated,
80
+ createdAt: cardDetailsResponse.metadata.createdAt,
84
81
  fields,
85
82
  labels: cardDetailsResponse.metadata?.labels || [],
86
83
  links: [],
@@ -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":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAUrD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAwB,EACxB,GAAW,EACX,UAAmB,EACnB,GAAY;IAEZ,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,mBAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,mBAAmB,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,yBAAyB,EAAE,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,yBAAyB,EAAE,CAAC;QACxE,CAAC;QAED,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,cAAc,CACpC,mBAAmB,CAAC,OAAO,IAAI,EAAE,EACjC;gBACE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;gBACjD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;gBAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,GAAG;aACb,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,GAAG,gBAAgB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,OAAO,eAAe,EAAE,CAAC;QACrH,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,EAAE;aAC5B,OAAO,CAAC,eAAe,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACV,SAAS,EAAE,cAAc,GAAG,IAAI;gBAChC,KAAK,EAAE,MAAM;aACd;SACF,CAAC;aACD,QAAQ,EAAE,CAAC;QAEd,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAClD,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EACrC,WAAW,CACZ,CAAC;YAEF,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CACnD,WAAW,CAAC,IAAI,EAChB,YAAY,CACb,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,GAAG,EAAE,WAAW,CAAC,IAAI;oBACrB,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,CAAC,EAAE;oBACV,gBAAgB,EAAE,SAAS,CAAC,WAAW;oBACvC,gBAAgB,EAAE,SAAS,CAAC,WAAW;oBACvC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,YAAY,EAAE,WAAW,CAAC,YAAY;oBACtC,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;oBACrD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE;oBACJ,GAAG,EAAE,mBAAmB,CAAC,GAAG;oBAC5B,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI;oBACxC,KAAK,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;oBAChD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE;oBACtD,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ;oBAC1D,aAAa,EAAE,EAAE;oBACjB,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,WAAW;oBACrD,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,SAAS;oBACjD,MAAM;oBACN,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;oBAClD,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,EAAE;oBACjB,YAAY,EAAE;wBACZ,SAAS,EAAE,EAAE;wBACb,QAAQ,EAAE,EAAE;qBACb;oBACD,gBAAgB,EAAE;wBAChB,UAAU,EAAE,EAAE;wBACd,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,EAAE;wBACV,SAAS,EAAE,EAAE;wBACb,WAAW,EAAE,EAAE;qBAChB;oBACD,UAAU,EAAE,mBAAmB,CAAC,OAAO,IAAI,EAAE;oBAC7C,aAAa,EAAE,WAAW;oBAC1B,WAAW,EAAE,mBAAmB,CAAC,WAAW;iBAC7C;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,UAAU;YACrB,CAAC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzC,CAAC,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE;gBACvD,OAAO,EAAE,GAAG;aACb,CAAC,CAAC;QAEP,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE;gBACJ,GAAG,IAAI,CAAC,CAAC,CAAC;gBACV,UAAU,EAAE,mBAAmB,CAAC,OAAO,IAAI,EAAE;gBAC7C,aAAa,EAAE,WAAW;gBAC1B,WAAW,EAAE,mBAAmB,CAAC,WAAW;aAC7C;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AACD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAwB,EACxB,OAAqB;IAErB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CACvD,MAAM,EACN,cAAc,EACd,OAAO,IAAI,EAAE,CACd,CAAC;IAEF,SAAS,YAAY,CAAC,KAA4B;QAChD,OAAO,KAAK,CAAC,MAAM,CAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IACD,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,50 @@
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. This program is distributed in the hope that it
7
+ will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
8
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9
+ See the GNU Affero General Public License for more details.
10
+ 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 type { UserInfo } from '../../types.js';
14
+ import type { SSEMessage } from 'hono/streaming';
15
+ export interface PresenceEntry {
16
+ userId: string;
17
+ userName: string;
18
+ mode: 'viewing' | 'editing';
19
+ }
20
+ /**
21
+ * In-memory presence tracker for card editing/viewing.
22
+ * Tracks which users are currently looking at or editing each card,
23
+ * and notifies all connected clients via SSE when presence changes.
24
+ */
25
+ declare class PresenceStore {
26
+ private connections;
27
+ private nextId;
28
+ /**
29
+ * Add a user connection for a card. Returns a connection ID for later removal.
30
+ */
31
+ add(cardKey: string, user: UserInfo, mode: 'viewing' | 'editing', send: (message: SSEMessage) => void): string;
32
+ /**
33
+ * Remove a connection and broadcast updated presence.
34
+ */
35
+ remove(cardKey: string, connId: string): void;
36
+ /**
37
+ * Get current presence list for a card.
38
+ */
39
+ getPresence(cardKey: string): PresenceEntry[];
40
+ /**
41
+ * Broadcast current presence to all connected clients for a card.
42
+ */
43
+ private broadcast;
44
+ /**
45
+ * Remove all connections. Intended for test cleanup.
46
+ */
47
+ removeAll(): void;
48
+ }
49
+ export declare const presenceStore: PresenceStore;
50
+ export {};
@@ -0,0 +1,93 @@
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. This program is distributed in the hope that it
7
+ will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
8
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9
+ See the GNU Affero General Public License for more details.
10
+ 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
+ /**
14
+ * In-memory presence tracker for card editing/viewing.
15
+ * Tracks which users are currently looking at or editing each card,
16
+ * and notifies all connected clients via SSE when presence changes.
17
+ */
18
+ class PresenceStore {
19
+ // cardKey -> connectionId -> Connection
20
+ connections = new Map();
21
+ nextId = 0;
22
+ /**
23
+ * Add a user connection for a card. Returns a connection ID for later removal.
24
+ */
25
+ add(cardKey, user, mode, send) {
26
+ const connId = String(this.nextId++);
27
+ if (!this.connections.has(cardKey)) {
28
+ this.connections.set(cardKey, new Map());
29
+ }
30
+ this.connections.get(cardKey).set(connId, { user, mode, send });
31
+ this.broadcast(cardKey);
32
+ return connId;
33
+ }
34
+ /**
35
+ * Remove a connection and broadcast updated presence.
36
+ */
37
+ remove(cardKey, connId) {
38
+ const cardConns = this.connections.get(cardKey);
39
+ if (!cardConns)
40
+ return;
41
+ cardConns.delete(connId);
42
+ if (cardConns.size === 0) {
43
+ this.connections.delete(cardKey);
44
+ }
45
+ else {
46
+ this.broadcast(cardKey);
47
+ }
48
+ }
49
+ /**
50
+ * Get current presence list for a card.
51
+ */
52
+ getPresence(cardKey) {
53
+ const cardConns = this.connections.get(cardKey);
54
+ if (!cardConns)
55
+ return [];
56
+ // Deduplicate by userId — if a user has multiple connections,
57
+ // prefer the 'editing' mode
58
+ const byUser = new Map();
59
+ for (const conn of cardConns.values()) {
60
+ const existing = byUser.get(conn.user.id);
61
+ if (!existing || conn.mode === 'editing') {
62
+ byUser.set(conn.user.id, {
63
+ userId: conn.user.id,
64
+ userName: conn.user.name,
65
+ mode: conn.mode,
66
+ });
67
+ }
68
+ }
69
+ return Array.from(byUser.values());
70
+ }
71
+ /**
72
+ * Broadcast current presence to all connected clients for a card.
73
+ */
74
+ broadcast(cardKey) {
75
+ const cardConns = this.connections.get(cardKey);
76
+ if (!cardConns)
77
+ return;
78
+ const presence = this.getPresence(cardKey);
79
+ const data = JSON.stringify({ editors: presence });
80
+ const message = { event: 'presence', data };
81
+ for (const conn of cardConns.values()) {
82
+ conn.send(message);
83
+ }
84
+ }
85
+ /**
86
+ * Remove all connections. Intended for test cleanup.
87
+ */
88
+ removeAll() {
89
+ this.connections.clear();
90
+ }
91
+ }
92
+ export const presenceStore = new PresenceStore();
93
+ //# sourceMappingURL=presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.js","sourceRoot":"","sources":["../../../src/domain/cards/presence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
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 { z } from 'zod';
14
+ export declare const createLinkSchema: z.ZodObject<{
15
+ toCard: z.ZodString;
16
+ linkType: z.ZodString;
17
+ direction: z.ZodDefault<z.ZodEnum<{
18
+ outbound: "outbound";
19
+ inbound: "inbound";
20
+ }>>;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ export declare const removeLinkSchema: z.ZodObject<{
24
+ toCard: z.ZodString;
25
+ linkType: z.ZodString;
26
+ direction: z.ZodDefault<z.ZodEnum<{
27
+ outbound: "outbound";
28
+ inbound: "inbound";
29
+ }>>;
30
+ description: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strip>;
32
+ export declare const updateLinkSchema: z.ZodObject<{
33
+ toCard: z.ZodString;
34
+ linkType: z.ZodString;
35
+ direction: z.ZodEnum<{
36
+ outbound: "outbound";
37
+ inbound: "inbound";
38
+ }>;
39
+ description: z.ZodOptional<z.ZodString>;
40
+ previousToCard: z.ZodString;
41
+ previousLinkType: z.ZodString;
42
+ previousDirection: z.ZodEnum<{
43
+ outbound: "outbound";
44
+ inbound: "inbound";
45
+ }>;
46
+ previousDescription: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>;
@@ -0,0 +1,37 @@
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 { z } from 'zod';
14
+ const linkDirection = z.enum(['outbound', 'inbound']);
15
+ export const createLinkSchema = z.object({
16
+ toCard: z.string(),
17
+ linkType: z.string(),
18
+ direction: linkDirection.default('outbound'),
19
+ description: z.string().optional(),
20
+ });
21
+ export const removeLinkSchema = z.object({
22
+ toCard: z.string(),
23
+ linkType: z.string(),
24
+ direction: linkDirection.default('outbound'),
25
+ description: z.string().optional(),
26
+ });
27
+ export const updateLinkSchema = z.object({
28
+ toCard: z.string(),
29
+ linkType: z.string(),
30
+ direction: linkDirection,
31
+ description: z.string().optional(),
32
+ previousToCard: z.string(),
33
+ previousLinkType: z.string(),
34
+ previousDirection: linkDirection,
35
+ previousDescription: z.string().optional(),
36
+ });
37
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/domain/cards/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,iBAAiB,EAAE,aAAa;IAChC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
@@ -36,10 +36,13 @@ export declare function openAttachment(commands: CommandManager, key: string, fi
36
36
  export declare function parseContent(commands: CommandManager, key: string, content: string): Promise<{
37
37
  parsedContent: string;
38
38
  }>;
39
- export declare function createLink(commands: CommandManager, key: string, toCard: string, linkType: string, description?: string): Promise<{
39
+ export declare function createLink(commands: CommandManager, key: string, target: string, linkType: string, direction?: 'outbound' | 'inbound', description?: string): Promise<{
40
40
  message: string;
41
41
  }>;
42
- export declare function removeLink(commands: CommandManager, key: string, toCard: string, linkType: string, description?: string): Promise<{
42
+ export declare function removeLink(commands: CommandManager, key: string, target: string, linkType: string, direction?: 'outbound' | 'inbound', description?: string): Promise<{
43
+ message: string;
44
+ }>;
45
+ export declare function updateLink(commands: CommandManager, key: string, toCard: string, linkType: string, direction: 'outbound' | 'inbound', previousToCard: string, previousLinkType: string, previousDirection: 'outbound' | 'inbound', linkDescription?: string, previousLinkDescription?: string): Promise<{
43
46
  message: string;
44
47
  }>;
45
48
  export declare function getAttachment(commands: CommandManager, key: string, filename: string): Promise<attachmentPayload>;
@@ -116,14 +116,31 @@ export async function parseContent(commands, key, content) {
116
116
  return { parsedContent };
117
117
  });
118
118
  }
119
- export async function createLink(commands, key, toCard, linkType, description) {
120
- await commands.createCmd.createLink(key, toCard, linkType, description);
119
+ export async function createLink(commands, key, target, linkType, direction = 'outbound', description) {
120
+ // For outbound: key is source, target is destination
121
+ // For inbound: target is source, key is destination
122
+ const source = direction === 'outbound' ? key : target;
123
+ const destination = direction === 'outbound' ? target : key;
124
+ await commands.createCmd.createLink(source, destination, linkType, description, direction);
121
125
  return { message: 'Link created successfully' };
122
126
  }
123
- export async function removeLink(commands, key, toCard, linkType, description) {
124
- await commands.removeCmd.remove('link', key, toCard, linkType, description);
127
+ export async function removeLink(commands, key, target, linkType, direction = 'outbound', description) {
128
+ // For outbound: key is source, target is destination
129
+ // For inbound: target is source, key is destination
130
+ const source = direction === 'outbound' ? key : target;
131
+ const destination = direction === 'outbound' ? target : key;
132
+ await commands.removeCmd.remove('link', source, destination, linkType, description);
125
133
  return { message: 'Link removed successfully' };
126
134
  }
135
+ export async function updateLink(commands, key, toCard, linkType, direction, previousToCard, previousLinkType, previousDirection, linkDescription, previousLinkDescription) {
136
+ // For simplicity create the new link first so that duplicate-link validation runs before
137
+ // the old link is removed. This also handles direction changes.
138
+ return commands.atomic(async () => {
139
+ await createLink(commands, key, toCard, linkType, direction, linkDescription);
140
+ await removeLink(commands, key, previousToCard, previousLinkType, previousDirection, previousLinkDescription);
141
+ return { message: 'Link updated successfully' };
142
+ }, `Update link on ${key} to ${toCard}`);
143
+ }
127
144
  export async function getAttachment(commands, key, filename) {
128
145
  return commands.showCmd.showAttachment(key, filename);
129
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/cards/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAwB;IAC3D,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE7D,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;QAC5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;QAC5E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,OAAO;YACL,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,SAAS,EAAE,iBAAiB;YAC5B,SAAS,EAAE,iBAAiB;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB,EACxB,GAAW;AACX,8DAA8D;AAC9D,IAAS;IAET,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CACvD,IAAI,CAAC,QAAQ,CACd,EAAE,CAAC;gBACF,MAAM,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CACrC,GAAG,EACH,WAAW,EACX,aAAgC,CACjC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,EAAE,eAAe,GAAG,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAwB,EAAE,GAAW;IACpE,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB,EACxB,QAAgB,EAChB,SAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,UAAU,CAChD,QAAQ,EACR,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAwB,EACxB,GAAW,EACX,KAAa;IAEb,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CACvC,GAAG,EACH,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;IAEhC,OAAO;QACL,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAwB,EACxB,GAAW,EACX,QAAgB;IAEhB,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7D,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAwB,EACxB,GAAW,EACX,QAAgB;IAEhB,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAwB,EACxB,GAAW,EACX,OAAe;IAEf,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,eAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;gBAC9C,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,GAAG;aACb,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,GAAG,gBAAgB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,OAAO,OAAO,EAAE,CAAC;QAC7G,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,SAAS;aAC5B,OAAO,CAAC,eAAe,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACV,SAAS,EAAE,cAAc,GAAG,IAAI;gBAChC,KAAK,EAAE,MAAM;aACd;SACF,CAAC;aACD,QAAQ,EAAE,CAAC;QAEd,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB,EACxB,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,WAAoB;IAEpB,MAAM,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxE,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB,EACxB,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,WAAoB;IAEpB,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5E,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAwB,EACxB,GAAW,EACX,QAAgB;IAEhB,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAwB,EACxB,OAAqB;IAErB,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AACD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAwB,EACxB,OAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACtD,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IAC7D,OAAO,WAAW;SACf,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CACb,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAC1E;SACA,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,UAAU,CAAC,IAAI;QACpB,UAAU,EAAE,UAAU,CAAC,QAAQ;KAChC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/cards/service.ts"],"names":[],"mappings":"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"}