@principal-ai/subsystems-react 0.56.12 → 0.56.14

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 (54) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/subsystem/C4Graph.d.ts.map +1 -1
  6. package/dist/subsystem/C4Graph.js +10 -4
  7. package/dist/subsystem/C4Graph.js.map +1 -1
  8. package/dist/subsystem/C4ProjectionView.d.ts +60 -0
  9. package/dist/subsystem/C4ProjectionView.d.ts.map +1 -0
  10. package/dist/subsystem/C4ProjectionView.js +336 -0
  11. package/dist/subsystem/C4ProjectionView.js.map +1 -0
  12. package/dist/subsystem/C4SketchView.d.ts +23 -0
  13. package/dist/subsystem/C4SketchView.d.ts.map +1 -0
  14. package/dist/subsystem/C4SketchView.js +119 -0
  15. package/dist/subsystem/C4SketchView.js.map +1 -0
  16. package/dist/subsystem/DescriptionOverlay.d.ts +6 -0
  17. package/dist/subsystem/DescriptionOverlay.d.ts.map +1 -0
  18. package/dist/subsystem/DescriptionOverlay.js +58 -0
  19. package/dist/subsystem/DescriptionOverlay.js.map +1 -0
  20. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  21. package/dist/subsystem/SubsystemComponentGraph.js +289 -271
  22. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  23. package/dist/subsystem/__fixtures__/c4Drilldown.d.ts +4 -27
  24. package/dist/subsystem/__fixtures__/c4Drilldown.d.ts.map +1 -1
  25. package/dist/subsystem/__fixtures__/c4Drilldown.js +4 -56
  26. package/dist/subsystem/__fixtures__/c4Drilldown.js.map +1 -1
  27. package/dist/subsystem/__fixtures__/c4Sketch.d.ts +9 -0
  28. package/dist/subsystem/__fixtures__/c4Sketch.d.ts.map +1 -0
  29. package/dist/subsystem/__fixtures__/c4Sketch.js +89 -0
  30. package/dist/subsystem/__fixtures__/c4Sketch.js.map +1 -0
  31. package/dist/subsystem/c4Sketch.d.ts +74 -0
  32. package/dist/subsystem/c4Sketch.d.ts.map +1 -0
  33. package/dist/subsystem/c4Sketch.js +9 -0
  34. package/dist/subsystem/c4Sketch.js.map +1 -0
  35. package/dist/subsystem/c4TrailFocus.d.ts +30 -0
  36. package/dist/subsystem/c4TrailFocus.d.ts.map +1 -0
  37. package/dist/subsystem/c4TrailFocus.js +57 -0
  38. package/dist/subsystem/c4TrailFocus.js.map +1 -0
  39. package/package.json +1 -1
  40. package/src/index.ts +14 -0
  41. package/src/stories/Canvases/C4/C4Draft.stories.tsx +238 -0
  42. package/src/stories/Canvases/C4/C4Sketch.stories.tsx +36 -0
  43. package/src/stories/Canvases/C4/C4ToComponentDrill.stories.tsx +18 -429
  44. package/src/subsystem/C4Graph.tsx +10 -4
  45. package/src/subsystem/C4ProjectionView.tsx +595 -0
  46. package/src/subsystem/C4SketchView.tsx +241 -0
  47. package/src/subsystem/DescriptionOverlay.test.tsx +76 -0
  48. package/src/subsystem/DescriptionOverlay.tsx +101 -0
  49. package/src/subsystem/SubsystemComponentGraph.sidebar.test.tsx +10 -3
  50. package/src/subsystem/SubsystemComponentGraph.tsx +44 -12
  51. package/src/subsystem/__fixtures__/c4Drilldown.ts +7 -58
  52. package/src/subsystem/__fixtures__/c4Sketch.ts +94 -0
  53. package/src/subsystem/c4Sketch.ts +78 -0
  54. package/src/subsystem/c4TrailFocus.ts +62 -0
@@ -1 +1 @@
1
- {"version":3,"file":"c4Drilldown.js","sourceRoot":"","sources":["../../../src/subsystem/__fixtures__/c4Drilldown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c4Drilldown.js","sourceRoot":"","sources":["../../../src/subsystem/__fixtures__/c4Drilldown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Storybook fixture for an authored C4 sketch.
3
+ *
4
+ * A standalone hypothesis: containers, a component, an external, a person,
5
+ * and two authored lines. No model or grounding is involved.
6
+ */
7
+ import type { C4Sketch } from '../c4Sketch';
8
+ export declare const SKETCH_FIXTURE: C4Sketch;
9
+ //# sourceMappingURL=c4Sketch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4Sketch.d.ts","sourceRoot":"","sources":["../../../src/subsystem/__fixtures__/c4Sketch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,eAAO,MAAM,cAAc,EAAE,QAiF5B,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Storybook fixture for an authored C4 sketch.
3
+ *
4
+ * A standalone hypothesis: containers, a component, an external, a person,
5
+ * and two authored lines. No model or grounding is involved.
6
+ */
7
+ const PURL = 'pkg:github/acme/widget';
8
+ export const SKETCH_FIXTURE = {
9
+ id: 'c4s-story',
10
+ title: 'Acme widget architecture',
11
+ repoKeys: [PURL],
12
+ author: 'storybook',
13
+ notes: '## About this sketch\n\nThis is an **authored hypothesis** for the Acme widget. It describes the host and worker containers, the store inside the host, and the GitHub integration.\n\n- The worker calls the host over RPC.\n- The host calls GitHub over HTTPS.\n- Nothing here is verified or promoted.',
14
+ createdAt: '2026-10-25T00:00:00.000Z',
15
+ updatedAt: '2026-10-25T00:00:00.000Z',
16
+ model: {
17
+ view: 'container',
18
+ system: { id: 'system:acme', label: 'Acme' },
19
+ nodes: [
20
+ {
21
+ kind: 'container',
22
+ id: 'container:host',
23
+ label: 'Host',
24
+ containerKind: 'application',
25
+ technology: 'Bun',
26
+ process: 'acme/host',
27
+ state: 'proposed',
28
+ description: 'The long-lived host process.',
29
+ },
30
+ {
31
+ kind: 'container',
32
+ id: 'container:worker',
33
+ label: 'Worker',
34
+ containerKind: 'application',
35
+ technology: 'Bun',
36
+ process: 'acme/worker',
37
+ state: 'proposed',
38
+ description: 'The background worker.',
39
+ },
40
+ {
41
+ kind: 'component',
42
+ id: 'component:store',
43
+ label: 'Store',
44
+ container: 'container:host',
45
+ technology: 'Postgres',
46
+ members: ['store', 'ghost'],
47
+ state: 'proposed',
48
+ description: 'Persistence inside the host.',
49
+ },
50
+ {
51
+ kind: 'external-system',
52
+ id: 'external:github',
53
+ label: 'GitHub',
54
+ technology: 'REST',
55
+ members: ['github'],
56
+ state: 'proposed',
57
+ description: 'External source control.',
58
+ },
59
+ {
60
+ kind: 'person',
61
+ id: 'person:dev',
62
+ label: 'Developer',
63
+ state: 'proposed',
64
+ description: 'Uses the system.',
65
+ },
66
+ ],
67
+ edges: [
68
+ {
69
+ id: 'e:host-github',
70
+ source: 'container:host',
71
+ target: 'external:github',
72
+ label: 'HTTPS',
73
+ protocol: 'HTTPS',
74
+ mechanisms: ['calls'],
75
+ count: 1,
76
+ },
77
+ {
78
+ id: 'e:worker-host',
79
+ source: 'container:worker',
80
+ target: 'container:host',
81
+ label: 'RPC',
82
+ protocol: 'RPC',
83
+ mechanisms: ['calls'],
84
+ count: 1,
85
+ },
86
+ ],
87
+ },
88
+ };
89
+ //# sourceMappingURL=c4Sketch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4Sketch.js","sourceRoot":"","sources":["../../../src/subsystem/__fixtures__/c4Sketch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,0BAA0B;IACjC,QAAQ,EAAE,CAAC,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW;IACnB,KAAK,EACH,4SAA4S;IAC9S,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,0BAA0B;IACrC,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;QAC5C,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,gBAAgB;gBACpB,KAAK,EAAE,MAAM;gBACb,aAAa,EAAE,aAAa;gBAC5B,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,8BAA8B;aAC5C;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,kBAAkB;gBACtB,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,aAAa;gBAC5B,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,gBAAgB;gBAC3B,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC3B,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,8BAA8B;aAC5C;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,MAAM;gBAClB,OAAO,EAAE,CAAC,QAAQ,CAAC;gBACnB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,0BAA0B;aACxC;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,kBAAkB;aAChC;SACF;QACD,KAAK,EAAE;YACL;gBACE,EAAE,EAAE,eAAe;gBACnB,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Authored C4 sketches — the types shared by the sketch view and the host
3
+ * stores.
4
+ *
5
+ * These live in `subsystems-react` so the pure view and its Storybook fixtures
6
+ * can use them without importing Studio's cross-process contract.
7
+ */
8
+ import type { C4Model } from './c4';
9
+ /**
10
+ * A C4 sketch — an authored, unverified architecture hypothesis.
11
+ *
12
+ * Unlike the accepted element store (approved containers only) and a model
13
+ * projection (derived from `process` keys), a sketch carries containers,
14
+ * components, externals, persons, AND edges. It can exist before any subsystem
15
+ * model does. Element state is forced to `proposed` by the host store: a sketch
16
+ * never claims acceptance.
17
+ */
18
+ export interface C4Sketch {
19
+ id: string;
20
+ title: string;
21
+ /** Repos the sketch claims to describe; can be empty for greenfield. */
22
+ repoKeys: string[];
23
+ /** Authored nodes + edges. */
24
+ model: C4Model;
25
+ author?: string;
26
+ notes?: string;
27
+ createdAt: string;
28
+ updatedAt: string;
29
+ }
30
+ /** Lightweight row for listing sketches without their nodes/edges. */
31
+ export interface C4SketchSummary {
32
+ id: string;
33
+ title: string;
34
+ repoKeys: string[];
35
+ author?: string;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ counts: {
39
+ containers: number;
40
+ components: number;
41
+ externals: number;
42
+ persons: number;
43
+ edges: number;
44
+ };
45
+ }
46
+ /** Which C4 source a model projection or tab reads. */
47
+ export type SubsystemC4Source = 'auto' | 'accepted' | 'draft';
48
+ /**
49
+ * A drawable C4 projection for one subsystem model.
50
+ *
51
+ * `accepted` uses the repo's approved containers; `draft` derives provisional
52
+ * containers from the model's `process` keys. `memberships` is element id →
53
+ * component aliases, so a view can build construct graphs without re-deriving
54
+ * the join.
55
+ */
56
+ export interface SubsystemC4Projection {
57
+ model: C4Model;
58
+ source: 'accepted' | 'draft';
59
+ memberships: Record<string, string[]>;
60
+ counts: {
61
+ containers: number;
62
+ externals: number;
63
+ edges: number;
64
+ components: number;
65
+ unassignedComponents: number;
66
+ unbackedProcesses: number;
67
+ };
68
+ repos: string[];
69
+ /** Aliases of components that state no `process`. */
70
+ unassignedComponents: string[];
71
+ /** Container-shaped process keys no accepted container claims (accepted source only). */
72
+ unbackedProcesses: string[];
73
+ }
74
+ //# sourceMappingURL=c4Sketch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4Sketch.d.ts","sourceRoot":"","sources":["../../src/subsystem/c4Sketch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qDAAqD;IACrD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,yFAAyF;IACzF,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Authored C4 sketches — the types shared by the sketch view and the host
3
+ * stores.
4
+ *
5
+ * These live in `subsystems-react` so the pure view and its Storybook fixtures
6
+ * can use them without importing Studio's cross-process contract.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=c4Sketch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4Sketch.js","sourceRoot":"","sources":["../../src/subsystem/c4Sketch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * C4 trail focus — the pure read-side helpers shared by the C4 projection view
3
+ * and its stories.
4
+ *
5
+ * These do not own state: a host decides which trail/step is focused and asks
6
+ * which elements and lines that focus touches.
7
+ */
8
+ import type { C4Edge } from './c4';
9
+ import type { SubsystemTrailStep } from './model';
10
+ /**
11
+ * The C4 elements a trail touches — every element that owns a step endpoint.
12
+ *
13
+ * Because a container's process-claim membership AND the authored components
14
+ * nested inside it can both claim an alias, both end up in the set: the
15
+ * container is the visible card at container view, its components are the
16
+ * visible cards when it is open, so either view stays honest.
17
+ */
18
+ export declare function deriveTrailPlayerElements(steps: readonly SubsystemTrailStep[], members: Readonly<Record<string, readonly string[]>>): Set<string>;
19
+ /**
20
+ * The C4 edges that carry a focus — a whole trail, or one specific step.
21
+ *
22
+ * An edge is lit iff its authored `trailRefs` cover the source. A step entirely
23
+ * internal to a container folds into no C4 line, so its focus lights nothing —
24
+ * which is honest: no drawn edge represents that hop.
25
+ */
26
+ export declare function deriveLitC4Edges(source: {
27
+ trailId: string;
28
+ stepIndex?: number;
29
+ }, edges: readonly C4Edge[]): Set<string>;
30
+ //# sourceMappingURL=c4TrailFocus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4TrailFocus.d.ts","sourceRoot":"","sources":["../../src/subsystem/c4TrailFocus.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,kBAAkB,EAAE,EACpC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GACnD,GAAG,CAAC,MAAM,CAAC,CAeb;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,GAAG,CAAC,MAAM,CAAC,CAYb"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * C4 trail focus — the pure read-side helpers shared by the C4 projection view
3
+ * and its stories.
4
+ *
5
+ * These do not own state: a host decides which trail/step is focused and asks
6
+ * which elements and lines that focus touches.
7
+ */
8
+ /**
9
+ * The C4 elements a trail touches — every element that owns a step endpoint.
10
+ *
11
+ * Because a container's process-claim membership AND the authored components
12
+ * nested inside it can both claim an alias, both end up in the set: the
13
+ * container is the visible card at container view, its components are the
14
+ * visible cards when it is open, so either view stays honest.
15
+ */
16
+ export function deriveTrailPlayerElements(steps, members) {
17
+ const byAlias = new Map();
18
+ for (const [elementId, aliases] of Object.entries(members)) {
19
+ for (const alias of aliases) {
20
+ const list = byAlias.get(alias);
21
+ if (list)
22
+ list.push(elementId);
23
+ else
24
+ byAlias.set(alias, [elementId]);
25
+ }
26
+ }
27
+ const players = new Set();
28
+ for (const step of steps) {
29
+ for (const id of byAlias.get(step.from) ?? [])
30
+ players.add(id);
31
+ for (const id of byAlias.get(step.to) ?? [])
32
+ players.add(id);
33
+ }
34
+ return players;
35
+ }
36
+ /**
37
+ * The C4 edges that carry a focus — a whole trail, or one specific step.
38
+ *
39
+ * An edge is lit iff its authored `trailRefs` cover the source. A step entirely
40
+ * internal to a container folds into no C4 line, so its focus lights nothing —
41
+ * which is honest: no drawn edge represents that hop.
42
+ */
43
+ export function deriveLitC4Edges(source, edges) {
44
+ const lit = new Set();
45
+ for (const edge of edges) {
46
+ for (const ref of edge.trailRefs ?? []) {
47
+ if (ref.trailId !== source.trailId)
48
+ continue;
49
+ if (source.stepIndex == null || ref.stepIndices.includes(source.stepIndex)) {
50
+ lit.add(edge.id);
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ return lit;
56
+ }
57
+ //# sourceMappingURL=c4TrailFocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4TrailFocus.js","sourceRoot":"","sources":["../../src/subsystem/c4TrailFocus.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAoC,EACpC,OAAoD;IAEpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;SACtC;KACF;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC9D;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAA+C,EAC/C,KAAwB;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE;YACtC,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;gBAAE,SAAS;YAC7C,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBAC1E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,MAAM;aACP;SACF;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/subsystems-react",
3
- "version": "0.56.12",
3
+ "version": "0.56.14",
4
4
  "description": "React UI for Subsystem Models — graph, Pierre code views, and session-event feeds",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -298,6 +298,20 @@ export type {
298
298
  // --- C4 projection -----------------------------------------------------
299
299
  export { C4Graph } from './subsystem/C4Graph';
300
300
  export type { C4GraphProps } from './subsystem/C4Graph';
301
+ export { C4ProjectionView } from './subsystem/C4ProjectionView';
302
+ export type { C4ProjectionViewProps } from './subsystem/C4ProjectionView';
303
+ export { C4SketchView } from './subsystem/C4SketchView';
304
+ export type { C4SketchViewProps } from './subsystem/C4SketchView';
305
+ export type {
306
+ C4Sketch,
307
+ C4SketchSummary,
308
+ SubsystemC4Source,
309
+ SubsystemC4Projection,
310
+ } from './subsystem/c4Sketch';
311
+ export {
312
+ deriveLitC4Edges,
313
+ deriveTrailPlayerElements,
314
+ } from './subsystem/c4TrailFocus';
301
315
  export { GraphSidebar } from './subsystem/GraphSidebar';
302
316
  export type { GraphSidebarProps, GraphSidebarTab } from './subsystem/GraphSidebar';
303
317
  export { GraphWithSidebar } from './subsystem/GraphWithSidebar';
@@ -0,0 +1,238 @@
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 type { C4ConstructGraph } from '../../../subsystem/C4Graph';
7
+ import type { C4Edge, C4Element, C4Model } from '../../../subsystem/c4';
8
+ import {
9
+ DRILLDOWN_COMPONENTS,
10
+ DRILLDOWN_PURL,
11
+ DRILLDOWN_TRAILS,
12
+ } from '../../../subsystem/__fixtures__/c4Drilldown';
13
+
14
+ const meta = {
15
+ title: 'Canvases/C4/C4Draft',
16
+ component: C4Graph,
17
+ parameters: { layout: 'fullscreen' },
18
+ tags: ['autodocs'],
19
+ decorators: [
20
+ (Story) => (
21
+ <ThemeProvider theme={defaultEditorTheme}>
22
+ <Story />
23
+ </ThemeProvider>
24
+ ),
25
+ ],
26
+ } satisfies Meta<typeof C4Graph>;
27
+
28
+ export default meta;
29
+ type Story = StoryObj<typeof meta>;
30
+
31
+ // ---------------------------------------------------------------------------
32
+ // The minimal C4: no accepted containers, no authored components.
33
+ //
34
+ // Every box is derived from the model itself:
35
+ //
36
+ // - one *draft* container per runtime `process` key (members resolve by
37
+ // exact process match, the rule accepted containers use);
38
+ // - a file-less / external process becomes an external system, so lines
39
+ // leaving the boundary have somewhere to land;
40
+ // - lines are the fold of cross-boundary trail steps, labelled by
41
+ // mechanism;
42
+ // - each opened container hosts its member constructs directly, because no
43
+ // C4 component layer exists to group them.
44
+ //
45
+ // Nothing here claims verification. This is what the API's `source=draft`
46
+ // projection looks like: a reading of the model, not a stored decision.
47
+ // ---------------------------------------------------------------------------
48
+
49
+ const SYSTEM = {
50
+ id: 'system:draft',
51
+ label: 'Gist share from Studio',
52
+ repoKey: DRILLDOWN_PURL,
53
+ };
54
+
55
+ const byAlias = new Map(DRILLDOWN_COMPONENTS.map((c) => [c.alias, c]));
56
+
57
+ /** `local/disk` → `local-disk`; keeps ids readable in the story. */
58
+ function slug(value: string): string {
59
+ return value.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '');
60
+ }
61
+
62
+ interface DraftElement {
63
+ element: C4Element;
64
+ members: string[];
65
+ }
66
+
67
+ const elements: C4Element[] = [];
68
+ const membersByElement = new Map<string, string[]>();
69
+ const elementOfAlias = new Map<string, string>();
70
+
71
+ const byProcess = new Map<string, string[]>();
72
+ for (const component of DRILLDOWN_COMPONENTS) {
73
+ const process = component.process?.trim();
74
+ if (!process) continue;
75
+ const list = byProcess.get(process) ?? [];
76
+ list.push(component.alias);
77
+ byProcess.set(process, list);
78
+ }
79
+
80
+ const drafts: DraftElement[] = [];
81
+ for (const [process, members] of byProcess) {
82
+ // A process with no grounded code behind it is not a deployable unit: it is
83
+ // the model's way of naming something outside the boundary.
84
+ const fileless = members.every((alias) => !byAlias.get(alias)?.file);
85
+ const external =
86
+ fileless || process.startsWith('external/') || process.startsWith('local/');
87
+
88
+ if (external) {
89
+ const element: C4Element = {
90
+ kind: 'external-system',
91
+ id: `external:${slug(process)}`,
92
+ label: process,
93
+ members,
94
+ technology: byAlias.get(members[0] ?? '')?.framework ?? 'external',
95
+ state: 'accepted',
96
+ description: `${members.length} member${members.length === 1 ? '' : 's'} outside the boundary.`,
97
+ };
98
+ elements.push(element);
99
+ drafts.push({ element, members });
100
+ membersByElement.set(element.id, members);
101
+ } else {
102
+ const element: C4Element = {
103
+ kind: 'container',
104
+ id: `container:${slug(process)}`,
105
+ label: process,
106
+ containerKind: members.some((alias) => byAlias.get(alias)?.construct === 'store')
107
+ ? 'data-store'
108
+ : 'application',
109
+ technology: byAlias.get(members[0] ?? '')?.framework ?? '',
110
+ process,
111
+ parentId: SYSTEM.id,
112
+ state: 'accepted',
113
+ description: `${members.length} component${members.length === 1 ? '' : 's'} derived from process ${process}.`,
114
+ };
115
+ elements.push(element);
116
+ drafts.push({ element, members });
117
+ membersByElement.set(element.id, members);
118
+ }
119
+ for (const alias of members) elementOfAlias.set(alias, elements[elements.length - 1]!.id);
120
+ }
121
+
122
+ const containers = drafts.filter((d) => d.element.kind === 'container');
123
+ const externals = drafts.filter((d) => d.element.kind === 'external-system');
124
+
125
+ // Fold cross-boundary trail steps into lines. Same rule the accepted-store
126
+ // projection uses; only the membership source differs.
127
+ const edges: C4Edge[] = (() => {
128
+ const byKey = new Map<
129
+ string,
130
+ { source: string; target: string; mechanism: string; refs: Map<string, number[]> }
131
+ >();
132
+ for (const trail of DRILLDOWN_TRAILS) {
133
+ trail.steps.forEach((step, index) => {
134
+ const source = elementOfAlias.get(step.from);
135
+ const target = elementOfAlias.get(step.to);
136
+ if (!source || !target || source === target) return;
137
+ const key = [source, target, step.mechanism].join('\0');
138
+ let acc = byKey.get(key);
139
+ if (!acc) {
140
+ acc = { source, target, mechanism: step.mechanism, refs: new Map() };
141
+ byKey.set(key, acc);
142
+ }
143
+ const steps = acc.refs.get(trail.id) ?? [];
144
+ steps.push(index);
145
+ acc.refs.set(trail.id, steps);
146
+ });
147
+ }
148
+ return [...byKey.values()].map((acc) => ({
149
+ id: `e:${slug(acc.source)}-${slug(acc.target)}-${acc.mechanism}`,
150
+ source: acc.source,
151
+ target: acc.target,
152
+ label: acc.mechanism,
153
+ protocol: acc.mechanism,
154
+ mechanisms: [acc.mechanism],
155
+ count: [...acc.refs.values()].reduce((n, steps) => n + steps.length, 0),
156
+ trailRefs: [...acc.refs.entries()].map(([trailId, stepIndices]) => ({
157
+ trailId,
158
+ stepIndices,
159
+ })),
160
+ }));
161
+ })();
162
+
163
+ // No `componentOf`: the constructs nest directly under their container.
164
+ const constructGraphByContainer = new Map<string, C4ConstructGraph>();
165
+ for (const draft of containers) {
166
+ const members = membersByElement.get(draft.element.id) ?? [];
167
+ constructGraphByContainer.set(draft.element.id, {
168
+ components: members
169
+ .map((alias) => byAlias.get(alias))
170
+ .filter((c): c is NonNullable<typeof c> => Boolean(c)),
171
+ trails: DRILLDOWN_TRAILS,
172
+ });
173
+ }
174
+
175
+ const allContainerIds = containers.map((d) => d.element.id);
176
+
177
+ function Demo() {
178
+ const [openIds, setOpenIds] = useState<string[]>(allContainerIds);
179
+
180
+ const model = useMemo<C4Model>(
181
+ () => ({
182
+ view: 'container',
183
+ system: SYSTEM,
184
+ nodes: elements,
185
+ edges,
186
+ openContainerIds: openIds,
187
+ }),
188
+ [openIds],
189
+ );
190
+
191
+ const toggle = (id: string) =>
192
+ setOpenIds((prev) =>
193
+ prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id].sort(),
194
+ );
195
+
196
+ return (
197
+ <div style={{ width: '100%', height: '100vh', display: 'flex', flexDirection: 'column' }}>
198
+ <div
199
+ style={{
200
+ display: 'flex',
201
+ alignItems: 'center',
202
+ gap: 16,
203
+ padding: '7px 12px',
204
+ borderBottom: '1px solid #333',
205
+ background: '#1b1b1b',
206
+ color: '#aaa',
207
+ fontFamily: 'ui-monospace, monospace',
208
+ fontSize: 12,
209
+ }}
210
+ >
211
+ <strong style={{ color: '#e3b341' }}>DRAFT</strong>
212
+ <span>
213
+ no accepted containers — {containers.length} derived from process keys,{' '}
214
+ {externals.length} externals, {edges.length} lines
215
+ </span>
216
+ <span style={{ marginLeft: 'auto', display: 'flex', gap: 6 }}>
217
+ <button type="button" onClick={() => setOpenIds(allContainerIds)}>
218
+ Open all
219
+ </button>
220
+ <button type="button" onClick={() => setOpenIds([])}>
221
+ Collapse all
222
+ </button>
223
+ </span>
224
+ </div>
225
+ <div style={{ flex: 1, minHeight: 0, position: 'relative' }}>
226
+ <C4Graph
227
+ model={model}
228
+ onToggleContainer={toggle}
229
+ constructGraphByContainer={constructGraphByContainer}
230
+ />
231
+ </div>
232
+ </div>
233
+ );
234
+ }
235
+
236
+ export const DraftFromProcessKeys: Story = {
237
+ render: () => <Demo />,
238
+ };