@principal-ai/principal-view-core 0.24.78 → 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/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/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":";AAAA;;;;;;;;;GASG;;;;AAEH,0GAA0G;AAC1G,2CAQwB;AAwFtB,2FA/FA,mBAAU,OA+FA;AACV,2FA/FA,mBAAU,OA+FA;AACV,2FA/FA,mBAAU,OA+FA;AACV,4FA/FA,oBAAW,OA+FA;AACX,+FA/FA,uBAAc,OA+FA;AACd,qGA/FA,6BAAoB,OA+FA;AACpB,mGA/FA,2BAAkB,OA+FA;AAGpB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAGxB,2CAA2C;AAC3C,iDAAsF;AAA7E,uGAAA,SAAS,OAAA;AAAE,wGAAA,UAAU,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAGzD,iDAAiD;AACjD,mEAAmE;AACnE,kEAAmF;AAA1E,mHAAA,cAAc,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AAC5C,8DAA2E;AAAlE,gHAAA,aAAa,OAAA;AAAE,iHAAA,cAAc,OAAA;AAEtC,gEAOqC;AANnC,kHAAA,cAAc,OAAA;AACd,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAChB,qHAAA,iBAAiB,OAAA;AACjB,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AAkEhB,2BAA2B;AAC3B,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AAGxB,+BAA+B;AAC/B,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAA0E;AAAjE,8GAAA,aAAa,OAAA;AACtB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAE1B,4BAA4B;AAC5B,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAG1B,+BAA+B;AAC/B,qCASsB;AARpB,+GAAA,uBAAuB,OAAA;AACvB,qGAAA,aAAa,OAAA;AACb,yGAAA,iBAAiB,OAAA;AACjB,iHAAA,yBAAyB,OAAA;AACzB,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,uGAAA,eAAe,OAAA;AACf,sGAAA,cAAc,OAAA;AAWhB,8DAAoG;AAA3F,0HAAA,uBAAuB,OAAA;AAAE,gIAAA,6BAA6B,OAAA;AAE/D,qCAAqC;AACrC,6DAA6D;AAApD,qHAAA,iBAAiB,OAAA;AAE1B,0CAA0C;AAC1C,yEAcwC;AAbtC,mIAAA,yBAAyB,OAAA;AACzB,qIAAA,2BAA2B,OAAA;AAC3B,mIAAA,yBAAyB,OAAA;AACzB,yHAAA,eAAe,OAAA;AACf,sHAAA,YAAY,OAAA;AACZ,0HAAA,gBAAgB,OAAA;AAChB,iIAAA,uBAAuB,OAAA;AACvB,4HAAA,kBAAkB,OAAA;AAClB,yHAAA,eAAe,OAAA;AACf,8HAAA,oBAAoB,OAAA;AACpB,+HAAA,qBAAqB,OAAA;AACrB,yHAAA,eAAe,OAAA;AACf,8HAAA,oBAAoB,OAAA;AAItB,sBAAsB;AACtB,sDAAqD;AAA5C,0GAAA,WAAW,OAAA;AAGpB,mEAAmE;AACnE,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AAiBxB,6DAA6D;AAC7D,mCAWkB;AAVhB,+GAAA,qBAAqB,OAAA;AACrB,6GAAA,mBAAmB,OAAA;AACnB,0GAAA,gBAAgB,OAAA;AAChB,wGAAA,cAAc,OAAA;AACd,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,oHAAA,0BAA0B,OAAA;AAC1B,4GAAA,kBAAkB,OAAA;AASpB,uEAAuE;AACvE,qEAA8F;AAArF,wHAAA,kBAAkB,OAAA;AAAE,8HAAA,wBAAwB,OAAA;AAOrD,gFAAgF;AAChF,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AAOxB,gEAAgE;AAChE,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAGhC,oEAAoE;AACpE,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAYvB,+CAA+C;AAC/C,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAqB7B,uFAAuF;AACvF,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AAIzB,+EAA+E;AAC/E,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AAiBzB,4CAS4B;AAR1B,+GAAA,sBAAsB,OAAA;AACtB,4GAAA,mBAAmB,OAAA;AACnB,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,+GAAA,sBAAsB,OAAA;AACtB,+GAAA,sBAAsB,OAAA;AACtB,sHAAA,6BAA6B,OAAA;AAC7B,sGAAA,aAAa,OAAA;AAKf,+EAAiF;AAAxE,mIAAA,yBAAyB,OAAA;AAElC,4FAA4F;AAC5F,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,mDAAmD;AACnD,oDAAoD;AACpD,+DAA+D;AAC/D,0FAA0F;AAC1F,uDAAuD;AACvD,8CAA8C;AAC9C,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,sEAAsE;AACtE,uEAAuE"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;AAEH,0GAA0G;AAC1G,2CAQwB;AAwFtB,2FA/FA,mBAAU,OA+FA;AACV,2FA/FA,mBAAU,OA+FA;AACV,2FA/FA,mBAAU,OA+FA;AACV,4FA/FA,oBAAW,OA+FA;AACX,+FA/FA,uBAAc,OA+FA;AACd,qGA/FA,6BAAoB,OA+FA;AACpB,mGA/FA,2BAAkB,OA+FA;AAGpB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAGxB,2CAA2C;AAC3C,iDAAsF;AAA7E,uGAAA,SAAS,OAAA;AAAE,wGAAA,UAAU,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAGzD,iDAAiD;AACjD,mEAAmE;AACnE,kEAAmF;AAA1E,mHAAA,cAAc,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AAC5C,8DAA2E;AAAlE,gHAAA,aAAa,OAAA;AAAE,iHAAA,cAAc,OAAA;AAEtC,gEAOqC;AANnC,kHAAA,cAAc,OAAA;AACd,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAChB,qHAAA,iBAAiB,OAAA;AACjB,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AAkEhB,2BAA2B;AAC3B,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AAGxB,+BAA+B;AAC/B,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAA0E;AAAjE,8GAAA,aAAa,OAAA;AACtB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAE1B,4BAA4B;AAC5B,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAG1B,+BAA+B;AAC/B,qCASsB;AARpB,+GAAA,uBAAuB,OAAA;AACvB,qGAAA,aAAa,OAAA;AACb,yGAAA,iBAAiB,OAAA;AACjB,iHAAA,yBAAyB,OAAA;AACzB,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,uGAAA,eAAe,OAAA;AACf,sGAAA,cAAc,OAAA;AAWhB,8DAAoG;AAA3F,0HAAA,uBAAuB,OAAA;AAAE,gIAAA,6BAA6B,OAAA;AAE/D,qCAAqC;AACrC,6DAA6D;AAApD,qHAAA,iBAAiB,OAAA;AAE1B,0CAA0C;AAC1C,yEAcwC;AAbtC,mIAAA,yBAAyB,OAAA;AACzB,qIAAA,2BAA2B,OAAA;AAC3B,mIAAA,yBAAyB,OAAA;AACzB,yHAAA,eAAe,OAAA;AACf,sHAAA,YAAY,OAAA;AACZ,0HAAA,gBAAgB,OAAA;AAChB,iIAAA,uBAAuB,OAAA;AACvB,4HAAA,kBAAkB,OAAA;AAClB,yHAAA,eAAe,OAAA;AACf,8HAAA,oBAAoB,OAAA;AACpB,+HAAA,qBAAqB,OAAA;AACrB,yHAAA,eAAe,OAAA;AACf,8HAAA,oBAAoB,OAAA;AAItB,sBAAsB;AACtB,sDAAqD;AAA5C,0GAAA,WAAW,OAAA;AAGpB,mEAAmE;AACnE,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AAiBxB,6DAA6D;AAC7D,mCAWkB;AAVhB,+GAAA,qBAAqB,OAAA;AACrB,6GAAA,mBAAmB,OAAA;AACnB,0GAAA,gBAAgB,OAAA;AAChB,wGAAA,cAAc,OAAA;AACd,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,oHAAA,0BAA0B,OAAA;AAC1B,4GAAA,kBAAkB,OAAA;AASpB,gEAAgE;AAChE,iCASiB;AARf,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;AAIvB,uEAAuE;AACvE,qEAA8F;AAArF,wHAAA,kBAAkB,OAAA;AAAE,8HAAA,wBAAwB,OAAA;AAOrD,gFAAgF;AAChF,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AAOxB,gEAAgE;AAChE,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAGhC,oEAAoE;AACpE,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAYvB,+CAA+C;AAC/C,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAqB7B,uFAAuF;AACvF,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AAIzB,+EAA+E;AAC/E,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AAiBzB,4CAS4B;AAR1B,+GAAA,sBAAsB,OAAA;AACtB,4GAAA,mBAAmB,OAAA;AACnB,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,+GAAA,sBAAsB,OAAA;AACtB,+GAAA,sBAAsB,OAAA;AACtB,sHAAA,6BAA6B,OAAA;AAC7B,sGAAA,aAAa,OAAA;AAKf,+EAAiF;AAAxE,mIAAA,yBAAyB,OAAA;AAElC,4FAA4F;AAC5F,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,mDAAmD;AACnD,oDAAoD;AACpD,+DAA+D;AAC/D,0FAA0F;AAC1F,uDAAuD;AACvD,8CAA8C;AAC9C,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,sEAAsE;AACtE,uEAAuE"}
|
|
@@ -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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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -297,6 +297,19 @@ export type {
|
|
|
297
297
|
NormalizedScope,
|
|
298
298
|
} from './scopes';
|
|
299
299
|
|
|
300
|
+
// Export spans module (span conventions + span color utilities)
|
|
301
|
+
export {
|
|
302
|
+
DEFAULT_SPAN_COLOR,
|
|
303
|
+
extractSpanConvention,
|
|
304
|
+
extractSpanConventions,
|
|
305
|
+
buildSpanColorMap,
|
|
306
|
+
buildSpanColorMapFromCanvases,
|
|
307
|
+
matchSpanPattern,
|
|
308
|
+
getSpanColor,
|
|
309
|
+
resolveEventSpanColor,
|
|
310
|
+
} from './spans';
|
|
311
|
+
export type { NormalizedSpanConvention } from './spans';
|
|
312
|
+
|
|
300
313
|
// Export execution validation (browser-safe - no Node.js dependencies)
|
|
301
314
|
export { ExecutionValidator, createExecutionValidator } from './execution/ExecutionValidator';
|
|
302
315
|
export type {
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
|
|
12
|
+
export {
|
|
13
|
+
DEFAULT_SPAN_COLOR,
|
|
14
|
+
extractSpanConvention,
|
|
15
|
+
extractSpanConventions,
|
|
16
|
+
buildSpanColorMap,
|
|
17
|
+
buildSpanColorMapFromCanvases,
|
|
18
|
+
matchSpanPattern,
|
|
19
|
+
getSpanColor,
|
|
20
|
+
resolveEventSpanColor,
|
|
21
|
+
type NormalizedSpanConvention,
|
|
22
|
+
} from './utils';
|
|
@@ -0,0 +1,179 @@
|
|
|
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
|
+
|
|
8
|
+
import type { ExtendedCanvas, ExtendedCanvasNode } from '../types/canvas';
|
|
9
|
+
|
|
10
|
+
/** Default color for spans without a defined color */
|
|
11
|
+
export const DEFAULT_SPAN_COLOR = '#9CA3AF'; // gray-400
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Normalized span convention entry
|
|
15
|
+
*/
|
|
16
|
+
export interface NormalizedSpanConvention {
|
|
17
|
+
/** Unique identifier for this span convention */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Pattern to match span names (e.g., "validate.*") */
|
|
20
|
+
spanPattern: string;
|
|
21
|
+
/** Color for this span (used as fill for events) */
|
|
22
|
+
color: string;
|
|
23
|
+
/** Human-readable description */
|
|
24
|
+
description?: string;
|
|
25
|
+
/** Status of the span convention */
|
|
26
|
+
status?: 'draft' | 'approved' | 'implemented';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Extract span convention from a canvas node
|
|
31
|
+
*/
|
|
32
|
+
export function extractSpanConvention(node: ExtendedCanvasNode): NormalizedSpanConvention | null {
|
|
33
|
+
const pv = node.pv;
|
|
34
|
+
if (!pv) return null;
|
|
35
|
+
|
|
36
|
+
const nodeType = pv.nodeType;
|
|
37
|
+
if (nodeType !== 'span-convention') return null;
|
|
38
|
+
|
|
39
|
+
const otel = pv.otel as { spanPattern?: string; spanKind?: string } | undefined;
|
|
40
|
+
const spanPattern = otel?.spanPattern;
|
|
41
|
+
if (!spanPattern) return null;
|
|
42
|
+
|
|
43
|
+
// Get color from node (required for span conventions)
|
|
44
|
+
const color = node.color as string | undefined;
|
|
45
|
+
if (!color) return null;
|
|
46
|
+
|
|
47
|
+
// Extract description from node text if present (only text nodes have text)
|
|
48
|
+
let description: string | undefined;
|
|
49
|
+
if ('text' in node && typeof node.text === 'string') {
|
|
50
|
+
const text = node.text;
|
|
51
|
+
// Try to extract description from markdown (lines after the header)
|
|
52
|
+
const lines = text.split('\n');
|
|
53
|
+
const descLines = lines.filter(line => !line.startsWith('#') && line.trim());
|
|
54
|
+
if (descLines.length > 0) {
|
|
55
|
+
description = descLines.join(' ').trim();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
id: node.id,
|
|
61
|
+
spanPattern,
|
|
62
|
+
color,
|
|
63
|
+
description,
|
|
64
|
+
status: pv.status as 'draft' | 'approved' | 'implemented' | undefined,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Extract all span conventions from a spans.canvas file
|
|
70
|
+
*/
|
|
71
|
+
export function extractSpanConventions(canvas: ExtendedCanvas): NormalizedSpanConvention[] {
|
|
72
|
+
const conventions: NormalizedSpanConvention[] = [];
|
|
73
|
+
|
|
74
|
+
if (!canvas.nodes) return conventions;
|
|
75
|
+
|
|
76
|
+
for (const node of canvas.nodes) {
|
|
77
|
+
const convention = extractSpanConvention(node);
|
|
78
|
+
if (convention) {
|
|
79
|
+
conventions.push(convention);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return conventions;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Build a span color map from a spans.canvas
|
|
88
|
+
* Returns a map of spanPattern -> color for fast lookups
|
|
89
|
+
*/
|
|
90
|
+
export function buildSpanColorMap(canvas: ExtendedCanvas | null | undefined): Record<string, string> {
|
|
91
|
+
const colorMap: Record<string, string> = {};
|
|
92
|
+
|
|
93
|
+
if (!canvas) return colorMap;
|
|
94
|
+
|
|
95
|
+
const conventions = extractSpanConventions(canvas);
|
|
96
|
+
for (const convention of conventions) {
|
|
97
|
+
colorMap[convention.spanPattern] = convention.color;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return colorMap;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Build a span color map from multiple spans.canvas files
|
|
105
|
+
* Later files override earlier ones for duplicate patterns
|
|
106
|
+
*/
|
|
107
|
+
export function buildSpanColorMapFromCanvases(
|
|
108
|
+
canvases: (ExtendedCanvas | null | undefined)[]
|
|
109
|
+
): Record<string, string> {
|
|
110
|
+
const colorMap: Record<string, string> = {};
|
|
111
|
+
|
|
112
|
+
for (const canvas of canvases) {
|
|
113
|
+
if (!canvas) continue;
|
|
114
|
+
const conventions = extractSpanConventions(canvas);
|
|
115
|
+
for (const convention of conventions) {
|
|
116
|
+
colorMap[convention.spanPattern] = convention.color;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return colorMap;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Match a span name to a span pattern
|
|
125
|
+
* Supports exact matches and wildcard patterns (e.g., "validate.*")
|
|
126
|
+
*/
|
|
127
|
+
export function matchSpanPattern(spanName: string, pattern: string): boolean {
|
|
128
|
+
// Exact match
|
|
129
|
+
if (spanName === pattern) return true;
|
|
130
|
+
|
|
131
|
+
// Wildcard pattern (e.g., "validate.*")
|
|
132
|
+
if (pattern.endsWith('.*')) {
|
|
133
|
+
const prefix = pattern.slice(0, -2);
|
|
134
|
+
return spanName.startsWith(prefix + '.') || spanName === prefix;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Find the color for a span name by matching against span patterns
|
|
142
|
+
* Returns the first matching pattern's color, or default if none match
|
|
143
|
+
*/
|
|
144
|
+
export function getSpanColor(
|
|
145
|
+
spanName: string,
|
|
146
|
+
spanColorMap: Record<string, string>
|
|
147
|
+
): string {
|
|
148
|
+
// First try exact match
|
|
149
|
+
if (spanColorMap[spanName]) {
|
|
150
|
+
return spanColorMap[spanName];
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Then try pattern matching
|
|
154
|
+
for (const [pattern, color] of Object.entries(spanColorMap)) {
|
|
155
|
+
if (matchSpanPattern(spanName, pattern)) {
|
|
156
|
+
return color;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return DEFAULT_SPAN_COLOR;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Resolve span color for an event based on its workflow's spanPattern
|
|
165
|
+
* This is the primary method for determining event fill color
|
|
166
|
+
*/
|
|
167
|
+
export function resolveEventSpanColor(
|
|
168
|
+
workflowSpanPattern: string | undefined,
|
|
169
|
+
spanColorMap: Record<string, string>
|
|
170
|
+
): string {
|
|
171
|
+
if (!workflowSpanPattern) return DEFAULT_SPAN_COLOR;
|
|
172
|
+
|
|
173
|
+
// Direct lookup (pattern as key)
|
|
174
|
+
if (spanColorMap[workflowSpanPattern]) {
|
|
175
|
+
return spanColorMap[workflowSpanPattern];
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return DEFAULT_SPAN_COLOR;
|
|
179
|
+
}
|