@principal-ai/subsystems-react 0.20.6 → 0.21.1

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 (270) hide show
  1. package/README.md +1 -1
  2. package/dist/graphify/anchor.d.ts +17 -0
  3. package/dist/graphify/anchor.d.ts.map +1 -1
  4. package/dist/graphify/anchor.js +41 -0
  5. package/dist/graphify/anchor.js.map +1 -1
  6. package/dist/graphify/consolidated.d.ts +40 -1
  7. package/dist/graphify/consolidated.d.ts.map +1 -1
  8. package/dist/index.d.ts +5 -5
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/pierre/{PierreThroughlineCodeView.d.ts → PierreWalkthroughCodeView.d.ts} +7 -7
  13. package/dist/pierre/{PierreThroughlineCodeView.d.ts.map → PierreWalkthroughCodeView.d.ts.map} +1 -1
  14. package/dist/pierre/{PierreThroughlineCodeView.js → PierreWalkthroughCodeView.js} +28 -36
  15. package/dist/pierre/PierreWalkthroughCodeView.js.map +1 -0
  16. package/dist/pierre/index.d.ts +2 -2
  17. package/dist/pierre/index.js +1 -1
  18. package/dist/pierre/pierreFileLang.d.ts +1 -1
  19. package/dist/pierre/pierreFileLang.js +1 -1
  20. package/dist/stories/Subsystem/ComponentGraph/fixtures.d.ts +14 -2
  21. package/dist/stories/Subsystem/ComponentGraph/fixtures.d.ts.map +1 -1
  22. package/dist/stories/Subsystem/ComponentGraph/fixtures.js +86 -20
  23. package/dist/stories/Subsystem/ComponentGraph/fixtures.js.map +1 -1
  24. package/dist/subsystem/FileDrawer.d.ts +2 -2
  25. package/dist/subsystem/FileDrawer.js +2 -2
  26. package/dist/subsystem/SubsystemComponentGraph.d.ts +25 -24
  27. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  28. package/dist/subsystem/SubsystemComponentGraph.js +204 -199
  29. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  30. package/dist/subsystem/formatDeclaration.d.ts +2 -1
  31. package/dist/subsystem/formatDeclaration.d.ts.map +1 -1
  32. package/dist/subsystem/formatDeclaration.js +57 -33
  33. package/dist/subsystem/formatDeclaration.js.map +1 -1
  34. package/dist/subsystem/model.d.ts +85 -35
  35. package/dist/subsystem/model.d.ts.map +1 -1
  36. package/dist/subsystem/model.js +85 -6
  37. package/dist/subsystem/model.js.map +1 -1
  38. package/dist/subsystem/nodes.d.ts.map +1 -1
  39. package/dist/subsystem/nodes.js +30 -13
  40. package/dist/subsystem/nodes.js.map +1 -1
  41. package/dist/subsystem/tokenizeComponent.js +2 -2
  42. package/dist/subsystem/tokenizeComponent.js.map +1 -1
  43. package/package.json +3 -3
  44. package/src/graphify/anchor.test.ts +31 -2
  45. package/src/graphify/anchor.ts +46 -0
  46. package/src/graphify/consolidated.ts +43 -1
  47. package/src/index.ts +13 -5
  48. package/src/pierre/{PierreThroughlineCodeView.tsx → PierreWalkthroughCodeView.tsx} +39 -47
  49. package/src/pierre/index.ts +2 -2
  50. package/src/pierre/pierreFileLang.ts +1 -1
  51. package/src/stories/Pierre/CodeView.stories.tsx +3 -3
  52. package/src/stories/Subsystem/ComponentDeclarationAudit.stories.tsx +14 -14
  53. package/src/stories/Subsystem/ComponentGraph/Appearance.stories.tsx +13 -15
  54. package/src/stories/Subsystem/ComponentGraph/Basics.stories.tsx +8 -8
  55. package/src/stories/Subsystem/ComponentGraph/Captures.stories.tsx +14 -14
  56. package/src/stories/Subsystem/ComponentGraph/CustomEntities.stories.tsx +11 -10
  57. package/src/stories/Subsystem/ComponentGraph/DetailPanel.stories.tsx +13 -14
  58. package/src/stories/Subsystem/ComponentGraph/Flows.stories.tsx +31 -66
  59. package/src/stories/Subsystem/ComponentGraph/FrameworkStereotype.stories.tsx +2 -2
  60. package/src/stories/Subsystem/ComponentGraph/GraphTitle.stories.tsx +4 -4
  61. package/src/stories/Subsystem/ComponentGraph/Processes.stories.tsx +3 -3
  62. package/src/stories/Subsystem/ComponentGraph/Proposed.stories.tsx +1 -1
  63. package/src/stories/Subsystem/ComponentGraph/Scenarios.stories.tsx +518 -33
  64. package/src/stories/Subsystem/ComponentGraph/Spotlights.stories.tsx +13 -13
  65. package/src/stories/Subsystem/ComponentGraph/fixtures.ts +105 -21
  66. package/src/subsystem/FileDrawer.tsx +2 -2
  67. package/src/subsystem/SubsystemComponentGraph.tsx +268 -259
  68. package/src/subsystem/formatDeclaration.test.ts +76 -1
  69. package/src/subsystem/formatDeclaration.ts +57 -33
  70. package/src/subsystem/model.test.ts +27 -15
  71. package/src/subsystem/model.ts +175 -45
  72. package/src/subsystem/nodes.tsx +47 -13
  73. package/src/subsystem/tokenizeComponent.ts +2 -2
  74. package/dist/components/ConfigurationSelector.d.ts +0 -35
  75. package/dist/components/ConfigurationSelector.d.ts.map +0 -1
  76. package/dist/components/ConfigurationSelector.js +0 -63
  77. package/dist/components/ConfigurationSelector.js.map +0 -1
  78. package/dist/components/GraphRenderer.d.ts +0 -295
  79. package/dist/components/GraphRenderer.d.ts.map +0 -1
  80. package/dist/components/GraphRenderer.js +0 -2008
  81. package/dist/components/GraphRenderer.js.map +0 -1
  82. package/dist/components/MultiCanvasRenderer.d.ts +0 -75
  83. package/dist/components/MultiCanvasRenderer.d.ts.map +0 -1
  84. package/dist/components/MultiCanvasRenderer.js +0 -203
  85. package/dist/components/MultiCanvasRenderer.js.map +0 -1
  86. package/dist/components/NodeTooltip.d.ts +0 -24
  87. package/dist/components/NodeTooltip.d.ts.map +0 -1
  88. package/dist/components/NodeTooltip.js +0 -160
  89. package/dist/components/NodeTooltip.js.map +0 -1
  90. package/dist/components/SelectionSidebar.d.ts +0 -18
  91. package/dist/components/SelectionSidebar.d.ts.map +0 -1
  92. package/dist/components/SelectionSidebar.js +0 -190
  93. package/dist/components/SelectionSidebar.js.map +0 -1
  94. package/dist/components/SequenceDiagramRenderer.d.ts +0 -77
  95. package/dist/components/SequenceDiagramRenderer.d.ts.map +0 -1
  96. package/dist/components/SequenceDiagramRenderer.js +0 -604
  97. package/dist/components/SequenceDiagramRenderer.js.map +0 -1
  98. package/dist/components/WorkflowSequenceDiagram.d.ts +0 -63
  99. package/dist/components/WorkflowSequenceDiagram.d.ts.map +0 -1
  100. package/dist/components/WorkflowSequenceDiagram.js +0 -147
  101. package/dist/components/WorkflowSequenceDiagram.js.map +0 -1
  102. package/dist/components/dashboard/DashboardRenderer.d.ts +0 -10
  103. package/dist/components/dashboard/DashboardRenderer.d.ts.map +0 -1
  104. package/dist/components/dashboard/DashboardRenderer.js +0 -179
  105. package/dist/components/dashboard/DashboardRenderer.js.map +0 -1
  106. package/dist/components/dashboard/MetricPanel.d.ts +0 -10
  107. package/dist/components/dashboard/MetricPanel.d.ts.map +0 -1
  108. package/dist/components/dashboard/MetricPanel.js +0 -103
  109. package/dist/components/dashboard/MetricPanel.js.map +0 -1
  110. package/dist/components/dashboard/MockDataProvider.d.ts +0 -30
  111. package/dist/components/dashboard/MockDataProvider.d.ts.map +0 -1
  112. package/dist/components/dashboard/MockDataProvider.js +0 -270
  113. package/dist/components/dashboard/MockDataProvider.js.map +0 -1
  114. package/dist/components/dashboard/components/BarChart.d.ts +0 -10
  115. package/dist/components/dashboard/components/BarChart.d.ts.map +0 -1
  116. package/dist/components/dashboard/components/BarChart.js +0 -167
  117. package/dist/components/dashboard/components/BarChart.js.map +0 -1
  118. package/dist/components/dashboard/components/LineChart.d.ts +0 -10
  119. package/dist/components/dashboard/components/LineChart.d.ts.map +0 -1
  120. package/dist/components/dashboard/components/LineChart.js +0 -141
  121. package/dist/components/dashboard/components/LineChart.js.map +0 -1
  122. package/dist/components/dashboard/components/MetricCard.d.ts +0 -9
  123. package/dist/components/dashboard/components/MetricCard.d.ts.map +0 -1
  124. package/dist/components/dashboard/components/MetricCard.js +0 -163
  125. package/dist/components/dashboard/components/MetricCard.js.map +0 -1
  126. package/dist/components/dashboard/components/SourceLink.d.ts +0 -9
  127. package/dist/components/dashboard/components/SourceLink.d.ts.map +0 -1
  128. package/dist/components/dashboard/components/SourceLink.js +0 -39
  129. package/dist/components/dashboard/components/SourceLink.js.map +0 -1
  130. package/dist/components/dashboard/components/TimeRangeSelector.d.ts +0 -9
  131. package/dist/components/dashboard/components/TimeRangeSelector.d.ts.map +0 -1
  132. package/dist/components/dashboard/components/TimeRangeSelector.js +0 -167
  133. package/dist/components/dashboard/components/TimeRangeSelector.js.map +0 -1
  134. package/dist/components/dashboard/components/index.d.ts +0 -6
  135. package/dist/components/dashboard/components/index.d.ts.map +0 -1
  136. package/dist/components/dashboard/components/index.js +0 -6
  137. package/dist/components/dashboard/components/index.js.map +0 -1
  138. package/dist/components/dashboard/index.d.ts +0 -6
  139. package/dist/components/dashboard/index.d.ts.map +0 -1
  140. package/dist/components/dashboard/index.js +0 -8
  141. package/dist/components/dashboard/index.js.map +0 -1
  142. package/dist/components/dashboard/types.d.ts +0 -74
  143. package/dist/components/dashboard/types.d.ts.map +0 -1
  144. package/dist/components/dashboard/types.js +0 -8
  145. package/dist/components/dashboard/types.js.map +0 -1
  146. package/dist/components/state-view/PipelineView.d.ts +0 -14
  147. package/dist/components/state-view/PipelineView.d.ts.map +0 -1
  148. package/dist/components/state-view/PipelineView.js +0 -195
  149. package/dist/components/state-view/PipelineView.js.map +0 -1
  150. package/dist/components/state-view/index.d.ts +0 -14
  151. package/dist/components/state-view/index.d.ts.map +0 -1
  152. package/dist/components/state-view/index.js +0 -12
  153. package/dist/components/state-view/index.js.map +0 -1
  154. package/dist/components/state-view/types.d.ts +0 -188
  155. package/dist/components/state-view/types.d.ts.map +0 -1
  156. package/dist/components/state-view/types.js +0 -10
  157. package/dist/components/state-view/types.js.map +0 -1
  158. package/dist/components/state-view/useStateView.d.ts +0 -32
  159. package/dist/components/state-view/useStateView.d.ts.map +0 -1
  160. package/dist/components/state-view/useStateView.js +0 -129
  161. package/dist/components/state-view/useStateView.js.map +0 -1
  162. package/dist/contexts/GraphEditContext.d.ts +0 -20
  163. package/dist/contexts/GraphEditContext.d.ts.map +0 -1
  164. package/dist/contexts/GraphEditContext.js +0 -8
  165. package/dist/contexts/GraphEditContext.js.map +0 -1
  166. package/dist/contexts/TooltipPortalContext.d.ts +0 -8
  167. package/dist/contexts/TooltipPortalContext.d.ts.map +0 -1
  168. package/dist/contexts/TooltipPortalContext.js +0 -8
  169. package/dist/contexts/TooltipPortalContext.js.map +0 -1
  170. package/dist/edges/CustomEdge.d.ts +0 -24
  171. package/dist/edges/CustomEdge.d.ts.map +0 -1
  172. package/dist/edges/CustomEdge.js +0 -222
  173. package/dist/edges/CustomEdge.js.map +0 -1
  174. package/dist/edges/GenericEdge.d.ts +0 -18
  175. package/dist/edges/GenericEdge.d.ts.map +0 -1
  176. package/dist/edges/GenericEdge.js +0 -10
  177. package/dist/edges/GenericEdge.js.map +0 -1
  178. package/dist/graphify/kind.d.ts +0 -23
  179. package/dist/graphify/kind.d.ts.map +0 -1
  180. package/dist/graphify/kind.js +0 -77
  181. package/dist/graphify/kind.js.map +0 -1
  182. package/dist/hooks/usePathBasedEvents.d.ts +0 -42
  183. package/dist/hooks/usePathBasedEvents.d.ts.map +0 -1
  184. package/dist/hooks/usePathBasedEvents.js +0 -119
  185. package/dist/hooks/usePathBasedEvents.js.map +0 -1
  186. package/dist/hooks/useSequenceLayout.d.ts +0 -186
  187. package/dist/hooks/useSequenceLayout.d.ts.map +0 -1
  188. package/dist/hooks/useSequenceLayout.js +0 -327
  189. package/dist/hooks/useSequenceLayout.js.map +0 -1
  190. package/dist/hooks/useUndoRedo.d.ts +0 -80
  191. package/dist/hooks/useUndoRedo.d.ts.map +0 -1
  192. package/dist/hooks/useUndoRedo.js +0 -70
  193. package/dist/hooks/useUndoRedo.js.map +0 -1
  194. package/dist/nodes/CustomNode.d.ts +0 -28
  195. package/dist/nodes/CustomNode.d.ts.map +0 -1
  196. package/dist/nodes/CustomNode.js +0 -820
  197. package/dist/nodes/CustomNode.js.map +0 -1
  198. package/dist/nodes/GenericNode.d.ts +0 -20
  199. package/dist/nodes/GenericNode.d.ts.map +0 -1
  200. package/dist/nodes/GenericNode.js +0 -20
  201. package/dist/nodes/GenericNode.js.map +0 -1
  202. package/dist/nodes/otel/OtelBoundaryNode.d.ts +0 -55
  203. package/dist/nodes/otel/OtelBoundaryNode.d.ts.map +0 -1
  204. package/dist/nodes/otel/OtelBoundaryNode.js +0 -81
  205. package/dist/nodes/otel/OtelBoundaryNode.js.map +0 -1
  206. package/dist/nodes/otel/OtelEventNode.d.ts +0 -59
  207. package/dist/nodes/otel/OtelEventNode.d.ts.map +0 -1
  208. package/dist/nodes/otel/OtelEventNode.js +0 -82
  209. package/dist/nodes/otel/OtelEventNode.js.map +0 -1
  210. package/dist/nodes/otel/OtelResourceNode.d.ts +0 -53
  211. package/dist/nodes/otel/OtelResourceNode.d.ts.map +0 -1
  212. package/dist/nodes/otel/OtelResourceNode.js +0 -105
  213. package/dist/nodes/otel/OtelResourceNode.js.map +0 -1
  214. package/dist/nodes/otel/OtelScopeNode.d.ts +0 -53
  215. package/dist/nodes/otel/OtelScopeNode.d.ts.map +0 -1
  216. package/dist/nodes/otel/OtelScopeNode.js +0 -81
  217. package/dist/nodes/otel/OtelScopeNode.js.map +0 -1
  218. package/dist/nodes/otel/OtelSpanConventionNode.d.ts +0 -61
  219. package/dist/nodes/otel/OtelSpanConventionNode.d.ts.map +0 -1
  220. package/dist/nodes/otel/OtelSpanConventionNode.js +0 -131
  221. package/dist/nodes/otel/OtelSpanConventionNode.js.map +0 -1
  222. package/dist/nodes/otel/index.d.ts +0 -17
  223. package/dist/nodes/otel/index.d.ts.map +0 -1
  224. package/dist/nodes/otel/index.js +0 -13
  225. package/dist/nodes/otel/index.js.map +0 -1
  226. package/dist/nodes/otel/shared/NodeBadges.d.ts +0 -10
  227. package/dist/nodes/otel/shared/NodeBadges.d.ts.map +0 -1
  228. package/dist/nodes/otel/shared/NodeBadges.js +0 -178
  229. package/dist/nodes/otel/shared/NodeBadges.js.map +0 -1
  230. package/dist/nodes/otel/shared/NodeContent.d.ts +0 -10
  231. package/dist/nodes/otel/shared/NodeContent.d.ts.map +0 -1
  232. package/dist/nodes/otel/shared/NodeContent.js +0 -96
  233. package/dist/nodes/otel/shared/NodeContent.js.map +0 -1
  234. package/dist/nodes/otel/shared/index.d.ts +0 -8
  235. package/dist/nodes/otel/shared/index.d.ts.map +0 -1
  236. package/dist/nodes/otel/shared/index.js +0 -8
  237. package/dist/nodes/otel/shared/index.js.map +0 -1
  238. package/dist/nodes/otel/shared/types.d.ts +0 -129
  239. package/dist/nodes/otel/shared/types.d.ts.map +0 -1
  240. package/dist/nodes/otel/shared/types.js +0 -5
  241. package/dist/nodes/otel/shared/types.js.map +0 -1
  242. package/dist/nodes/otel/shared/useNodeBehavior.d.ts +0 -42
  243. package/dist/nodes/otel/shared/useNodeBehavior.d.ts.map +0 -1
  244. package/dist/nodes/otel/shared/useNodeBehavior.js +0 -61
  245. package/dist/nodes/otel/shared/useNodeBehavior.js.map +0 -1
  246. package/dist/pierre/PierreThroughlineCodeView.js.map +0 -1
  247. package/dist/subsystem/SubsystemCarousel.d.ts +0 -36
  248. package/dist/subsystem/SubsystemCarousel.d.ts.map +0 -1
  249. package/dist/subsystem/SubsystemCarousel.js +0 -163
  250. package/dist/subsystem/SubsystemCarousel.js.map +0 -1
  251. package/dist/utils/animationMapping.d.ts +0 -53
  252. package/dist/utils/animationMapping.d.ts.map +0 -1
  253. package/dist/utils/animationMapping.js +0 -126
  254. package/dist/utils/animationMapping.js.map +0 -1
  255. package/dist/utils/canvasBounds.d.ts +0 -50
  256. package/dist/utils/canvasBounds.d.ts.map +0 -1
  257. package/dist/utils/canvasBounds.js +0 -88
  258. package/dist/utils/canvasBounds.js.map +0 -1
  259. package/dist/utils/graphConverter.d.ts +0 -18
  260. package/dist/utils/graphConverter.d.ts.map +0 -1
  261. package/dist/utils/graphConverter.js +0 -114
  262. package/dist/utils/graphConverter.js.map +0 -1
  263. package/dist/utils/iconResolver.d.ts +0 -29
  264. package/dist/utils/iconResolver.d.ts.map +0 -1
  265. package/dist/utils/iconResolver.js +0 -30
  266. package/dist/utils/iconResolver.js.map +0 -1
  267. package/dist/utils/orientationUtils.d.ts +0 -19
  268. package/dist/utils/orientationUtils.d.ts.map +0 -1
  269. package/dist/utils/orientationUtils.js +0 -62
  270. package/dist/utils/orientationUtils.js.map +0 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@ Peer dependency: `@principal-ai/subsystems-core` (>= 0.29.0), plus React 18/19.
13
13
  ## Main exports
14
14
 
15
15
  - `SubsystemComponentGraph` — interactive subsystem model graph
16
- - Pierre wrappers — `PierreFileView`, `PierreSnippetView`, `PierreThroughlineCodeView`
16
+ - Pierre wrappers — `PierreFileView`, `PierreSnippetView`, `PierreWalkthroughCodeView`
17
17
  - Graphify helpers — anchor/signature/kind utilities
18
18
  - `SessionEventFeed` / `SessionEventFeedGrouped` — agent session event feeds
19
19
  - ELK layout helpers — `computeElkLayout`, `useElkLayout`
@@ -25,4 +25,21 @@ export declare function symbolLabelVariants(symbol: string): string[];
25
25
  * Anchor a subsystem component onto a graphify definition node.
26
26
  */
27
27
  export declare function resolveComponentAnchor(nodes: readonly GraphifyNode[], input: ComponentAnchorInput): ComponentAnchorResult;
28
+ export type UniqueDefinitionBySymbolResult = {
29
+ status: 'unique';
30
+ node: GraphifyNode;
31
+ } | {
32
+ status: 'ambiguous';
33
+ candidates: GraphifyNode[];
34
+ } | {
35
+ status: 'none';
36
+ };
37
+ /**
38
+ * Corpus-wide definition lookup by symbol label only (no claimed file).
39
+ * Used when the model’s file path is missing and we want a deterministic
40
+ * relocate if exactly one defining file still declares the symbol.
41
+ *
42
+ * Unique means a single `source_file` among matching definition nodes.
43
+ */
44
+ export declare function findUniqueDefinitionBySymbol(nodes: readonly GraphifyNode[], symbol: string): UniqueDefinitionBySymbolResult;
28
45
  //# sourceMappingURL=anchor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/graphify/anchor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAQ/D,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,wBAAwB,CAAC;IACrC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAaD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5D;AAwBD;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,KAAK,EAAE,oBAAoB,GACzB,qBAAqB,CAyEvB"}
1
+ {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/graphify/anchor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAQ/D,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,wBAAwB,CAAC;IACrC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAaD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5D;AAwBD;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,KAAK,EAAE,oBAAoB,GACzB,qBAAqB,CAyEvB;AAED,MAAM,MAAM,8BAA8B,GACvC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtB;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,MAAM,GACZ,8BAA8B,CA6BhC"}
@@ -129,4 +129,45 @@ export function resolveComponentAnchor(nodes, input) {
129
129
  triedIds,
130
130
  };
131
131
  }
132
+ /**
133
+ * Corpus-wide definition lookup by symbol label only (no claimed file).
134
+ * Used when the model’s file path is missing and we want a deterministic
135
+ * relocate if exactly one defining file still declares the symbol.
136
+ *
137
+ * Unique means a single `source_file` among matching definition nodes.
138
+ */
139
+ export function findUniqueDefinitionBySymbol(nodes, symbol) {
140
+ const trimmed = symbol.trim();
141
+ if (!trimmed)
142
+ return { status: 'none' };
143
+ const hits = [];
144
+ for (const node of nodes) {
145
+ if (!isDefinition(node))
146
+ continue;
147
+ if (!labelMatchesSymbol(String(node.label ?? ''), trimmed))
148
+ continue;
149
+ hits.push(node);
150
+ }
151
+ if (hits.length === 0)
152
+ return { status: 'none' };
153
+ const byFile = new Map();
154
+ for (const n of hits) {
155
+ const sf = normalizeSourcePath(String(n.source_file ?? ''));
156
+ if (!sf)
157
+ continue;
158
+ const list = byFile.get(sf) ?? [];
159
+ list.push(n);
160
+ byFile.set(sf, list);
161
+ }
162
+ if (byFile.size === 0)
163
+ return { status: 'none' };
164
+ if (byFile.size > 1) {
165
+ return {
166
+ status: 'ambiguous',
167
+ candidates: hits.slice(0, 12),
168
+ };
169
+ }
170
+ const only = [...byFile.values()][0];
171
+ return { status: 'unique', node: only[0] };
172
+ }
132
173
  //# sourceMappingURL=anchor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/graphify/anchor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/graphify/anchor.ts"],"names":[],"mappings":"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"}
@@ -137,6 +137,22 @@ export interface GraphifyFunctionDetail {
137
137
  /** Outgoing `calls` edges. */
138
138
  callees: GraphifyCallInfo[];
139
139
  }
140
+ /** One generic type parameter, e.g. `T` or `K extends keyof StudioMessages`. */
141
+ export interface GraphifyTypeParamInfo {
142
+ name: string;
143
+ /** Constraint written after `extends` (or language equivalent). */
144
+ constraint?: string;
145
+ }
146
+ /** A callable/function type: `(params) => returnType`. */
147
+ export interface GraphifyCallableTypeInfo {
148
+ parameters?: GraphifyParamInfo[];
149
+ returnType?: string;
150
+ }
151
+ /** One enum member, with its optional literal value. */
152
+ export interface GraphifyEnumMemberInfo {
153
+ name: string;
154
+ value?: string;
155
+ }
140
156
  /** A type-like node (interface/struct): revealed by incoming `implements` edges. */
141
157
  export interface GraphifyTypeDetail {
142
158
  kind: 'type';
@@ -146,6 +162,22 @@ export interface GraphifyTypeDetail {
146
162
  usedBy: GraphifyReferenceInfo[];
147
163
  /** Nodes that `inherits`/`implements` this type. */
148
164
  implementors: string[];
165
+ /** Generic type parameters, e.g. `<K extends keyof StudioMessages>`. */
166
+ generics?: GraphifyTypeParamInfo[];
167
+ /** Callable type — `(params) => returnType` (TS/Go/Rust fn, Java lambda). */
168
+ signature?: GraphifyCallableTypeInfo;
169
+ /** Enum members (name, optional literal value). */
170
+ enumMembers?: GraphifyEnumMemberInfo[];
171
+ /** Alias whose RHS is a plain reference, e.g. `StudioMessages[K]`. */
172
+ aliasOf?: string;
173
+ /** Simple union of alternatives, e.g. `'started' | 'stopped'`. */
174
+ unionOf?: string[];
175
+ /**
176
+ * Verbatim RHS — the escape hatch for shapes the structured fields can't
177
+ * express (mapped/conditional/template-literal/infer types, `typeof`/utility
178
+ * compositions, C pointers, Rust trait objects). Wins over every shape above.
179
+ */
180
+ rhs?: string;
149
181
  }
150
182
  /** A module/file-like node: a `contains` target with a filename label. */
151
183
  export interface GraphifyModuleDetail {
@@ -192,6 +224,13 @@ export interface GraphifyStoreDetail {
192
224
  kind: 'store';
193
225
  /** The retained state members (module-level consts or class fields). */
194
226
  properties: GraphifyPropertyInfo[];
227
+ /**
228
+ * Where the retained state physically lives / who mediates access. Authored
229
+ * — graphify cannot infer it: `memory` = process-lifetime RAM, `disk` =
230
+ * this process reads/writes the filesystem, `external` = mediated by another
231
+ * system (db/service; carries no `process`).
232
+ */
233
+ storage?: 'memory' | 'disk' | 'external';
195
234
  }
196
235
  /** A standalone method selected from its owning class. */
197
236
  export interface GraphifyMethodDetail {
@@ -204,7 +243,7 @@ export interface GraphifyMethodDetail {
204
243
  returnType?: string;
205
244
  }
206
245
  /**
207
- * The drill-down payload for a subsystem component.
246
+ * The structured declaration payload for a subsystem component (click panel).
208
247
  *
209
248
  * The discriminant is derived from graph structure, not read off the node:
210
249
  * method edges → class; `()` label + no method edges → function; incoming
@@ -1 +1 @@
1
- {"version":3,"file":"consolidated.d.ts","sourceRoot":"","sources":["../../src/graphify/consolidated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consolidated.d.ts","sourceRoot":"","sources":["../../src/graphify/consolidated.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export type { ElkLayoutOptions, ElkLayoutResult, ElkRoutingStyle } from './utils
16
16
  export { useElkLayout, applyElkPathsToEdges } from './hooks/useElkLayout';
17
17
  export type { UseElkLayoutOptions, UseElkLayoutResult } from './hooks/useElkLayout';
18
18
  export { SubsystemComponentGraph } from './subsystem/SubsystemComponentGraph';
19
- export type { SubsystemComponentGraphProps, ThroughlineViewerContext } from './subsystem/SubsystemComponentGraph';
19
+ export type { SubsystemComponentGraphProps, WalkthroughViewerContext } from './subsystem/SubsystemComponentGraph';
20
20
  export type { ComponentVerificationState, ComponentVerificationPhase, ComponentDeclarationProps, } from './subsystem/ComponentDeclaration';
21
21
  export { ComponentDeclaration } from './subsystem/ComponentDeclaration';
22
22
  export { MECHANISM_COLOR, MECHANISM_STYLE } from './subsystem/model';
@@ -27,10 +27,10 @@ export { SubsystemFileTree } from './subsystem/SubsystemFileTree';
27
27
  export type { SubsystemFileTreeProps } from './subsystem/SubsystemFileTree';
28
28
  export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
29
29
  export type { GraphLayoutCoverProps } from './subsystem/GraphLayoutCover';
30
- export type { SubsystemComponent, SubsystemComponentEdge, SubsystemThroughline, SubsystemThroughlineStep, SubsystemModelDocument, SubsystemComponentConstruct, SubsystemComponentRole, SubsystemFramework, SubsystemStereotype, SubsystemEdgeMechanism, } from './subsystem/model';
31
- export { constructBadgeLabel, rightBadgeLabel, rightBadgeColor, deriveNameFromSymbol, nodeMinWidthForBadges, ROLE_COLOR, ROLE_LABEL, PROPOSED_COLOR, } from './subsystem/model';
30
+ export type { SubsystemComponent, SubsystemComponentEdge, SubsystemRelation, SubsystemRelationType, SubsystemWalkthrough, SubsystemWalkthroughStep, SubsystemWalkthroughMechanism, SubsystemModelDocument, SubsystemComponentConstruct, SubsystemComponentRole, SubsystemFramework, SubsystemStereotype, SubsystemEdgeMechanism, SubsystemConstructDeclaration, SubsystemDeclarationProvenance, } from './subsystem/model';
31
+ export { constructBadgeLabel, rightBadgeLabel, rightBadgeColor, deriveNameFromSymbol, nodeMinWidthForBadges, deriveGraphEdges, derivedGraphEdgeId, walkthroughStepGraphEdgeId, ROLE_COLOR, ROLE_LABEL, PROPOSED_COLOR, } from './subsystem/model';
32
32
  export type { SubsystemDeclarationRef, SubsystemOpenFileOptions, DeclarationFreshness, } from './subsystem/declarationRef';
33
33
  export { parseSourceLocation, normalizeDeclarationLine, extractDeclarationLine, DECLARATION_HASH_ALGO, } from './subsystem/declarationRef';
34
- export { PierreFileView, PierreSnippetView, PierreThroughlineCodeView, sliceSnippetWindow, resolvePierreSyntaxThemeName } from './pierre';
35
- export type { PierreFileViewProps, PierreSnippetViewProps, PierreThroughlineCodeViewProps, SnippetSlice, PierreSyntaxThemeName, } from './pierre';
34
+ export { PierreFileView, PierreSnippetView, PierreWalkthroughCodeView, sliceSnippetWindow, resolvePierreSyntaxThemeName } from './pierre';
35
+ export type { PierreFileViewProps, PierreSnippetViewProps, PierreWalkthroughCodeViewProps, SnippetSlice, PierreSyntaxThemeName, } from './pierre';
36
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,8 +18,8 @@ export { CONSTRUCT_COLOR, componentColor, constructColorsFromPierreTheme } from
18
18
  export { purlRepoKey, purlOwnerName, buildTreePathMapping, buildRepoGroups, repoAvatarUrl, } from './subsystem/paths';
19
19
  export { SubsystemFileTree } from './subsystem/SubsystemFileTree';
20
20
  export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
21
- export { constructBadgeLabel, rightBadgeLabel, rightBadgeColor, deriveNameFromSymbol, nodeMinWidthForBadges, ROLE_COLOR, ROLE_LABEL, PROPOSED_COLOR, } from './subsystem/model';
21
+ export { constructBadgeLabel, rightBadgeLabel, rightBadgeColor, deriveNameFromSymbol, nodeMinWidthForBadges, deriveGraphEdges, derivedGraphEdgeId, walkthroughStepGraphEdgeId, ROLE_COLOR, ROLE_LABEL, PROPOSED_COLOR, } from './subsystem/model';
22
22
  export { parseSourceLocation, normalizeDeclarationLine, extractDeclarationLine, DECLARATION_HASH_ALGO, } from './subsystem/declarationRef';
23
23
  // Pierre code views (@pierre/diffs wrappers)
24
- export { PierreFileView, PierreSnippetView, PierreThroughlineCodeView, sliceSnippetWindow, resolvePierreSyntaxThemeName } from './pierre';
24
+ export { PierreFileView, PierreSnippetView, PierreWalkthroughCodeView, sliceSnippetWindow, resolvePierreSyntaxThemeName } from './pierre';
25
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AA2CrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAWpB,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAO9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAchE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AA2CrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAWpB,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAO9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAmBhE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * PierreThroughlineCodeView — multi-file step snippets via `@pierre/diffs` CodeView.
2
+ * PierreWalkthroughCodeView — multi-file step snippets via `@pierre/diffs` CodeView.
3
3
  *
4
- * Renders one sliced window per throughline step in a single virtualized
4
+ * Renders one sliced window per walkthrough step in a single virtualized
5
5
  * scroll; when `stepIndex` changes, scrolls that step's site line into view
6
6
  * and highlights it via CodeView `selectedLines` (same mechanism as
7
7
  * `PierreSnippetView`).
8
8
  */
9
9
  /// <reference types="react" />
10
- import type { SubsystemThroughline } from '../subsystem/model';
11
- export interface PierreThroughlineCodeViewProps {
12
- throughline: SubsystemThroughline;
10
+ import type { SubsystemWalkthrough } from '../subsystem/model';
11
+ export interface PierreWalkthroughCodeViewProps {
12
+ walkthrough: SubsystemWalkthrough;
13
13
  /** Focused step; `null` shows all snippets without scrolling to a step. */
14
14
  stepIndex: number | null;
15
15
  readFile: (path: string) => Promise<string>;
@@ -18,5 +18,5 @@ export interface PierreThroughlineCodeViewProps {
18
18
  /** Override Pierre's container background. */
19
19
  background?: string;
20
20
  }
21
- export declare function PierreThroughlineCodeView({ throughline, stepIndex, readFile, contextLines, background, }: PierreThroughlineCodeViewProps): import("react").JSX.Element;
22
- //# sourceMappingURL=PierreThroughlineCodeView.d.ts.map
21
+ export declare function PierreWalkthroughCodeView({ walkthrough, stepIndex, readFile, contextLines, background, }: PierreWalkthroughCodeViewProps): import("react").JSX.Element;
22
+ //# sourceMappingURL=PierreWalkthroughCodeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PierreThroughlineCodeView.d.ts","sourceRoot":"","sources":["../../src/pierre/PierreThroughlineCodeView.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAoBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS/D,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,oBAAoB,CAAC;IAClC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAgB,EAChB,UAAU,GACX,EAAE,8BAA8B,+BAiPhC"}
1
+ {"version":3,"file":"PierreWalkthroughCodeView.d.ts","sourceRoot":"","sources":["../../src/pierre/PierreWalkthroughCodeView.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAoBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS/D,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,oBAAoB,CAAC;IAClC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAgB,EAChB,UAAU,GACX,EAAE,8BAA8B,+BAyOhC"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  /**
3
- * PierreThroughlineCodeView — multi-file step snippets via `@pierre/diffs` CodeView.
3
+ * PierreWalkthroughCodeView — multi-file step snippets via `@pierre/diffs` CodeView.
4
4
  *
5
- * Renders one sliced window per throughline step in a single virtualized
5
+ * Renders one sliced window per walkthrough step in a single virtualized
6
6
  * scroll; when `stepIndex` changes, scrolls that step's site line into view
7
7
  * and highlights it via CodeView `selectedLines` (same mechanism as
8
8
  * `PierreSnippetView`).
@@ -14,22 +14,22 @@ import { buildPierreOptions, PIERRE_FILE_STYLE } from './pierreBackground';
14
14
  import { pierreCodeViewFileName, pierreLangForPath, } from './pierreFileLang';
15
15
  import { resolvePierreSyntaxThemeName } from './pierreSyntaxTheme';
16
16
  import { sliceSnippetWindow } from './sliceSnippet';
17
- function stepItemId(throughlineId, index) {
18
- return `${throughlineId}:${index}`;
17
+ function stepItemId(walkthroughId, index) {
18
+ return `${walkthroughId}:${index}`;
19
19
  }
20
- export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, contextLines = 8, background, }) {
20
+ export function PierreWalkthroughCodeView({ walkthrough, stepIndex, readFile, contextLines = 8, background, }) {
21
21
  const { theme, mode } = useTheme();
22
22
  const viewRef = useRef(null);
23
23
  const [load, setLoad] = useState({ status: 'loading' });
24
24
  const pathsKey = useMemo(() => {
25
- const paths = [...new Set(throughline.steps.map((s) => s.file))];
25
+ const paths = [...new Set(walkthrough.steps.map((s) => s.file))];
26
26
  paths.sort();
27
27
  return paths.join('\0');
28
- }, [throughline.steps]);
28
+ }, [walkthrough.steps]);
29
29
  useEffect(() => {
30
30
  let cancelled = false;
31
31
  setLoad({ status: 'loading' });
32
- const paths = [...new Set(throughline.steps.map((s) => s.file))];
32
+ const paths = [...new Set(walkthrough.steps.map((s) => s.file))];
33
33
  void Promise.all(paths.map(async (path) => {
34
34
  const contents = await readFile(path);
35
35
  return [path, contents];
@@ -50,19 +50,19 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
50
50
  return () => {
51
51
  cancelled = true;
52
52
  };
53
- }, [throughline.id, pathsKey, readFile]);
53
+ }, [walkthrough.id, pathsKey, readFile]);
54
54
  const slices = useMemo(() => {
55
55
  if (load.status !== 'ready')
56
56
  return [];
57
- return throughline.steps.map((step) => {
57
+ return walkthrough.steps.map((step) => {
58
58
  const contents = load.byPath.get(step.file) ?? '';
59
59
  return sliceSnippetWindow(contents, step.line, step.line, contextLines, step.line);
60
60
  });
61
- }, [load, throughline.steps, contextLines]);
61
+ }, [load, walkthrough.steps, contextLines]);
62
62
  const items = useMemo(() => {
63
63
  if (load.status !== 'ready' || slices.length === 0)
64
64
  return [];
65
- return throughline.steps.map((step, index) => {
65
+ return walkthrough.steps.map((step, index) => {
66
66
  const slice = slices[index];
67
67
  const focus = slice.focusOffset;
68
68
  const annotations = step.annotation != null && step.annotation.length > 0 && focus != null
@@ -74,25 +74,19 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
74
74
  ]
75
75
  : undefined;
76
76
  return {
77
- id: stepItemId(throughline.id, index),
77
+ id: stepItemId(walkthrough.id, index),
78
78
  type: 'file',
79
79
  version: 1,
80
80
  annotations,
81
81
  file: {
82
- // Unique per-step name: many throughline steps share one path
83
- // (e.g. seven sites in main.cpp), and identical `name`s have
84
- // correlated with WebKit renderer traps in CodeView.
85
82
  name: pierreCodeViewFileName(step.file, index),
86
83
  contents: slice.contents,
87
- // C-family → plain text: cpp Shiki still traps WebKit even with
88
- // unique names (reproduced on 0.16.67).
89
84
  lang: pierreLangForPath(step.file),
90
- cacheKey: `${throughline.id}:${index}:${step.file}:${step.line}:${slice.sliceStart}-${slice.sliceEnd}`,
85
+ cacheKey: `${walkthrough.id}:${index}:${step.file}:${step.line}:${slice.sliceStart}-${slice.sliceEnd}`,
91
86
  },
92
87
  };
93
88
  });
94
- }, [load, slices, throughline.id, throughline.steps]);
95
- /** Highlight the focused step's site line (1-based within its sliced window). */
89
+ }, [load, slices, walkthrough.id, walkthrough.steps]);
96
90
  const selectedLines = useMemo(() => {
97
91
  if (stepIndex == null || stepIndex < 0 || stepIndex >= slices.length) {
98
92
  return null;
@@ -101,14 +95,14 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
101
95
  if (focus == null)
102
96
  return null;
103
97
  return {
104
- id: stepItemId(throughline.id, stepIndex),
98
+ id: stepItemId(walkthrough.id, stepIndex),
105
99
  range: { start: focus, end: focus },
106
100
  };
107
- }, [stepIndex, slices, throughline.id]);
101
+ }, [stepIndex, slices, walkthrough.id]);
108
102
  const renderHeaderPrefix = useMemo(() => {
109
103
  return (item) => {
110
104
  const index = Number.parseInt(item.id.split(':').pop() ?? '', 10);
111
- const step = throughline.steps[index];
105
+ const step = walkthrough.steps[index];
112
106
  if (!step)
113
107
  return null;
114
108
  const label = step.symbol != null && step.symbol.length > 0
@@ -121,11 +115,11 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
121
115
  marginRight: 8,
122
116
  }, children: [index + 1, ". ", label] }));
123
117
  };
124
- }, [throughline.steps, theme]);
118
+ }, [walkthrough.steps, theme]);
125
119
  const renderHeaderMetadata = useMemo(() => {
126
120
  return (item) => {
127
121
  const index = Number.parseInt(item.id.split(':').pop() ?? '', 10);
128
- const step = throughline.steps[index];
122
+ const step = walkthrough.steps[index];
129
123
  if (!step)
130
124
  return null;
131
125
  return (_jsxs("span", { style: {
@@ -135,11 +129,11 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
135
129
  marginLeft: 8,
136
130
  }, children: ["L", step.line] }));
137
131
  };
138
- }, [throughline.steps, theme]);
132
+ }, [walkthrough.steps, theme]);
139
133
  const renderAnnotation = useMemo(() => {
140
134
  return (annotation, item) => {
141
135
  const index = Number.parseInt(item.id.split(':').pop() ?? '', 10);
142
- const step = throughline.steps[index];
136
+ const step = walkthrough.steps[index];
143
137
  const text = annotation.metadata?.text;
144
138
  if (!text || !step)
145
139
  return null;
@@ -152,7 +146,7 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
152
146
  opacity: 0.9,
153
147
  }, children: text }));
154
148
  };
155
- }, [throughline.steps, theme]);
149
+ }, [walkthrough.steps, theme]);
156
150
  const options = useMemo(() => {
157
151
  return {
158
152
  theme: {
@@ -169,13 +163,12 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
169
163
  useEffect(() => {
170
164
  if (load.status !== 'ready' || stepIndex == null)
171
165
  return;
172
- if (stepIndex < 0 || stepIndex >= throughline.steps.length)
166
+ if (stepIndex < 0 || stepIndex >= walkthrough.steps.length)
173
167
  return;
174
168
  const focus = slices[stepIndex]?.focusOffset;
175
169
  if (focus == null)
176
170
  return;
177
- // Defer until CodeView has laid out items.
178
- const id = stepItemId(throughline.id, stepIndex);
171
+ const id = stepItemId(walkthrough.id, stepIndex);
179
172
  const t = window.setTimeout(() => {
180
173
  viewRef.current?.scrollTo({
181
174
  type: 'line',
@@ -188,8 +181,8 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
188
181
  }, [
189
182
  load.status,
190
183
  stepIndex,
191
- throughline.id,
192
- throughline.steps.length,
184
+ walkthrough.id,
185
+ walkthrough.steps.length,
193
186
  slices,
194
187
  items.length,
195
188
  ]);
@@ -199,8 +192,7 @@ export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, co
199
192
  if (load.status === 'loading' || items.length === 0) {
200
193
  return (_jsx("div", { style: { padding: 16, color: theme.colors.textSecondary }, children: "Loading\u2026" }));
201
194
  }
202
- // Pierre's CodeView prop / item unions blow past TS's complexity limit.
203
195
  const CodeViewLoose = CodeView;
204
196
  return (_jsx(CodeViewLoose, { ref: viewRef, items: items, options: options, selectedLines: selectedLines, renderHeaderPrefix: renderHeaderPrefix, renderHeaderMetadata: renderHeaderMetadata, renderAnnotation: renderAnnotation, style: { ...PIERRE_FILE_STYLE, height: '100%', overflow: 'auto' } }));
205
197
  }
206
- //# sourceMappingURL=PierreThroughlineCodeView.js.map
198
+ //# sourceMappingURL=PierreWalkthroughCodeView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PierreWalkthroughCodeView.js","sourceRoot":"","sources":["../../src/pierre/PierreWalkthroughCodeView.tsx"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ export { PierreFileView } from './PierreFileView';
2
2
  export type { PierreFileViewProps } from './PierreFileView';
3
3
  export { PierreSnippetView } from './PierreSnippetView';
4
4
  export type { PierreSnippetViewProps } from './PierreSnippetView';
5
- export { PierreThroughlineCodeView } from './PierreThroughlineCodeView';
6
- export type { PierreThroughlineCodeViewProps } from './PierreThroughlineCodeView';
5
+ export { PierreWalkthroughCodeView } from './PierreWalkthroughCodeView';
6
+ export type { PierreWalkthroughCodeViewProps } from './PierreWalkthroughCodeView';
7
7
  export { sliceSnippetWindow } from './sliceSnippet';
8
8
  export type { SnippetSlice } from './sliceSnippet';
9
9
  export { isPierreCFamilyPath, pierreCodeViewFileName, pierreLangForPath, } from './pierreFileLang';
@@ -1,6 +1,6 @@
1
1
  export { PierreFileView } from './PierreFileView';
2
2
  export { PierreSnippetView } from './PierreSnippetView';
3
- export { PierreThroughlineCodeView } from './PierreThroughlineCodeView';
3
+ export { PierreWalkthroughCodeView } from './PierreWalkthroughCodeView';
4
4
  export { sliceSnippetWindow } from './sliceSnippet';
5
5
  export { isPierreCFamilyPath, pierreCodeViewFileName, pierreLangForPath, } from './pierreFileLang';
6
6
  export { PIERRE_DEFAULT_SYNTAX_THEMES, resolvePierreSyntaxThemeName, } from './pierreSyntaxTheme';
@@ -7,7 +7,7 @@
7
7
  * `file.name`s — so we force plain text for those paths until Pierre/WebKit
8
8
  * is safe with them.
9
9
  *
10
- * Distinct throughline slices of the same path still need unique `file.name`s
10
+ * Distinct walkthrough slices of the same path still need unique `file.name`s
11
11
  * (see `pierreCodeViewFileName`).
12
12
  */
13
13
  /** True when Pierre would (or we would) treat this path as C-family source. */
@@ -7,7 +7,7 @@
7
7
  * `file.name`s — so we force plain text for those paths until Pierre/WebKit
8
8
  * is safe with them.
9
9
  *
10
- * Distinct throughline slices of the same path still need unique `file.name`s
10
+ * Distinct walkthrough slices of the same path still need unique `file.name`s
11
11
  * (see `pierreCodeViewFileName`).
12
12
  */
13
13
  const C_FAMILY_EXT = new Set([
@@ -1,8 +1,20 @@
1
- import type { SubsystemComponent, SubsystemComponentEdge } from '../../../subsystem/model';
1
+ import type { SubsystemComponent, SubsystemComponentEdge, SubsystemRelation, SubsystemRelationType, SubsystemWalkthrough, SubsystemWalkthroughMechanism } from '../../../subsystem/model';
2
2
  import type { GraphifyComponentDetail } from '../../../graphify';
3
- export declare function components(spec: Array<[id: string, name: string, construct: SubsystemComponent['construct'], file: string, purl: string, purpose?: string, symbol?: string, detail?: GraphifyComponentDetail]>): SubsystemComponent[];
3
+ export declare function components(spec: Array<[id: string, name: string, construct: SubsystemComponent['construct'], file: string, purl: string, purpose?: string, symbol?: string, declaration?: GraphifyComponentDetail]>): SubsystemComponent[];
4
+ export declare function relations(spec: Array<[from: string, to: string, relationType: SubsystemRelationType, refs?: string[]]>): SubsystemRelation[];
5
+ /** Story helper: one walkthrough whose hops derive Set B display edges. */
6
+ export declare function walkthroughFromHops(id: string, title: string, hops: Array<[from: string, to: string, mechanism: SubsystemWalkthroughMechanism, file: string, line: number]>): SubsystemWalkthrough;
7
+ /** @deprecated story helper — prefer `relations` + `walkthroughFromHops`. */
4
8
  export declare function edges(spec: Array<[from: string, to: string, mechanism: SubsystemComponentEdge['mechanism'], refs?: string[]]>): SubsystemComponentEdge[];
9
+ /** Split mixed mechanism lists into relations + optional walkthrough for stories. */
10
+ export declare function graphSpecFromEdges(spec: Array<[from: string, to: string, mechanism: SubsystemComponentEdge['mechanism'], refs?: string[]]>): {
11
+ relations: SubsystemRelation[];
12
+ walkthroughs?: SubsystemWalkthrough[];
13
+ };
5
14
  export declare const readerDetail: GraphifyComponentDetail;
6
15
  export declare const investigateOnlyComponents: SubsystemComponent[];
16
+ export declare const investigateOnlyRelations: SubsystemRelation[];
17
+ export declare const investigateOnlyWalkthroughs: SubsystemWalkthrough[] | undefined;
18
+ /** @deprecated use investigateOnlyRelations + investigateOnlyWalkthroughs */
7
19
  export declare const investigateOnlyEdges: SubsystemComponentEdge[];
8
20
  //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/stories/Subsystem/ComponentGraph/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAKjE,wBAAgB,UAAU,CACxB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,GACnL,kBAAkB,EAAE,CAWtB;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GACvG,sBAAsB,EAAE,CAQ1B;AAED,eAAO,MAAM,YAAY,EAAE,uBAY1B,CAAC;AAMF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAkEzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,EAMvD,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/stories/Subsystem/ComponentGraph/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAKjE,wBAAgB,UAAU,CACxB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,CAAC,CAAC,GACxL,kBAAkB,EAAE,CAWtB;AAgBD,wBAAgB,SAAS,CACvB,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAC5F,iBAAiB,EAAE,CAQrB;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GAC5G,oBAAoB,CAYtB;AAED,6EAA6E;AAC7E,wBAAgB,KAAK,CACnB,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GACvG,sBAAsB,EAAE,CAQ1B;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GACvG;IAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAAE,CA6B3E;AAED,eAAO,MAAM,YAAY,EAAE,uBAY1B,CAAC;AAMF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAuDzD,CAAC;AASF,eAAO,MAAM,wBAAwB,qBAA4B,CAAC;AAClE,eAAO,MAAM,2BAA2B,oCAA+B,CAAC;AAExE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,EAKvD,CAAC"}