@principal-ai/principal-view-core 0.19.3 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/matchers/SpanMatcher.d.ts +107 -0
- package/dist/matchers/SpanMatcher.d.ts.map +1 -0
- package/dist/matchers/SpanMatcher.js +262 -0
- package/dist/matchers/SpanMatcher.js.map +1 -0
- package/dist/node.d.ts +0 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +0 -2
- package/dist/node.js.map +1 -1
- package/dist/telemetry/coverage.d.ts +6 -3
- package/dist/telemetry/coverage.d.ts.map +1 -1
- package/dist/telemetry/coverage.js +6 -3
- package/dist/telemetry/coverage.js.map +1 -1
- package/dist/types/canvas.d.ts +104 -3
- package/dist/types/canvas.d.ts.map +1 -1
- package/dist/types/canvas.js.map +1 -1
- package/dist/types/library.d.ts +25 -0
- package/dist/types/library.d.ts.map +1 -1
- package/dist/types/otel.d.ts +273 -6
- package/dist/types/otel.d.ts.map +1 -1
- package/dist/types/otel.js +123 -3
- package/dist/types/otel.js.map +1 -1
- package/dist/utils/traceAggregation.d.ts +25 -0
- package/dist/utils/traceAggregation.d.ts.map +1 -0
- package/dist/utils/traceAggregation.js +136 -0
- package/dist/utils/traceAggregation.js.map +1 -0
- package/package.json +1 -1
- package/src/discovery/CanvasDiscovery.test.ts +2 -2
- package/src/index.ts +40 -6
- package/src/matchers/SpanMatcher.test.ts +1105 -0
- package/src/matchers/SpanMatcher.ts +372 -0
- package/src/node.ts +0 -3
- package/src/telemetry/coverage.ts +6 -3
- package/src/types/canvas.ts +112 -3
- package/src/types/library.ts +26 -0
- package/src/types/otel.test.ts +219 -0
- package/src/types/otel.ts +346 -6
- package/src/utils/traceAggregation.test.ts +385 -0
- package/src/utils/traceAggregation.ts +174 -0
- package/dist/utils/FileTreeBuilder.d.ts +0 -38
- package/dist/utils/FileTreeBuilder.d.ts.map +0 -1
- package/dist/utils/FileTreeBuilder.js +0 -56
- package/dist/utils/FileTreeBuilder.js.map +0 -1
- package/src/utils/FileTreeBuilder.ts +0 -65
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,11 @@ export { parseTemplate, ParsedTemplate } from './workflow/template-parser';
|
|
|
22
22
|
export type { TemplateSegment } from './workflow/template-parser';
|
|
23
23
|
export { selectScenario, matchesCondition, hasEventMatching, computeAggregates, evaluateAssertion, getNestedValue, setNestedValue, } from './workflow/scenario-matcher';
|
|
24
24
|
export type { WorkflowTemplate, WorkflowScenario, WorkflowMode, ScenarioCondition, ScenarioTemplate, Assertion, FlowDirective, LogTemplates, FormattingOptions, OtelEvent, OtelSignal, WorkflowContext, WorkflowResult, ScenarioMatchResult, SpanTreeNode, } from './workflow/types';
|
|
25
|
-
export type { OtelAttributes, OtelAttributeValue, OtelLog, OtelSpan, OtelResource, OtelSeverity, OtelSeverityText, OtelSeverityNumber,
|
|
25
|
+
export type { OtelExportTraceServiceRequest, OtelResourceSpansData, OtelScopeSpans, OtelSpanData, OtelResourceData, OtelKeyValue, OtelAnyValue, OtelSpanEvent, OtelLink, OtelSpanStatus, OtelInstrumentationScope, TraceInfo, WorkflowMatchInfo, OtelAttributes, OtelAttributeValue, OtelLog, OtelSpan, OtelResource, OtelSeverity, OtelSeverityText, OtelSeverityNumber, } from './types/otel';
|
|
26
|
+
export { getAttributeStringValue, findAttribute, getAttributeValue, flattenResourceAttributes, parseNanoTime, getSpanDuration, isErrorSeverity, isWarnSeverity, } from './types/otel';
|
|
27
|
+
export { groupSpansByTrace } from './utils/traceAggregation';
|
|
28
|
+
export { SpanMatcher } from './matchers/SpanMatcher';
|
|
29
|
+
export type { SpanMatchResult } from './matchers/SpanMatcher';
|
|
26
30
|
export { CanvasDiscovery } from './discovery/CanvasDiscovery';
|
|
27
31
|
export type { DiscoveredCanvas, DiscoveredTestTrace, DiscoveredWorkflow, DiscoveredStoryboard, CanvasDiscoveryResult, DiscoveryOptions, CanvasType, TestTraceType, DiscoveredCanvasWithContent, DiscoveredTestTraceWithContent, DiscoveredWorkflowWithContent, DiscoveredStoryboardWithContent, CanvasDiscoveryResultWithContent, } from './discovery/types';
|
|
28
32
|
export { ExecutionValidator, createExecutionValidator } from './execution/ExecutionValidator';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EACV,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGxF,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG5E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtF,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,12 @@ export { parseYaml, isYamlFile, getConfigNameFromFilename } from './utils/YamlPa
|
|
|
20
20
|
export { renderWorkflow } from './workflow/template-renderer';
|
|
21
21
|
export { parseTemplate, ParsedTemplate } from './workflow/template-parser';
|
|
22
22
|
export { selectScenario, matchesCondition, hasEventMatching, computeAggregates, evaluateAssertion, getNestedValue, setNestedValue, } from './workflow/scenario-matcher';
|
|
23
|
+
// Export OTEL helper functions
|
|
24
|
+
export { getAttributeStringValue, findAttribute, getAttributeValue, flattenResourceAttributes, parseNanoTime, getSpanDuration, isErrorSeverity, isWarnSeverity, } from './types/otel';
|
|
25
|
+
// Export trace aggregation utilities
|
|
26
|
+
export { groupSpansByTrace } from './utils/traceAggregation';
|
|
27
|
+
// Export span matcher
|
|
28
|
+
export { SpanMatcher } from './matchers/SpanMatcher';
|
|
23
29
|
// Export canvas, workflow, and test trace discovery (browser-safe)
|
|
24
30
|
export { CanvasDiscovery } from './discovery/CanvasDiscovery';
|
|
25
31
|
// Export execution validation (browser-safe - no Node.js dependencies)
|
|
@@ -44,13 +50,14 @@ export { InMemoryFileSystemAdapter } from '@principal-ai/repository-abstraction'
|
|
|
44
50
|
// - GraphInstrumentationHelper (Node.js utilities)
|
|
45
51
|
// - PathMatcher, GraphConverter (Node.js utilities)
|
|
46
52
|
// - EventValidator, createValidatedEmitter (Node.js telemetry)
|
|
47
|
-
// - buildFileTreeFromDirectory, createNodeFileReader (Node.js file system utilities for building FileTree)
|
|
48
53
|
// - generateTypes, TypeScriptGenerator, generatorRegistry (code generation - file system)
|
|
49
54
|
// - traceToCanvas, traceToCanvasJson (trace utilities)
|
|
50
55
|
// - Rules engine (OpenTelemetry dependencies)
|
|
51
56
|
// - NarrativeValidator, createNarrativeValidator (Node.js validator)
|
|
52
57
|
// - ExecutionLoader, createExecutionLoader (file system loader)
|
|
53
58
|
//
|
|
54
|
-
//
|
|
55
|
-
// import {
|
|
59
|
+
// For building FileTree from filesystem, use FilesystemService from @principal-ai/codebase-composition:
|
|
60
|
+
// import { FilesystemService, NodeFileSystemAdapter } from '@principal-ai/codebase-composition/node';
|
|
61
|
+
// const service = new FilesystemService(new NodeFileSystemAdapter());
|
|
62
|
+
// const fileTree = await service.buildFileSystemTreeFromPath(rootDir);
|
|
56
63
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;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,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;
|
|
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,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AA+CrC,+BAA+B;AAC/B,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,mEAAmE;AACnE,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;AAY5D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GACd,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,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,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpanMatcher
|
|
3
|
+
*
|
|
4
|
+
* Efficiently matches incoming OTEL spans to canvas nodes based on
|
|
5
|
+
* declarative matching criteria defined in node metadata.
|
|
6
|
+
*
|
|
7
|
+
* Implements the OTEL Span Matching specification from:
|
|
8
|
+
* .principal-views/OTEL-SPAN-MATCHING.md
|
|
9
|
+
*/
|
|
10
|
+
import type { ExtendedCanvas } from '../types/canvas';
|
|
11
|
+
import type { OtelSpanData, OtelResourceData } from '../types/otel';
|
|
12
|
+
/**
|
|
13
|
+
* Match result containing matched node IDs and metadata
|
|
14
|
+
*/
|
|
15
|
+
export interface SpanMatchResult {
|
|
16
|
+
/** IDs of nodes that matched this span */
|
|
17
|
+
matchedNodeIds: string[];
|
|
18
|
+
/** Timestamp extracted from span (milliseconds since epoch) */
|
|
19
|
+
timestamp: number;
|
|
20
|
+
/** Span duration in milliseconds */
|
|
21
|
+
duration: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* SpanMatcher
|
|
25
|
+
*
|
|
26
|
+
* Efficiently matches incoming OTEL spans to canvas nodes based on
|
|
27
|
+
* declarative matching criteria defined in node metadata.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const canvas = loadCanvas('checkout-flow.otel.canvas.json');
|
|
32
|
+
* const matcher = new SpanMatcher(canvas);
|
|
33
|
+
*
|
|
34
|
+
* // Later, when spans arrive:
|
|
35
|
+
* const result = matcher.matchSpan(span, resource);
|
|
36
|
+
* if (result.matchedNodeIds.length > 0) {
|
|
37
|
+
* console.log('Matched nodes:', result.matchedNodeIds);
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class SpanMatcher {
|
|
42
|
+
private rules;
|
|
43
|
+
/**
|
|
44
|
+
* Create a new SpanMatcher for a canvas
|
|
45
|
+
*
|
|
46
|
+
* @param canvas Canvas with nodes containing OTEL matching criteria
|
|
47
|
+
*/
|
|
48
|
+
constructor(canvas: ExtendedCanvas);
|
|
49
|
+
/**
|
|
50
|
+
* Pre-compile matching rules from canvas nodes
|
|
51
|
+
*
|
|
52
|
+
* This is done once at initialization for performance.
|
|
53
|
+
*/
|
|
54
|
+
private compileRules;
|
|
55
|
+
/**
|
|
56
|
+
* Compile resource attribute matcher
|
|
57
|
+
*/
|
|
58
|
+
private compileResourceMatcher;
|
|
59
|
+
/**
|
|
60
|
+
* Compile span name matcher
|
|
61
|
+
*/
|
|
62
|
+
private compileSpanNameMatcher;
|
|
63
|
+
/**
|
|
64
|
+
* Compile span kind matcher
|
|
65
|
+
*/
|
|
66
|
+
private compileSpanKindMatcher;
|
|
67
|
+
/**
|
|
68
|
+
* Convert string span kind to ESpanKind number
|
|
69
|
+
*/
|
|
70
|
+
private spanKindToNumber;
|
|
71
|
+
/**
|
|
72
|
+
* Compile span attributes matcher
|
|
73
|
+
*/
|
|
74
|
+
private compileSpanAttributesMatcher;
|
|
75
|
+
/**
|
|
76
|
+
* Compile span event matcher
|
|
77
|
+
*/
|
|
78
|
+
private compileSpanEventMatcher;
|
|
79
|
+
/**
|
|
80
|
+
* Match a value against a pattern
|
|
81
|
+
*
|
|
82
|
+
* Supports:
|
|
83
|
+
* - Wildcard: "*" matches anything
|
|
84
|
+
* - Glob patterns: "GET /api/*" matches "GET /api/users"
|
|
85
|
+
* - Exact match: "validateUser" matches only "validateUser"
|
|
86
|
+
*/
|
|
87
|
+
private matchPattern;
|
|
88
|
+
/**
|
|
89
|
+
* Match a span against all canvas nodes
|
|
90
|
+
*
|
|
91
|
+
* @param span OTEL span to match
|
|
92
|
+
* @param resource OTEL resource associated with the span
|
|
93
|
+
* @returns Match result with matched node IDs and metadata
|
|
94
|
+
*/
|
|
95
|
+
matchSpan(span: OtelSpanData, resource: OtelResourceData): SpanMatchResult;
|
|
96
|
+
/**
|
|
97
|
+
* Get statistics about the compiled rules
|
|
98
|
+
*
|
|
99
|
+
* Useful for debugging and performance analysis.
|
|
100
|
+
*/
|
|
101
|
+
getStats(): {
|
|
102
|
+
totalRules: number;
|
|
103
|
+
rulesWithResourceMatch: number;
|
|
104
|
+
rulesWithSpanMatch: number;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=SpanMatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpanMatcher.d.ts","sourceRoot":"","sources":["../../src/matchers/SpanMatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA2BpE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA2B;IAExC;;;;OAIG;gBACS,MAAM,EAAE,cAAc;IAIlC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAqEpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoBpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiD/B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAmBpB;;;;;;OAMG;IACI,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,eAAe;IA0BjF;;;;OAIG;IACI,QAAQ,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,MAAM,CAAC;KAC5B;CAOF"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpanMatcher
|
|
3
|
+
*
|
|
4
|
+
* Efficiently matches incoming OTEL spans to canvas nodes based on
|
|
5
|
+
* declarative matching criteria defined in node metadata.
|
|
6
|
+
*
|
|
7
|
+
* Implements the OTEL Span Matching specification from:
|
|
8
|
+
* .principal-views/OTEL-SPAN-MATCHING.md
|
|
9
|
+
*/
|
|
10
|
+
import { getAttributeValue, flattenResourceAttributes, parseNanoTime, getSpanDuration, } from '../types/otel';
|
|
11
|
+
/**
|
|
12
|
+
* SpanMatcher
|
|
13
|
+
*
|
|
14
|
+
* Efficiently matches incoming OTEL spans to canvas nodes based on
|
|
15
|
+
* declarative matching criteria defined in node metadata.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const canvas = loadCanvas('checkout-flow.otel.canvas.json');
|
|
20
|
+
* const matcher = new SpanMatcher(canvas);
|
|
21
|
+
*
|
|
22
|
+
* // Later, when spans arrive:
|
|
23
|
+
* const result = matcher.matchSpan(span, resource);
|
|
24
|
+
* if (result.matchedNodeIds.length > 0) {
|
|
25
|
+
* console.log('Matched nodes:', result.matchedNodeIds);
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class SpanMatcher {
|
|
30
|
+
/**
|
|
31
|
+
* Create a new SpanMatcher for a canvas
|
|
32
|
+
*
|
|
33
|
+
* @param canvas Canvas with nodes containing OTEL matching criteria
|
|
34
|
+
*/
|
|
35
|
+
constructor(canvas) {
|
|
36
|
+
this.rules = [];
|
|
37
|
+
this.rules = this.compileRules(canvas);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Pre-compile matching rules from canvas nodes
|
|
41
|
+
*
|
|
42
|
+
* This is done once at initialization for performance.
|
|
43
|
+
*/
|
|
44
|
+
compileRules(canvas) {
|
|
45
|
+
const rules = [];
|
|
46
|
+
if (!canvas.nodes)
|
|
47
|
+
return rules;
|
|
48
|
+
for (const node of canvas.nodes) {
|
|
49
|
+
if (!node.pv?.otel)
|
|
50
|
+
continue;
|
|
51
|
+
const otel = node.pv.otel;
|
|
52
|
+
const rule = {
|
|
53
|
+
nodeId: node.id,
|
|
54
|
+
resourceMatchers: [],
|
|
55
|
+
spanMatchers: () => true, // Default: match all spans (will be overridden if spanMatch is specified)
|
|
56
|
+
};
|
|
57
|
+
// Compile resource matchers
|
|
58
|
+
if (otel.resourceMatch) {
|
|
59
|
+
rule.resourceMatchers.push(this.compileResourceMatcher(otel.resourceMatch));
|
|
60
|
+
}
|
|
61
|
+
// Compile span matchers
|
|
62
|
+
if (otel.spanMatch) {
|
|
63
|
+
const spanMatcherFns = [];
|
|
64
|
+
// Span name matcher
|
|
65
|
+
if (otel.spanMatch.name) {
|
|
66
|
+
spanMatcherFns.push(this.compileSpanNameMatcher(otel.spanMatch.name));
|
|
67
|
+
}
|
|
68
|
+
// Span kind matcher
|
|
69
|
+
if (otel.spanMatch.kind) {
|
|
70
|
+
spanMatcherFns.push(this.compileSpanKindMatcher(otel.spanMatch.kind));
|
|
71
|
+
}
|
|
72
|
+
// Span attributes matcher
|
|
73
|
+
if (otel.spanMatch.attributes) {
|
|
74
|
+
spanMatcherFns.push(this.compileSpanAttributesMatcher(otel.spanMatch.attributes));
|
|
75
|
+
}
|
|
76
|
+
// Span event matcher
|
|
77
|
+
if (otel.spanMatch.event) {
|
|
78
|
+
spanMatcherFns.push(this.compileSpanEventMatcher(otel.spanMatch.event));
|
|
79
|
+
}
|
|
80
|
+
// Combine all span matchers with AND logic
|
|
81
|
+
rule.spanMatchers = (span) => {
|
|
82
|
+
return spanMatcherFns.every((matcher) => matcher(span));
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// Only add rule if it has at least one matcher
|
|
86
|
+
if (rule.resourceMatchers.length > 0 || rule.spanMatchers.length > 0) {
|
|
87
|
+
rules.push(rule);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return rules;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Compile resource attribute matcher
|
|
94
|
+
*/
|
|
95
|
+
compileResourceMatcher(resourceMatch) {
|
|
96
|
+
return (resourceAttrs) => {
|
|
97
|
+
// All specified attributes must match (AND logic)
|
|
98
|
+
return Object.entries(resourceMatch).every(([key, pattern]) => {
|
|
99
|
+
const value = resourceAttrs[key];
|
|
100
|
+
if (!value)
|
|
101
|
+
return false;
|
|
102
|
+
if (Array.isArray(pattern)) {
|
|
103
|
+
// Match any of the patterns (OR within the array)
|
|
104
|
+
return pattern.some((p) => this.matchPattern(value, p));
|
|
105
|
+
}
|
|
106
|
+
return this.matchPattern(value, pattern);
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Compile span name matcher
|
|
112
|
+
*/
|
|
113
|
+
compileSpanNameMatcher(namePattern) {
|
|
114
|
+
const patterns = Array.isArray(namePattern) ? namePattern : [namePattern];
|
|
115
|
+
return (span) => {
|
|
116
|
+
return patterns.some((pattern) => this.matchPattern(span.name, pattern));
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Compile span kind matcher
|
|
121
|
+
*/
|
|
122
|
+
compileSpanKindMatcher(kindPattern) {
|
|
123
|
+
const kindStrings = Array.isArray(kindPattern) ? kindPattern : [kindPattern];
|
|
124
|
+
// Convert string span kinds to numeric ESpanKind values
|
|
125
|
+
const kinds = kindStrings.map((k) => this.spanKindToNumber(k));
|
|
126
|
+
return (span) => {
|
|
127
|
+
return kinds.includes(span.kind);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Convert string span kind to ESpanKind number
|
|
132
|
+
*/
|
|
133
|
+
spanKindToNumber(kind) {
|
|
134
|
+
const kindMap = {
|
|
135
|
+
'SPAN_KIND_UNSPECIFIED': 0,
|
|
136
|
+
'SPAN_KIND_INTERNAL': 1,
|
|
137
|
+
'SPAN_KIND_SERVER': 2,
|
|
138
|
+
'SPAN_KIND_CLIENT': 3,
|
|
139
|
+
'SPAN_KIND_PRODUCER': 4,
|
|
140
|
+
'SPAN_KIND_CONSUMER': 5,
|
|
141
|
+
};
|
|
142
|
+
return kindMap[kind] ?? 0;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Compile span attributes matcher
|
|
146
|
+
*/
|
|
147
|
+
compileSpanAttributesMatcher(attributesMatch) {
|
|
148
|
+
return (span) => {
|
|
149
|
+
// All specified attributes must match (AND logic)
|
|
150
|
+
return Object.entries(attributesMatch).every(([key, pattern]) => {
|
|
151
|
+
const value = getAttributeValue(span.attributes, key);
|
|
152
|
+
if (value === undefined)
|
|
153
|
+
return false;
|
|
154
|
+
const valueStr = String(value);
|
|
155
|
+
if (Array.isArray(pattern)) {
|
|
156
|
+
return pattern.some((p) => this.matchPattern(valueStr, p));
|
|
157
|
+
}
|
|
158
|
+
return this.matchPattern(valueStr, pattern);
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Compile span event matcher
|
|
164
|
+
*/
|
|
165
|
+
compileSpanEventMatcher(eventMatch) {
|
|
166
|
+
return (span) => {
|
|
167
|
+
if (!span.events || span.events.length === 0)
|
|
168
|
+
return false;
|
|
169
|
+
// At least one event must match
|
|
170
|
+
return span.events.some((event) => {
|
|
171
|
+
// Match event name if specified
|
|
172
|
+
if (eventMatch.name) {
|
|
173
|
+
const namePatterns = Array.isArray(eventMatch.name)
|
|
174
|
+
? eventMatch.name
|
|
175
|
+
: [eventMatch.name];
|
|
176
|
+
const nameMatches = namePatterns.some((pattern) => this.matchPattern(event.name, pattern));
|
|
177
|
+
if (!nameMatches)
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
// Match event attributes if specified
|
|
181
|
+
if (eventMatch.attributes) {
|
|
182
|
+
const attrsMatch = Object.entries(eventMatch.attributes).every(([key, pattern]) => {
|
|
183
|
+
const value = getAttributeValue(event.attributes, key);
|
|
184
|
+
if (value === undefined)
|
|
185
|
+
return false;
|
|
186
|
+
const valueStr = String(value);
|
|
187
|
+
if (Array.isArray(pattern)) {
|
|
188
|
+
return pattern.some((p) => this.matchPattern(valueStr, p));
|
|
189
|
+
}
|
|
190
|
+
return this.matchPattern(valueStr, pattern);
|
|
191
|
+
});
|
|
192
|
+
if (!attrsMatch)
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
return true;
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Match a value against a pattern
|
|
201
|
+
*
|
|
202
|
+
* Supports:
|
|
203
|
+
* - Wildcard: "*" matches anything
|
|
204
|
+
* - Glob patterns: "GET /api/*" matches "GET /api/users"
|
|
205
|
+
* - Exact match: "validateUser" matches only "validateUser"
|
|
206
|
+
*/
|
|
207
|
+
matchPattern(value, pattern) {
|
|
208
|
+
// Wildcard matches everything
|
|
209
|
+
if (pattern === '*')
|
|
210
|
+
return true;
|
|
211
|
+
// Exact match (fast path)
|
|
212
|
+
if (!pattern.includes('*')) {
|
|
213
|
+
return value === pattern;
|
|
214
|
+
}
|
|
215
|
+
// Glob pattern matching
|
|
216
|
+
// Convert glob pattern to regex
|
|
217
|
+
const regexPattern = pattern
|
|
218
|
+
.replace(/[.+?^${}()|[\]\\]/g, '\\$&') // Escape regex special chars
|
|
219
|
+
.replace(/\*/g, '.*'); // Convert * to .*
|
|
220
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
221
|
+
return regex.test(value);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Match a span against all canvas nodes
|
|
225
|
+
*
|
|
226
|
+
* @param span OTEL span to match
|
|
227
|
+
* @param resource OTEL resource associated with the span
|
|
228
|
+
* @returns Match result with matched node IDs and metadata
|
|
229
|
+
*/
|
|
230
|
+
matchSpan(span, resource) {
|
|
231
|
+
const matchedNodeIds = [];
|
|
232
|
+
const resourceAttrs = flattenResourceAttributes(resource);
|
|
233
|
+
for (const rule of this.rules) {
|
|
234
|
+
// Check if all resource matchers pass
|
|
235
|
+
const resourceMatch = rule.resourceMatchers.every((matcher) => matcher(resourceAttrs));
|
|
236
|
+
// Check if span matchers pass
|
|
237
|
+
const spanMatch = rule.spanMatchers(span);
|
|
238
|
+
// Node matches if both resource AND span criteria match
|
|
239
|
+
if (resourceMatch && spanMatch) {
|
|
240
|
+
matchedNodeIds.push(rule.nodeId);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return {
|
|
244
|
+
matchedNodeIds,
|
|
245
|
+
timestamp: parseNanoTime(span.startTimeUnixNano),
|
|
246
|
+
duration: getSpanDuration(span),
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get statistics about the compiled rules
|
|
251
|
+
*
|
|
252
|
+
* Useful for debugging and performance analysis.
|
|
253
|
+
*/
|
|
254
|
+
getStats() {
|
|
255
|
+
return {
|
|
256
|
+
totalRules: this.rules.length,
|
|
257
|
+
rulesWithResourceMatch: this.rules.filter((r) => r.resourceMatchers.length > 0).length,
|
|
258
|
+
rulesWithSpanMatch: this.rules.filter((r) => r.spanMatchers.length > 0).length,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=SpanMatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpanMatcher.js","sourceRoot":"","sources":["../../src/matchers/SpanMatcher.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts
CHANGED
|
@@ -27,7 +27,6 @@ export { EventValidator, createValidatedEmitter, EventValidationError } from './
|
|
|
27
27
|
export type { ValidationResult } from './telemetry/event-validator';
|
|
28
28
|
export { analyzeCoverage } from './telemetry/coverage';
|
|
29
29
|
export type { CoverageMetrics, NodeCoverage } from './telemetry/coverage';
|
|
30
|
-
export { buildFileTreeFromDirectory, createNodeFileReader } from './utils/FileTreeBuilder';
|
|
31
30
|
export { generateTypes, TypeScriptGenerator, generatorRegistry } from './codegen/type-generator';
|
|
32
31
|
export type { CodegenOptions, CodegenResult, CodeGenerator } from './codegen/type-generator';
|
|
33
32
|
export { traceToCanvas, traceToCanvasJson } from './utils/TraceToCanvas';
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG7F,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EACV,SAAS,EACT,WAAW,EACX,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtF,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAGjF,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,YAAY,EACV,aAAa,EACb,eAAe,EACf,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACrF,YAAY,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,6BAA6B,CAAC"}
|
package/dist/node.js
CHANGED
|
@@ -29,8 +29,6 @@ export { CanvasConverter } from './utils/CanvasConverter';
|
|
|
29
29
|
export { EventValidator, createValidatedEmitter, EventValidationError } from './telemetry/event-validator';
|
|
30
30
|
// Export telemetry coverage analysis (re-exported from main for convenience)
|
|
31
31
|
export { analyzeCoverage } from './telemetry/coverage';
|
|
32
|
-
// Export FileTree builder utilities (Node.js only - file system operations)
|
|
33
|
-
export { buildFileTreeFromDirectory, createNodeFileReader } from './utils/FileTreeBuilder';
|
|
34
32
|
// Export code generation (Node.js only - file system operations)
|
|
35
33
|
export { generateTypes, TypeScriptGenerator, generatorRegistry } from './codegen/type-generator';
|
|
36
34
|
// Export trace-to-canvas conversion
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8CAA8C;AAC9C,cAAc,SAAS,CAAC;AAExB,2CAA2C;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE,iBAAiB;AACjB,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,iDAAiD;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,oCAAoC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,oCAAoC;AACpC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAG3G,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8CAA8C;AAC9C,cAAc,SAAS,CAAC;AAExB,2CAA2C;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE,iBAAiB;AACjB,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,iDAAiD;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,oCAAoC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,oCAAoC;AACpC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAG3G,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,iEAAiE;AACjE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGjG,oCAAoC;AACpC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQzE,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,gCAAgC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAqB9D,4DAA4D;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGtF,gEAAgE;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,kEAAkE;AAClE,cAAc,SAAS,CAAC;AAExB,4EAA4E;AAC5E,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAuBpB,oDAAoD;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAa9D,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAO9F,wDAAwD;AACxD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -31,10 +31,13 @@ export interface CoverageMetrics {
|
|
|
31
31
|
*
|
|
32
32
|
* @example
|
|
33
33
|
* ```typescript
|
|
34
|
-
* import {
|
|
34
|
+
* import { FilesystemService, NodeFileSystemAdapter } from '@principal-ai/codebase-composition/node';
|
|
35
|
+
* import { readFile } from 'fs/promises';
|
|
36
|
+
* import { resolve } from 'path';
|
|
35
37
|
*
|
|
36
|
-
* const
|
|
37
|
-
* const
|
|
38
|
+
* const service = new FilesystemService(new NodeFileSystemAdapter());
|
|
39
|
+
* const fileTree = await service.buildFileSystemTreeFromPath('/path/to/project');
|
|
40
|
+
* const fileReader = async (path: string) => readFile(resolve('/path/to/project', path), 'utf-8');
|
|
38
41
|
* const metrics = await analyzeCoverage(fileTree, fileReader);
|
|
39
42
|
* ```
|
|
40
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/telemetry/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAKrE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA2ED
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/telemetry/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAKrE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA2ED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5C,OAAO,CAAC,eAAe,CAAC,CAwC1B"}
|
|
@@ -76,10 +76,13 @@ async function analyzeNodeCoverage(node, fileReader) {
|
|
|
76
76
|
*
|
|
77
77
|
* @example
|
|
78
78
|
* ```typescript
|
|
79
|
-
* import {
|
|
79
|
+
* import { FilesystemService, NodeFileSystemAdapter } from '@principal-ai/codebase-composition/node';
|
|
80
|
+
* import { readFile } from 'fs/promises';
|
|
81
|
+
* import { resolve } from 'path';
|
|
80
82
|
*
|
|
81
|
-
* const
|
|
82
|
-
* const
|
|
83
|
+
* const service = new FilesystemService(new NodeFileSystemAdapter());
|
|
84
|
+
* const fileTree = await service.buildFileSystemTreeFromPath('/path/to/project');
|
|
85
|
+
* const fileReader = async (path: string) => readFile(resolve('/path/to/project', path), 'utf-8');
|
|
83
86
|
* const metrics = await analyzeCoverage(fileTree, fileReader);
|
|
84
87
|
* ```
|
|
85
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/telemetry/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAqB/D;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAwB;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KAChC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,UAA6C;IAE7C,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE3C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,aAAa,IAAI,SAAS,IAAI,WAAW,CAAC;KAClD;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAChC,IAAwB,EACxB,UAA6C;IAE7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;QAC5B,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChE,IAAI,YAAY,EAAE;gBAChB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;QAAC,MAAM;YACN,sCAAsC;YACtC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;KACF;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,SAAS;QACT,kBAAkB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAChD,iBAAiB;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/telemetry/coverage.ts"],"names":[],"mappings":"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"}
|