@principal-ai/principal-view-core 0.24.77 → 0.24.79
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.
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/spans/index.d.ts +12 -0
- package/dist/spans/index.d.ts.map +1 -0
- package/dist/spans/index.js +23 -0
- package/dist/spans/index.js.map +1 -0
- package/dist/spans/utils.d.ts +58 -0
- package/dist/spans/utils.d.ts.map +1 -0
- package/dist/spans/utils.js +146 -0
- package/dist/spans/utils.js.map +1 -0
- package/dist/workflow/edge-derivation.d.ts +109 -0
- package/dist/workflow/edge-derivation.d.ts.map +1 -0
- package/dist/workflow/edge-derivation.js +171 -0
- package/dist/workflow/edge-derivation.js.map +1 -0
- package/dist/workflow/edge-validation.d.ts +170 -0
- package/dist/workflow/edge-validation.d.ts.map +1 -0
- package/dist/workflow/edge-validation.js +323 -0
- package/dist/workflow/edge-validation.js.map +1 -0
- package/dist/workflow/index.d.ts +6 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +20 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/template-renderer.d.ts.map +1 -1
- package/dist/workflow/template-renderer.js +8 -4
- package/dist/workflow/template-renderer.js.map +1 -1
- package/dist/workflow/types.d.ts +58 -4
- package/dist/workflow/types.d.ts.map +1 -1
- package/dist/workflow/types.js +29 -0
- package/dist/workflow/types.js.map +1 -1
- package/dist/workflow/validator.d.ts.map +1 -1
- package/dist/workflow/validator.js +13 -6
- package/dist/workflow/validator.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +13 -0
- package/src/spans/index.ts +22 -0
- package/src/spans/utils.ts +179 -0
- package/src/workflow/__tests__/edge-derivation.test.ts +448 -0
- package/src/workflow/__tests__/edge-validation.test.ts +417 -0
- package/src/workflow/__tests__/types.test.ts +187 -0
- package/src/workflow/edge-derivation.ts +259 -0
- package/src/workflow/edge-validation.ts +494 -0
- package/src/workflow/index.ts +42 -0
- package/src/workflow/template-renderer.ts +8 -4
- package/src/workflow/types.ts +73 -4
- package/src/workflow/validator.ts +13 -6
package/dist/index.d.ts
CHANGED
|
@@ -44,6 +44,8 @@ export { CanvasDiscovery } from './discovery/CanvasDiscovery';
|
|
|
44
44
|
export type { DiscoveredCanvas, DiscoveredTestTrace, DiscoveredWorkflow, DiscoveredStoryboard, CanvasDiscoveryResult, DiscoveryOptions, CanvasType, TestTraceType, DiscoveredCanvasWithContent, DiscoveredTestTraceWithContent, DiscoveredWorkflowWithContent, DiscoveredStoryboardWithContent, CanvasDiscoveryResultWithContent, } from './discovery/types';
|
|
45
45
|
export { ScopesCanvasValidator, DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, isRecordFormat, getScopeNames, getScopeDefinition, getScopeColor, normalizeScopes, extractScopesFromResources, buildScopeColorMap, } from './scopes';
|
|
46
46
|
export type { ScopesCanvasValidationContext, ScopesCanvasValidationResult, ScopesCanvasViolation, NormalizedScope, } from './scopes';
|
|
47
|
+
export { DEFAULT_SPAN_COLOR, extractSpanConvention, extractSpanConventions, buildSpanColorMap, buildSpanColorMapFromCanvases, matchSpanPattern, getSpanColor, resolveEventSpanColor, } from './spans';
|
|
48
|
+
export type { NormalizedSpanConvention } from './spans';
|
|
47
49
|
export { ExecutionValidator, createExecutionValidator } from './execution/ExecutionValidator';
|
|
48
50
|
export type { ExecutionData, ValidationError, ExecutionValidationResult, } from './execution/ExecutionValidator';
|
|
49
51
|
export { analyzeCoverage } from './telemetry/coverage';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.getScopeMatchSummary = exports.scopeHasMatches = exports.getScopeWithMostSpans = exports.getSpanCountForScope = exports.findScopeByName = exports.getUnmatchedScopes = exports.getPartialMatchedScopes = exports.getMatchedScopes = exports.getAllScopes = exports.getPrimaryScope = exports.getScopeFromUnmatchedSpan = exports.getScopeFromStoryboardMatch = exports.getScopeFromScenarioMatch = exports.groupSpansByTrace = exports.createInMemoryVersionRegistry = exports.InMemoryVersionRegistry = exports.isWarnSeverity = exports.isErrorSeverity = exports.getSpanDuration = exports.parseNanoTime = exports.flattenResourceAttributes = exports.getAttributeValue = exports.findAttribute = exports.getAttributeStringValue = exports.TraceOrchestrator = exports.CompositeRegistry = exports.LocalRegistry = exports.RemoteRegistry = exports.OtlpTraceParser = exports.setNestedValue = exports.getNestedValue = exports.computeAggregates = exports.hasEventMatching = exports.getRequiredEvents = exports.selectScenario = exports.ParsedTemplate = exports.parseTemplate = exports.renderEventTemplate = exports.renderWorkflow = exports.getConfigNameFromFilename = exports.isYamlFile = exports.parseYaml = exports.CanvasConverter = exports.resolveCanvasColor = exports.CANVAS_COLOR_PRESETS = exports.hasPVExtension = exports.isGroupNode = exports.isLinkNode = exports.isFileNode = exports.isTextNode = void 0;
|
|
14
|
-
exports.InMemoryFileSystemAdapter = exports.getAllNodeIds = exports.findNodesMatchingEventPattern = exports.resolveWorkflowNodeIds = exports.resolveScenarioNodeIds = exports.getNodeEventName = exports.buildEventNodeMap = exports.buildNodeSourcesMap = exports.buildStoryboardContext = exports.LibraryDiscovery = exports.LibraryConverter = exports.LibraryLoader = exports.EventRecorderService = exports.SessionManager = exports.PathBasedEventProcessor = exports.analyzeCoverage = exports.createExecutionValidator = exports.ExecutionValidator = exports.buildScopeColorMap = exports.extractScopesFromResources = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.isRecordFormat = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = exports.CanvasDiscovery = exports.SpanMatcher = void 0;
|
|
14
|
+
exports.InMemoryFileSystemAdapter = exports.getAllNodeIds = exports.findNodesMatchingEventPattern = exports.resolveWorkflowNodeIds = exports.resolveScenarioNodeIds = exports.getNodeEventName = exports.buildEventNodeMap = exports.buildNodeSourcesMap = exports.buildStoryboardContext = exports.LibraryDiscovery = exports.LibraryConverter = exports.LibraryLoader = exports.EventRecorderService = exports.SessionManager = exports.PathBasedEventProcessor = exports.analyzeCoverage = exports.createExecutionValidator = exports.ExecutionValidator = exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = exports.buildScopeColorMap = exports.extractScopesFromResources = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.isRecordFormat = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = exports.CanvasDiscovery = exports.SpanMatcher = void 0;
|
|
15
15
|
// Import canvas utility functions to re-export (avoids export-from syntax that breaks with exports field)
|
|
16
16
|
const canvas_1 = require("./types/canvas");
|
|
17
17
|
Object.defineProperty(exports, "isTextNode", { enumerable: true, get: function () { return canvas_1.isTextNode; } });
|
|
@@ -105,6 +105,16 @@ Object.defineProperty(exports, "getScopeColor", { enumerable: true, get: functio
|
|
|
105
105
|
Object.defineProperty(exports, "normalizeScopes", { enumerable: true, get: function () { return scopes_1.normalizeScopes; } });
|
|
106
106
|
Object.defineProperty(exports, "extractScopesFromResources", { enumerable: true, get: function () { return scopes_1.extractScopesFromResources; } });
|
|
107
107
|
Object.defineProperty(exports, "buildScopeColorMap", { enumerable: true, get: function () { return scopes_1.buildScopeColorMap; } });
|
|
108
|
+
// Export spans module (span conventions + span color utilities)
|
|
109
|
+
var spans_1 = require("./spans");
|
|
110
|
+
Object.defineProperty(exports, "DEFAULT_SPAN_COLOR", { enumerable: true, get: function () { return spans_1.DEFAULT_SPAN_COLOR; } });
|
|
111
|
+
Object.defineProperty(exports, "extractSpanConvention", { enumerable: true, get: function () { return spans_1.extractSpanConvention; } });
|
|
112
|
+
Object.defineProperty(exports, "extractSpanConventions", { enumerable: true, get: function () { return spans_1.extractSpanConventions; } });
|
|
113
|
+
Object.defineProperty(exports, "buildSpanColorMap", { enumerable: true, get: function () { return spans_1.buildSpanColorMap; } });
|
|
114
|
+
Object.defineProperty(exports, "buildSpanColorMapFromCanvases", { enumerable: true, get: function () { return spans_1.buildSpanColorMapFromCanvases; } });
|
|
115
|
+
Object.defineProperty(exports, "matchSpanPattern", { enumerable: true, get: function () { return spans_1.matchSpanPattern; } });
|
|
116
|
+
Object.defineProperty(exports, "getSpanColor", { enumerable: true, get: function () { return spans_1.getSpanColor; } });
|
|
117
|
+
Object.defineProperty(exports, "resolveEventSpanColor", { enumerable: true, get: function () { return spans_1.resolveEventSpanColor; } });
|
|
108
118
|
// Export execution validation (browser-safe - no Node.js dependencies)
|
|
109
119
|
var ExecutionValidator_1 = require("./execution/ExecutionValidator");
|
|
110
120
|
Object.defineProperty(exports, "ExecutionValidator", { enumerable: true, get: function () { return ExecutionValidator_1.ExecutionValidator; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spans module
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for working with span conventions from .spans.canvas files.
|
|
5
|
+
* Span colors are used as fill colors for events emitted within that span.
|
|
6
|
+
*
|
|
7
|
+
* Color Contract:
|
|
8
|
+
* - Scope color → Border (from library.yaml owned-scopes)
|
|
9
|
+
* - Span color → Fill (from .spans.canvas)
|
|
10
|
+
*/
|
|
11
|
+
export { DEFAULT_SPAN_COLOR, extractSpanConvention, extractSpanConventions, buildSpanColorMap, buildSpanColorMapFromCanvases, matchSpanPattern, getSpanColor, resolveEventSpanColor, type NormalizedSpanConvention, } from './utils';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,6BAA6B,EAC7B,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Spans module
|
|
4
|
+
*
|
|
5
|
+
* Provides utilities for working with span conventions from .spans.canvas files.
|
|
6
|
+
* Span colors are used as fill colors for events emitted within that span.
|
|
7
|
+
*
|
|
8
|
+
* Color Contract:
|
|
9
|
+
* - Scope color → Border (from library.yaml owned-scopes)
|
|
10
|
+
* - Span color → Fill (from .spans.canvas)
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = void 0;
|
|
14
|
+
var utils_1 = require("./utils");
|
|
15
|
+
Object.defineProperty(exports, "DEFAULT_SPAN_COLOR", { enumerable: true, get: function () { return utils_1.DEFAULT_SPAN_COLOR; } });
|
|
16
|
+
Object.defineProperty(exports, "extractSpanConvention", { enumerable: true, get: function () { return utils_1.extractSpanConvention; } });
|
|
17
|
+
Object.defineProperty(exports, "extractSpanConventions", { enumerable: true, get: function () { return utils_1.extractSpanConventions; } });
|
|
18
|
+
Object.defineProperty(exports, "buildSpanColorMap", { enumerable: true, get: function () { return utils_1.buildSpanColorMap; } });
|
|
19
|
+
Object.defineProperty(exports, "buildSpanColorMapFromCanvases", { enumerable: true, get: function () { return utils_1.buildSpanColorMapFromCanvases; } });
|
|
20
|
+
Object.defineProperty(exports, "matchSpanPattern", { enumerable: true, get: function () { return utils_1.matchSpanPattern; } });
|
|
21
|
+
Object.defineProperty(exports, "getSpanColor", { enumerable: true, get: function () { return utils_1.getSpanColor; } });
|
|
22
|
+
Object.defineProperty(exports, "resolveEventSpanColor", { enumerable: true, get: function () { return utils_1.resolveEventSpanColor; } });
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,iCAUiB;AATf,2GAAA,kBAAkB,OAAA;AAClB,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AACtB,0GAAA,iBAAiB,OAAA;AACjB,sHAAA,6BAA6B,OAAA;AAC7B,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,8GAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Span utility functions
|
|
3
|
+
*
|
|
4
|
+
* Helpers for working with span conventions from .spans.canvas files.
|
|
5
|
+
* Span colors are used as fill colors for events emitted within that span.
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtendedCanvas, ExtendedCanvasNode } from '../types/canvas';
|
|
8
|
+
/** Default color for spans without a defined color */
|
|
9
|
+
export declare const DEFAULT_SPAN_COLOR = "#9CA3AF";
|
|
10
|
+
/**
|
|
11
|
+
* Normalized span convention entry
|
|
12
|
+
*/
|
|
13
|
+
export interface NormalizedSpanConvention {
|
|
14
|
+
/** Unique identifier for this span convention */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Pattern to match span names (e.g., "validate.*") */
|
|
17
|
+
spanPattern: string;
|
|
18
|
+
/** Color for this span (used as fill for events) */
|
|
19
|
+
color: string;
|
|
20
|
+
/** Human-readable description */
|
|
21
|
+
description?: string;
|
|
22
|
+
/** Status of the span convention */
|
|
23
|
+
status?: 'draft' | 'approved' | 'implemented';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Extract span convention from a canvas node
|
|
27
|
+
*/
|
|
28
|
+
export declare function extractSpanConvention(node: ExtendedCanvasNode): NormalizedSpanConvention | null;
|
|
29
|
+
/**
|
|
30
|
+
* Extract all span conventions from a spans.canvas file
|
|
31
|
+
*/
|
|
32
|
+
export declare function extractSpanConventions(canvas: ExtendedCanvas): NormalizedSpanConvention[];
|
|
33
|
+
/**
|
|
34
|
+
* Build a span color map from a spans.canvas
|
|
35
|
+
* Returns a map of spanPattern -> color for fast lookups
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildSpanColorMap(canvas: ExtendedCanvas | null | undefined): Record<string, string>;
|
|
38
|
+
/**
|
|
39
|
+
* Build a span color map from multiple spans.canvas files
|
|
40
|
+
* Later files override earlier ones for duplicate patterns
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildSpanColorMapFromCanvases(canvases: (ExtendedCanvas | null | undefined)[]): Record<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* Match a span name to a span pattern
|
|
45
|
+
* Supports exact matches and wildcard patterns (e.g., "validate.*")
|
|
46
|
+
*/
|
|
47
|
+
export declare function matchSpanPattern(spanName: string, pattern: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Find the color for a span name by matching against span patterns
|
|
50
|
+
* Returns the first matching pattern's color, or default if none match
|
|
51
|
+
*/
|
|
52
|
+
export declare function getSpanColor(spanName: string, spanColorMap: Record<string, string>): string;
|
|
53
|
+
/**
|
|
54
|
+
* Resolve span color for an event based on its workflow's spanPattern
|
|
55
|
+
* This is the primary method for determining event fill color
|
|
56
|
+
*/
|
|
57
|
+
export declare function resolveEventSpanColor(workflowSpanPattern: string | undefined, spanColorMap: Record<string, string>): string;
|
|
58
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spans/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,IAAI,CAkC/F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,wBAAwB,EAAE,CAazF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWnG;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAW3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CASR"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Span utility functions
|
|
4
|
+
*
|
|
5
|
+
* Helpers for working with span conventions from .spans.canvas files.
|
|
6
|
+
* Span colors are used as fill colors for events emitted within that span.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = void 0;
|
|
10
|
+
/** Default color for spans without a defined color */
|
|
11
|
+
exports.DEFAULT_SPAN_COLOR = '#9CA3AF'; // gray-400
|
|
12
|
+
/**
|
|
13
|
+
* Extract span convention from a canvas node
|
|
14
|
+
*/
|
|
15
|
+
function extractSpanConvention(node) {
|
|
16
|
+
const pv = node.pv;
|
|
17
|
+
if (!pv)
|
|
18
|
+
return null;
|
|
19
|
+
const nodeType = pv.nodeType;
|
|
20
|
+
if (nodeType !== 'span-convention')
|
|
21
|
+
return null;
|
|
22
|
+
const otel = pv.otel;
|
|
23
|
+
const spanPattern = otel?.spanPattern;
|
|
24
|
+
if (!spanPattern)
|
|
25
|
+
return null;
|
|
26
|
+
// Get color from node (required for span conventions)
|
|
27
|
+
const color = node.color;
|
|
28
|
+
if (!color)
|
|
29
|
+
return null;
|
|
30
|
+
// Extract description from node text if present (only text nodes have text)
|
|
31
|
+
let description;
|
|
32
|
+
if ('text' in node && typeof node.text === 'string') {
|
|
33
|
+
const text = node.text;
|
|
34
|
+
// Try to extract description from markdown (lines after the header)
|
|
35
|
+
const lines = text.split('\n');
|
|
36
|
+
const descLines = lines.filter(line => !line.startsWith('#') && line.trim());
|
|
37
|
+
if (descLines.length > 0) {
|
|
38
|
+
description = descLines.join(' ').trim();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
id: node.id,
|
|
43
|
+
spanPattern,
|
|
44
|
+
color,
|
|
45
|
+
description,
|
|
46
|
+
status: pv.status,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
exports.extractSpanConvention = extractSpanConvention;
|
|
50
|
+
/**
|
|
51
|
+
* Extract all span conventions from a spans.canvas file
|
|
52
|
+
*/
|
|
53
|
+
function extractSpanConventions(canvas) {
|
|
54
|
+
const conventions = [];
|
|
55
|
+
if (!canvas.nodes)
|
|
56
|
+
return conventions;
|
|
57
|
+
for (const node of canvas.nodes) {
|
|
58
|
+
const convention = extractSpanConvention(node);
|
|
59
|
+
if (convention) {
|
|
60
|
+
conventions.push(convention);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return conventions;
|
|
64
|
+
}
|
|
65
|
+
exports.extractSpanConventions = extractSpanConventions;
|
|
66
|
+
/**
|
|
67
|
+
* Build a span color map from a spans.canvas
|
|
68
|
+
* Returns a map of spanPattern -> color for fast lookups
|
|
69
|
+
*/
|
|
70
|
+
function buildSpanColorMap(canvas) {
|
|
71
|
+
const colorMap = {};
|
|
72
|
+
if (!canvas)
|
|
73
|
+
return colorMap;
|
|
74
|
+
const conventions = extractSpanConventions(canvas);
|
|
75
|
+
for (const convention of conventions) {
|
|
76
|
+
colorMap[convention.spanPattern] = convention.color;
|
|
77
|
+
}
|
|
78
|
+
return colorMap;
|
|
79
|
+
}
|
|
80
|
+
exports.buildSpanColorMap = buildSpanColorMap;
|
|
81
|
+
/**
|
|
82
|
+
* Build a span color map from multiple spans.canvas files
|
|
83
|
+
* Later files override earlier ones for duplicate patterns
|
|
84
|
+
*/
|
|
85
|
+
function buildSpanColorMapFromCanvases(canvases) {
|
|
86
|
+
const colorMap = {};
|
|
87
|
+
for (const canvas of canvases) {
|
|
88
|
+
if (!canvas)
|
|
89
|
+
continue;
|
|
90
|
+
const conventions = extractSpanConventions(canvas);
|
|
91
|
+
for (const convention of conventions) {
|
|
92
|
+
colorMap[convention.spanPattern] = convention.color;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return colorMap;
|
|
96
|
+
}
|
|
97
|
+
exports.buildSpanColorMapFromCanvases = buildSpanColorMapFromCanvases;
|
|
98
|
+
/**
|
|
99
|
+
* Match a span name to a span pattern
|
|
100
|
+
* Supports exact matches and wildcard patterns (e.g., "validate.*")
|
|
101
|
+
*/
|
|
102
|
+
function matchSpanPattern(spanName, pattern) {
|
|
103
|
+
// Exact match
|
|
104
|
+
if (spanName === pattern)
|
|
105
|
+
return true;
|
|
106
|
+
// Wildcard pattern (e.g., "validate.*")
|
|
107
|
+
if (pattern.endsWith('.*')) {
|
|
108
|
+
const prefix = pattern.slice(0, -2);
|
|
109
|
+
return spanName.startsWith(prefix + '.') || spanName === prefix;
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
exports.matchSpanPattern = matchSpanPattern;
|
|
114
|
+
/**
|
|
115
|
+
* Find the color for a span name by matching against span patterns
|
|
116
|
+
* Returns the first matching pattern's color, or default if none match
|
|
117
|
+
*/
|
|
118
|
+
function getSpanColor(spanName, spanColorMap) {
|
|
119
|
+
// First try exact match
|
|
120
|
+
if (spanColorMap[spanName]) {
|
|
121
|
+
return spanColorMap[spanName];
|
|
122
|
+
}
|
|
123
|
+
// Then try pattern matching
|
|
124
|
+
for (const [pattern, color] of Object.entries(spanColorMap)) {
|
|
125
|
+
if (matchSpanPattern(spanName, pattern)) {
|
|
126
|
+
return color;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return exports.DEFAULT_SPAN_COLOR;
|
|
130
|
+
}
|
|
131
|
+
exports.getSpanColor = getSpanColor;
|
|
132
|
+
/**
|
|
133
|
+
* Resolve span color for an event based on its workflow's spanPattern
|
|
134
|
+
* This is the primary method for determining event fill color
|
|
135
|
+
*/
|
|
136
|
+
function resolveEventSpanColor(workflowSpanPattern, spanColorMap) {
|
|
137
|
+
if (!workflowSpanPattern)
|
|
138
|
+
return exports.DEFAULT_SPAN_COLOR;
|
|
139
|
+
// Direct lookup (pattern as key)
|
|
140
|
+
if (spanColorMap[workflowSpanPattern]) {
|
|
141
|
+
return spanColorMap[workflowSpanPattern];
|
|
142
|
+
}
|
|
143
|
+
return exports.DEFAULT_SPAN_COLOR;
|
|
144
|
+
}
|
|
145
|
+
exports.resolveEventSpanColor = resolveEventSpanColor;
|
|
146
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/spans/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge Derivation from Workflows
|
|
3
|
+
*
|
|
4
|
+
* Extracts span context from workflow event templates and derives
|
|
5
|
+
* expected edges (span transitions) for validation against spans.canvas.
|
|
6
|
+
*
|
|
7
|
+
* @see .principal-views/WORKFLOW-SPAN-INTEGRATION.md
|
|
8
|
+
*/
|
|
9
|
+
import type { WorkflowTemplate, WorkflowScenario } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* A derived edge representing a span transition observed in a workflow
|
|
12
|
+
*/
|
|
13
|
+
export interface DerivedEdge {
|
|
14
|
+
/** Source span name (exact) */
|
|
15
|
+
fromSpan: string;
|
|
16
|
+
/** Target span name (exact) */
|
|
17
|
+
toSpan: string;
|
|
18
|
+
/** Workflow file where this edge was observed */
|
|
19
|
+
workflowFile?: string;
|
|
20
|
+
/** Scenario ID where this edge was observed */
|
|
21
|
+
scenarioId: string;
|
|
22
|
+
/** Event names that caused this transition */
|
|
23
|
+
eventNames: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Result of edge derivation from a single workflow
|
|
27
|
+
*/
|
|
28
|
+
export interface WorkflowEdgeDerivationResult {
|
|
29
|
+
/** Workflow name */
|
|
30
|
+
workflowName: string;
|
|
31
|
+
/** Root span for this workflow */
|
|
32
|
+
rootSpan: string | undefined;
|
|
33
|
+
/** All spans referenced in this workflow */
|
|
34
|
+
referencedSpans: string[];
|
|
35
|
+
/** Derived edges per scenario */
|
|
36
|
+
scenarioEdges: Array<{
|
|
37
|
+
scenarioId: string;
|
|
38
|
+
edges: DerivedEdge[];
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Result of edge derivation across all workflows
|
|
43
|
+
*/
|
|
44
|
+
export interface EdgeDerivationResult {
|
|
45
|
+
/** All derived edges (deduplicated) */
|
|
46
|
+
edges: DerivedEdge[];
|
|
47
|
+
/** Per-workflow breakdown */
|
|
48
|
+
workflows: WorkflowEdgeDerivationResult[];
|
|
49
|
+
/** All unique spans referenced across workflows */
|
|
50
|
+
allSpans: string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Extract span context from a workflow's event templates
|
|
54
|
+
*
|
|
55
|
+
* @param scenario - Workflow scenario to analyze
|
|
56
|
+
* @param rootSpan - Default span for events without explicit span
|
|
57
|
+
* @returns Array of { eventName, span } entries in template order
|
|
58
|
+
*/
|
|
59
|
+
export declare function extractEventSpans(scenario: WorkflowScenario, rootSpan: string | undefined): Array<{
|
|
60
|
+
eventName: string;
|
|
61
|
+
span: string;
|
|
62
|
+
}>;
|
|
63
|
+
/**
|
|
64
|
+
* Derive edges from span transitions in event sequence
|
|
65
|
+
*
|
|
66
|
+
* Identifies when consecutive events are in different spans,
|
|
67
|
+
* which represents a potential edge (call relationship).
|
|
68
|
+
*
|
|
69
|
+
* Note: This captures temporal order, not parent-child nesting.
|
|
70
|
+
* We observe "span A was active, then span B was active" but
|
|
71
|
+
* cannot infer nesting without actual trace data.
|
|
72
|
+
*
|
|
73
|
+
* @param eventSpans - Event-span mappings in order
|
|
74
|
+
* @param scenarioId - ID of the scenario being analyzed
|
|
75
|
+
* @returns Array of derived edges
|
|
76
|
+
*/
|
|
77
|
+
export declare function deriveEdgesFromSequence(eventSpans: Array<{
|
|
78
|
+
eventName: string;
|
|
79
|
+
span: string;
|
|
80
|
+
}>, scenarioId: string): DerivedEdge[];
|
|
81
|
+
/**
|
|
82
|
+
* Derive all edges from a workflow template
|
|
83
|
+
*
|
|
84
|
+
* @param workflow - Workflow template to analyze
|
|
85
|
+
* @param workflowFile - Optional file path for tracking
|
|
86
|
+
* @returns Edge derivation result for this workflow
|
|
87
|
+
*/
|
|
88
|
+
export declare function deriveWorkflowEdges(workflow: WorkflowTemplate, workflowFile?: string): WorkflowEdgeDerivationResult;
|
|
89
|
+
/**
|
|
90
|
+
* Derive edges from multiple workflows
|
|
91
|
+
*
|
|
92
|
+
* @param workflows - Array of { workflow, filePath } pairs
|
|
93
|
+
* @returns Combined edge derivation result
|
|
94
|
+
*/
|
|
95
|
+
export declare function deriveEdgesFromWorkflows(workflows: Array<{
|
|
96
|
+
workflow: WorkflowTemplate;
|
|
97
|
+
filePath?: string;
|
|
98
|
+
}>): EdgeDerivationResult;
|
|
99
|
+
/**
|
|
100
|
+
* Group derived edges by source and target for display
|
|
101
|
+
*
|
|
102
|
+
* @param edges - Derived edges to group
|
|
103
|
+
* @returns Map of edge key to list of workflows/scenarios containing it
|
|
104
|
+
*/
|
|
105
|
+
export declare function groupEdgesBySources(edges: DerivedEdge[]): Map<string, Array<{
|
|
106
|
+
workflowFile?: string;
|
|
107
|
+
scenarioId: string;
|
|
108
|
+
}>>;
|
|
109
|
+
//# sourceMappingURL=edge-derivation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-derivation.d.ts","sourceRoot":"","sources":["../../src/workflow/edge-derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGlE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,4CAA4C;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,iCAAiC;IACjC,aAAa,EAAE,KAAK,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,WAAW,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB,6BAA6B;IAC7B,SAAS,EAAE,4BAA4B,EAAE,CAAC;IAE1C,mDAAmD;IACnD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,UAAU,EAAE,MAAM,GACjB,WAAW,EAAE,CAyBf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,4BAA4B,CAuC9B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAClE,oBAAoB,CA+BtB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAAE,GACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAcnE"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Edge Derivation from Workflows
|
|
4
|
+
*
|
|
5
|
+
* Extracts span context from workflow event templates and derives
|
|
6
|
+
* expected edges (span transitions) for validation against spans.canvas.
|
|
7
|
+
*
|
|
8
|
+
* @see .principal-views/WORKFLOW-SPAN-INTEGRATION.md
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.groupEdgesBySources = exports.deriveEdgesFromWorkflows = exports.deriveWorkflowEdges = exports.deriveEdgesFromSequence = exports.extractEventSpans = void 0;
|
|
12
|
+
const types_1 = require("./types");
|
|
13
|
+
/**
|
|
14
|
+
* Extract span context from a workflow's event templates
|
|
15
|
+
*
|
|
16
|
+
* @param scenario - Workflow scenario to analyze
|
|
17
|
+
* @param rootSpan - Default span for events without explicit span
|
|
18
|
+
* @returns Array of { eventName, span } entries in template order
|
|
19
|
+
*/
|
|
20
|
+
function extractEventSpans(scenario, rootSpan) {
|
|
21
|
+
const events = scenario.template.events;
|
|
22
|
+
if (!events) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
const result = [];
|
|
26
|
+
for (const [eventName, eventTemplate] of Object.entries(events)) {
|
|
27
|
+
const explicitSpan = (0, types_1.isEventTemplate)(eventTemplate)
|
|
28
|
+
? (0, types_1.getEventSpan)(eventTemplate)
|
|
29
|
+
: undefined;
|
|
30
|
+
// Use explicit span if provided, otherwise fall back to rootSpan
|
|
31
|
+
const span = explicitSpan ?? rootSpan;
|
|
32
|
+
if (span) {
|
|
33
|
+
result.push({ eventName, span });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
exports.extractEventSpans = extractEventSpans;
|
|
39
|
+
/**
|
|
40
|
+
* Derive edges from span transitions in event sequence
|
|
41
|
+
*
|
|
42
|
+
* Identifies when consecutive events are in different spans,
|
|
43
|
+
* which represents a potential edge (call relationship).
|
|
44
|
+
*
|
|
45
|
+
* Note: This captures temporal order, not parent-child nesting.
|
|
46
|
+
* We observe "span A was active, then span B was active" but
|
|
47
|
+
* cannot infer nesting without actual trace data.
|
|
48
|
+
*
|
|
49
|
+
* @param eventSpans - Event-span mappings in order
|
|
50
|
+
* @param scenarioId - ID of the scenario being analyzed
|
|
51
|
+
* @returns Array of derived edges
|
|
52
|
+
*/
|
|
53
|
+
function deriveEdgesFromSequence(eventSpans, scenarioId) {
|
|
54
|
+
const edges = [];
|
|
55
|
+
const seenEdges = new Set();
|
|
56
|
+
for (let i = 0; i < eventSpans.length - 1; i++) {
|
|
57
|
+
const current = eventSpans[i];
|
|
58
|
+
const next = eventSpans[i + 1];
|
|
59
|
+
// Transition occurs when spans differ
|
|
60
|
+
if (current.span !== next.span) {
|
|
61
|
+
const edgeKey = `${current.span}->${next.span}`;
|
|
62
|
+
if (!seenEdges.has(edgeKey)) {
|
|
63
|
+
seenEdges.add(edgeKey);
|
|
64
|
+
edges.push({
|
|
65
|
+
fromSpan: current.span,
|
|
66
|
+
toSpan: next.span,
|
|
67
|
+
scenarioId,
|
|
68
|
+
eventNames: [current.eventName, next.eventName],
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return edges;
|
|
74
|
+
}
|
|
75
|
+
exports.deriveEdgesFromSequence = deriveEdgesFromSequence;
|
|
76
|
+
/**
|
|
77
|
+
* Derive all edges from a workflow template
|
|
78
|
+
*
|
|
79
|
+
* @param workflow - Workflow template to analyze
|
|
80
|
+
* @param workflowFile - Optional file path for tracking
|
|
81
|
+
* @returns Edge derivation result for this workflow
|
|
82
|
+
*/
|
|
83
|
+
function deriveWorkflowEdges(workflow, workflowFile) {
|
|
84
|
+
const rootSpan = (0, types_1.getWorkflowRootSpan)(workflow);
|
|
85
|
+
const allSpans = new Set();
|
|
86
|
+
const scenarioEdges = [];
|
|
87
|
+
if (rootSpan) {
|
|
88
|
+
allSpans.add(rootSpan);
|
|
89
|
+
}
|
|
90
|
+
for (const scenario of workflow.scenarios) {
|
|
91
|
+
const eventSpans = extractEventSpans(scenario, rootSpan);
|
|
92
|
+
// Collect all referenced spans
|
|
93
|
+
for (const { span } of eventSpans) {
|
|
94
|
+
allSpans.add(span);
|
|
95
|
+
}
|
|
96
|
+
// Derive edges from transitions
|
|
97
|
+
const edges = deriveEdgesFromSequence(eventSpans, scenario.id);
|
|
98
|
+
// Attach workflow file to each edge
|
|
99
|
+
if (workflowFile) {
|
|
100
|
+
for (const edge of edges) {
|
|
101
|
+
edge.workflowFile = workflowFile;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
scenarioEdges.push({
|
|
105
|
+
scenarioId: scenario.id,
|
|
106
|
+
edges,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
workflowName: workflow.name,
|
|
111
|
+
rootSpan,
|
|
112
|
+
referencedSpans: Array.from(allSpans),
|
|
113
|
+
scenarioEdges,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
exports.deriveWorkflowEdges = deriveWorkflowEdges;
|
|
117
|
+
/**
|
|
118
|
+
* Derive edges from multiple workflows
|
|
119
|
+
*
|
|
120
|
+
* @param workflows - Array of { workflow, filePath } pairs
|
|
121
|
+
* @returns Combined edge derivation result
|
|
122
|
+
*/
|
|
123
|
+
function deriveEdgesFromWorkflows(workflows) {
|
|
124
|
+
const allSpans = new Set();
|
|
125
|
+
const workflowResults = [];
|
|
126
|
+
const edgeMap = new Map();
|
|
127
|
+
for (const { workflow, filePath } of workflows) {
|
|
128
|
+
const result = deriveWorkflowEdges(workflow, filePath);
|
|
129
|
+
workflowResults.push(result);
|
|
130
|
+
// Collect spans
|
|
131
|
+
for (const span of result.referencedSpans) {
|
|
132
|
+
allSpans.add(span);
|
|
133
|
+
}
|
|
134
|
+
// Collect and deduplicate edges
|
|
135
|
+
for (const scenarioResult of result.scenarioEdges) {
|
|
136
|
+
for (const edge of scenarioResult.edges) {
|
|
137
|
+
const key = `${edge.fromSpan}->${edge.toSpan}`;
|
|
138
|
+
if (!edgeMap.has(key)) {
|
|
139
|
+
edgeMap.set(key, edge);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
edges: Array.from(edgeMap.values()),
|
|
146
|
+
workflows: workflowResults,
|
|
147
|
+
allSpans: Array.from(allSpans),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
exports.deriveEdgesFromWorkflows = deriveEdgesFromWorkflows;
|
|
151
|
+
/**
|
|
152
|
+
* Group derived edges by source and target for display
|
|
153
|
+
*
|
|
154
|
+
* @param edges - Derived edges to group
|
|
155
|
+
* @returns Map of edge key to list of workflows/scenarios containing it
|
|
156
|
+
*/
|
|
157
|
+
function groupEdgesBySources(edges) {
|
|
158
|
+
const grouped = new Map();
|
|
159
|
+
for (const edge of edges) {
|
|
160
|
+
const key = `${edge.fromSpan}->${edge.toSpan}`;
|
|
161
|
+
const sources = grouped.get(key) || [];
|
|
162
|
+
sources.push({
|
|
163
|
+
workflowFile: edge.workflowFile,
|
|
164
|
+
scenarioId: edge.scenarioId,
|
|
165
|
+
});
|
|
166
|
+
grouped.set(key, sources);
|
|
167
|
+
}
|
|
168
|
+
return grouped;
|
|
169
|
+
}
|
|
170
|
+
exports.groupEdgesBySources = groupEdgesBySources;
|
|
171
|
+
//# sourceMappingURL=edge-derivation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-derivation.js","sourceRoot":"","sources":["../../src/workflow/edge-derivation.ts"],"names":[],"mappings":"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"}
|