@principal-ai/principal-view-core 0.14.0 → 0.15.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.
@@ -28,6 +28,7 @@ import type { DiscoveredCanvas, DiscoveredExecution, CanvasDiscoveryResult, Disc
28
28
  export declare class CanvasDiscovery {
29
29
  private static readonly CANVAS_DIR;
30
30
  private static readonly EXECUTIONS_DIR;
31
+ private static readonly WORKFLOW_EXTENSION;
31
32
  private packageModule;
32
33
  private packageCache;
33
34
  constructor();
@@ -36,7 +37,7 @@ export declare class CanvasDiscovery {
36
37
  *
37
38
  * @param fileTree - FileTree from repository-abstraction
38
39
  * @param options - Discovery options (fileReader, includeContent)
39
- * @returns Discovery result with canvases, executions, and errors
40
+ * @returns Discovery result with canvases, executions, storyboards, and errors
40
41
  */
41
42
  discover(fileTree: FileTree, options?: DiscoveryOptions): Promise<CanvasDiscoveryResult>;
42
43
  /**
@@ -59,6 +60,14 @@ export declare class CanvasDiscovery {
59
60
  * Clear package cache (useful when file tree changes)
60
61
  */
61
62
  clearCache(): void;
63
+ /**
64
+ * Discover storyboards (hierarchical organization of canvas + workflows + executions)
65
+ */
66
+ private discoverStoryboards;
67
+ /**
68
+ * Discover workflows within a storyboard folder
69
+ */
70
+ private discoverWorkflowsInStoryboard;
62
71
  /**
63
72
  * Discover packages with caching by fileTree SHA
64
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasDiscovery.d.ts","sourceRoot":"","sources":["../../src/discovery/CanvasDiscovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,qBAAqB,EACrB,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAE1D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,YAAY,CAA0C;;IAM9D;;;;;;OAMG;IACG,QAAQ,CACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IAsBjC;;;;;;OAMG;IACH,sBAAsB,CACpB,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,GAAG,IAAI;IAS1B;;;;;;OAMG;IACH,uBAAuB,CACrB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,mBAAmB,EAAE,GAChC,mBAAmB,EAAE;IASxB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;YACW,yBAAyB;IAgBvC;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,mBAAmB;IAkEjC;;OAEG;YACW,sBAAsB;IA0DpC;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAiBjC"}
1
+ {"version":3,"file":"CanvasDiscovery.d.ts","sourceRoot":"","sources":["../../src/discovery/CanvasDiscovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAMnB,qBAAqB,EACrB,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAE9D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,YAAY,CAA0C;;IAM9D;;;;;;OAMG;IACG,QAAQ,CACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IA0BjC;;;;;;OAMG;IACH,sBAAsB,CACpB,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,GAAG,IAAI;IAS1B;;;;;;OAMG;IACH,uBAAuB,CACrB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,mBAAmB,EAAE,GAChC,mBAAmB,EAAE;IASxB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;YACW,mBAAmB;IA0FjC;;OAEG;YACW,6BAA6B;IA6E3C;;OAEG;YACW,yBAAyB;IAgBvC;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,mBAAmB;IAkEjC;;OAEG;YACW,sBAAsB;IA0DpC;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAiBjC"}
@@ -34,7 +34,7 @@ class CanvasDiscovery {
34
34
  *
35
35
  * @param fileTree - FileTree from repository-abstraction
36
36
  * @param options - Discovery options (fileReader, includeContent)
37
- * @returns Discovery result with canvases, executions, and errors
37
+ * @returns Discovery result with canvases, executions, storyboards, and errors
38
38
  */
39
39
  async discover(fileTree, options = {}) {
40
40
  const errors = [];
@@ -46,10 +46,13 @@ class CanvasDiscovery {
46
46
  const canvases = await this.discoverCanvasFiles(fileTree, packageMap, options, errors);
47
47
  // 4. Discover execution files
48
48
  const executions = await this.discoverExecutionFiles(fileTree, packageMap, options, errors);
49
- // 5. Sort results
49
+ // 5. Discover storyboards (hierarchical organization)
50
+ const storyboards = await this.discoverStoryboards(fileTree, packageMap, canvases, executions, options, errors);
51
+ // 6. Sort results
50
52
  canvases.sort(this.compareByPackageThenName);
51
53
  executions.sort(this.compareByPackageThenName);
52
- return { canvases, executions, errors };
54
+ storyboards.sort(this.compareByPackageThenName);
55
+ return { canvases, executions, storyboards, errors };
53
56
  }
54
57
  /**
55
58
  * Find canvas file for a given execution
@@ -83,6 +86,134 @@ class CanvasDiscovery {
83
86
  clearCache() {
84
87
  this.packageCache.clear();
85
88
  }
89
+ /**
90
+ * Discover storyboards (hierarchical organization of canvas + workflows + executions)
91
+ */
92
+ async discoverStoryboards(fileTree, packageMap, canvases, executions, options, errors) {
93
+ const storyboards = [];
94
+ // Build a map of directories to check for storyboards
95
+ const storyboardDirs = new Map();
96
+ // Find all directories in .principal-views/ that have subdirectories
97
+ for (const file of fileTree.allFiles) {
98
+ const path = file.relativePath || file.path || '';
99
+ const parts = path.split('/');
100
+ // Look for paths like: .principal-views/storyboard-name/workflow-name/...
101
+ // Or: packages/core/.principal-views/storyboard-name/workflow-name/...
102
+ const pvIndex = parts.indexOf(CanvasDiscovery.CANVAS_DIR);
103
+ if (pvIndex === -1 || parts.length < pvIndex + 3)
104
+ continue;
105
+ const storyboardName = parts[pvIndex + 1];
106
+ const storyboardPath = parts.slice(0, pvIndex + 2).join('/');
107
+ if (!storyboardDirs.has(storyboardPath)) {
108
+ storyboardDirs.set(storyboardPath, new Set());
109
+ }
110
+ storyboardDirs.get(storyboardPath).add(storyboardName);
111
+ }
112
+ // For each potential storyboard directory, check if it has a canvas
113
+ for (const [storyboardParentPath, storyboardNames] of storyboardDirs) {
114
+ for (const storyboardName of storyboardNames) {
115
+ const storyboardPath = `${storyboardParentPath}/${storyboardName}`;
116
+ // Skip __executions__ directory
117
+ if (storyboardName === CanvasDiscovery.EXECUTIONS_DIR)
118
+ continue;
119
+ // Find canvas for this storyboard
120
+ const storyboardCanvas = canvases.find(c => {
121
+ const canvasDir = c.path.split('/').slice(0, -1).join('/');
122
+ return canvasDir === storyboardPath && c.basename === storyboardName;
123
+ });
124
+ if (!storyboardCanvas)
125
+ continue;
126
+ // This is a storyboard! Now discover workflows
127
+ const workflows = await this.discoverWorkflowsInStoryboard(fileTree, storyboardPath, storyboardName, packageMap, executions, options, errors);
128
+ // Only create storyboard if it has workflows
129
+ if (workflows.length === 0)
130
+ continue;
131
+ // Determine package context
132
+ const packageInfo = this.findPackageForPath(storyboardPath, packageMap);
133
+ // Generate unique ID
134
+ const id = packageInfo
135
+ ? `${packageInfo.packageData.name}/${storyboardName}`
136
+ : storyboardName;
137
+ // Create discovered storyboard
138
+ const storyboard = {
139
+ id,
140
+ name: this.toDisplayName(storyboardName),
141
+ path: storyboardPath,
142
+ basename: storyboardName,
143
+ canvas: storyboardCanvas,
144
+ workflows,
145
+ packageName: packageInfo?.packageData.name,
146
+ packagePath: packageInfo?.packageData.path,
147
+ scope: packageInfo ? 'package' : 'root',
148
+ };
149
+ storyboards.push(storyboard);
150
+ }
151
+ }
152
+ return storyboards;
153
+ }
154
+ /**
155
+ * Discover workflows within a storyboard folder
156
+ */
157
+ async discoverWorkflowsInStoryboard(fileTree, storyboardPath, storyboardName, packageMap, executions, options, errors) {
158
+ const workflows = [];
159
+ // Find all workflow files in this storyboard
160
+ for (const file of fileTree.allFiles) {
161
+ const path = file.relativePath || file.path || '';
162
+ // Check if file is in this storyboard
163
+ if (!path.startsWith(storyboardPath + '/'))
164
+ continue;
165
+ // Check if it's a workflow file
166
+ if (!path.endsWith(CanvasDiscovery.WORKFLOW_EXTENSION))
167
+ continue;
168
+ // Extract workflow info
169
+ const filename = path.split('/').pop();
170
+ if (!filename)
171
+ continue;
172
+ const basename = filename.replace(CanvasDiscovery.WORKFLOW_EXTENSION, '');
173
+ const workflowDir = path.split('/').slice(0, -1).join('/');
174
+ // Determine package context
175
+ const packageInfo = this.findPackageForPath(path, packageMap);
176
+ // Generate unique ID
177
+ const id = packageInfo
178
+ ? `${packageInfo.packageData.name}/${storyboardName}/${basename}`
179
+ : `${storyboardName}/${basename}`;
180
+ // Find executions for this workflow (in the same directory as workflow.json)
181
+ const workflowExecutions = executions.filter(e => {
182
+ const execDir = e.path.split('/').slice(0, -1).join('/');
183
+ return execDir === workflowDir;
184
+ });
185
+ // Create discovered workflow
186
+ let workflow = {
187
+ id,
188
+ name: this.toDisplayName(basename),
189
+ path,
190
+ basename,
191
+ storyboardId: packageInfo
192
+ ? `${packageInfo.packageData.name}/${storyboardName}`
193
+ : storyboardName,
194
+ packageName: packageInfo?.packageData.name,
195
+ packagePath: packageInfo?.packageData.path,
196
+ scope: packageInfo ? 'package' : 'root',
197
+ executions: workflowExecutions,
198
+ };
199
+ // Optionally load content
200
+ if (options.includeContent && options.fileReader) {
201
+ try {
202
+ const content = await options.fileReader(path);
203
+ const parsedContent = JSON.parse(content);
204
+ workflow = { ...workflow, content: parsedContent };
205
+ }
206
+ catch (error) {
207
+ errors.push({
208
+ path,
209
+ error: `Failed to parse workflow content: ${error.message}`,
210
+ });
211
+ }
212
+ }
213
+ workflows.push(workflow);
214
+ }
215
+ return workflows;
216
+ }
86
217
  /**
87
218
  * Discover packages with caching by fileTree SHA
88
219
  */
@@ -332,5 +463,6 @@ class CanvasDiscovery {
332
463
  }
333
464
  CanvasDiscovery.CANVAS_DIR = '.principal-views';
334
465
  CanvasDiscovery.EXECUTIONS_DIR = '__executions__';
466
+ CanvasDiscovery.WORKFLOW_EXTENSION = '.workflow.json';
335
467
  export { CanvasDiscovery };
336
468
  //# sourceMappingURL=CanvasDiscovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasDiscovery.js","sourceRoot":"","sources":["../../src/discovery/CanvasDiscovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CanvasDiscovery.js","sourceRoot":"","sources":["../../src/discovery/CanvasDiscovery.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { ExtendedCanvas } from '../types/canvas';
5
5
  import type { ExecutionData } from '../execution/ExecutionValidator';
6
+ import type { WorkflowTemplate } from '../workflow/types';
6
7
  /**
7
8
  * Canvas file type discriminator
8
9
  */
@@ -61,6 +62,52 @@ export interface DiscoveredExecution {
61
62
  /** Whether this is from repo root vs package */
62
63
  scope: 'root' | 'package';
63
64
  }
65
+ /**
66
+ * Discovered workflow file within a storyboard
67
+ */
68
+ export interface DiscoveredWorkflow {
69
+ /** Unique ID with package prefix (e.g., "core/checkout-flow/checkout" or "checkout-flow/checkout") */
70
+ id: string;
71
+ /** Display name (Title Case from basename) */
72
+ name: string;
73
+ /** Full relative path from repo root to workflow.json file */
74
+ path: string;
75
+ /** Workflow basename (without .workflow.json extension) */
76
+ basename: string;
77
+ /** Parent storyboard ID this workflow belongs to */
78
+ storyboardId: string;
79
+ /** Package name if in a package */
80
+ packageName?: string;
81
+ /** Package path if in a package */
82
+ packagePath?: string;
83
+ /** Whether this is from repo root vs package */
84
+ scope: 'root' | 'package';
85
+ /** Associated execution files for this workflow */
86
+ executions: DiscoveredExecution[];
87
+ }
88
+ /**
89
+ * Discovered storyboard folder containing canvas, workflows, and executions
90
+ */
91
+ export interface DiscoveredStoryboard {
92
+ /** Unique ID with package prefix (e.g., "core/checkout-flow" or "checkout-flow") */
93
+ id: string;
94
+ /** Display name (Title Case from basename) */
95
+ name: string;
96
+ /** Full relative path from repo root to storyboard folder */
97
+ path: string;
98
+ /** Storyboard basename (folder name) */
99
+ basename: string;
100
+ /** The main canvas file for this storyboard */
101
+ canvas: DiscoveredCanvas;
102
+ /** Workflows within this storyboard */
103
+ workflows: DiscoveredWorkflow[];
104
+ /** Package name if in a package */
105
+ packageName?: string;
106
+ /** Package path if in a package */
107
+ packagePath?: string;
108
+ /** Whether this is from repo root vs package */
109
+ scope: 'root' | 'package';
110
+ }
64
111
  /**
65
112
  * Result of canvas discovery operation
66
113
  */
@@ -69,6 +116,8 @@ export interface CanvasDiscoveryResult {
69
116
  canvases: DiscoveredCanvas[];
70
117
  /** All discovered execution files, sorted by package then name */
71
118
  executions: DiscoveredExecution[];
119
+ /** All discovered storyboards (hierarchical organization of canvas + workflows + executions) */
120
+ storyboards: DiscoveredStoryboard[];
72
121
  /** Any errors encountered during discovery */
73
122
  errors: Array<{
74
123
  path: string;
@@ -112,12 +161,31 @@ export interface DiscoveredExecutionWithContent extends DiscoveredExecution {
112
161
  /** Parsed execution artifact (only when includeContent: true) */
113
162
  content: ExecutionData;
114
163
  }
164
+ /**
165
+ * Discovered workflow with parsed content
166
+ */
167
+ export interface DiscoveredWorkflowWithContent extends DiscoveredWorkflow {
168
+ /** Parsed workflow template (only when includeContent: true) */
169
+ content: WorkflowTemplate;
170
+ /** Executions with parsed content */
171
+ executions: (DiscoveredExecution | DiscoveredExecutionWithContent)[];
172
+ }
173
+ /**
174
+ * Discovered storyboard with parsed content
175
+ */
176
+ export interface DiscoveredStoryboardWithContent extends DiscoveredStoryboard {
177
+ /** Canvas with parsed content */
178
+ canvas: DiscoveredCanvas | DiscoveredCanvasWithContent;
179
+ /** Workflows with parsed content */
180
+ workflows: (DiscoveredWorkflow | DiscoveredWorkflowWithContent)[];
181
+ }
115
182
  /**
116
183
  * Discovery result with content
117
184
  */
118
185
  export interface CanvasDiscoveryResultWithContent {
119
186
  canvases: (DiscoveredCanvas | DiscoveredCanvasWithContent)[];
120
187
  executions: (DiscoveredExecution | DiscoveredExecutionWithContent)[];
188
+ storyboards: (DiscoveredStoryboard | DiscoveredStoryboardWithContent)[];
121
189
  errors: Array<{
122
190
  path: string;
123
191
  error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,kEAAkE;IAClE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,8CAA8C;IAC9C,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,6DAA6D;IAC7D,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,iEAAiE;IACjE,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,CAAC,gBAAgB,GAAG,2BAA2B,CAAC,EAAE,CAAC;IAC7D,UAAU,EAAE,CAAC,mBAAmB,GAAG,8BAA8B,CAAC,EAAE,CAAC;IACrE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export { selectScenario, matchesCondition, hasEventMatching, computeAggregates,
23
23
  export type { WorkflowTemplate, WorkflowScenario, WorkflowMode, ScenarioCondition, ScenarioTemplate, Assertion, FlowDirective, LogTemplates, FormattingOptions, OtelEvent, OtelSignal, WorkflowContext, WorkflowResult, ScenarioMatchResult, SpanTreeNode, } from './workflow/types';
24
24
  export type { OtelAttributes, OtelAttributeValue, OtelLog, OtelSpan, OtelResource, OtelSeverity, OtelSeverityText, OtelSeverityNumber, OtelSpanKind, OtelSpanStatus, } from './types/otel';
25
25
  export { CanvasDiscovery } from './discovery/CanvasDiscovery';
26
- export type { DiscoveredCanvas, DiscoveredExecution, CanvasDiscoveryResult, DiscoveryOptions, CanvasType, ExecutionType, DiscoveredCanvasWithContent, DiscoveredExecutionWithContent, CanvasDiscoveryResultWithContent, } from './discovery/types';
26
+ export type { DiscoveredCanvas, DiscoveredExecution, DiscoveredWorkflow, DiscoveredStoryboard, CanvasDiscoveryResult, DiscoveryOptions, CanvasType, ExecutionType, DiscoveredCanvasWithContent, DiscoveredExecutionWithContent, DiscoveredWorkflowWithContent, DiscoveredStoryboardWithContent, CanvasDiscoveryResultWithContent, } from './discovery/types';
27
27
  export { ExecutionValidator, createExecutionValidator } from './execution/ExecutionValidator';
28
28
  export type { ExecutionData, ValidationError, ExecutionValidationResult, } from './execution/ExecutionValidator';
29
29
  export { analyzeCoverage } from './telemetry/coverage';
@@ -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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,mFAAmF;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,oCAAoC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGtF,iDAAiD;AACjD,mEAAmE;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AAiCrC,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAa9D,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAO9F,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,gEAAgE;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,oEAAoE;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,+CAA+C;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAqB9D,uFAAuF;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,4FAA4F;AAC5F,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,mDAAmD;AACnD,oDAAoD;AACpD,+DAA+D;AAC/D,2GAA2G;AAC3G,0FAA0F;AAC1F,uDAAuD;AACvD,8CAA8C;AAC9C,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,WAAW;AACX,iIAAiI"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,mFAAmF;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,oCAAoC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGtF,iDAAiD;AACjD,mEAAmE;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AAiCrC,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAiB9D,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAO9F,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,gEAAgE;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,oEAAoE;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,+CAA+C;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAqB9D,uFAAuF;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,4FAA4F;AAC5F,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,mDAAmD;AACnD,oDAAoD;AACpD,+DAA+D;AAC/D,2GAA2G;AAC3G,0FAA0F;AAC1F,uDAAuD;AACvD,8CAA8C;AAC9C,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,WAAW;AACX,iIAAiI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/principal-view-core",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Core logic and types for graph-based principal view framework",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -9,6 +9,10 @@ import type {
9
9
  DiscoveredCanvasWithContent,
10
10
  DiscoveredExecution,
11
11
  DiscoveredExecutionWithContent,
12
+ DiscoveredWorkflow,
13
+ DiscoveredWorkflowWithContent,
14
+ DiscoveredStoryboard,
15
+ DiscoveredStoryboardWithContent,
12
16
  CanvasDiscoveryResult,
13
17
  DiscoveryOptions,
14
18
  CanvasType,
@@ -40,6 +44,7 @@ import type {
40
44
  export class CanvasDiscovery {
41
45
  private static readonly CANVAS_DIR = '.principal-views';
42
46
  private static readonly EXECUTIONS_DIR = '__executions__';
47
+ private static readonly WORKFLOW_EXTENSION = '.workflow.json';
43
48
 
44
49
  private packageModule: PackageLayerModule;
45
50
  private packageCache: Map<string, PackageLayer[]> = new Map();
@@ -53,7 +58,7 @@ export class CanvasDiscovery {
53
58
  *
54
59
  * @param fileTree - FileTree from repository-abstraction
55
60
  * @param options - Discovery options (fileReader, includeContent)
56
- * @returns Discovery result with canvases, executions, and errors
61
+ * @returns Discovery result with canvases, executions, storyboards, and errors
57
62
  */
58
63
  async discover(
59
64
  fileTree: FileTree,
@@ -73,11 +78,15 @@ export class CanvasDiscovery {
73
78
  // 4. Discover execution files
74
79
  const executions = await this.discoverExecutionFiles(fileTree, packageMap, options, errors);
75
80
 
76
- // 5. Sort results
81
+ // 5. Discover storyboards (hierarchical organization)
82
+ const storyboards = await this.discoverStoryboards(fileTree, packageMap, canvases, executions, options, errors);
83
+
84
+ // 6. Sort results
77
85
  canvases.sort(this.compareByPackageThenName);
78
86
  executions.sort(this.compareByPackageThenName);
87
+ storyboards.sort(this.compareByPackageThenName);
79
88
 
80
- return { canvases, executions, errors };
89
+ return { canvases, executions, storyboards, errors };
81
90
  }
82
91
 
83
92
  /**
@@ -125,6 +134,179 @@ export class CanvasDiscovery {
125
134
  this.packageCache.clear();
126
135
  }
127
136
 
137
+ /**
138
+ * Discover storyboards (hierarchical organization of canvas + workflows + executions)
139
+ */
140
+ private async discoverStoryboards(
141
+ fileTree: FileTree,
142
+ packageMap: Map<string, PackageLayer>,
143
+ canvases: DiscoveredCanvas[],
144
+ executions: (DiscoveredExecution | DiscoveredExecutionWithContent)[],
145
+ options: DiscoveryOptions,
146
+ errors: Array<{ path: string; error: string }>
147
+ ): Promise<(DiscoveredStoryboard | DiscoveredStoryboardWithContent)[]> {
148
+ const storyboards: (DiscoveredStoryboard | DiscoveredStoryboardWithContent)[] = [];
149
+
150
+ // Build a map of directories to check for storyboards
151
+ const storyboardDirs = new Map<string, Set<string>>();
152
+
153
+ // Find all directories in .principal-views/ that have subdirectories
154
+ for (const file of fileTree.allFiles) {
155
+ const path = file.relativePath || file.path || '';
156
+ const parts = path.split('/');
157
+
158
+ // Look for paths like: .principal-views/storyboard-name/workflow-name/...
159
+ // Or: packages/core/.principal-views/storyboard-name/workflow-name/...
160
+ const pvIndex = parts.indexOf(CanvasDiscovery.CANVAS_DIR);
161
+ if (pvIndex === -1 || parts.length < pvIndex + 3) continue;
162
+
163
+ const storyboardName = parts[pvIndex + 1];
164
+ const storyboardPath = parts.slice(0, pvIndex + 2).join('/');
165
+
166
+ if (!storyboardDirs.has(storyboardPath)) {
167
+ storyboardDirs.set(storyboardPath, new Set());
168
+ }
169
+ storyboardDirs.get(storyboardPath)!.add(storyboardName);
170
+ }
171
+
172
+ // For each potential storyboard directory, check if it has a canvas
173
+ for (const [storyboardParentPath, storyboardNames] of storyboardDirs) {
174
+ for (const storyboardName of storyboardNames) {
175
+ const storyboardPath = `${storyboardParentPath}/${storyboardName}`;
176
+
177
+ // Skip __executions__ directory
178
+ if (storyboardName === CanvasDiscovery.EXECUTIONS_DIR) continue;
179
+
180
+ // Find canvas for this storyboard
181
+ const storyboardCanvas = canvases.find(c => {
182
+ const canvasDir = c.path.split('/').slice(0, -1).join('/');
183
+ return canvasDir === storyboardPath && c.basename === storyboardName;
184
+ });
185
+
186
+ if (!storyboardCanvas) continue;
187
+
188
+ // This is a storyboard! Now discover workflows
189
+ const workflows = await this.discoverWorkflowsInStoryboard(
190
+ fileTree,
191
+ storyboardPath,
192
+ storyboardName,
193
+ packageMap,
194
+ executions,
195
+ options,
196
+ errors
197
+ );
198
+
199
+ // Only create storyboard if it has workflows
200
+ if (workflows.length === 0) continue;
201
+
202
+ // Determine package context
203
+ const packageInfo = this.findPackageForPath(storyboardPath, packageMap);
204
+
205
+ // Generate unique ID
206
+ const id = packageInfo
207
+ ? `${packageInfo.packageData.name}/${storyboardName}`
208
+ : storyboardName;
209
+
210
+ // Create discovered storyboard
211
+ const storyboard: DiscoveredStoryboard | DiscoveredStoryboardWithContent = {
212
+ id,
213
+ name: this.toDisplayName(storyboardName),
214
+ path: storyboardPath,
215
+ basename: storyboardName,
216
+ canvas: storyboardCanvas,
217
+ workflows,
218
+ packageName: packageInfo?.packageData.name,
219
+ packagePath: packageInfo?.packageData.path,
220
+ scope: packageInfo ? 'package' : 'root',
221
+ };
222
+
223
+ storyboards.push(storyboard);
224
+ }
225
+ }
226
+
227
+ return storyboards;
228
+ }
229
+
230
+ /**
231
+ * Discover workflows within a storyboard folder
232
+ */
233
+ private async discoverWorkflowsInStoryboard(
234
+ fileTree: FileTree,
235
+ storyboardPath: string,
236
+ storyboardName: string,
237
+ packageMap: Map<string, PackageLayer>,
238
+ executions: (DiscoveredExecution | DiscoveredExecutionWithContent)[],
239
+ options: DiscoveryOptions,
240
+ errors: Array<{ path: string; error: string }>
241
+ ): Promise<(DiscoveredWorkflow | DiscoveredWorkflowWithContent)[]> {
242
+ const workflows: (DiscoveredWorkflow | DiscoveredWorkflowWithContent)[] = [];
243
+
244
+ // Find all workflow files in this storyboard
245
+ for (const file of fileTree.allFiles) {
246
+ const path = file.relativePath || file.path || '';
247
+
248
+ // Check if file is in this storyboard
249
+ if (!path.startsWith(storyboardPath + '/')) continue;
250
+
251
+ // Check if it's a workflow file
252
+ if (!path.endsWith(CanvasDiscovery.WORKFLOW_EXTENSION)) continue;
253
+
254
+ // Extract workflow info
255
+ const filename = path.split('/').pop();
256
+ if (!filename) continue;
257
+
258
+ const basename = filename.replace(CanvasDiscovery.WORKFLOW_EXTENSION, '');
259
+ const workflowDir = path.split('/').slice(0, -1).join('/');
260
+
261
+ // Determine package context
262
+ const packageInfo = this.findPackageForPath(path, packageMap);
263
+
264
+ // Generate unique ID
265
+ const id = packageInfo
266
+ ? `${packageInfo.packageData.name}/${storyboardName}/${basename}`
267
+ : `${storyboardName}/${basename}`;
268
+
269
+ // Find executions for this workflow (in the same directory as workflow.json)
270
+ const workflowExecutions = executions.filter(e => {
271
+ const execDir = e.path.split('/').slice(0, -1).join('/');
272
+ return execDir === workflowDir;
273
+ });
274
+
275
+ // Create discovered workflow
276
+ let workflow: DiscoveredWorkflow | DiscoveredWorkflowWithContent = {
277
+ id,
278
+ name: this.toDisplayName(basename),
279
+ path,
280
+ basename,
281
+ storyboardId: packageInfo
282
+ ? `${packageInfo.packageData.name}/${storyboardName}`
283
+ : storyboardName,
284
+ packageName: packageInfo?.packageData.name,
285
+ packagePath: packageInfo?.packageData.path,
286
+ scope: packageInfo ? 'package' : 'root',
287
+ executions: workflowExecutions,
288
+ };
289
+
290
+ // Optionally load content
291
+ if (options.includeContent && options.fileReader) {
292
+ try {
293
+ const content = await options.fileReader(path);
294
+ const parsedContent = JSON.parse(content);
295
+ workflow = { ...workflow, content: parsedContent } as DiscoveredWorkflowWithContent;
296
+ } catch (error) {
297
+ errors.push({
298
+ path,
299
+ error: `Failed to parse workflow content: ${(error as Error).message}`,
300
+ });
301
+ }
302
+ }
303
+
304
+ workflows.push(workflow);
305
+ }
306
+
307
+ return workflows;
308
+ }
309
+
128
310
  /**
129
311
  * Discover packages with caching by fileTree SHA
130
312
  */
@@ -416,8 +598,8 @@ export class CanvasDiscovery {
416
598
  * Sort by package then name
417
599
  */
418
600
  private compareByPackageThenName(
419
- a: DiscoveredCanvas | DiscoveredExecution,
420
- b: DiscoveredCanvas | DiscoveredExecution
601
+ a: DiscoveredCanvas | DiscoveredExecution | DiscoveredStoryboard,
602
+ b: DiscoveredCanvas | DiscoveredExecution | DiscoveredStoryboard
421
603
  ): number {
422
604
  // Package files first, then root
423
605
  if (a.packageName && !b.packageName) return -1;
@@ -4,6 +4,7 @@
4
4
 
5
5
  import type { ExtendedCanvas } from '../types/canvas';
6
6
  import type { ExecutionData } from '../execution/ExecutionValidator';
7
+ import type { WorkflowTemplate } from '../workflow/types';
7
8
 
8
9
  /**
9
10
  * Canvas file type discriminator
@@ -67,6 +68,54 @@ export interface DiscoveredExecution {
67
68
  scope: 'root' | 'package';
68
69
  }
69
70
 
71
+ /**
72
+ * Discovered workflow file within a storyboard
73
+ */
74
+ export interface DiscoveredWorkflow {
75
+ /** Unique ID with package prefix (e.g., "core/checkout-flow/checkout" or "checkout-flow/checkout") */
76
+ id: string;
77
+ /** Display name (Title Case from basename) */
78
+ name: string;
79
+ /** Full relative path from repo root to workflow.json file */
80
+ path: string;
81
+ /** Workflow basename (without .workflow.json extension) */
82
+ basename: string;
83
+ /** Parent storyboard ID this workflow belongs to */
84
+ storyboardId: string;
85
+ /** Package name if in a package */
86
+ packageName?: string;
87
+ /** Package path if in a package */
88
+ packagePath?: string;
89
+ /** Whether this is from repo root vs package */
90
+ scope: 'root' | 'package';
91
+ /** Associated execution files for this workflow */
92
+ executions: DiscoveredExecution[];
93
+ }
94
+
95
+ /**
96
+ * Discovered storyboard folder containing canvas, workflows, and executions
97
+ */
98
+ export interface DiscoveredStoryboard {
99
+ /** Unique ID with package prefix (e.g., "core/checkout-flow" or "checkout-flow") */
100
+ id: string;
101
+ /** Display name (Title Case from basename) */
102
+ name: string;
103
+ /** Full relative path from repo root to storyboard folder */
104
+ path: string;
105
+ /** Storyboard basename (folder name) */
106
+ basename: string;
107
+ /** The main canvas file for this storyboard */
108
+ canvas: DiscoveredCanvas;
109
+ /** Workflows within this storyboard */
110
+ workflows: DiscoveredWorkflow[];
111
+ /** Package name if in a package */
112
+ packageName?: string;
113
+ /** Package path if in a package */
114
+ packagePath?: string;
115
+ /** Whether this is from repo root vs package */
116
+ scope: 'root' | 'package';
117
+ }
118
+
70
119
  /**
71
120
  * Result of canvas discovery operation
72
121
  */
@@ -75,6 +124,8 @@ export interface CanvasDiscoveryResult {
75
124
  canvases: DiscoveredCanvas[];
76
125
  /** All discovered execution files, sorted by package then name */
77
126
  executions: DiscoveredExecution[];
127
+ /** All discovered storyboards (hierarchical organization of canvas + workflows + executions) */
128
+ storyboards: DiscoveredStoryboard[];
78
129
  /** Any errors encountered during discovery */
79
130
  errors: Array<{ path: string; error: string }>;
80
131
  }
@@ -120,11 +171,32 @@ export interface DiscoveredExecutionWithContent extends DiscoveredExecution {
120
171
  content: ExecutionData;
121
172
  }
122
173
 
174
+ /**
175
+ * Discovered workflow with parsed content
176
+ */
177
+ export interface DiscoveredWorkflowWithContent extends DiscoveredWorkflow {
178
+ /** Parsed workflow template (only when includeContent: true) */
179
+ content: WorkflowTemplate;
180
+ /** Executions with parsed content */
181
+ executions: (DiscoveredExecution | DiscoveredExecutionWithContent)[];
182
+ }
183
+
184
+ /**
185
+ * Discovered storyboard with parsed content
186
+ */
187
+ export interface DiscoveredStoryboardWithContent extends DiscoveredStoryboard {
188
+ /** Canvas with parsed content */
189
+ canvas: DiscoveredCanvas | DiscoveredCanvasWithContent;
190
+ /** Workflows with parsed content */
191
+ workflows: (DiscoveredWorkflow | DiscoveredWorkflowWithContent)[];
192
+ }
193
+
123
194
  /**
124
195
  * Discovery result with content
125
196
  */
126
197
  export interface CanvasDiscoveryResultWithContent {
127
198
  canvases: (DiscoveredCanvas | DiscoveredCanvasWithContent)[];
128
199
  executions: (DiscoveredExecution | DiscoveredExecutionWithContent)[];
200
+ storyboards: (DiscoveredStoryboard | DiscoveredStoryboardWithContent)[];
129
201
  errors: Array<{ path: string; error: string }>;
130
202
  }
package/src/index.ts CHANGED
@@ -104,12 +104,16 @@ export { CanvasDiscovery } from './discovery/CanvasDiscovery';
104
104
  export type {
105
105
  DiscoveredCanvas,
106
106
  DiscoveredExecution,
107
+ DiscoveredWorkflow,
108
+ DiscoveredStoryboard,
107
109
  CanvasDiscoveryResult,
108
110
  DiscoveryOptions,
109
111
  CanvasType,
110
112
  ExecutionType,
111
113
  DiscoveredCanvasWithContent,
112
114
  DiscoveredExecutionWithContent,
115
+ DiscoveredWorkflowWithContent,
116
+ DiscoveredStoryboardWithContent,
113
117
  CanvasDiscoveryResultWithContent,
114
118
  } from './discovery/types';
115
119