@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.
Files changed (47) hide show
  1. package/dist/index.d.ts +5 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +10 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/matchers/SpanMatcher.d.ts +107 -0
  6. package/dist/matchers/SpanMatcher.d.ts.map +1 -0
  7. package/dist/matchers/SpanMatcher.js +262 -0
  8. package/dist/matchers/SpanMatcher.js.map +1 -0
  9. package/dist/node.d.ts +0 -1
  10. package/dist/node.d.ts.map +1 -1
  11. package/dist/node.js +0 -2
  12. package/dist/node.js.map +1 -1
  13. package/dist/telemetry/coverage.d.ts +6 -3
  14. package/dist/telemetry/coverage.d.ts.map +1 -1
  15. package/dist/telemetry/coverage.js +6 -3
  16. package/dist/telemetry/coverage.js.map +1 -1
  17. package/dist/types/canvas.d.ts +104 -3
  18. package/dist/types/canvas.d.ts.map +1 -1
  19. package/dist/types/canvas.js.map +1 -1
  20. package/dist/types/library.d.ts +25 -0
  21. package/dist/types/library.d.ts.map +1 -1
  22. package/dist/types/otel.d.ts +273 -6
  23. package/dist/types/otel.d.ts.map +1 -1
  24. package/dist/types/otel.js +123 -3
  25. package/dist/types/otel.js.map +1 -1
  26. package/dist/utils/traceAggregation.d.ts +25 -0
  27. package/dist/utils/traceAggregation.d.ts.map +1 -0
  28. package/dist/utils/traceAggregation.js +136 -0
  29. package/dist/utils/traceAggregation.js.map +1 -0
  30. package/package.json +1 -1
  31. package/src/discovery/CanvasDiscovery.test.ts +2 -2
  32. package/src/index.ts +40 -6
  33. package/src/matchers/SpanMatcher.test.ts +1105 -0
  34. package/src/matchers/SpanMatcher.ts +372 -0
  35. package/src/node.ts +0 -3
  36. package/src/telemetry/coverage.ts +6 -3
  37. package/src/types/canvas.ts +112 -3
  38. package/src/types/library.ts +26 -0
  39. package/src/types/otel.test.ts +219 -0
  40. package/src/types/otel.ts +346 -6
  41. package/src/utils/traceAggregation.test.ts +385 -0
  42. package/src/utils/traceAggregation.ts +174 -0
  43. package/dist/utils/FileTreeBuilder.d.ts +0 -38
  44. package/dist/utils/FileTreeBuilder.d.ts.map +0 -1
  45. package/dist/utils/FileTreeBuilder.js +0 -56
  46. package/dist/utils/FileTreeBuilder.js.map +0 -1
  47. 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, OtelSpanKind, OtelSpanStatus, } from './types/otel';
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';
@@ -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
@@ -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
- // Example:
55
- // import { buildFileTreeFromDirectory, createNodeFileReader, NarrativeValidator } from '@principal-ai/principal-view-core/node';
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;AAiCrC,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,2GAA2G;AAC3G,0FAA0F;AAC1F,uDAAuD;AACvD,8CAA8C;AAC9C,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,WAAW;AACX,iIAAiI"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,mFAAmF;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,oCAAoC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGtF,iDAAiD;AACjD,mEAAmE;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,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';
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
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,4EAA4E;AAC5E,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,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"}
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 { buildFileTreeFromDirectory, createNodeFileReader } from '@principal-ai/principal-view-core/node';
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 fileTree = await buildFileTreeFromDirectory('/path/to/project');
37
- * const fileReader = createNodeFileReader('/path/to/project');
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;;;;;;;;;;;;;;;GAeG;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"}
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 { buildFileTreeFromDirectory, createNodeFileReader } from '@principal-ai/principal-view-core/node';
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 fileTree = await buildFileTreeFromDirectory('/path/to/project');
82
- * const fileReader = createNodeFileReader('/path/to/project');
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":"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"}
1
+ {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/telemetry/coverage.ts"],"names":[],"mappings":"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"}