@industry-theme/principal-view-panels 0.6.5 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAS/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqiB7D,CAAC"}
1
+ {"version":3,"file":"StoryboardListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAS/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAijB7D,CAAC"}
@@ -79,6 +79,17 @@ export declare const CanvasEventsTest: Story;
79
79
  * The bug was at CanvasDiscovery.ts:201-202 which incorrectly skipped storyboards with no workflows.
80
80
  */
81
81
  export declare const StoryboardsWithoutWorkflows: Story;
82
+ /**
83
+ * With Markdown Documentation - Test case for markdown overview nodes
84
+ * Verifies that canvases with pv.markdown field show Overview nodes in the tree.
85
+ * This tests the fix for includeContent: true in useCanvasData hook.
86
+ *
87
+ * Expected behavior:
88
+ * - Canvases WITH pv.markdown should show an Overview child node
89
+ * - Canvases WITHOUT pv.markdown should NOT show an Overview node
90
+ * - Overview nodes should appear before workflows in the tree
91
+ */
92
+ export declare const WithMarkdownDocumentation: Story;
82
93
  /**
83
94
  * Change Detection Test - Interactive story for testing SHA-based change detection
84
95
  * Demonstrates how the panel responds to file tree changes and manual refresh
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardListPanel.stories.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAmB,MAAM,OAAO,CAAC;AASxC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;CAsBkC,CAAC;AAE7C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAuJnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAmD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAkBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAuC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KA2B1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KA6B1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAsKlC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KA0J5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,KA+R9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAkEzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KA+KjC,CAAC"}
1
+ {"version":3,"file":"StoryboardListPanel.stories.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAmB,MAAM,OAAO,CAAC;AASxC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;CAsBkC,CAAC;AAE7C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAuJnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAmD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAkBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAuC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KA2B1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KA6B1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAsKlC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KA0J5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,KA+R9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAkEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,KA2IvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KA+KjC,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { PanelContextValue } from '@principal-ade/panel-framework-core';
1
+ import type { PanelContextValue, PanelActions } from '@principal-ade/panel-framework-core';
2
2
  import { type DiscoveredCanvas, type DiscoveredStoryboard, type DiscoveredExecution } from '@principal-ai/principal-view-core';
3
3
  interface UseCanvasDataParams {
4
4
  context: PanelContextValue;
5
+ actions: PanelActions;
5
6
  }
6
7
  interface UseCanvasDataReturn {
7
8
  canvases: DiscoveredCanvas[];
@@ -15,6 +16,6 @@ interface UseCanvasDataReturn {
15
16
  * Hook to discover and load canvas files from the file tree
16
17
  * Uses the new package-aware CanvasDiscovery system
17
18
  */
18
- export declare const useCanvasData: ({ context, }: UseCanvasDataParams) => UseCanvasDataReturn;
19
+ export declare const useCanvasData: ({ context, actions, }: UseCanvasDataParams) => UseCanvasDataReturn;
19
20
  export {};
20
21
  //# sourceMappingURL=useCanvasData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCanvasData.d.ts","sourceRoot":"","sources":["../../../../src/panels/canvas-list/hooks/useCanvasData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAG3C,UAAU,mBAAmB;IAC3B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAOD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,cAE3B,mBAAmB,KAAG,mBA+KxB,CAAC"}
1
+ {"version":3,"file":"useCanvasData.d.ts","sourceRoot":"","sources":["../../../../src/panels/canvas-list/hooks/useCanvasData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAG3C,UAAU,mBAAmB;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAOD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,uBAG3B,mBAAmB,KAAG,mBAwLxB,CAAC"}
@@ -53932,7 +53932,8 @@ const EMPTY_CANVAS_ARRAY = [];
53932
53932
  const EMPTY_STORYBOARDS_ARRAY = [];
53933
53933
  const EMPTY_EXECUTIONS_ARRAY = [];
53934
53934
  const useCanvasData = ({
53935
- context
53935
+ context,
53936
+ actions
53936
53937
  }) => {
53937
53938
  const [canvases, setCanvases] = useState(EMPTY_CANVAS_ARRAY);
53938
53939
  const [storyboards, setStoryboards] = useState(EMPTY_STORYBOARDS_ARRAY);
@@ -53942,6 +53943,7 @@ const useCanvasData = ({
53942
53943
  const fileTreeSlice = context.getSlice("fileTree");
53943
53944
  const fileTreeData = fileTreeSlice == null ? void 0 : fileTreeSlice.data;
53944
53945
  const fileTreeSha = fileTreeData == null ? void 0 : fileTreeData.sha;
53946
+ const readFile = actions.readFile;
53945
53947
  const lastLoadedSha = useRef(void 0);
53946
53948
  const discovery = useRef(new CanvasDiscovery());
53947
53949
  const loadCanvases = useCallback(async () => {
@@ -53965,8 +53967,14 @@ const useCanvasData = ({
53965
53967
  sampleFiles: fileTreeData.allFiles.slice(0, 5).map((f) => f.path)
53966
53968
  });
53967
53969
  const result = await discovery.current.discover(fileTreeData, {
53968
- // Don't include content - just metadata for listing
53969
- includeContent: false
53970
+ // Include content to extract markdown paths from pv.markdown field
53971
+ includeContent: true,
53972
+ fileReader: async (path) => {
53973
+ if (!readFile) {
53974
+ throw new Error("readFile action not available");
53975
+ }
53976
+ return await readFile(path);
53977
+ }
53970
53978
  });
53971
53979
  console.log("[useCanvasData] Discovery result:", {
53972
53980
  canvases: result.canvases.length,
@@ -54055,7 +54063,7 @@ const useCanvasData = ({
54055
54063
  } finally {
54056
54064
  setIsLoading(false);
54057
54065
  }
54058
- }, [fileTreeData, fileTreeSha]);
54066
+ }, [fileTreeData, fileTreeSha, readFile]);
54059
54067
  const refreshCanvases = useCallback(async () => {
54060
54068
  lastLoadedSha.current = void 0;
54061
54069
  discovery.current.clearCache();
@@ -54085,7 +54093,7 @@ const useCanvasWorkflowData = ({
54085
54093
  isLoading: canvasesLoading,
54086
54094
  error: canvasesError,
54087
54095
  refreshCanvases
54088
- } = useCanvasData({ context });
54096
+ } = useCanvasData({ context, actions });
54089
54097
  const [workflows, setNarratives] = useState(
54090
54098
  EMPTY_NARRATIVES_ARRAY
54091
54099
  );
@@ -54213,7 +54221,19 @@ const StoryboardListPanel = ({
54213
54221
  return filtered;
54214
54222
  }, [storyboards, searchQuery]);
54215
54223
  const handleTreeNodeClick = useCallback((node) => {
54216
- if (node.type === "canvas" && node.canvas) {
54224
+ var _a;
54225
+ if (node.type === "overview" && node.markdownPath) {
54226
+ setSelectedNodeId(`overview:${(_a = node.storyboard) == null ? void 0 : _a.id}`);
54227
+ if (events) {
54228
+ console.log("[StoryboardListPanel] Opening documentation:", node.markdownPath);
54229
+ events.emit({
54230
+ type: "file:open",
54231
+ source: "storyboard-list-panel",
54232
+ timestamp: Date.now(),
54233
+ payload: { path: node.markdownPath }
54234
+ });
54235
+ }
54236
+ } else if (node.type === "canvas" && node.canvas) {
54217
54237
  setSelectedNodeId(`canvas:${node.canvas.id}`);
54218
54238
  if (events) {
54219
54239
  const canvasFileInfo = getCanvasFileInfo(node.canvas.path);
@@ -54237,8 +54257,8 @@ const StoryboardListPanel = ({
54237
54257
  const canvasFileInfo = getCanvasFileInfo(node.storyboard.canvas.path);
54238
54258
  const workflowFileInfo = getCanvasFileInfo(node.workflow.path);
54239
54259
  const fullWorkflow = workflows.find((wf) => {
54240
- var _a;
54241
- return wf.file.path === ((_a = node.workflow) == null ? void 0 : _a.path);
54260
+ var _a2;
54261
+ return wf.file.path === ((_a2 = node.workflow) == null ? void 0 : _a2.path);
54242
54262
  });
54243
54263
  const workflowToSend = fullWorkflow ? fullWorkflow.template : node.workflow;
54244
54264
  events.emit({