@principal-ai/subsystems-react 0.37.5 → 0.37.6
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.
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts +3 -0
- package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts.map +1 -0
- package/dist/stories/Subsystem/C4Graph/c4Fixture.js +2 -0
- package/dist/stories/Subsystem/C4Graph/c4Fixture.js.map +1 -0
- package/dist/subsystem/C4Graph.d.ts +22 -0
- package/dist/subsystem/C4Graph.d.ts.map +1 -0
- package/dist/subsystem/C4Graph.js +305 -0
- package/dist/subsystem/C4Graph.js.map +1 -0
- package/dist/subsystem/WalkthroughsPanel.d.ts +2 -0
- package/dist/subsystem/WalkthroughsPanel.d.ts.map +1 -1
- package/dist/subsystem/WalkthroughsPanel.js +114 -48
- package/dist/subsystem/WalkthroughsPanel.js.map +1 -1
- package/dist/subsystem/model.js +6 -6
- package/dist/subsystem/toC4.d.ts +95 -0
- package/dist/subsystem/toC4.d.ts.map +1 -0
- package/dist/subsystem/toC4.js +196 -0
- package/dist/subsystem/toC4.js.map +1 -0
- package/dist/subsystem/walkthroughBrief.d.ts +18 -0
- package/dist/subsystem/walkthroughBrief.d.ts.map +1 -0
- package/dist/subsystem/walkthroughBrief.js +34 -0
- package/dist/subsystem/walkthroughBrief.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +6 -1
- package/src/stories/Subsystem/C4Graph/C4Container.stories.tsx +104 -0
- package/src/stories/Subsystem/C4Graph/c4Fixture.ts +6 -0
- package/src/subsystem/C4Graph.tsx +465 -0
- package/src/subsystem/WalkthroughsPanel.test.tsx +146 -0
- package/src/subsystem/WalkthroughsPanel.tsx +163 -60
- package/src/subsystem/model.ts +6 -6
- package/src/subsystem/toC4.test.ts +121 -0
- package/src/subsystem/toC4.ts +277 -0
- package/src/subsystem/walkthroughBrief.test.ts +57 -0
- package/src/subsystem/walkthroughBrief.ts +40 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalkthroughsPanel.js","sourceRoot":"","sources":["../../src/subsystem/WalkthroughsPanel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,GAE3B,MAAM,SAAS,CAAC;AAEjB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAU9C;;;;sDAIsD;AACtD,SAAS,eAAe,CAAC,EACvB,WAAW,EACX,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,eAAe,GA0BhB;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;IACxC,MAAM,eAAe,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IACrE,qEAAqE;IACrE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE,CAChD,eAAe,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,MAAM,CAA+B,EAAE,CAAC,CAAC;IAChE,yEAAyE;IACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1C,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;SAC7B;QACD,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sCAAsC;IACtC,uDAAuD;IACvD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAEzC,4EAA4E;IAC5E,4EAA4E;IAC5E,gEAAgE;IAChE,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,SAAS;YAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO;QAC5B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,SAAS,EAAE;gBAClB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO;aACR;YACD,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,IAAI,CAAC,CAAC;YACP,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC5E,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,OAAO,EAAE;YACX,WAAW,EAAE,CAAC;SACf;aAAM;YACL,YAAY,EAAE,CAAC;SAChB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEzC,mEAAmE;IACnE,qEAAqE;IACrE,kBAAkB;IAClB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,SAAS,IAAI,IAAI;YAAE,OAAO;QACtC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,0BACE,eACE,YAAY,EAAE,GAAG,EAAE;oBACjB,IAAI,iBAAiB,EAAE,EAAE;wBAAE,OAAO;oBAClC,cAAc,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,SAAS;wBAAE,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC,EACD,YAAY,EAAE,GAAG,EAAE;oBACjB,cAAc,CAAC,KAAK,CAAC,CAAC;oBACtB,IAAI,SAAS;wBAAE,WAAW,EAAE,CAAC;gBAC/B,CAAC,EACD,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;oBACpE,UAAU,EAAE,uBAAuB;iBACpC,aAED,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,SAAS,EAAE;gCACb,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gCAClC,WAAW,CAAC,WAAW,CAAC,CAAC;6BAC1B;iCAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE;gCACvD,kDAAkD;gCAClD,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gCAClC,YAAY,EAAE,CAAC;6BAChB;iCAAM;gCACL,gEAAgE;gCAChE,6DAA6D;gCAC7D,WAAW,CAAC,WAAW,CAAC,CAAC;6BAC1B;wBACH,CAAC,EACD,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,QAAQ,EAAE,CAAC;4BACX,OAAO,EAAE,QAAQ;4BACjB,MAAM,EAAE,MAAM;4BACd,UAAU,EAAE,aAAa;4BACzB,SAAS,EAAE,MAAM;4BACjB,MAAM,EAAE,SAAS;yBAClB,YAED,eACE,KAAK,EAAE;gCACL,QAAQ,EAAE,QAAQ;gCAClB,YAAY,EAAE,UAAU;gCACxB,UAAU,EAAE,QAAQ;gCACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC5B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;gCACjC,UAAU,EAAE,GAAG;gCACf,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;6BAC5D,YAEA,WAAW,CAAC,KAAK,GACb,GACA,EACR,CAAC,SAAS,IAAI,CACb,8BACA,iBACE,IAAI,EAAC,QAAQ,gBACD,OAAO,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,KAAK,EAAE,EACzF,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAC/C,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oCACb,CAAC,CAAC,eAAe,EAAE,CAAC;oCACpB,UAAU,EAAE,CAAC;gCACf,CAAC,EACD,KAAK,EAAE;oCACL,OAAO,EAAE,aAAa;oCACtB,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,QAAQ;oCACxB,UAAU,EAAE,CAAC;oCACb,KAAK,EAAE,EAAE;oCACT,MAAM,EAAE,EAAE;oCACV,OAAO,EAAE,CAAC;oCACV,MAAM,EAAE,MAAM;oCACd,YAAY,EAAE,CAAC;oCACf,UAAU,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;oCACtE,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oCACvD,MAAM,EAAE,SAAS;oCACjB,UAAU,EAAE,yCAAyC;iCACtD,YAEA,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GAC5E,EACT,iBACE,IAAI,EAAC,QAAQ,gBACD,YAAY,WAAW,CAAC,KAAK,EAAE,EAC3C,KAAK,EAAC,UAAU,EAChB,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC3C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oCACb,CAAC,CAAC,eAAe,EAAE,CAAC;oCACpB,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oCAClC,IAAI,MAAM,KAAK,IAAI;wCAAE,YAAY,EAAE,CAAC;gCACtC,CAAC,EACD,KAAK,EAAE;oCACL,OAAO,EAAE,aAAa;oCACtB,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,QAAQ;oCACxB,UAAU,EAAE,CAAC;oCACb,KAAK,EAAE,EAAE;oCACT,MAAM,EAAE,EAAE;oCACV,OAAO,EAAE,CAAC;oCACV,MAAM,EAAE,MAAM;oCACd,YAAY,EAAE,CAAC;oCACf,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;oCAC/D,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oCAChD,MAAM,EAAE,SAAS;oCACjB,UAAU,EAAE,yCAAyC;iCACtD,YAED,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GAClC,IACN,CACJ,EACA,OAAO,IAAI,CACV,eACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,sBACG,WAAW,WAAW,CAAC,KAAK,EAAE,EAC1C,KAAK,EAAC,iBAAiB,EACvB,YAAY,EAAE,GAAG,EAAE;4BACjB,IAAI,CAAC,iBAAiB,EAAE,EAAE;gCAAE,YAAY,CAAC,IAAI,CAAC,CAAC;wBACjD,CAAC,EACD,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACvC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EACzD,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,KAAK,EAAE;4BACL,OAAO,EAAE,aAAa;4BACtB,UAAU,EAAE,QAAQ;4BACpB,UAAU,EAAE,CAAC;4BACb,WAAW,EAAE,CAAC,CAAC;4BACf,OAAO,EAAE,OAAO;4BAChB,KAAK,EAAE,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;4BAClE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;4BAChD,UAAU,EAAE,kBAAkB;yBAC/B,YAED,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GACrC,CACR,IACG,EACL,CAAC,SAAS,IAAI,CACb,cACE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EACnD,YAAY,EAAE,GAAG,EAAE;oBACjB,cAAc,CAAC,IAAI,CAAC,CAAC;oBACrB,WAAW,EAAE,CAAC;gBAChB,CAAC,YAEA,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACjC,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC;oBAC7D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,OAAO,CACL,kBAEE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;4BACV,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBACjC,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS,EACjE,YAAY,EAAE,GAAG,EAAE;4BACjB,cAAc,CAAC,CAAC,CAAC,CAAC;4BAClB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAC9B,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,EAC1C,KAAK,EAAE;4BACL,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,GAAG,EAAE,CAAC;4BACN,QAAQ,EAAE,CAAC;4BACX,OAAO,EAAE,kBAAkB;4BAC3B,SAAS,EAAE,MAAM;4BACjB,YAAY,EAAE,CAAC;4BACf,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;4BACrE,MAAM,EAAE,SAAS;4BACjB,UAAU,EAAE,uBAAuB;yBACpC,aAED,eACE,KAAK,EAAE;oCACL,UAAU,EAAE,CAAC;oCACb,KAAK,EAAE,EAAE;oCACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oCAC5B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oCACjC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;oCACtC,KAAK,EAAE,QAAQ;wCACb,CAAC,CAAC,cAAc;wCAChB,CAAC,CAAC,UAAU;4CACV,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;4CACnB,CAAC,CAAC,KAAK;iCACZ,YAEA,CAAC,GAAG,CAAC,GACD,EACP,eACE,KAAK,EAAE;oCACL,IAAI,EAAE,CAAC;oCACP,QAAQ,EAAE,CAAC;oCACX,QAAQ,EAAE,QAAQ;oCAClB,YAAY,EAAE,UAAU;oCACxB,UAAU,EAAE,QAAQ;oCACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oCAC5B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oCACjC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;iCACrD,YAEA,IAAI,CAAC,MAAM,GACP,KAvDF,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAwDxC,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAkCD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,GACQ;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,4EAA4E;IAC5E,6EAA6E;IAC7E,kCAAkC;IAClC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,SAAS,IAAI,IAAI,IAAI,YAAY,CAAC;IACtD,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAExD,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;QAChC,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO;QAClC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;YACjC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/C,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QACF,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/D,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;SAC9B;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,sBAAsB,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,CAAiB,EAAE,EAAE;QACvE,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC;QACtC,uDAAuD;QACvD,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,yEAAyE;IACzE,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,CAAiB,EAAE,KAAa,EAAE,EAAE;QACnC,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACrD,eAAe,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,CAAiB,EAAE,EAAE;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,MAAM,IAAI,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACvE,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,SAAS,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO;QACtE,oEAAoE;QACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC,EACD,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAC9D,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAChF,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE1E,OAAO,CACL,cACE,KAAK,EAAE;YACL,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,UAAU;SACpB,EACD,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAE7C,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,UAAU,GAAG,SAAS,KAAK,CAAC,CAAC;YACnC,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,WAAW,IAAI,YAAY,KAAK,CAAC,CAAC;YAClD,MAAM,UAAU,GACd,WAAW;gBACX,CAAC,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC7B,YAAY,KAAK,YAAY,CAAC,MAAM,CAAC;YACvC,OAAO,CACL,uCAEwB,EAAE,CAAC,EAAE,wBACP,CAAC,EACrB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACjE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC5C,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC9B,UAAU,EAAE,oBAAoB;iBACjC,aAIA,CAAC,GAAG,CAAC,IAAI,CACR,mCAEE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,GAAG,EAAE,CAAC;4BACN,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE,CAAC;4BACR,MAAM,EAAE,CAAC;4BACT,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;4BAC/B,aAAa,EAAE,MAAM;yBACtB,GACD,CACH,EACA,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAC1B,mCAEE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE,CAAC;4BACR,MAAM,EAAE,CAAC;4BACT,MAAM,EAAE,CAAC;4BACT,UAAU,EAAE,MAAM;4BAClB,aAAa,EAAE,MAAM;4BACrB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;yBAC1C,GACD,CACH,EACD,KAAC,eAAe,IACd,WAAW,EAAE,EAAE,EACf,SAAS,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3C,MAAM,EACJ,oBAAoB,KAAK,EAAE,CAAC,EAAE;4BAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;4BACjC,CAAC,CAAC,sBAAsB,EAAE,aAAa,KAAK,EAAE,CAAC,EAAE;gCAC/C,CAAC,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,SAAS,EAAE;gCACjD,CAAC,CAAC,IAAI,EAEZ,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EACL,WAAW;4BACT,CAAC,CAAC;gCACE,KAAK,EAAE,CAAC;gCACR,UAAU;gCACV,WAAW,EAAE,eAAe;gCAC5B,SAAS,EAAE,SAAS;6BACrB;4BACH,CAAC,CAAC,SAAS,EAEf,UAAU,EAAE,SAAS,IAAI,IAAI,EAC7B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,GAChC,KAxEG,EAAE,CAAC,EAAE,CAyEN,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"WalkthroughsPanel.js","sourceRoot":"","sources":["../../src/subsystem/WalkthroughsPanel.tsx"],"names":[],"mappings":"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"}
|
package/dist/subsystem/model.js
CHANGED
|
@@ -534,17 +534,17 @@ export function isWalkthroughMechanism(mechanism) {
|
|
|
534
534
|
return WALKTHROUGH_MECHANISM_SET.has(mechanism);
|
|
535
535
|
}
|
|
536
536
|
export const MECHANISM_COLOR = {
|
|
537
|
-
calls: '#
|
|
537
|
+
calls: '#22c55e',
|
|
538
538
|
extends: '#b48ead',
|
|
539
539
|
inherits: '#9b6fd0',
|
|
540
540
|
implements: '#c586c0',
|
|
541
541
|
mixes_in: '#d474a8',
|
|
542
542
|
uses: '#e3b341',
|
|
543
543
|
method: '#c586c0',
|
|
544
|
-
references: '#
|
|
545
|
-
feeds: '#
|
|
546
|
-
produces: '#
|
|
547
|
-
writes: '#
|
|
544
|
+
references: '#3b82f6',
|
|
545
|
+
feeds: '#4ec9b0',
|
|
546
|
+
produces: '#a78bfa',
|
|
547
|
+
writes: '#e8853a',
|
|
548
548
|
reads: '#0ea5e9',
|
|
549
549
|
watches: '#9ca3af',
|
|
550
550
|
'registers-into': '#ff6b35', // orange
|
|
@@ -681,7 +681,7 @@ export function packageColor(name) {
|
|
|
681
681
|
* are the only surface using it, but pick a distinct value if roles ever
|
|
682
682
|
* take over node borders. */
|
|
683
683
|
export const ROLE_COLOR = {
|
|
684
|
-
entry: '#
|
|
684
|
+
entry: '#c0c0c0',
|
|
685
685
|
service: '#0893d2', // blue — external system
|
|
686
686
|
};
|
|
687
687
|
/**
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toC4 — project a subsystem-model (or a composition of them) onto C4 levels.
|
|
3
|
+
*
|
|
4
|
+
* The stored document is flat: `components[]` carry `process` (runtime unit),
|
|
5
|
+
* `purl` (repo/package), `construct`, `role`, `module`, plus `relations[]`
|
|
6
|
+
* (static) and `walkthroughs[]` (dynamic). C4 wants a hierarchy above the
|
|
7
|
+
* component — system → container → component — with externals and actors
|
|
8
|
+
* outside it. This module derives that hierarchy without inventing data:
|
|
9
|
+
*
|
|
10
|
+
* system ← the repo key (purlRepoKey of the first grounded component)
|
|
11
|
+
* container ← component.process (runtime/deployment boundary)
|
|
12
|
+
* component ← a grounded component
|
|
13
|
+
* external ← construct: 'external'
|
|
14
|
+
* actor ← construct: 'custom_entity' (their authored actor/entity)
|
|
15
|
+
*
|
|
16
|
+
* Edges are rolled up to the owner of each endpoint at the chosen view, so the
|
|
17
|
+
* container view shows container↔container collaborations and the component
|
|
18
|
+
* view shows component↔component ones. Intra-owner edges (from === to) drop.
|
|
19
|
+
*
|
|
20
|
+
* Pure over the document so it is unit-testable and reusable by any renderer.
|
|
21
|
+
*/
|
|
22
|
+
import type { SubsystemComponent, SubsystemModelDocument } from './model';
|
|
23
|
+
/** C4 levels plus the two "outside the system" concepts. */
|
|
24
|
+
export type C4Kind = 'system' | 'container' | 'component' | 'external' | 'actor';
|
|
25
|
+
/** Which projection to build: containers (level 2) or components (level 3). */
|
|
26
|
+
export type C4View = 'container' | 'component';
|
|
27
|
+
/** A C4 element the renderer can draw as a box. */
|
|
28
|
+
export interface C4Node {
|
|
29
|
+
id: string;
|
|
30
|
+
kind: C4Kind;
|
|
31
|
+
label: string;
|
|
32
|
+
/** Compound parent (container → system, component → container). */
|
|
33
|
+
parentId?: string;
|
|
34
|
+
/** Grouping key the node was derived from (process key, purl, alias). */
|
|
35
|
+
key?: string;
|
|
36
|
+
/** Source component aliases rolled into this node. */
|
|
37
|
+
members: string[];
|
|
38
|
+
/** Distinct constructs among the members (for a quick breakdown). */
|
|
39
|
+
constructs: string[];
|
|
40
|
+
/** True when any member is a `store` construct (a data store in C4). */
|
|
41
|
+
isStore: boolean;
|
|
42
|
+
/** Present only in the component view — the backing component. */
|
|
43
|
+
component?: SubsystemComponent;
|
|
44
|
+
/** Source model ids that contributed members, when attribution is supplied. */
|
|
45
|
+
models?: string[];
|
|
46
|
+
}
|
|
47
|
+
/** A compound frame (the system, or a container holding components). */
|
|
48
|
+
export interface C4Group {
|
|
49
|
+
id: string;
|
|
50
|
+
kind: 'system' | 'container';
|
|
51
|
+
label: string;
|
|
52
|
+
parentId?: string;
|
|
53
|
+
/** Member C4 node ids (or nested group ids for the system). */
|
|
54
|
+
memberIds: string[];
|
|
55
|
+
}
|
|
56
|
+
/** A rolled-up collaboration. `relationship` = static, `flow` = walkthrough. */
|
|
57
|
+
export interface C4Edge {
|
|
58
|
+
id: string;
|
|
59
|
+
source: string;
|
|
60
|
+
target: string;
|
|
61
|
+
kind: 'relationship' | 'flow';
|
|
62
|
+
label: string;
|
|
63
|
+
mechanisms: string[];
|
|
64
|
+
count: number;
|
|
65
|
+
}
|
|
66
|
+
export interface C4Model {
|
|
67
|
+
view: C4View;
|
|
68
|
+
system: C4Node;
|
|
69
|
+
nodes: C4Node[];
|
|
70
|
+
groups: C4Group[];
|
|
71
|
+
edges: C4Edge[];
|
|
72
|
+
}
|
|
73
|
+
export interface ToC4Options {
|
|
74
|
+
view?: C4View;
|
|
75
|
+
/** Override the system title; defaults to the repo key's owner/name. */
|
|
76
|
+
systemLabel?: string;
|
|
77
|
+
/** Override the repo key used for the system id. */
|
|
78
|
+
repoKey?: string;
|
|
79
|
+
/** Model-id attribution per component alias (e.g. from a merge sidecar). */
|
|
80
|
+
modelsByAlias?: Record<string, string[]>;
|
|
81
|
+
}
|
|
82
|
+
/** A code component (not an external, not an actor/entity). */
|
|
83
|
+
export declare function isGroundedComponent(c: SubsystemComponent): boolean;
|
|
84
|
+
/** `owner/name` from a purl, trimmed of scheme and fragment. */
|
|
85
|
+
export declare function labelFromPurl(purl: string): string;
|
|
86
|
+
/** The repo key the system is derived from: first grounded component's purl. */
|
|
87
|
+
export declare function deriveRepoKey(doc: SubsystemModelDocument): string | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Derive the C4 projection of a (possibly composed) subsystem document.
|
|
90
|
+
*
|
|
91
|
+
* @param doc - a portable document, or a composed one with canonical aliases.
|
|
92
|
+
* @param options - view + optional system naming + attribution.
|
|
93
|
+
*/
|
|
94
|
+
export declare function toC4(doc: SubsystemModelDocument, options?: ToC4Options): C4Model;
|
|
95
|
+
//# sourceMappingURL=toC4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toC4.d.ts","sourceRoot":"","sources":["../../src/subsystem/toC4.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE1E,4DAA4D;AAC5D,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjF,+EAA+E;AAC/E,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;AAE/C,mDAAmD;AACnD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wEAAwE;AACxE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,gFAAgF;AAChF,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAKD,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAElE;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAM7E;AAaD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,sBAAsB,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAiJpF"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toC4 — project a subsystem-model (or a composition of them) onto C4 levels.
|
|
3
|
+
*
|
|
4
|
+
* The stored document is flat: `components[]` carry `process` (runtime unit),
|
|
5
|
+
* `purl` (repo/package), `construct`, `role`, `module`, plus `relations[]`
|
|
6
|
+
* (static) and `walkthroughs[]` (dynamic). C4 wants a hierarchy above the
|
|
7
|
+
* component — system → container → component — with externals and actors
|
|
8
|
+
* outside it. This module derives that hierarchy without inventing data:
|
|
9
|
+
*
|
|
10
|
+
* system ← the repo key (purlRepoKey of the first grounded component)
|
|
11
|
+
* container ← component.process (runtime/deployment boundary)
|
|
12
|
+
* component ← a grounded component
|
|
13
|
+
* external ← construct: 'external'
|
|
14
|
+
* actor ← construct: 'custom_entity' (their authored actor/entity)
|
|
15
|
+
*
|
|
16
|
+
* Edges are rolled up to the owner of each endpoint at the chosen view, so the
|
|
17
|
+
* container view shows container↔container collaborations and the component
|
|
18
|
+
* view shows component↔component ones. Intra-owner edges (from === to) drop.
|
|
19
|
+
*
|
|
20
|
+
* Pure over the document so it is unit-testable and reusable by any renderer.
|
|
21
|
+
*/
|
|
22
|
+
const EXTERNAL_PURL = 'external';
|
|
23
|
+
const UNASSIGNED = '(unassigned)';
|
|
24
|
+
/** A code component (not an external, not an actor/entity). */
|
|
25
|
+
export function isGroundedComponent(c) {
|
|
26
|
+
return c.construct !== 'external' && c.construct !== 'custom_entity';
|
|
27
|
+
}
|
|
28
|
+
/** `owner/name` from a purl, trimmed of scheme and fragment. */
|
|
29
|
+
export function labelFromPurl(purl) {
|
|
30
|
+
const base = purl.replace(/^external:/, '').split('#')[0]?.trim() ?? '';
|
|
31
|
+
const parts = base.split('/').filter(Boolean);
|
|
32
|
+
return parts.slice(-2).join('/') || base || purl;
|
|
33
|
+
}
|
|
34
|
+
/** The repo key the system is derived from: first grounded component's purl. */
|
|
35
|
+
export function deriveRepoKey(doc) {
|
|
36
|
+
for (const c of doc.components) {
|
|
37
|
+
const p = (c.purl ?? '').split('#')[0]?.trim();
|
|
38
|
+
if (p && p !== EXTERNAL_PURL && !p.startsWith('external:'))
|
|
39
|
+
return p;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
/** Stable identity for an external: its real purl, else the model-local alias. */
|
|
44
|
+
function externalKey(c) {
|
|
45
|
+
const purl = (c.purl ?? '').trim();
|
|
46
|
+
if (purl && purl !== EXTERNAL_PURL && purl !== 'external:proposed')
|
|
47
|
+
return purl;
|
|
48
|
+
return `alias:${c.alias}`;
|
|
49
|
+
}
|
|
50
|
+
function containerKey(c) {
|
|
51
|
+
return c.process?.trim() || UNASSIGNED;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Derive the C4 projection of a (possibly composed) subsystem document.
|
|
55
|
+
*
|
|
56
|
+
* @param doc - a portable document, or a composed one with canonical aliases.
|
|
57
|
+
* @param options - view + optional system naming + attribution.
|
|
58
|
+
*/
|
|
59
|
+
export function toC4(doc, options = {}) {
|
|
60
|
+
const view = options.view ?? 'container';
|
|
61
|
+
const repoKey = options.repoKey ?? deriveRepoKey(doc) ?? 'system';
|
|
62
|
+
const systemId = `system:${repoKey}`;
|
|
63
|
+
const system = {
|
|
64
|
+
id: systemId,
|
|
65
|
+
kind: 'system',
|
|
66
|
+
label: options.systemLabel ?? labelFromPurl(repoKey),
|
|
67
|
+
key: repoKey,
|
|
68
|
+
members: [],
|
|
69
|
+
constructs: [],
|
|
70
|
+
isStore: false,
|
|
71
|
+
};
|
|
72
|
+
const nodes = new Map();
|
|
73
|
+
const ownerOf = new Map();
|
|
74
|
+
const containerNodeId = (key) => `container:${key}`;
|
|
75
|
+
const componentNodeId = (alias) => `component:${alias}`;
|
|
76
|
+
for (const c of doc.components) {
|
|
77
|
+
let id;
|
|
78
|
+
let kind;
|
|
79
|
+
let label;
|
|
80
|
+
let parentId;
|
|
81
|
+
let key;
|
|
82
|
+
if (c.construct === 'external') {
|
|
83
|
+
key = externalKey(c);
|
|
84
|
+
id = `external:${key}`;
|
|
85
|
+
kind = 'external';
|
|
86
|
+
label = key.startsWith('alias:') ? c.name : labelFromPurl(key);
|
|
87
|
+
}
|
|
88
|
+
else if (c.construct === 'custom_entity') {
|
|
89
|
+
key = c.alias;
|
|
90
|
+
id = `actor:${c.alias}`;
|
|
91
|
+
kind = 'actor';
|
|
92
|
+
label = c.name;
|
|
93
|
+
}
|
|
94
|
+
else if (view === 'component') {
|
|
95
|
+
key = containerKey(c);
|
|
96
|
+
id = componentNodeId(c.alias);
|
|
97
|
+
kind = 'component';
|
|
98
|
+
label = c.name;
|
|
99
|
+
parentId = containerNodeId(key);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
key = containerKey(c);
|
|
103
|
+
id = containerNodeId(key);
|
|
104
|
+
kind = 'container';
|
|
105
|
+
label = key === UNASSIGNED ? 'Unassigned' : key;
|
|
106
|
+
parentId = systemId;
|
|
107
|
+
}
|
|
108
|
+
ownerOf.set(c.alias, id);
|
|
109
|
+
let node = nodes.get(id);
|
|
110
|
+
if (!node) {
|
|
111
|
+
node = {
|
|
112
|
+
id,
|
|
113
|
+
kind,
|
|
114
|
+
label,
|
|
115
|
+
parentId,
|
|
116
|
+
key,
|
|
117
|
+
members: [],
|
|
118
|
+
constructs: [],
|
|
119
|
+
isStore: false,
|
|
120
|
+
...(kind === 'component' ? { component: c } : {}),
|
|
121
|
+
};
|
|
122
|
+
nodes.set(id, node);
|
|
123
|
+
}
|
|
124
|
+
node.members.push(c.alias);
|
|
125
|
+
if (!node.constructs.includes(c.construct))
|
|
126
|
+
node.constructs.push(c.construct);
|
|
127
|
+
if (c.construct === 'store')
|
|
128
|
+
node.isStore = true;
|
|
129
|
+
const models = options.modelsByAlias?.[c.alias];
|
|
130
|
+
if (models && models.length > 0) {
|
|
131
|
+
node.models = [...new Set([...(node.models ?? []), ...models])];
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// --- Groups (compound frames) ------------------------------------------
|
|
135
|
+
const groups = [];
|
|
136
|
+
if (view === 'container') {
|
|
137
|
+
const containerIds = [...nodes.values()].filter((n) => n.kind === 'container').map((n) => n.id);
|
|
138
|
+
if (containerIds.length > 0) {
|
|
139
|
+
groups.push({ id: systemId, kind: 'system', label: system.label, memberIds: containerIds });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const byContainer = new Map();
|
|
144
|
+
for (const n of nodes.values()) {
|
|
145
|
+
if (n.kind !== 'component' || !n.parentId)
|
|
146
|
+
continue;
|
|
147
|
+
const list = byContainer.get(n.parentId) ?? [];
|
|
148
|
+
list.push(n.id);
|
|
149
|
+
byContainer.set(n.parentId, list);
|
|
150
|
+
}
|
|
151
|
+
const containerIds = [];
|
|
152
|
+
for (const [id, memberIds] of byContainer) {
|
|
153
|
+
const label = id.slice('container:'.length);
|
|
154
|
+
groups.push({ id, kind: 'container', label: label === UNASSIGNED ? 'Unassigned' : label, parentId: systemId, memberIds });
|
|
155
|
+
containerIds.push(id);
|
|
156
|
+
}
|
|
157
|
+
if (containerIds.length > 0) {
|
|
158
|
+
groups.push({ id: systemId, kind: 'system', label: system.label, memberIds: containerIds });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// --- Edges: roll each endpoint up to its owner at this view -------------
|
|
162
|
+
const relEdges = new Map();
|
|
163
|
+
const flowEdges = new Map();
|
|
164
|
+
const addEdge = (bucket, source, target, kind, mechanism) => {
|
|
165
|
+
if (!source || !target || source === target)
|
|
166
|
+
return;
|
|
167
|
+
const key = `${source}\0${target}`;
|
|
168
|
+
let edge = bucket.get(key);
|
|
169
|
+
if (!edge) {
|
|
170
|
+
edge = { id: `${kind}:${key}`, source, target, kind, label: '', mechanisms: [], count: 0 };
|
|
171
|
+
bucket.set(key, edge);
|
|
172
|
+
}
|
|
173
|
+
edge.count += 1;
|
|
174
|
+
if (!edge.mechanisms.includes(mechanism))
|
|
175
|
+
edge.mechanisms.push(mechanism);
|
|
176
|
+
};
|
|
177
|
+
for (const r of doc.relations ?? []) {
|
|
178
|
+
addEdge(relEdges, ownerOf.get(r.from), ownerOf.get(r.to), 'relationship', r.relationType);
|
|
179
|
+
}
|
|
180
|
+
for (const w of doc.walkthroughs ?? []) {
|
|
181
|
+
for (const s of w.steps ?? []) {
|
|
182
|
+
addEdge(flowEdges, ownerOf.get(s.from), ownerOf.get(s.to), 'flow', s.mechanism);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const edges = [...relEdges.values(), ...flowEdges.values()];
|
|
186
|
+
for (const e of edges)
|
|
187
|
+
e.label = [...e.mechanisms].sort().join(' + ');
|
|
188
|
+
return {
|
|
189
|
+
view,
|
|
190
|
+
system,
|
|
191
|
+
nodes: [...nodes.values()].filter((n) => n.kind !== 'system'),
|
|
192
|
+
groups,
|
|
193
|
+
edges,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=toC4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toC4.js","sourceRoot":"","sources":["../../src/subsystem/toC4.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* walkthroughBrief — build a paste-ready markdown brief for a single
|
|
3
|
+
* walkthrough step so a reviewer can hand one hop to an agent without
|
|
4
|
+
* transcribing it by hand.
|
|
5
|
+
*
|
|
6
|
+
* The unit of handoff is one hop, not the whole flow. A bare hop is ambiguous
|
|
7
|
+
* on its own — the same `from`/`to`/`mechanism` can repeat across flows — so the
|
|
8
|
+
* brief also carries the flow it belongs to and its position within it, plus
|
|
9
|
+
* the exact seam site (`symbol`, `file:line`, `purl`) that resolves the
|
|
10
|
+
* checkout.
|
|
11
|
+
*/
|
|
12
|
+
import type { SubsystemWalkthrough } from './model';
|
|
13
|
+
/**
|
|
14
|
+
* Markdown brief for `walkthrough.steps[stepIndex]`. Returns `''` when the
|
|
15
|
+
* index is out of range so a caller can treat it as "nothing to copy".
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildStepBrief(walkthrough: SubsystemWalkthrough, stepIndex: number): string;
|
|
18
|
+
//# sourceMappingURL=walkthroughBrief.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walkthroughBrief.d.ts","sourceRoot":"","sources":["../../src/subsystem/walkthroughBrief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,oBAAoB,EACjC,SAAS,EAAE,MAAM,GAChB,MAAM,CAkBR"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* walkthroughBrief — build a paste-ready markdown brief for a single
|
|
3
|
+
* walkthrough step so a reviewer can hand one hop to an agent without
|
|
4
|
+
* transcribing it by hand.
|
|
5
|
+
*
|
|
6
|
+
* The unit of handoff is one hop, not the whole flow. A bare hop is ambiguous
|
|
7
|
+
* on its own — the same `from`/`to`/`mechanism` can repeat across flows — so the
|
|
8
|
+
* brief also carries the flow it belongs to and its position within it, plus
|
|
9
|
+
* the exact seam site (`symbol`, `file:line`, `purl`) that resolves the
|
|
10
|
+
* checkout.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Markdown brief for `walkthrough.steps[stepIndex]`. Returns `''` when the
|
|
14
|
+
* index is out of range so a caller can treat it as "nothing to copy".
|
|
15
|
+
*/
|
|
16
|
+
export function buildStepBrief(walkthrough, stepIndex) {
|
|
17
|
+
const step = walkthrough.steps[stepIndex];
|
|
18
|
+
if (!step)
|
|
19
|
+
return '';
|
|
20
|
+
const lines = [];
|
|
21
|
+
lines.push(`Walkthrough: ${walkthrough.title} (${walkthrough.id}) — step ${stepIndex + 1}/${walkthrough.steps.length}`);
|
|
22
|
+
lines.push('');
|
|
23
|
+
lines.push(`- from: \`${step.from}\``);
|
|
24
|
+
lines.push(`- to: \`${step.to}\``);
|
|
25
|
+
lines.push(`- mechanism: \`${step.mechanism}\``);
|
|
26
|
+
lines.push(`- symbol: \`${step.symbol}\``);
|
|
27
|
+
lines.push(`- site: \`${step.file}:${step.line}\``);
|
|
28
|
+
lines.push(`- purl: \`${step.purl}\``);
|
|
29
|
+
if (step.annotation != null && step.annotation.length > 0) {
|
|
30
|
+
lines.push(`- note: ${step.annotation}`);
|
|
31
|
+
}
|
|
32
|
+
return lines.join('\n');
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=walkthroughBrief.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walkthroughBrief.js","sourceRoot":"","sources":["../../src/subsystem/walkthroughBrief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAiC,EACjC,SAAiB;IAEjB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,gBAAgB,WAAW,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE,YAAY,SAAS,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAC5G,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzD,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KAC1C;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -174,8 +174,13 @@ export type {
|
|
|
174
174
|
} from './subsystem/paths';
|
|
175
175
|
export { SubsystemFileTree } from './subsystem/SubsystemFileTree';
|
|
176
176
|
export type { SubsystemFileTreeProps } from './subsystem/SubsystemFileTree';
|
|
177
|
-
export {
|
|
177
|
+
export {
|
|
178
|
+
WalkthroughsPanel,
|
|
179
|
+
WALKTHROUGH_PLAY_PAUSE_MS,
|
|
180
|
+
STEP_COPY_FEEDBACK_MS,
|
|
181
|
+
} from './subsystem/WalkthroughsPanel';
|
|
178
182
|
export type { WalkthroughsPanelProps } from './subsystem/WalkthroughsPanel';
|
|
183
|
+
export { buildStepBrief } from './subsystem/walkthroughBrief';
|
|
179
184
|
export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
|
|
180
185
|
export type { GraphLayoutCoverProps } from './subsystem/GraphLayoutCover';
|
|
181
186
|
export {
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import React, { useMemo, useState } from 'react';
|
|
2
|
+
import '@xyflow/react/dist/style.css';
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
|
|
5
|
+
import { C4Graph } from '../../../subsystem/C4Graph';
|
|
6
|
+
import { toC4, type C4View } from '../../../subsystem/toC4';
|
|
7
|
+
import { c4FixtureModel } from './c4Fixture';
|
|
8
|
+
|
|
9
|
+
const meta = {
|
|
10
|
+
title: 'Subsystem/C4Graph/C4Container',
|
|
11
|
+
component: C4Graph,
|
|
12
|
+
parameters: {
|
|
13
|
+
layout: 'fullscreen',
|
|
14
|
+
},
|
|
15
|
+
tags: ['autodocs'],
|
|
16
|
+
decorators: [
|
|
17
|
+
(Story) => (
|
|
18
|
+
<ThemeProvider theme={defaultEditorTheme}>
|
|
19
|
+
<Story />
|
|
20
|
+
</ThemeProvider>
|
|
21
|
+
),
|
|
22
|
+
],
|
|
23
|
+
} satisfies Meta<typeof C4Graph>;
|
|
24
|
+
|
|
25
|
+
export default meta;
|
|
26
|
+
type Story = StoryObj<typeof meta>;
|
|
27
|
+
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// C4 projection of a real composite: 60 stored subsystem models over one repo,
|
|
30
|
+
// merged by the host, then derived into system → container/component boxes with
|
|
31
|
+
// externals + actors outside. Toggle the C4 level; click a box to see the
|
|
32
|
+
// source components it rolled up.
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
function C4Demo() {
|
|
36
|
+
const [view, setView] = useState<C4View>('container');
|
|
37
|
+
const [selected, setSelected] = useState<string | null>(null);
|
|
38
|
+
const model = useMemo(() => toC4(c4FixtureModel, { view, systemLabel: 'Subsystem Modeling' }), [view]);
|
|
39
|
+
|
|
40
|
+
const counts = {
|
|
41
|
+
containers: model.nodes.filter((n) => n.kind === 'container').length,
|
|
42
|
+
components: model.nodes.filter((n) => n.kind === 'component').length,
|
|
43
|
+
externals: model.nodes.filter((n) => n.kind === 'external').length,
|
|
44
|
+
actors: model.nodes.filter((n) => n.kind === 'actor').length,
|
|
45
|
+
relationships: model.edges.filter((e) => e.kind === 'relationship').length,
|
|
46
|
+
flows: model.edges.filter((e) => e.kind === 'flow').length,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const button = (label: string, value: C4View) => (
|
|
50
|
+
<button
|
|
51
|
+
type="button"
|
|
52
|
+
onClick={() => setView(value)}
|
|
53
|
+
style={{
|
|
54
|
+
fontFamily: 'monospace',
|
|
55
|
+
fontSize: 12,
|
|
56
|
+
padding: '2px 10px',
|
|
57
|
+
borderRadius: 4,
|
|
58
|
+
cursor: 'pointer',
|
|
59
|
+
border: '1px solid #555',
|
|
60
|
+
background: view === value ? '#1D9E75' : 'transparent',
|
|
61
|
+
color: view === value ? '#020B12' : '#ddd',
|
|
62
|
+
}}
|
|
63
|
+
>
|
|
64
|
+
{label}
|
|
65
|
+
</button>
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<div style={{ width: '100%', height: '100vh', display: 'flex', flexDirection: 'column' }}>
|
|
70
|
+
<div style={{ flex: 1, minHeight: 0, position: 'relative' }}>
|
|
71
|
+
<C4Graph model={model} title="Subsystem Modeling" onSelectNode={setSelected} />
|
|
72
|
+
</div>
|
|
73
|
+
<div
|
|
74
|
+
style={{
|
|
75
|
+
padding: '6px 12px',
|
|
76
|
+
display: 'flex',
|
|
77
|
+
alignItems: 'center',
|
|
78
|
+
gap: 16,
|
|
79
|
+
fontFamily: 'monospace',
|
|
80
|
+
fontSize: 12,
|
|
81
|
+
color: '#aaa',
|
|
82
|
+
borderTop: '1px solid #333',
|
|
83
|
+
}}
|
|
84
|
+
>
|
|
85
|
+
<span style={{ display: 'flex', gap: 6 }}>
|
|
86
|
+
view: {button('container', 'container')} {button('component', 'component')}
|
|
87
|
+
</span>
|
|
88
|
+
<span>
|
|
89
|
+
{counts.containers} containers · {counts.components} components · {counts.externals} externals ·{' '}
|
|
90
|
+
{counts.actors} actors
|
|
91
|
+
</span>
|
|
92
|
+
<span>
|
|
93
|
+
{counts.relationships} relationship edges · {counts.flows} flow edges
|
|
94
|
+
</span>
|
|
95
|
+
<span>selected: {selected ?? '(none)'}</span>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export const C4: Story = {
|
|
102
|
+
args: { model: toC4(c4FixtureModel, { view: 'container', systemLabel: 'Subsystem Modeling' }) },
|
|
103
|
+
render: () => <C4Demo />,
|
|
104
|
+
};
|