@principal-ai/subsystems-react 0.49.0 → 0.51.0

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 (97) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/pierre/PierreFileView.d.ts +1 -1
  6. package/dist/pierre/PierreFileView.d.ts.map +1 -1
  7. package/dist/pierre/PierreFileView.js +2 -1
  8. package/dist/pierre/PierreFileView.js.map +1 -1
  9. package/dist/pierre/PierreSnippetView.d.ts +1 -1
  10. package/dist/pierre/PierreSnippetView.d.ts.map +1 -1
  11. package/dist/pierre/PierreSnippetView.js +2 -1
  12. package/dist/pierre/PierreSnippetView.js.map +1 -1
  13. package/dist/pierre/PierreTrailCodeView.d.ts +7 -1
  14. package/dist/pierre/PierreTrailCodeView.d.ts.map +1 -1
  15. package/dist/pierre/PierreTrailCodeView.js +71 -18
  16. package/dist/pierre/PierreTrailCodeView.js.map +1 -1
  17. package/dist/pierre/pierreBackground.d.ts +36 -2
  18. package/dist/pierre/pierreBackground.d.ts.map +1 -1
  19. package/dist/pierre/pierreBackground.js +40 -13
  20. package/dist/pierre/pierreBackground.js.map +1 -1
  21. package/dist/pierre/visibleStep.d.ts +48 -0
  22. package/dist/pierre/visibleStep.d.ts.map +1 -0
  23. package/dist/pierre/visibleStep.js +53 -0
  24. package/dist/pierre/visibleStep.js.map +1 -0
  25. package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.d.ts +95 -0
  26. package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.d.ts.map +1 -0
  27. package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.js +340 -0
  28. package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.js.map +1 -0
  29. package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts +4 -0
  30. package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts.map +1 -1
  31. package/dist/stories/Subsystem/C4Graph/c4Fixture.js +7334 -1
  32. package/dist/stories/Subsystem/C4Graph/c4Fixture.js.map +1 -1
  33. package/dist/stories/Subsystem/C4Graph/generateFixture.d.ts +2 -0
  34. package/dist/stories/Subsystem/C4Graph/generateFixture.d.ts.map +1 -0
  35. package/dist/stories/Subsystem/C4Graph/generateFixture.js +145 -0
  36. package/dist/stories/Subsystem/C4Graph/generateFixture.js.map +1 -0
  37. package/dist/subsystem/C4Graph.d.ts.map +1 -1
  38. package/dist/subsystem/C4Graph.js +16 -60
  39. package/dist/subsystem/C4Graph.js.map +1 -1
  40. package/dist/subsystem/C4NodeCard.d.ts +84 -0
  41. package/dist/subsystem/C4NodeCard.d.ts.map +1 -0
  42. package/dist/subsystem/C4NodeCard.js +229 -0
  43. package/dist/subsystem/C4NodeCard.js.map +1 -0
  44. package/dist/subsystem/DiagnosticToggle.d.ts +8 -1
  45. package/dist/subsystem/DiagnosticToggle.d.ts.map +1 -1
  46. package/dist/subsystem/DiagnosticToggle.js +40 -6
  47. package/dist/subsystem/DiagnosticToggle.js.map +1 -1
  48. package/dist/subsystem/FileDrawer.d.ts +10 -1
  49. package/dist/subsystem/FileDrawer.d.ts.map +1 -1
  50. package/dist/subsystem/FileDrawer.js +61 -40
  51. package/dist/subsystem/FileDrawer.js.map +1 -1
  52. package/dist/subsystem/SubsystemComponentGraph.d.ts +6 -0
  53. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  54. package/dist/subsystem/SubsystemComponentGraph.js +21 -10
  55. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  56. package/dist/subsystem/c4Associations.d.ts +186 -0
  57. package/dist/subsystem/c4Associations.d.ts.map +1 -0
  58. package/dist/subsystem/c4Associations.js +284 -0
  59. package/dist/subsystem/c4Associations.js.map +1 -0
  60. package/dist/subsystem/model.d.ts +25 -1
  61. package/dist/subsystem/model.d.ts.map +1 -1
  62. package/dist/subsystem/model.js +15 -0
  63. package/dist/subsystem/model.js.map +1 -1
  64. package/dist/subsystem/nodes.d.ts.map +1 -1
  65. package/dist/subsystem/nodes.js +78 -7
  66. package/dist/subsystem/nodes.js.map +1 -1
  67. package/dist/subsystem/toC4.d.ts +119 -0
  68. package/dist/subsystem/toC4.d.ts.map +1 -1
  69. package/dist/subsystem/toC4.js +95 -5
  70. package/dist/subsystem/toC4.js.map +1 -1
  71. package/package.json +2 -2
  72. package/src/index.ts +39 -0
  73. package/src/pierre/PierreFileView.tsx +2 -1
  74. package/src/pierre/PierreSnippetView.tsx +2 -1
  75. package/src/pierre/PierreTrailCodeView.tsx +81 -22
  76. package/src/pierre/pierreBackground.ts +62 -12
  77. package/src/pierre/visibleStep.test.ts +108 -0
  78. package/src/pierre/visibleStep.ts +76 -0
  79. package/src/stories/Subsystem/C4Graph/C4Associations.stories.tsx +273 -0
  80. package/src/stories/Subsystem/C4Graph/C4NodeGallery.stories.tsx +325 -0
  81. package/src/stories/Subsystem/C4Graph/c4Associations.fixture.ts +344 -0
  82. package/src/stories/Subsystem/C4Graph/c4Fixture.ts +7337 -4
  83. package/src/stories/Subsystem/C4Graph/generateFixture.ts +161 -0
  84. package/src/stories/Subsystem/ComponentGraph/Deprecated.stories.tsx +358 -0
  85. package/src/stories/Subsystem/ComponentGraph/Diagnostics.stories.tsx +27 -2
  86. package/src/stories/Subsystem/ComponentGraph/{Flows.stories.tsx → Trails.stories.tsx} +10 -4
  87. package/src/subsystem/C4Graph.tsx +51 -92
  88. package/src/subsystem/C4NodeCard.test.ts +196 -0
  89. package/src/subsystem/C4NodeCard.tsx +307 -0
  90. package/src/subsystem/DiagnosticToggle.tsx +58 -4
  91. package/src/subsystem/FileDrawer.tsx +112 -63
  92. package/src/subsystem/SubsystemComponentGraph.tsx +29 -5
  93. package/src/subsystem/c4Associations.test.ts +484 -0
  94. package/src/subsystem/c4Associations.ts +398 -0
  95. package/src/subsystem/model.ts +34 -1
  96. package/src/subsystem/nodes.tsx +124 -5
  97. package/src/subsystem/toC4.ts +210 -5
@@ -0,0 +1,53 @@
1
+ /**
2
+ * visibleStep — pick which step a scroll position should report as current.
3
+ *
4
+ * Kept separate from the component so the geometry can be tested directly:
5
+ * the answer depends on how tall the final snippet is relative to the
6
+ * viewport, which is not something to eyeball.
7
+ */
8
+ /** Sub-pixel slack so a bottom edge that lands a hair off still counts. */
9
+ export const AT_END_TOLERANCE_PX = 2;
10
+ /**
11
+ * Index of the step to report as current.
12
+ *
13
+ * Normally the topmost step still on screen. The exception is the end of the
14
+ * content: when the final snippet is shorter than the viewport, reaching the
15
+ * bottom still leaves the previous step's tail on screen, and reporting that
16
+ * would strand a progress readout one step short of full.
17
+ *
18
+ * 'At the end' is accepted two ways, because either can be the authoritative
19
+ * one depending on how the view is nested:
20
+ * - the lowest mounted item's bottom edge has entered the container's box, or
21
+ * - the container's own scroll offset has reached its scroll extent.
22
+ *
23
+ * The second signal is only consulted when the container actually scrolls. If
24
+ * an ancestor scrolls instead, `scrollHeight` equals `clientHeight` and
25
+ * `scrollTop` is pinned at 0, which would otherwise read as 'at the end' from
26
+ * the very first pixel.
27
+ *
28
+ * Returns `null` when nothing measurable is on screen.
29
+ */
30
+ export function resolveVisibleStepIndex(viewport, rects) {
31
+ let topIndex = null;
32
+ let lastIndex = null;
33
+ let lowestBottom = Number.NEGATIVE_INFINITY;
34
+ for (const rect of rects) {
35
+ if (topIndex == null && rect.bottom > viewport.top)
36
+ topIndex = rect.index;
37
+ if (lastIndex == null || rect.index > lastIndex)
38
+ lastIndex = rect.index;
39
+ if (rect.bottom > lowestBottom)
40
+ lowestBottom = rect.bottom;
41
+ }
42
+ if (topIndex == null)
43
+ return null;
44
+ const reachedLastItem = lowestBottom <= viewport.bottom + AT_END_TOLERANCE_PX;
45
+ const containerScrolls = viewport.scrollHeight > viewport.clientHeight;
46
+ const reachedScrollEnd = containerScrolls &&
47
+ viewport.scrollTop + viewport.clientHeight >=
48
+ viewport.scrollHeight - AT_END_TOLERANCE_PX;
49
+ return reachedLastItem || reachedScrollEnd
50
+ ? (lastIndex ?? topIndex)
51
+ : topIndex;
52
+ }
53
+ //# sourceMappingURL=visibleStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibleStep.js","sourceRoot":"","sources":["../../src/pierre/visibleStep.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqBH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA6B,EAC7B,KAAiC;IAEjC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG;YAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1E,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS;YAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY;YAAE,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;KAC5D;IACD,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,eAAe,GAAG,YAAY,IAAI,QAAQ,CAAC,MAAM,GAAG,mBAAmB,CAAC;IAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IACvE,MAAM,gBAAgB,GACpB,gBAAgB;QAChB,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY;YACxC,QAAQ,CAAC,YAAY,GAAG,mBAAmB,CAAC;IAEhD,OAAO,eAAe,IAAI,gBAAgB;QACxC,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC"}
@@ -0,0 +1,95 @@
1
+ import type { C4Association } from "../../../subsystem/toC4";
2
+ /** Container keys whose trailing role matches — candidates for a merge. */
3
+ export declare const C4_MERGE_CANDIDATES: readonly [{
4
+ readonly role: "host";
5
+ readonly keys: readonly ["principal-studio/host", "subsystems-studio/host"];
6
+ readonly reason: "2 process keys end in \"/host\" (principal-studio/host, subsystems-studio/host) — one deployable unit under two names, or two units?";
7
+ }, {
8
+ readonly role: "renderer";
9
+ readonly keys: readonly ["principal-studio/renderer", "subsystems-studio/renderer"];
10
+ readonly reason: "2 process keys end in \"/renderer\" (principal-studio/renderer, subsystems-studio/renderer) — one deployable unit under two names, or two units?";
11
+ }];
12
+ /** Every mechanical concern, for the review panel. */
13
+ export declare const C4_CONCERNS: readonly [{
14
+ readonly target: "subsystems-studio/host";
15
+ readonly kind: "store_unclassified";
16
+ readonly message: "1 store(s) in \"subsystems-studio/host\" declare no storage kind (c127) — decide whether each is a C4 data store or an internal detail";
17
+ readonly members: readonly ["c127"];
18
+ }, {
19
+ readonly target: "subsystems-studio/renderer";
20
+ readonly kind: "store_unclassified";
21
+ readonly message: "4 store(s) in \"subsystems-studio/renderer\" declare no storage kind (c42, c95, c102, c131) — decide whether each is a C4 data store or an internal detail";
22
+ readonly members: readonly ["c42", "c95", "c102", "c131"];
23
+ }, {
24
+ readonly target: "site/web";
25
+ readonly kind: "missing_technology";
26
+ readonly message: "container \"site/web\" has no framework signal — C4 requires a technology on every container";
27
+ readonly members: readonly ["c82", "c83", "c84"];
28
+ }, {
29
+ readonly target: "subsystems-core/types";
30
+ readonly kind: "missing_technology";
31
+ readonly message: "container \"subsystems-core/types\" has no framework signal — C4 requires a technology on every container";
32
+ readonly members: readonly ["c85", "c86", "c87"];
33
+ }, {
34
+ readonly target: "principal-studio-cli";
35
+ readonly kind: "singleton";
36
+ readonly message: "process \"principal-studio-cli\" has exactly one member (c88) — a lone function is not a deployable unit";
37
+ readonly members: readonly ["c88"];
38
+ }, {
39
+ readonly target: "principal-studio-cli";
40
+ readonly kind: "missing_technology";
41
+ readonly message: "container \"principal-studio-cli\" has no framework signal — C4 requires a technology on every container";
42
+ readonly members: readonly ["c88"];
43
+ }, {
44
+ readonly target: "subsystems-react";
45
+ readonly kind: "missing_technology";
46
+ readonly message: "container \"subsystems-react\" has no framework signal — C4 requires a technology on every container";
47
+ readonly members: readonly ["c96", "c97", "c98", "c99", "c100", "c101", "c108", "c109", "c112", "c113", "c114"];
48
+ }, {
49
+ readonly target: "subsystems-react";
50
+ readonly kind: "store_unclassified";
51
+ readonly message: "1 store(s) in \"subsystems-react\" declare no storage kind (c98) — decide whether each is a C4 data store or an internal detail";
52
+ readonly members: readonly ["c98"];
53
+ }, {
54
+ readonly target: "subsystems-core";
55
+ readonly kind: "missing_technology";
56
+ readonly message: "container \"subsystems-core\" has no framework signal — C4 requires a technology on every container";
57
+ readonly members: readonly ["c106", "c107", "c167"];
58
+ }, {
59
+ readonly target: "subsystems-studio/shared";
60
+ readonly kind: "library_shaped";
61
+ readonly message: "process \"subsystems-studio/shared\" has 2 member(s) but none execute at runtime (type_alias) — this reads as a library, not a container";
62
+ readonly members: readonly ["c132", "c133"];
63
+ }, {
64
+ readonly target: "packages/subsystems-studio/run";
65
+ readonly kind: "missing_technology";
66
+ readonly message: "container \"packages/subsystems-studio/run\" has no framework signal — C4 requires a technology on every container";
67
+ readonly members: readonly ["c147", "c148", "c149"];
68
+ }, {
69
+ readonly target: "packages/subsystems-studio/run";
70
+ readonly kind: "store_unclassified";
71
+ readonly message: "1 store(s) in \"packages/subsystems-studio/run\" declare no storage kind (c148) — decide whether each is a C4 data store or an internal detail";
72
+ readonly members: readonly ["c148"];
73
+ }, {
74
+ readonly target: "principal-studio/host";
75
+ readonly kind: "singleton";
76
+ readonly message: "process \"principal-studio/host\" has exactly one member (c155) — a lone function is not a deployable unit";
77
+ readonly members: readonly ["c155"];
78
+ }, {
79
+ readonly target: "principal-studio/host";
80
+ readonly kind: "missing_technology";
81
+ readonly message: "container \"principal-studio/host\" has no framework signal — C4 requires a technology on every container";
82
+ readonly members: readonly ["c155"];
83
+ }, {
84
+ readonly target: "subsystems-react/session-ui";
85
+ readonly kind: "singleton";
86
+ readonly message: "process \"subsystems-react/session-ui\" has exactly one member (c211) — a lone function is not a deployable unit";
87
+ readonly members: readonly ["c211"];
88
+ }, {
89
+ readonly target: "subsystems-react/session-ui";
90
+ readonly kind: "missing_technology";
91
+ readonly message: "container \"subsystems-react/session-ui\" has no framework signal — C4 requires a technology on every container";
92
+ readonly members: readonly ["c211"];
93
+ }];
94
+ export declare const c4Associations: C4Association[];
95
+ //# sourceMappingURL=c4Associations.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4Associations.fixture.d.ts","sourceRoot":"","sources":["../../../../src/stories/Subsystem/C4Graph/c4Associations.fixture.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB;;;;;;;;EAiBtB,CAAC;AAEX,sDAAsD;AACtD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuJd,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,aAAa,EA+JzC,CAAC"}
@@ -0,0 +1,340 @@
1
+ // GENERATED from live store data by generateFixture.ts — do not hand-edit.
2
+ //
3
+ // Derived from the SAME composition as c4Fixture.ts: 225 components
4
+ // → 13 container keys → 13 associations.
5
+ //
6
+ // Every association is state:'proposed'. None of it is accepted — accepting is
7
+ // a human's decision, and this story exists to make that decision visible.
8
+ /** Container keys whose trailing role matches — candidates for a merge. */
9
+ export const C4_MERGE_CANDIDATES = [
10
+ {
11
+ "role": "host",
12
+ "keys": [
13
+ "principal-studio/host",
14
+ "subsystems-studio/host"
15
+ ],
16
+ "reason": "2 process keys end in \"/host\" (principal-studio/host, subsystems-studio/host) — one deployable unit under two names, or two units?"
17
+ },
18
+ {
19
+ "role": "renderer",
20
+ "keys": [
21
+ "principal-studio/renderer",
22
+ "subsystems-studio/renderer"
23
+ ],
24
+ "reason": "2 process keys end in \"/renderer\" (principal-studio/renderer, subsystems-studio/renderer) — one deployable unit under two names, or two units?"
25
+ }
26
+ ];
27
+ /** Every mechanical concern, for the review panel. */
28
+ export const C4_CONCERNS = [
29
+ {
30
+ "target": "subsystems-studio/host",
31
+ "kind": "store_unclassified",
32
+ "message": "1 store(s) in \"subsystems-studio/host\" declare no storage kind (c127) — decide whether each is a C4 data store or an internal detail",
33
+ "members": [
34
+ "c127"
35
+ ]
36
+ },
37
+ {
38
+ "target": "subsystems-studio/renderer",
39
+ "kind": "store_unclassified",
40
+ "message": "4 store(s) in \"subsystems-studio/renderer\" declare no storage kind (c42, c95, c102, c131) — decide whether each is a C4 data store or an internal detail",
41
+ "members": [
42
+ "c42",
43
+ "c95",
44
+ "c102",
45
+ "c131"
46
+ ]
47
+ },
48
+ {
49
+ "target": "site/web",
50
+ "kind": "missing_technology",
51
+ "message": "container \"site/web\" has no framework signal — C4 requires a technology on every container",
52
+ "members": [
53
+ "c82",
54
+ "c83",
55
+ "c84"
56
+ ]
57
+ },
58
+ {
59
+ "target": "subsystems-core/types",
60
+ "kind": "missing_technology",
61
+ "message": "container \"subsystems-core/types\" has no framework signal — C4 requires a technology on every container",
62
+ "members": [
63
+ "c85",
64
+ "c86",
65
+ "c87"
66
+ ]
67
+ },
68
+ {
69
+ "target": "principal-studio-cli",
70
+ "kind": "singleton",
71
+ "message": "process \"principal-studio-cli\" has exactly one member (c88) — a lone function is not a deployable unit",
72
+ "members": [
73
+ "c88"
74
+ ]
75
+ },
76
+ {
77
+ "target": "principal-studio-cli",
78
+ "kind": "missing_technology",
79
+ "message": "container \"principal-studio-cli\" has no framework signal — C4 requires a technology on every container",
80
+ "members": [
81
+ "c88"
82
+ ]
83
+ },
84
+ {
85
+ "target": "subsystems-react",
86
+ "kind": "missing_technology",
87
+ "message": "container \"subsystems-react\" has no framework signal — C4 requires a technology on every container",
88
+ "members": [
89
+ "c96",
90
+ "c97",
91
+ "c98",
92
+ "c99",
93
+ "c100",
94
+ "c101",
95
+ "c108",
96
+ "c109",
97
+ "c112",
98
+ "c113",
99
+ "c114"
100
+ ]
101
+ },
102
+ {
103
+ "target": "subsystems-react",
104
+ "kind": "store_unclassified",
105
+ "message": "1 store(s) in \"subsystems-react\" declare no storage kind (c98) — decide whether each is a C4 data store or an internal detail",
106
+ "members": [
107
+ "c98"
108
+ ]
109
+ },
110
+ {
111
+ "target": "subsystems-core",
112
+ "kind": "missing_technology",
113
+ "message": "container \"subsystems-core\" has no framework signal — C4 requires a technology on every container",
114
+ "members": [
115
+ "c106",
116
+ "c107",
117
+ "c167"
118
+ ]
119
+ },
120
+ {
121
+ "target": "subsystems-studio/shared",
122
+ "kind": "library_shaped",
123
+ "message": "process \"subsystems-studio/shared\" has 2 member(s) but none execute at runtime (type_alias) — this reads as a library, not a container",
124
+ "members": [
125
+ "c132",
126
+ "c133"
127
+ ]
128
+ },
129
+ {
130
+ "target": "packages/subsystems-studio/run",
131
+ "kind": "missing_technology",
132
+ "message": "container \"packages/subsystems-studio/run\" has no framework signal — C4 requires a technology on every container",
133
+ "members": [
134
+ "c147",
135
+ "c148",
136
+ "c149"
137
+ ]
138
+ },
139
+ {
140
+ "target": "packages/subsystems-studio/run",
141
+ "kind": "store_unclassified",
142
+ "message": "1 store(s) in \"packages/subsystems-studio/run\" declare no storage kind (c148) — decide whether each is a C4 data store or an internal detail",
143
+ "members": [
144
+ "c148"
145
+ ]
146
+ },
147
+ {
148
+ "target": "principal-studio/host",
149
+ "kind": "singleton",
150
+ "message": "process \"principal-studio/host\" has exactly one member (c155) — a lone function is not a deployable unit",
151
+ "members": [
152
+ "c155"
153
+ ]
154
+ },
155
+ {
156
+ "target": "principal-studio/host",
157
+ "kind": "missing_technology",
158
+ "message": "container \"principal-studio/host\" has no framework signal — C4 requires a technology on every container",
159
+ "members": [
160
+ "c155"
161
+ ]
162
+ },
163
+ {
164
+ "target": "subsystems-react/session-ui",
165
+ "kind": "singleton",
166
+ "message": "process \"subsystems-react/session-ui\" has exactly one member (c211) — a lone function is not a deployable unit",
167
+ "members": [
168
+ "c211"
169
+ ]
170
+ },
171
+ {
172
+ "target": "subsystems-react/session-ui",
173
+ "kind": "missing_technology",
174
+ "message": "container \"subsystems-react/session-ui\" has no framework signal — C4 requires a technology on every container",
175
+ "members": [
176
+ "c211"
177
+ ]
178
+ }
179
+ ];
180
+ export const c4Associations = [
181
+ {
182
+ "id": "container:(unassigned)",
183
+ "level": "container",
184
+ "sourceKeys": [
185
+ "(unassigned)"
186
+ ],
187
+ "label": "(unassigned)",
188
+ "type": "application",
189
+ "technology": "react",
190
+ "state": "proposed",
191
+ "author": "c4-proposer"
192
+ },
193
+ {
194
+ "id": "container:packages/subsystems-studio/run",
195
+ "level": "container",
196
+ "sourceKeys": [
197
+ "packages/subsystems-studio/run"
198
+ ],
199
+ "label": "packages/subsystems-studio/run",
200
+ "type": "application",
201
+ "state": "proposed",
202
+ "rationale": "container \"packages/subsystems-studio/run\" has no framework signal — C4 requires a technology on every container 1 store(s) in \"packages/subsystems-studio/run\" declare no storage kind (c148) — decide whether each is a C4 data store or an internal detail",
203
+ "author": "c4-proposer"
204
+ },
205
+ {
206
+ "id": "container:principal-studio-cli",
207
+ "level": "container",
208
+ "sourceKeys": [
209
+ "principal-studio-cli"
210
+ ],
211
+ "label": "principal-studio-cli",
212
+ "type": "application",
213
+ "state": "proposed",
214
+ "rationale": "process \"principal-studio-cli\" has exactly one member (c88) — a lone function is not a deployable unit container \"principal-studio-cli\" has no framework signal — C4 requires a technology on every container",
215
+ "author": "c4-proposer"
216
+ },
217
+ {
218
+ "id": "container:principal-studio/host",
219
+ "level": "container",
220
+ "sourceKeys": [
221
+ "principal-studio/host"
222
+ ],
223
+ "label": "principal-studio/host",
224
+ "type": "application",
225
+ "state": "proposed",
226
+ "rationale": "process \"principal-studio/host\" has exactly one member (c155) — a lone function is not a deployable unit container \"principal-studio/host\" has no framework signal — C4 requires a technology on every container",
227
+ "author": "c4-proposer"
228
+ },
229
+ {
230
+ "id": "container:principal-studio/renderer",
231
+ "level": "container",
232
+ "sourceKeys": [
233
+ "principal-studio/renderer"
234
+ ],
235
+ "label": "principal-studio/renderer",
236
+ "type": "application",
237
+ "technology": "react",
238
+ "state": "proposed",
239
+ "author": "c4-proposer"
240
+ },
241
+ {
242
+ "id": "container:site/web",
243
+ "level": "container",
244
+ "sourceKeys": [
245
+ "site/web"
246
+ ],
247
+ "label": "site/web",
248
+ "type": "application",
249
+ "state": "proposed",
250
+ "rationale": "container \"site/web\" has no framework signal — C4 requires a technology on every container",
251
+ "author": "c4-proposer"
252
+ },
253
+ {
254
+ "id": "container:subsystems-core",
255
+ "level": "container",
256
+ "sourceKeys": [
257
+ "subsystems-core"
258
+ ],
259
+ "label": "subsystems-core",
260
+ "type": "application",
261
+ "state": "proposed",
262
+ "rationale": "container \"subsystems-core\" has no framework signal — C4 requires a technology on every container",
263
+ "author": "c4-proposer"
264
+ },
265
+ {
266
+ "id": "container:subsystems-core/types",
267
+ "level": "container",
268
+ "sourceKeys": [
269
+ "subsystems-core/types"
270
+ ],
271
+ "label": "subsystems-core/types",
272
+ "type": "application",
273
+ "state": "proposed",
274
+ "rationale": "container \"subsystems-core/types\" has no framework signal — C4 requires a technology on every container",
275
+ "author": "c4-proposer"
276
+ },
277
+ {
278
+ "id": "container:subsystems-react",
279
+ "level": "container",
280
+ "sourceKeys": [
281
+ "subsystems-react"
282
+ ],
283
+ "label": "subsystems-react",
284
+ "type": "application",
285
+ "state": "proposed",
286
+ "rationale": "container \"subsystems-react\" has no framework signal — C4 requires a technology on every container 1 store(s) in \"subsystems-react\" declare no storage kind (c98) — decide whether each is a C4 data store or an internal detail",
287
+ "author": "c4-proposer"
288
+ },
289
+ {
290
+ "id": "container:subsystems-react/session-ui",
291
+ "level": "container",
292
+ "sourceKeys": [
293
+ "subsystems-react/session-ui"
294
+ ],
295
+ "label": "subsystems-react/session-ui",
296
+ "type": "application",
297
+ "state": "proposed",
298
+ "rationale": "process \"subsystems-react/session-ui\" has exactly one member (c211) — a lone function is not a deployable unit container \"subsystems-react/session-ui\" has no framework signal — C4 requires a technology on every container",
299
+ "author": "c4-proposer"
300
+ },
301
+ {
302
+ "id": "container:subsystems-studio/host",
303
+ "level": "container",
304
+ "sourceKeys": [
305
+ "subsystems-studio/host"
306
+ ],
307
+ "label": "subsystems-studio/host",
308
+ "type": "data-store",
309
+ "technology": "bun",
310
+ "state": "proposed",
311
+ "rationale": "1 store(s) in \"subsystems-studio/host\" declare no storage kind (c127) — decide whether each is a C4 data store or an internal detail",
312
+ "author": "c4-proposer"
313
+ },
314
+ {
315
+ "id": "container:subsystems-studio/renderer",
316
+ "level": "container",
317
+ "sourceKeys": [
318
+ "subsystems-studio/renderer"
319
+ ],
320
+ "label": "subsystems-studio/renderer",
321
+ "type": "application",
322
+ "technology": "react",
323
+ "state": "proposed",
324
+ "rationale": "4 store(s) in \"subsystems-studio/renderer\" declare no storage kind (c42, c95, c102, c131) — decide whether each is a C4 data store or an internal detail",
325
+ "author": "c4-proposer"
326
+ },
327
+ {
328
+ "id": "container:subsystems-studio/shared",
329
+ "level": "container",
330
+ "sourceKeys": [
331
+ "subsystems-studio/shared"
332
+ ],
333
+ "label": "subsystems-studio/shared",
334
+ "type": "library",
335
+ "state": "proposed",
336
+ "rationale": "process \"subsystems-studio/shared\" has 2 member(s) but none execute at runtime (type_alias) — this reads as a library, not a container",
337
+ "author": "c4-proposer"
338
+ }
339
+ ];
340
+ //# sourceMappingURL=c4Associations.fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c4Associations.fixture.js","sourceRoot":"","sources":["../../../../src/stories/Subsystem/C4Graph/c4Associations.fixture.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import type { SubsystemModelDocument } from "../../../subsystem/model";
2
+ /** Container keys this document is expected to derive. */
3
+ export declare const c4DerivedKeys: readonly ["(unassigned)", "packages/subsystems-studio/run", "principal-studio-cli", "principal-studio/host", "principal-studio/renderer", "site/web", "subsystems-core", "subsystems-core/types", "subsystems-react", "subsystems-react/session-ui", "subsystems-studio/host", "subsystems-studio/renderer", "subsystems-studio/shared"];
4
+ /** Components behind each derived key — decides which side of a merge survives. */
5
+ export declare const c4MemberCounts: Record<string, number>;
2
6
  export declare const c4FixtureModel: SubsystemModelDocument;
3
7
  //# sourceMappingURL=c4Fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"c4Fixture.d.ts","sourceRoot":"","sources":["../../../../src/stories/Subsystem/C4Graph/c4Fixture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,eAAO,MAAM,cAAc,EAAE,sBAE5B,CAAC"}
1
+ {"version":3,"file":"c4Fixture.d.ts","sourceRoot":"","sources":["../../../../src/stories/Subsystem/C4Graph/c4Fixture.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,0DAA0D;AAC1D,eAAO,MAAM,aAAa,0UAchB,CAAC;AAEX,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAcjD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,sBA6nO5B,CAAC"}