@principal-ai/principal-view-core 0.24.84 → 0.24.86

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.
@@ -67,6 +67,7 @@ export declare class ScopesCanvasValidator {
67
67
  validate(context: ScopesCanvasValidationContext): Promise<ScopesCanvasValidationResult>;
68
68
  /**
69
69
  * Extract scope information from canvas nodes
70
+ * Supports both legacy (pv.otel.scope) and new (otel-scope type) formats
70
71
  */
71
72
  private extractScopesFromCanvas;
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScopesCanvasValidator.d.ts","sourceRoot":"","sources":["../../src/scopes/ScopesCanvasValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mCAAmC;IACnC,YAAY,CAAC,EAAE,cAAc,CAAC;IAE9B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAE3B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IAEf,+BAA+B;IAC/B,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAEpC,iCAAiC;IACjC,QAAQ,EAAE;QACR,2CAA2C;QAC3C,gBAAgB,EAAE,MAAM,CAAC;QACzB,kCAAkC;QAClC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,iCAAiC;QACjC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,+CAA+C;QAC/C,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC;IA2I7F;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAkBhC"}
1
+ {"version":3,"file":"ScopesCanvasValidator.d.ts","sourceRoot":"","sources":["../../src/scopes/ScopesCanvasValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAsD,MAAM,iBAAiB,CAAC;AAG1G;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mCAAmC;IACnC,YAAY,CAAC,EAAE,cAAc,CAAC;IAE9B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAE3B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IAEf,+BAA+B;IAC/B,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAEpC,iCAAiC;IACjC,QAAQ,EAAE;QACR,2CAA2C;QAC3C,gBAAgB,EAAE,MAAM,CAAC;QACzB,kCAAkC;QAClC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,iCAAiC;QACjC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,+CAA+C;QAC/C,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC;IA6J7F;;;OAGG;IACH,OAAO,CAAC,uBAAuB;CAkChC"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ScopesCanvasValidator = void 0;
10
+ const canvas_1 = require("../types/canvas");
10
11
  /**
11
12
  * Validates scopes canvas files
12
13
  */
@@ -31,7 +32,7 @@ class ScopesCanvasValidator {
31
32
  impact: 'Cannot visualize or validate instrumentation scope boundaries',
32
33
  suggestion: `Create a scopes canvas at .principal-views/architecture.scopes.canvas with nodes for each scope:\n` +
33
34
  ownedScopes.map(s => ` - ${s}`).join('\n') +
34
- '\n\nEach node should have pv.nodeType: "scope" and pv.otel.scope set to the scope name.',
35
+ '\n\nUse type: "otel-scope" with otel.scope set to the scope name, or legacy format with pv.nodeType: "scope".',
35
36
  });
36
37
  return {
37
38
  valid: false,
@@ -85,7 +86,7 @@ class ScopesCanvasValidator {
85
86
  message: `Scopes canvas is missing ${missingScopes.length} scope(s) from library.yaml`,
86
87
  impact: 'These scopes are not documented in the scope boundary map',
87
88
  suggestion: `Add nodes for the following scopes:\n` +
88
- missingScopes.map(s => ` - ${s}: Add a node with pv.otel.scope: "${s}"`).join('\n'),
89
+ missingScopes.map(s => ` - ${s}: Add type: "otel-scope" node with otel.scope: "${s}"`).join('\n'),
89
90
  });
90
91
  }
91
92
  // Report extra scopes (warning, not error)
@@ -102,30 +103,49 @@ class ScopesCanvasValidator {
102
103
  });
103
104
  }
104
105
  // Validate scope nodes have required fields
105
- for (const { scope, nodeId, node } of canvasScopes) {
106
- // Check for description
107
- if (!node.pv?.description) {
108
- violations.push({
109
- ruleId: 'scopes-canvas-node-description',
110
- severity: 'warn',
111
- file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
112
- path: `nodes[${nodeId}]`,
113
- message: `Scope node "${scope}" is missing a description`,
114
- impact: 'Scope documentation is incomplete without a description',
115
- suggestion: `Add pv.description to explain what this scope covers`,
116
- });
106
+ for (const { scope, nodeId, node, isNewFormat } of canvasScopes) {
107
+ if (isNewFormat) {
108
+ // New format: type === 'otel-scope' with top-level description
109
+ const otelScopeNode = node;
110
+ if (!otelScopeNode.description) {
111
+ violations.push({
112
+ ruleId: 'scopes-canvas-node-description',
113
+ severity: 'warn',
114
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
115
+ path: `nodes[${nodeId}]`,
116
+ message: `Scope node "${scope}" is missing a description`,
117
+ impact: 'Scope documentation is incomplete without a description',
118
+ suggestion: `Add a description field to explain what this scope covers`,
119
+ });
120
+ }
121
+ // No nodeType check needed - type === 'otel-scope' is already correct
117
122
  }
118
- // Check for nodeType
119
- if (node.pv?.nodeType !== 'scope') {
120
- violations.push({
121
- ruleId: 'scopes-canvas-node-type',
122
- severity: 'warn',
123
- file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
124
- path: `nodes[${nodeId}]`,
125
- message: `Scope node "${scope}" should have nodeType: "scope"`,
126
- impact: 'Node may not be recognized as a scope node',
127
- suggestion: `Add pv.nodeType: "scope" to this node`,
128
- });
123
+ else {
124
+ // Legacy format: pv.otel.scope with pv.description and pv.nodeType
125
+ // Check for description
126
+ if (!node.pv?.description) {
127
+ violations.push({
128
+ ruleId: 'scopes-canvas-node-description',
129
+ severity: 'warn',
130
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
131
+ path: `nodes[${nodeId}]`,
132
+ message: `Scope node "${scope}" is missing a description`,
133
+ impact: 'Scope documentation is incomplete without a description',
134
+ suggestion: `Add pv.description to explain what this scope covers`,
135
+ });
136
+ }
137
+ // Check for nodeType
138
+ if (node.pv?.nodeType !== 'scope') {
139
+ violations.push({
140
+ ruleId: 'scopes-canvas-node-type',
141
+ severity: 'warn',
142
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
143
+ path: `nodes[${nodeId}]`,
144
+ message: `Scope node "${scope}" should have nodeType: "scope"`,
145
+ impact: 'Node may not be recognized as a scope node',
146
+ suggestion: `Add pv.nodeType: "scope" to this node`,
147
+ });
148
+ }
129
149
  }
130
150
  }
131
151
  const errors = violations.filter(v => v.severity === 'error');
@@ -142,16 +162,32 @@ class ScopesCanvasValidator {
142
162
  }
143
163
  /**
144
164
  * Extract scope information from canvas nodes
165
+ * Supports both legacy (pv.otel.scope) and new (otel-scope type) formats
145
166
  */
146
167
  extractScopesFromCanvas(canvas) {
147
168
  const scopes = [];
148
169
  for (const node of canvas.nodes || []) {
149
- const scope = node.pv?.otel?.scope;
150
- if (scope && typeof scope === 'string') {
170
+ // Check new format first: type === 'otel-scope' with otel.scope
171
+ if ((0, canvas_1.isOtelScopeNode)(node)) {
172
+ const scope = node.otel?.scope;
173
+ if (scope && typeof scope === 'string') {
174
+ scopes.push({
175
+ scope,
176
+ nodeId: node.id,
177
+ node: node,
178
+ isNewFormat: true,
179
+ });
180
+ continue;
181
+ }
182
+ }
183
+ // Legacy format: pv.otel.scope
184
+ const legacyScope = node.pv?.otel?.scope;
185
+ if (legacyScope && typeof legacyScope === 'string') {
151
186
  scopes.push({
152
- scope,
187
+ scope: legacyScope,
153
188
  nodeId: node.id,
154
189
  node: node,
190
+ isNewFormat: false,
155
191
  });
156
192
  }
157
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScopesCanvasValidator.js","sourceRoot":"","sources":["../../src/scopes/ScopesCanvasValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScopesCanvasValidator.js","sourceRoot":"","sources":["../../src/scopes/ScopesCanvasValidator.ts"],"names":[],"mappings":"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"}
@@ -795,9 +795,143 @@ export interface ExtendedCanvasGroupNode extends CanvasGroupNode {
795
795
  pv?: PVNodeExtension;
796
796
  }
797
797
  /**
798
- * Union of all extended node types
798
+ * Base interface for all OTEL node types
799
+ *
800
+ * These are custom node types that extend JSON Canvas for OpenTelemetry concepts.
801
+ * Standard canvas tools will not recognize these types.
802
+ */
803
+ export interface OtelNodeBase extends CanvasNodeBase {
804
+ /** Display label shown on canvas node (required) */
805
+ label: string;
806
+ /** Icon identifier (Lucide icons) */
807
+ icon?: string;
808
+ /** Fill color (hex string) */
809
+ fill?: string;
810
+ /** Stroke/border color (hex string) */
811
+ stroke?: string;
812
+ /** Visual shape */
813
+ shape?: PVNodeShape;
814
+ /**
815
+ * Legacy PV extension field for backward compatibility during migration.
816
+ * New OTEL nodes should use top-level fields instead.
817
+ * @deprecated Use top-level fields (label, icon, etc.) instead
818
+ */
819
+ pv?: PVNodeExtension;
820
+ }
821
+ /**
822
+ * Shared OTEL instrumentation metadata
823
+ *
824
+ * Common fields for tracking implementation status and code location.
825
+ */
826
+ export interface OtelMetadata {
827
+ /** Implementation status */
828
+ status?: PVNodeStatus;
829
+ /** Instrumentation scope (maps to getTracer('scope-name')) */
830
+ scope?: string;
831
+ /** Files where this is instrumented */
832
+ files?: string[];
833
+ /**
834
+ * Origin of the code
835
+ * - 'internal': Code exists in this repository (default)
836
+ * - 'external': Code exists in external packages/libraries
837
+ */
838
+ origin?: 'internal' | 'external';
839
+ /** References/documentation for external code */
840
+ references?: string[];
841
+ }
842
+ /**
843
+ * OTEL Event Node
844
+ *
845
+ * Represents a telemetry event emitted during workflow execution.
846
+ * The event schema defines the structure of the telemetry data.
847
+ */
848
+ export interface OtelEventNode extends OtelNodeBase {
849
+ type: 'otel-event';
850
+ /** Inline event schema definition */
851
+ event?: PVEventSchema;
852
+ /** Reference to a library event schema */
853
+ eventRef?: string;
854
+ /** Data schema for typed fields in templates */
855
+ dataSchema?: Record<string, {
856
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
857
+ required?: boolean;
858
+ description?: string;
859
+ placeholder?: unknown;
860
+ }>;
861
+ /** OTEL instrumentation metadata */
862
+ otel?: OtelMetadata;
863
+ }
864
+ /**
865
+ * OTEL Span Convention Node
866
+ *
867
+ * Defines a span naming convention/pattern for consistent instrumentation.
799
868
  */
800
- export type ExtendedCanvasNode = ExtendedCanvasTextNode | ExtendedCanvasFileNode | ExtendedCanvasLinkNode | ExtendedCanvasGroupNode;
869
+ export interface OtelSpanConventionNode extends OtelNodeBase {
870
+ type: 'otel-span-convention';
871
+ /** Short description of this span convention */
872
+ description?: string;
873
+ /** OTEL metadata including span-specific fields */
874
+ otel: OtelMetadata & {
875
+ /** Span naming pattern (e.g., "validate.*", "http.request") */
876
+ spanPattern: string;
877
+ /** OTel SpanKind */
878
+ spanKind?: PVOtelSpanKind;
879
+ /** Span matching criteria for runtime correlation */
880
+ spanMatch?: PVOtelSpanMatch;
881
+ };
882
+ }
883
+ /**
884
+ * OTEL Scope Node
885
+ *
886
+ * Represents an instrumentation scope (tracer instance).
887
+ */
888
+ export interface OtelScopeNode extends OtelNodeBase {
889
+ type: 'otel-scope';
890
+ /** Short description of this instrumentation scope */
891
+ description?: string;
892
+ /** OTEL metadata - scope name is required */
893
+ otel: OtelMetadata & {
894
+ /** Scope name (required - maps to getTracer('scope-name')) */
895
+ scope: string;
896
+ };
897
+ }
898
+ /**
899
+ * OTEL Resource Node
900
+ *
901
+ * Represents a service or deployment resource identified by OTEL resource attributes.
902
+ */
903
+ export interface OtelResourceNode extends OtelNodeBase {
904
+ type: 'otel-resource';
905
+ /** Short description of this resource */
906
+ description?: string;
907
+ /** OTEL metadata including resource matching criteria */
908
+ otel: OtelMetadata & {
909
+ /** Resource attribute matching criteria */
910
+ resourceMatch: PVOtelResourceMatch;
911
+ };
912
+ }
913
+ /**
914
+ * OTEL Boundary Node
915
+ *
916
+ * Represents an interface point with an external system.
917
+ */
918
+ export interface OtelBoundaryNode extends OtelNodeBase {
919
+ type: 'otel-boundary';
920
+ /** Short description of this boundary */
921
+ description?: string;
922
+ /** OTEL instrumentation metadata */
923
+ otel?: OtelMetadata;
924
+ /** Boundary configuration (required) */
925
+ boundary: PVBoundaryExtension;
926
+ }
927
+ /**
928
+ * Union of all OTEL node types
929
+ */
930
+ export type OtelNode = OtelEventNode | OtelSpanConventionNode | OtelScopeNode | OtelResourceNode | OtelBoundaryNode;
931
+ /**
932
+ * Union of all extended node types (JSON Canvas + OTEL extensions)
933
+ */
934
+ export type ExtendedCanvasNode = ExtendedCanvasTextNode | ExtendedCanvasFileNode | ExtendedCanvasLinkNode | ExtendedCanvasGroupNode | OtelEventNode | OtelSpanConventionNode | OtelScopeNode | OtelResourceNode | OtelBoundaryNode;
801
935
  /**
802
936
  * Extended edge with PV extensions
803
937
  */
@@ -808,11 +942,13 @@ export interface ExtendedCanvasEdge extends CanvasEdge {
808
942
  * Extended Canvas document with Principal View support
809
943
  *
810
944
  * This is the primary type for .canvas files used with the Principal View Framework.
811
- * It's fully compatible with standard JSON Canvas tools while supporting rich
812
- * visualization features when rendered in React Flow.
945
+ * It supports both standard JSON Canvas node types (text, file, link, group) and
946
+ * custom OTEL node types (otel-event, otel-span-convention, etc.).
947
+ *
948
+ * Standard canvas tools will only recognize the JSON Canvas node types.
813
949
  */
814
- export interface ExtendedCanvas extends Canvas {
815
- /** Nodes with optional PV extensions */
950
+ export interface ExtendedCanvas {
951
+ /** Nodes - JSON Canvas types and/or OTEL node types */
816
952
  nodes?: ExtendedCanvasNode[];
817
953
  /** Edges with optional PV extensions */
818
954
  edges?: ExtendedCanvasEdge[];
@@ -839,6 +975,34 @@ export declare function isGroupNode(node: CanvasNode | ExtendedCanvasNode): node
839
975
  * Type guard for extended nodes (with PV extension)
840
976
  */
841
977
  export declare function hasPVExtension(node: CanvasNode | ExtendedCanvasNode): node is ExtendedCanvasNode;
978
+ /**
979
+ * Type guard for OTEL event nodes
980
+ */
981
+ export declare function isOtelEventNode(node: ExtendedCanvasNode): node is OtelEventNode;
982
+ /**
983
+ * Type guard for OTEL span convention nodes
984
+ */
985
+ export declare function isOtelSpanConventionNode(node: ExtendedCanvasNode): node is OtelSpanConventionNode;
986
+ /**
987
+ * Type guard for OTEL scope nodes
988
+ */
989
+ export declare function isOtelScopeNode(node: ExtendedCanvasNode): node is OtelScopeNode;
990
+ /**
991
+ * Type guard for OTEL resource nodes
992
+ */
993
+ export declare function isOtelResourceNode(node: ExtendedCanvasNode): node is OtelResourceNode;
994
+ /**
995
+ * Type guard for OTEL boundary nodes
996
+ */
997
+ export declare function isOtelBoundaryNode(node: ExtendedCanvasNode): node is OtelBoundaryNode;
998
+ /**
999
+ * Type guard for any OTEL node type
1000
+ */
1001
+ export declare function isOtelNode(node: ExtendedCanvasNode): node is OtelNode;
1002
+ /**
1003
+ * Get the identifier for an OTEL node (shown below the label)
1004
+ */
1005
+ export declare function getOtelNodeIdentifier(node: OtelNode): string | undefined;
842
1006
  /**
843
1007
  * Color preset mapping
844
1008
  */
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/types/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/types/canvas.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * 3. Round-trip editing without data loss
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.resolveCanvasColor = exports.CANVAS_COLOR_PRESETS = exports.hasPVExtension = exports.isGroupNode = exports.isLinkNode = exports.isFileNode = exports.isTextNode = void 0;
17
+ exports.resolveCanvasColor = exports.CANVAS_COLOR_PRESETS = exports.getOtelNodeIdentifier = exports.isOtelNode = exports.isOtelBoundaryNode = exports.isOtelResourceNode = exports.isOtelScopeNode = exports.isOtelSpanConventionNode = exports.isOtelEventNode = exports.hasPVExtension = exports.isGroupNode = exports.isLinkNode = exports.isFileNode = exports.isTextNode = void 0;
18
18
  // ============================================================================
19
19
  // Utility Types
20
20
  // ============================================================================
@@ -53,6 +53,81 @@ function hasPVExtension(node) {
53
53
  return 'pv' in node && node.pv !== undefined;
54
54
  }
55
55
  exports.hasPVExtension = hasPVExtension;
56
+ // ============================================================================
57
+ // OTEL Node Type Guards
58
+ // ============================================================================
59
+ /**
60
+ * Type guard for OTEL event nodes
61
+ */
62
+ function isOtelEventNode(node) {
63
+ return node.type === 'otel-event';
64
+ }
65
+ exports.isOtelEventNode = isOtelEventNode;
66
+ /**
67
+ * Type guard for OTEL span convention nodes
68
+ */
69
+ function isOtelSpanConventionNode(node) {
70
+ return node.type === 'otel-span-convention';
71
+ }
72
+ exports.isOtelSpanConventionNode = isOtelSpanConventionNode;
73
+ /**
74
+ * Type guard for OTEL scope nodes
75
+ */
76
+ function isOtelScopeNode(node) {
77
+ return node.type === 'otel-scope';
78
+ }
79
+ exports.isOtelScopeNode = isOtelScopeNode;
80
+ /**
81
+ * Type guard for OTEL resource nodes
82
+ */
83
+ function isOtelResourceNode(node) {
84
+ return node.type === 'otel-resource';
85
+ }
86
+ exports.isOtelResourceNode = isOtelResourceNode;
87
+ /**
88
+ * Type guard for OTEL boundary nodes
89
+ */
90
+ function isOtelBoundaryNode(node) {
91
+ return node.type === 'otel-boundary';
92
+ }
93
+ exports.isOtelBoundaryNode = isOtelBoundaryNode;
94
+ /**
95
+ * Type guard for any OTEL node type
96
+ */
97
+ function isOtelNode(node) {
98
+ return (node.type === 'otel-event' ||
99
+ node.type === 'otel-span-convention' ||
100
+ node.type === 'otel-scope' ||
101
+ node.type === 'otel-resource' ||
102
+ node.type === 'otel-boundary');
103
+ }
104
+ exports.isOtelNode = isOtelNode;
105
+ /**
106
+ * Get the identifier for an OTEL node (shown below the label)
107
+ */
108
+ function getOtelNodeIdentifier(node) {
109
+ switch (node.type) {
110
+ case 'otel-event':
111
+ return node.event?.name || node.eventRef;
112
+ case 'otel-span-convention':
113
+ return node.otel.spanPattern;
114
+ case 'otel-scope':
115
+ return node.otel.scope;
116
+ case 'otel-resource': {
117
+ const entries = Object.entries(node.otel.resourceMatch);
118
+ if (entries.length > 0) {
119
+ const [key, value] = entries[0];
120
+ return `${key}: ${Array.isArray(value) ? value[0] : value}`;
121
+ }
122
+ return undefined;
123
+ }
124
+ case 'otel-boundary':
125
+ return node.boundary.direction;
126
+ default:
127
+ return undefined;
128
+ }
129
+ }
130
+ exports.getOtelNodeIdentifier = getOtelNodeIdentifier;
56
131
  /**
57
132
  * Color preset mapping
58
133
  */
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/types/canvas.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AA45BH,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,UAAU,CACxB,IAAqC;IAErC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CACxB,IAAqC;IAErC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CACxB,IAAqC;IAErC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,IAAqC;IAErC,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC/B,CAAC;AAJD,kCAIC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAqC;IAClE,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC;AAC/C,CAAC;AAFD,wCAEC;AAED;;GAEG;AACU,QAAA,oBAAoB,GAA2B;IAC1D,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS,EAAE,SAAS;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,KAA8B;IAC/D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,yBAAyB;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,4BAAoB,CAAC,KAAK,CAAC,CAAC;KACpC;IAED,uDAAuD;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;QAClE,OAAO,4BAAoB,CAAC,YAAY,CAAC,CAAC;KAC3C;IAED,2BAA2B;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAhBD,gDAgBC"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/types/canvas.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export interface ReactFlowNode {
32
32
  sources?: string[];
33
33
  references?: string[];
34
34
  status?: 'draft' | 'approved' | 'implemented';
35
- canvasType?: 'text' | 'file' | 'link' | 'group';
35
+ canvasType?: 'text' | 'file' | 'link' | 'group' | 'otel-event' | 'otel-span-convention' | 'otel-scope' | 'otel-resource' | 'otel-boundary';
36
36
  text?: string;
37
37
  file?: string;
38
38
  url?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasConverter.d.ts","sourceRoot":"","sources":["../../src/utils/CanvasConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CanvasConverter.d.ts","sourceRoot":"","sources":["../../src/utils/CanvasConverter.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,14 @@ class CanvasConverter {
74
74
  case 'group':
75
75
  nodeName = node.label || 'Group';
76
76
  break;
77
+ // OTEL node types use the label field directly
78
+ case 'otel-event':
79
+ case 'otel-span-convention':
80
+ case 'otel-scope':
81
+ case 'otel-resource':
82
+ case 'otel-boundary':
83
+ nodeName = node.label;
84
+ break;
77
85
  }
78
86
  // Build the data object based on canvas node type
79
87
  const data = {
@@ -86,7 +94,7 @@ class CanvasConverter {
86
94
  width: node.width,
87
95
  height: node.height,
88
96
  };
89
- // Add type-specific data
97
+ // Add type-specific data for JSON Canvas types
90
98
  if (node.type === 'text') {
91
99
  data.text = node.text;
92
100
  }
@@ -96,7 +104,44 @@ class CanvasConverter {
96
104
  else if (node.type === 'link') {
97
105
  data.url = node.url;
98
106
  }
99
- // Add PV extensions if present
107
+ // Handle OTEL node types (new format with top-level fields)
108
+ if (node.type === 'otel-event' ||
109
+ node.type === 'otel-span-convention' ||
110
+ node.type === 'otel-scope' ||
111
+ node.type === 'otel-resource' ||
112
+ node.type === 'otel-boundary') {
113
+ // OTEL nodes use top-level fields, not pv wrapper
114
+ data.nodeType = node.type;
115
+ if (node.icon)
116
+ data.icon = node.icon;
117
+ if (node.fill)
118
+ data.color = node.fill;
119
+ if (node.shape)
120
+ data.shape = node.shape;
121
+ if ('description' in node && node.description)
122
+ data.description = node.description;
123
+ // Add OTEL-specific data
124
+ if ('otel' in node && node.otel) {
125
+ data.otel = node.otel;
126
+ if (node.otel.status)
127
+ data.status = node.otel.status;
128
+ if (node.otel.references)
129
+ data.references = node.otel.references;
130
+ }
131
+ if ('event' in node && node.event) {
132
+ data.event = node.event;
133
+ }
134
+ if ('eventRef' in node && node.eventRef) {
135
+ data.eventRef = node.eventRef;
136
+ }
137
+ if ('dataSchema' in node && node.dataSchema) {
138
+ data.dataSchema = node.dataSchema;
139
+ }
140
+ if ('boundary' in node && node.boundary) {
141
+ data.boundary = node.boundary;
142
+ }
143
+ }
144
+ // Add PV extensions if present (legacy format)
100
145
  if (pv) {
101
146
  if (pv.states)
102
147
  data.states = pv.states;