@principal-ai/principal-view-core 0.28.2 → 0.28.3

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 (37) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/node.d.ts +2 -2
  6. package/dist/node.d.ts.map +1 -1
  7. package/dist/node.js +4 -2
  8. package/dist/node.js.map +1 -1
  9. package/dist/scopes/ScopePathIndex.d.ts +56 -0
  10. package/dist/scopes/ScopePathIndex.d.ts.map +1 -0
  11. package/dist/scopes/ScopePathIndex.js +67 -0
  12. package/dist/scopes/ScopePathIndex.js.map +1 -0
  13. package/dist/scopes/ScopesCanvasValidator.d.ts.map +1 -1
  14. package/dist/scopes/ScopesCanvasValidator.js +64 -0
  15. package/dist/scopes/ScopesCanvasValidator.js.map +1 -1
  16. package/dist/scopes/index.d.ts +2 -0
  17. package/dist/scopes/index.d.ts.map +1 -1
  18. package/dist/scopes/index.js +5 -1
  19. package/dist/scopes/index.js.map +1 -1
  20. package/dist/scopes/validateScopeNamespaceNesting.d.ts +38 -0
  21. package/dist/scopes/validateScopeNamespaceNesting.d.ts.map +1 -0
  22. package/dist/scopes/validateScopeNamespaceNesting.js +69 -0
  23. package/dist/scopes/validateScopeNamespaceNesting.js.map +1 -0
  24. package/dist/types/canvas.d.ts +15 -0
  25. package/dist/types/canvas.d.ts.map +1 -1
  26. package/dist/types/canvas.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/index.ts +6 -0
  29. package/src/node.ts +6 -0
  30. package/src/scopes/ScopePathIndex.test.ts +94 -0
  31. package/src/scopes/ScopePathIndex.ts +89 -0
  32. package/src/scopes/ScopesCanvasValidator.test.ts +126 -0
  33. package/src/scopes/ScopesCanvasValidator.ts +68 -0
  34. package/src/scopes/index.ts +12 -0
  35. package/src/scopes/validateScopeNamespaceNesting.test.ts +127 -0
  36. package/src/scopes/validateScopeNamespaceNesting.ts +88 -0
  37. package/src/types/canvas.ts +15 -0
package/dist/index.d.ts CHANGED
@@ -46,8 +46,8 @@ export type { SpanMatchResult } from './matchers/SpanMatcher';
46
46
  export { CanvasDiscovery } from './discovery/CanvasDiscovery';
47
47
  export type { DiscoveredCanvas, DiscoveredTestTrace, DiscoveredWorkflow, DiscoveredStoryboard, DiscoveredDashboard, ReferencedSpan, CanvasDiscoveryResult, DiscoveryOptions, CanvasType, TestTraceType, DiscoveredCanvasWithContent, DiscoveredTestTraceWithContent, DiscoveredWorkflowWithContent, DiscoveredStoryboardWithContent, DiscoveredDashboardWithContent, CanvasDiscoveryResultWithContent, CanvasFileRole, CanvasFileOrigin, CanvasFileLevel, CanvasFile, CanvasFileStats, StoryboardFileStats, CanvasFileManifest, WorkflowFileManifest, StoryboardFileManifest, DiscoveredCanvasWithManifest, DiscoveredWorkflowWithManifest, DiscoveredStoryboardWithManifest, } from './discovery/types';
48
48
  export { buildCanvasFileManifest, buildWorkflowFileManifest, buildStoryboardFileManifest, } from './discovery/CanvasFileManifest';
49
- export { ScopesCanvasValidator, DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, normalizeScopes, buildScopeColorMap, getAllScopeNames, } from './scopes';
50
- export type { ScopesCanvasValidationContext, ScopesCanvasValidationResult, ScopesCanvasViolation, NormalizedScope, } from './scopes';
49
+ export { ScopesCanvasValidator, ScopePathIndex, validateScopeNamespaceNesting, DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, normalizeScopes, buildScopeColorMap, getAllScopeNames, } from './scopes';
50
+ export type { ScopesCanvasValidationContext, ScopesCanvasValidationResult, ScopesCanvasViolation, ScopePathEntry, ScopePathMatch, ScopeEventsCanvasPair, ValidateScopeNamespaceNestingInput, NormalizedScope, } from './scopes';
51
51
  export { EventsCanvasValidator, NamespacePathIndex, OtelEventPathsValidator } from './events';
52
52
  export type { EventNamespaceNode, EventsCanvasValidationContext, EventsCanvasViolation, EventsCanvasValidationResult, NamespacePathEntry, NamespacePathMatch, EventsCanvasInput, OtelCanvasInput, OtelEventPathsValidationContext, OtelEventPathsValidationResult, OtelEventPathsViolation, OtelEventPathsRuleId, } from './events';
53
53
  export { DEFAULT_SPAN_COLOR, extractSpanConvention, extractSpanConventions, buildSpanColorMap, buildSpanColorMapFromCanvases, matchSpanPattern, getSpanColor, resolveEventSpanColor, } from './spans';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,8 +11,8 @@
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.createInMemoryVersionRegistry = exports.InMemoryVersionRegistry = exports.isWarnSeverity = exports.isErrorSeverity = exports.getSpanDuration = exports.parseNanoTime = exports.flattenResourceAttributes = exports.getAttributeValue = exports.findAttribute = exports.getAttributeStringValue = exports.TraceOrchestrator = exports.CompositeRegistry = exports.LocalRegistry = exports.RemoteRegistry = exports.OtlpTraceParser = exports.getWorkflowRootSpan = exports.getEventSpan = exports.getEventTemplateString = exports.isEventTemplate = exports.deriveEdgesFromSequence = exports.extractEventSpans = exports.setNestedValue = exports.getNestedValue = exports.computeAggregates = exports.hasEventMatching = exports.getRequiredEvents = exports.selectScenario = exports.ParsedTemplate = exports.parseTemplate = exports.renderEventTemplate = exports.renderWorkflow = exports.getConfigNameFromFilename = exports.isYamlFile = exports.parseYaml = exports.CanvasConverter = exports.resolveCanvasColor = exports.CANVAS_COLOR_PRESETS = exports.getOtelNodeIdentifier = exports.isOtelNode = exports.isOtelBoundaryNode = exports.isOtelResourceNode = exports.isOtelScopeNode = exports.isOtelSpanConventionNode = exports.isOtelEventNode = exports.isStandardCanvasNode = exports.hasPVExtension = exports.isGroupNode = exports.isLinkNode = exports.isFileNode = exports.isTextNode = void 0;
14
- exports.LibraryDiscovery = exports.validateLibraryStructure = exports.LibraryLoader = exports.EventRecorderService = exports.SessionManager = exports.PathBasedEventProcessor = exports.analyzeCoverage = exports.createDashboardValidator = exports.DashboardValidator = exports.createExecutionValidator = exports.ExecutionValidator = exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = exports.OtelEventPathsValidator = exports.NamespacePathIndex = exports.EventsCanvasValidator = exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = exports.buildStoryboardFileManifest = exports.buildWorkflowFileManifest = exports.buildCanvasFileManifest = exports.CanvasDiscovery = exports.SpanMatcher = exports.getScopeMatchSummary = exports.scopeHasMatches = exports.getScopeWithMostSpans = exports.getSpanCountForScope = exports.findScopeByName = exports.getUnmatchedScopes = exports.getPartialMatchedScopes = exports.getMatchedScopes = exports.getAllScopes = exports.getPrimaryScope = exports.getScopeFromUnmatchedSpan = exports.getScopeFromStoryboardMatch = exports.getScopeFromScenarioMatch = exports.groupSpansByTrace = void 0;
15
- exports.InMemoryFileSystemAdapter = exports.getAllNodeIds = exports.findNodesMatchingEventPattern = exports.resolveWorkflowNodeIds = exports.resolveScenarioNodeIds = exports.getNodeEventName = exports.buildEventNodeMap = exports.buildStoryboardContext = void 0;
14
+ exports.LibraryLoader = exports.EventRecorderService = exports.SessionManager = exports.PathBasedEventProcessor = exports.analyzeCoverage = exports.createDashboardValidator = exports.DashboardValidator = exports.createExecutionValidator = exports.ExecutionValidator = exports.resolveEventSpanColor = exports.getSpanColor = exports.matchSpanPattern = exports.buildSpanColorMapFromCanvases = exports.buildSpanColorMap = exports.extractSpanConventions = exports.extractSpanConvention = exports.DEFAULT_SPAN_COLOR = exports.OtelEventPathsValidator = exports.NamespacePathIndex = exports.EventsCanvasValidator = exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.validateScopeNamespaceNesting = exports.ScopePathIndex = exports.ScopesCanvasValidator = exports.buildStoryboardFileManifest = exports.buildWorkflowFileManifest = exports.buildCanvasFileManifest = exports.CanvasDiscovery = exports.SpanMatcher = exports.getScopeMatchSummary = exports.scopeHasMatches = exports.getScopeWithMostSpans = exports.getSpanCountForScope = exports.findScopeByName = exports.getUnmatchedScopes = exports.getPartialMatchedScopes = exports.getMatchedScopes = exports.getAllScopes = exports.getPrimaryScope = exports.getScopeFromUnmatchedSpan = exports.getScopeFromStoryboardMatch = exports.getScopeFromScenarioMatch = exports.groupSpansByTrace = void 0;
15
+ exports.InMemoryFileSystemAdapter = exports.getAllNodeIds = exports.findNodesMatchingEventPattern = exports.resolveWorkflowNodeIds = exports.resolveScenarioNodeIds = exports.getNodeEventName = exports.buildEventNodeMap = exports.buildStoryboardContext = exports.LibraryDiscovery = exports.validateLibraryStructure = void 0;
16
16
  // Import canvas utility functions to re-export (avoids export-from syntax that breaks with exports field)
17
17
  const canvas_1 = require("./types/canvas");
18
18
  Object.defineProperty(exports, "isTextNode", { enumerable: true, get: function () { return canvas_1.isTextNode; } });
@@ -118,6 +118,8 @@ Object.defineProperty(exports, "buildStoryboardFileManifest", { enumerable: true
118
118
  // Export scopes module (canvas validation + scope utilities)
119
119
  var scopes_1 = require("./scopes");
120
120
  Object.defineProperty(exports, "ScopesCanvasValidator", { enumerable: true, get: function () { return scopes_1.ScopesCanvasValidator; } });
121
+ Object.defineProperty(exports, "ScopePathIndex", { enumerable: true, get: function () { return scopes_1.ScopePathIndex; } });
122
+ Object.defineProperty(exports, "validateScopeNamespaceNesting", { enumerable: true, get: function () { return scopes_1.validateScopeNamespaceNesting; } });
121
123
  Object.defineProperty(exports, "DEFAULT_SCOPE_COLOR", { enumerable: true, get: function () { return scopes_1.DEFAULT_SCOPE_COLOR; } });
122
124
  Object.defineProperty(exports, "DRAFT_NODE_COLOR", { enumerable: true, get: function () { return scopes_1.DRAFT_NODE_COLOR; } });
123
125
  Object.defineProperty(exports, "getScopeNames", { enumerable: true, get: function () { return scopes_1.getScopeNames; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/node.d.ts CHANGED
@@ -57,8 +57,8 @@ export { DashboardValidator, createDashboardValidator } from './dashboard';
57
57
  export type { DashboardValidationError, DashboardValidationResult, DashboardValidationContext, } from './dashboard';
58
58
  export { ExecutionLoader, createExecutionLoader } from './execution/ExecutionLoader';
59
59
  export type { ExecutionFile, ExecutionLoadResult, } from './execution/ExecutionLoader';
60
- export { ScopesCanvasValidator, DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, normalizeScopes, buildScopeColorMap, getAllScopeNames, } from './scopes';
61
- export type { ScopesCanvasValidationContext, ScopesCanvasValidationResult, ScopesCanvasViolation, NormalizedScope, } from './scopes';
60
+ export { ScopesCanvasValidator, ScopePathIndex, validateScopeNamespaceNesting, DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, normalizeScopes, buildScopeColorMap, getAllScopeNames, } from './scopes';
61
+ export type { ScopesCanvasValidationContext, ScopesCanvasValidationResult, ScopesCanvasViolation, ScopePathEntry, ScopePathMatch, ScopeEventsCanvasPair, ValidateScopeNamespaceNestingInput, NormalizedScope, } from './scopes';
62
62
  export { EventsCanvasValidator, ScopeEventsValidator, NamespacePathIndex, OtelEventPathsValidator, } from './events';
63
63
  export type { EventsCanvasValidationContext, EventsCanvasValidationResult, EventsCanvasViolation, ScopeEventsValidationContext, ScopeEventsValidationResult, ScopeEventsViolation, NamespacePathEntry, NamespacePathMatch, EventsCanvasInput, OtelCanvasInput, OtelEventPathsValidationContext, OtelEventPathsValidationResult, OtelEventPathsViolation, OtelEventPathsRuleId, } from './events';
64
64
  //# sourceMappingURL=node.d.ts.map
@@ -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
@@ -25,8 +25,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = exports.createExecutionLoader = exports.ExecutionLoader = exports.createDashboardValidator = exports.DashboardValidator = exports.createExecutionValidator = exports.ExecutionValidator = exports.LibraryDiscovery = exports.CanvasDiscovery = exports.WorkflowValidator = exports.createWorkflowValidator = exports.setNestedValue = exports.getNestedValue = exports.computeAggregates = exports.hasEventMatching = exports.getRequiredEvents = exports.selectScenario = exports.ParsedTemplate = exports.parseTemplate = exports.renderWorkflow = exports.InMemoryFileSystemAdapter = exports.EventRegistry = exports.LibraryLoader = exports.getConfigNameFromFilename = exports.isYamlFile = exports.parseYaml = exports.ConfigurationLoader = exports.EventRecorderService = exports.SessionManager = exports.traceToCanvasJson = exports.traceToCanvas = exports.generatorRegistry = exports.TypeScriptGenerator = exports.generateTypes = exports.analyzeCoverage = exports.EventValidationError = exports.createValidatedEmitter = exports.EventValidator = exports.CanvasConverter = exports.GraphConverter = exports.PathMatcher = exports.PathBasedEventProcessor = exports.GraphInstrumentationHelper = exports.ConfigurationValidator = exports.ValidationEngine = exports.EventProcessor = void 0;
29
- exports.OtelEventPathsValidator = exports.NamespacePathIndex = exports.ScopeEventsValidator = exports.EventsCanvasValidator = exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeColor = void 0;
28
+ exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.validateScopeNamespaceNesting = exports.ScopePathIndex = exports.ScopesCanvasValidator = exports.createExecutionLoader = exports.ExecutionLoader = exports.createDashboardValidator = exports.DashboardValidator = exports.createExecutionValidator = exports.ExecutionValidator = exports.LibraryDiscovery = exports.CanvasDiscovery = exports.WorkflowValidator = exports.createWorkflowValidator = exports.setNestedValue = exports.getNestedValue = exports.computeAggregates = exports.hasEventMatching = exports.getRequiredEvents = exports.selectScenario = exports.ParsedTemplate = exports.parseTemplate = exports.renderWorkflow = exports.InMemoryFileSystemAdapter = exports.EventRegistry = exports.LibraryLoader = exports.getConfigNameFromFilename = exports.isYamlFile = exports.parseYaml = exports.ConfigurationLoader = exports.EventRecorderService = exports.SessionManager = exports.traceToCanvasJson = exports.traceToCanvas = exports.generatorRegistry = exports.TypeScriptGenerator = exports.generateTypes = exports.analyzeCoverage = exports.EventValidationError = exports.createValidatedEmitter = exports.EventValidator = exports.CanvasConverter = exports.GraphConverter = exports.PathMatcher = exports.PathBasedEventProcessor = exports.GraphInstrumentationHelper = exports.ConfigurationValidator = exports.ValidationEngine = exports.EventProcessor = void 0;
29
+ exports.OtelEventPathsValidator = exports.NamespacePathIndex = exports.ScopeEventsValidator = exports.EventsCanvasValidator = exports.getAllScopeNames = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = void 0;
30
30
  // Export all types (safe in all environments)
31
31
  __exportStar(require("./types"), exports);
32
32
  // Export core classes (Node.js processing)
@@ -125,6 +125,8 @@ Object.defineProperty(exports, "createExecutionLoader", { enumerable: true, get:
125
125
  // Export scopes module (canvas validation + scope utilities)
126
126
  var scopes_1 = require("./scopes");
127
127
  Object.defineProperty(exports, "ScopesCanvasValidator", { enumerable: true, get: function () { return scopes_1.ScopesCanvasValidator; } });
128
+ Object.defineProperty(exports, "ScopePathIndex", { enumerable: true, get: function () { return scopes_1.ScopePathIndex; } });
129
+ Object.defineProperty(exports, "validateScopeNamespaceNesting", { enumerable: true, get: function () { return scopes_1.validateScopeNamespaceNesting; } });
128
130
  Object.defineProperty(exports, "DEFAULT_SCOPE_COLOR", { enumerable: true, get: function () { return scopes_1.DEFAULT_SCOPE_COLOR; } });
129
131
  Object.defineProperty(exports, "DRAFT_NODE_COLOR", { enumerable: true, get: function () { return scopes_1.DRAFT_NODE_COLOR; } });
130
132
  Object.defineProperty(exports, "getScopeNames", { enumerable: true, get: function () { return scopes_1.getScopeNames; } });
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Scope Path Index
3
+ *
4
+ * Maps a filepath to the `otel-scope` that owns it, using the `paths` field
5
+ * declared on `otel-scope` nodes.
6
+ *
7
+ * Resolution uses the longest-prefix partitioning rule: when multiple scopes
8
+ * have paths covering the same file, the one whose matched path is the most
9
+ * specific (longest after normalization) wins. This naturally supports nested
10
+ * scopes by dotted-name (e.g. `principal-ai.core` and
11
+ * `principal-ai.core.validation`), where the child claims its subtree without
12
+ * stealing the parent's.
13
+ *
14
+ * Pure/browser-safe — no filesystem access, just string comparison.
15
+ */
16
+ /**
17
+ * One declared scope/paths tuple. Multiple entries may share the same scope
18
+ * if a scope canvas needs to declare more than one region (generated code,
19
+ * platform splits, migration periods).
20
+ */
21
+ export interface ScopePathEntry {
22
+ scope: string;
23
+ paths: string[];
24
+ /** Optional — useful for surfacing where a match came from in diagnostics. */
25
+ sourceCanvasPath?: string;
26
+ }
27
+ /**
28
+ * Result of resolving a file against the index.
29
+ */
30
+ export interface ScopePathMatch {
31
+ /** The winning entry (by longest-prefix). */
32
+ entry: ScopePathEntry;
33
+ /** Which of the entry's paths covered the file — the one that won. */
34
+ matchedPath: string;
35
+ }
36
+ export declare class ScopePathIndex {
37
+ private entries;
38
+ /** Register a single scope/paths entry. */
39
+ add(entry: ScopePathEntry): void;
40
+ /** Register many entries at once. */
41
+ addAll(entries: readonly ScopePathEntry[]): void;
42
+ /**
43
+ * Resolve a filepath to its owning scope.
44
+ * Returns null if no entry has a path covering the file.
45
+ */
46
+ resolve(filepath: string): ScopePathMatch | null;
47
+ /**
48
+ * Look up the entry for a specific scope. Returns null when the scope
49
+ * isn't registered — either because its scopes-canvas node omits `paths`
50
+ * (opt-out of enforcement) or because no such scope is declared.
51
+ */
52
+ getEntry(scope: string): ScopePathEntry | null;
53
+ /** All scopes present in the index. */
54
+ getScopes(): readonly string[];
55
+ }
56
+ //# sourceMappingURL=ScopePathIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopePathIndex.d.ts","sourceRoot":"","sources":["../../src/scopes/ScopePathIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,KAAK,EAAE,cAAc,CAAC;IACtB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IAEvC,2CAA2C;IAC3C,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIhC,qCAAqC;IACrC,MAAM,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI;IAIhD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAkBhD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI9C,uCAAuC;IACvC,SAAS,IAAI,SAAS,MAAM,EAAE;CAG/B"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * Scope Path Index
4
+ *
5
+ * Maps a filepath to the `otel-scope` that owns it, using the `paths` field
6
+ * declared on `otel-scope` nodes.
7
+ *
8
+ * Resolution uses the longest-prefix partitioning rule: when multiple scopes
9
+ * have paths covering the same file, the one whose matched path is the most
10
+ * specific (longest after normalization) wins. This naturally supports nested
11
+ * scopes by dotted-name (e.g. `principal-ai.core` and
12
+ * `principal-ai.core.validation`), where the child claims its subtree without
13
+ * stealing the parent's.
14
+ *
15
+ * Pure/browser-safe — no filesystem access, just string comparison.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ScopePathIndex = void 0;
19
+ const path_helpers_1 = require("../events/path-helpers");
20
+ class ScopePathIndex {
21
+ constructor() {
22
+ this.entries = [];
23
+ }
24
+ /** Register a single scope/paths entry. */
25
+ add(entry) {
26
+ this.entries.push(entry);
27
+ }
28
+ /** Register many entries at once. */
29
+ addAll(entries) {
30
+ for (const e of entries)
31
+ this.add(e);
32
+ }
33
+ /**
34
+ * Resolve a filepath to its owning scope.
35
+ * Returns null if no entry has a path covering the file.
36
+ */
37
+ resolve(filepath) {
38
+ const normalizedFile = (0, path_helpers_1.normalizePath)(filepath);
39
+ let best = null;
40
+ for (const entry of this.entries) {
41
+ for (const declared of entry.paths) {
42
+ if (!(0, path_helpers_1.pathCovers)(declared, normalizedFile))
43
+ continue;
44
+ const normalizedDeclared = (0, path_helpers_1.normalizePath)(declared);
45
+ const length = normalizedDeclared.length;
46
+ if (best === null || length > best.length) {
47
+ best = { entry, matchedPath: declared, length };
48
+ }
49
+ }
50
+ }
51
+ return best ? { entry: best.entry, matchedPath: best.matchedPath } : null;
52
+ }
53
+ /**
54
+ * Look up the entry for a specific scope. Returns null when the scope
55
+ * isn't registered — either because its scopes-canvas node omits `paths`
56
+ * (opt-out of enforcement) or because no such scope is declared.
57
+ */
58
+ getEntry(scope) {
59
+ return this.entries.find((e) => e.scope === scope) ?? null;
60
+ }
61
+ /** All scopes present in the index. */
62
+ getScopes() {
63
+ return Array.from(new Set(this.entries.map((e) => e.scope)));
64
+ }
65
+ }
66
+ exports.ScopePathIndex = ScopePathIndex;
67
+ //# sourceMappingURL=ScopePathIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopePathIndex.js","sourceRoot":"","sources":["../../src/scopes/ScopePathIndex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yDAAmE;AAwBnE,MAAa,cAAc;IAA3B;QACU,YAAO,GAAqB,EAAE,CAAC;IA+CzC,CAAC;IA7CC,2CAA2C;IAC3C,GAAG,CAAC,KAAqB;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,qCAAqC;IACrC,MAAM,CAAC,OAAkC;QACvC,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,QAAgB;QACtB,MAAM,cAAc,GAAG,IAAA,4BAAa,EAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,IAAI,GAA0E,IAAI,CAAC;QAEvF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE;gBAClC,IAAI,CAAC,IAAA,yBAAU,EAAC,QAAQ,EAAE,cAAc,CAAC;oBAAE,SAAS;gBACpD,MAAM,kBAAkB,GAAG,IAAA,4BAAa,EAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;gBACzC,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;oBACzC,IAAI,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;iBACjD;aACF;SACF;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IAED,uCAAuC;IACvC,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAhDD,wCAgDC"}
@@ -1 +1 @@
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;IA+H7F;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
1
+ {"version":3,"file":"ScopesCanvasValidator.d.ts","sourceRoot":"","sources":["../../src/scopes/ScopesCanvasValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAsD,MAAM,iBAAiB,CAAC;AAI1G;;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;IAgM7F;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
@@ -7,7 +7,10 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ScopesCanvasValidator = void 0;
10
+ const fs_1 = require("fs");
11
+ const path_1 = require("path");
10
12
  const canvas_1 = require("../types/canvas");
13
+ const path_helpers_1 = require("../events/path-helpers");
11
14
  /**
12
15
  * Validates scopes canvas files
13
16
  */
@@ -118,6 +121,67 @@ class ScopesCanvasValidator {
118
121
  });
119
122
  }
120
123
  }
124
+ // Validate scope paths (optional field — enforcement is opt-in per scope).
125
+ // Collects declared paths across scopes to check for cross-scope overlap.
126
+ const declaredPaths = [];
127
+ for (const { scope, nodeId, node } of canvasScopes) {
128
+ const otelScopeNode = node;
129
+ const paths = otelScopeNode.paths;
130
+ if (!paths || paths.length === 0)
131
+ continue;
132
+ // Warn when a scope declares more than one path — prompt author to
133
+ // confirm the multi-location is intentional (monorepo bundling,
134
+ // generated code, platform splits, migration) rather than accidental.
135
+ if (paths.length > 1) {
136
+ violations.push({
137
+ ruleId: 'scopes-paths-multiple',
138
+ severity: 'warn',
139
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
140
+ path: `nodes[${nodeId}].paths`,
141
+ message: `Scope "${scope}" declares ${paths.length} paths`,
142
+ impact: 'Multiple paths can indicate legitimate cases (monorepo bundling, generated code, platform splits, migration) but often signal that the scope should be split',
143
+ suggestion: 'Confirm the multi-location is intentional. Otherwise consider splitting the scope or grouping the code under a single parent folder.',
144
+ });
145
+ }
146
+ for (const p of paths) {
147
+ declaredPaths.push({ scope, nodeId, path: p });
148
+ // Warn when a declared path does not exist relative to the repo root.
149
+ const resolved = (0, path_1.resolve)(basePath, p);
150
+ if (!(0, fs_1.existsSync)(resolved)) {
151
+ violations.push({
152
+ ruleId: 'scopes-paths-missing',
153
+ severity: 'warn',
154
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
155
+ path: `nodes[${nodeId}].paths`,
156
+ message: `Path "${p}" declared by scope "${scope}" does not exist`,
157
+ impact: 'Events emitted under this scope cannot be validated against a real code location',
158
+ suggestion: 'Verify the path exists relative to the repository root, or remove it from the scope declaration.',
159
+ });
160
+ }
161
+ }
162
+ }
163
+ // Cross-scope overlap check. Parent-child path nesting is a valid partition
164
+ // (longest-prefix wins at runtime); any other overlap makes scope ownership
165
+ // of a file ambiguous.
166
+ for (let i = 0; i < declaredPaths.length; i++) {
167
+ for (let j = i + 1; j < declaredPaths.length; j++) {
168
+ const a = declaredPaths[i];
169
+ const b = declaredPaths[j];
170
+ if (a.scope === b.scope)
171
+ continue;
172
+ const relationship = (0, path_helpers_1.pathsOverlap)(a.path, b.path);
173
+ if (relationship === 'conflict') {
174
+ violations.push({
175
+ ruleId: 'scopes-paths-overlap',
176
+ severity: 'error',
177
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
178
+ message: `Paths overlap between scopes "${a.scope}" ("${a.path}") and "${b.scope}" ("${b.path}")`,
179
+ impact: 'A file covered by two scopes makes scope ownership ambiguous',
180
+ suggestion: 'Separate the paths so they are disjoint, or restructure as parent/child scopes by dotted name (e.g., "principal-ai.core" covering "packages/core/src" and "principal-ai.core.validation" covering "packages/core/src/validation").',
181
+ });
182
+ }
183
+ }
184
+ }
121
185
  const errors = violations.filter(v => v.severity === 'error');
122
186
  return {
123
187
  valid: errors.length === 0,
@@ -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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"}
@@ -6,5 +6,7 @@
6
6
  * - Validation for .scopes.canvas files that document scope boundaries
7
7
  */
8
8
  export { ScopesCanvasValidator, type ScopesCanvasValidationContext, type ScopesCanvasValidationResult, type ScopesCanvasViolation, } from './ScopesCanvasValidator';
9
+ export { ScopePathIndex, type ScopePathEntry, type ScopePathMatch, } from './ScopePathIndex';
10
+ export { validateScopeNamespaceNesting, type ScopeEventsCanvasPair, type ValidateScopeNamespaceNestingInput, } from './validateScopeNamespaceNesting';
9
11
  export { DEFAULT_SCOPE_COLOR, DRAFT_NODE_COLOR, getScopeNames, getScopeDefinition, getScopeColor, getScopeIcon, normalizeScopes, buildScopeColorMap, buildScopeColorMapFromCanvas, getScopeNamesFromCanvas, getScopeNodeFromCanvas, getAllScopeNames, type NormalizedScope, } from './utils';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,6BAA6B,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,GACxC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC"}
@@ -7,9 +7,13 @@
7
7
  * - Validation for .scopes.canvas files that document scope boundaries
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getAllScopeNames = exports.getScopeNodeFromCanvas = exports.getScopeNamesFromCanvas = exports.buildScopeColorMapFromCanvas = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeIcon = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.ScopesCanvasValidator = void 0;
10
+ exports.getAllScopeNames = exports.getScopeNodeFromCanvas = exports.getScopeNamesFromCanvas = exports.buildScopeColorMapFromCanvas = exports.buildScopeColorMap = exports.normalizeScopes = exports.getScopeIcon = exports.getScopeColor = exports.getScopeDefinition = exports.getScopeNames = exports.DRAFT_NODE_COLOR = exports.DEFAULT_SCOPE_COLOR = exports.validateScopeNamespaceNesting = exports.ScopePathIndex = exports.ScopesCanvasValidator = void 0;
11
11
  var ScopesCanvasValidator_1 = require("./ScopesCanvasValidator");
12
12
  Object.defineProperty(exports, "ScopesCanvasValidator", { enumerable: true, get: function () { return ScopesCanvasValidator_1.ScopesCanvasValidator; } });
13
+ var ScopePathIndex_1 = require("./ScopePathIndex");
14
+ Object.defineProperty(exports, "ScopePathIndex", { enumerable: true, get: function () { return ScopePathIndex_1.ScopePathIndex; } });
15
+ var validateScopeNamespaceNesting_1 = require("./validateScopeNamespaceNesting");
16
+ Object.defineProperty(exports, "validateScopeNamespaceNesting", { enumerable: true, get: function () { return validateScopeNamespaceNesting_1.validateScopeNamespaceNesting; } });
13
17
  var utils_1 = require("./utils");
14
18
  Object.defineProperty(exports, "DEFAULT_SCOPE_COLOR", { enumerable: true, get: function () { return utils_1.DEFAULT_SCOPE_COLOR; } });
15
19
  Object.defineProperty(exports, "DRAFT_NODE_COLOR", { enumerable: true, get: function () { return utils_1.DRAFT_NODE_COLOR; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iEAKiC;AAJ/B,8HAAA,qBAAqB,OAAA;AAMvB,iCAciB;AAbf,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,qHAAA,4BAA4B,OAAA;AAC5B,gHAAA,uBAAuB,OAAA;AACvB,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iEAKiC;AAJ/B,8HAAA,qBAAqB,OAAA;AAMvB,mDAI0B;AAHxB,gHAAA,cAAc,OAAA;AAKhB,iFAIyC;AAHvC,8IAAA,6BAA6B,OAAA;AAK/B,iCAciB;AAbf,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA;AAChB,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,qHAAA,4BAA4B,OAAA;AAC5B,gHAAA,uBAAuB,OAAA;AACvB,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Scope-Namespace Nesting Validator
3
+ *
4
+ * Cross-canvas check: every `event-namespace.paths` entry declared in a
5
+ * scope's events canvas must be covered by that scope's own `paths`.
6
+ * Surfaces `scopes-namespace-paths-escape` when a namespace claims a region
7
+ * outside its owning scope.
8
+ *
9
+ * Runs alongside the existing scopes-canvas validation but requires both
10
+ * canvases as input, so it lives outside `ScopesCanvasValidator` (which is
11
+ * single-canvas).
12
+ */
13
+ import type { ExtendedCanvas } from '../types/canvas';
14
+ import type { ScopesCanvasViolation } from './ScopesCanvasValidator';
15
+ /**
16
+ * One events canvas paired with the scope it documents.
17
+ * The mapping comes from the existing scope → events-canvas filename
18
+ * convention (see `ScopeEventsValidator`); callers resolve it before
19
+ * passing it in.
20
+ */
21
+ export interface ScopeEventsCanvasPair {
22
+ scope: string;
23
+ eventsCanvas: ExtendedCanvas;
24
+ eventsCanvasPath?: string;
25
+ }
26
+ export interface ValidateScopeNamespaceNestingInput {
27
+ scopesCanvas: ExtendedCanvas;
28
+ scopesCanvasPath?: string;
29
+ eventsCanvases: readonly ScopeEventsCanvasPair[];
30
+ }
31
+ /**
32
+ * For every namespace.paths entry, verify it is covered by its scope's paths.
33
+ * Scopes without `paths` impose no constraint (opt-in per scope) and are
34
+ * skipped. Namespaces without `paths` are also skipped — namespace-level
35
+ * enforcement remains independently opt-in.
36
+ */
37
+ export declare function validateScopeNamespaceNesting(input: ValidateScopeNamespaceNestingInput): ScopesCanvasViolation[];
38
+ //# sourceMappingURL=validateScopeNamespaceNesting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateScopeNamespaceNesting.d.ts","sourceRoot":"","sources":["../../src/scopes/validateScopeNamespaceNesting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,cAAc,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kCAAkC;IACjD,YAAY,EAAE,cAAc,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,kCAAkC,GACxC,qBAAqB,EAAE,CA2CzB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * Scope-Namespace Nesting Validator
4
+ *
5
+ * Cross-canvas check: every `event-namespace.paths` entry declared in a
6
+ * scope's events canvas must be covered by that scope's own `paths`.
7
+ * Surfaces `scopes-namespace-paths-escape` when a namespace claims a region
8
+ * outside its owning scope.
9
+ *
10
+ * Runs alongside the existing scopes-canvas validation but requires both
11
+ * canvases as input, so it lives outside `ScopesCanvasValidator` (which is
12
+ * single-canvas).
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.validateScopeNamespaceNesting = void 0;
16
+ const canvas_1 = require("../types/canvas");
17
+ const path_helpers_1 = require("../events/path-helpers");
18
+ /**
19
+ * For every namespace.paths entry, verify it is covered by its scope's paths.
20
+ * Scopes without `paths` impose no constraint (opt-in per scope) and are
21
+ * skipped. Namespaces without `paths` are also skipped — namespace-level
22
+ * enforcement remains independently opt-in.
23
+ */
24
+ function validateScopeNamespaceNesting(input) {
25
+ const { scopesCanvas, scopesCanvasPath, eventsCanvases } = input;
26
+ const violations = [];
27
+ // Build scope → paths map from the scopes canvas.
28
+ const scopePaths = new Map();
29
+ for (const node of scopesCanvas.nodes || []) {
30
+ if (!(0, canvas_1.isOtelScopeNode)(node))
31
+ continue;
32
+ const scope = node.otel?.scope;
33
+ const paths = node.paths;
34
+ if (!scope || !paths || paths.length === 0)
35
+ continue;
36
+ scopePaths.set(scope, paths);
37
+ }
38
+ // For each events canvas, walk its event-namespace nodes and check that
39
+ // every namespace.paths entry sits inside the owning scope's paths.
40
+ for (const pair of eventsCanvases) {
41
+ const ownerPaths = scopePaths.get(pair.scope);
42
+ if (!ownerPaths)
43
+ continue; // scope opted out — nothing to check
44
+ for (const node of pair.eventsCanvas.nodes || []) {
45
+ if (node?.type !== 'event-namespace')
46
+ continue;
47
+ const ns = node.namespace;
48
+ if (!ns?.name || !Array.isArray(ns.paths) || ns.paths.length === 0)
49
+ continue;
50
+ for (const declared of ns.paths) {
51
+ const covered = ownerPaths.some((sp) => (0, path_helpers_1.pathCovers)(sp, declared));
52
+ if (covered)
53
+ continue;
54
+ violations.push({
55
+ ruleId: 'scopes-namespace-paths-escape',
56
+ severity: 'error',
57
+ file: scopesCanvasPath || '.principal-views/architecture.scopes.canvas',
58
+ path: `nodes[scope="${pair.scope}"].paths`,
59
+ message: `Namespace "${ns.name}" path "${declared}" escapes the bounds of scope "${pair.scope}" (paths: ${ownerPaths.map((p) => `"${p}"`).join(', ')})`,
60
+ impact: 'A namespace claiming code outside its owning scope breaks the scope→namespace partition; events from that file would be attributed to the wrong scope',
61
+ suggestion: `Either move the namespace path under one of "${pair.scope}"'s paths, or extend the scope to cover the namespace's region. If the code genuinely belongs to a different scope, declare the namespace in that scope's events canvas instead.`,
62
+ });
63
+ }
64
+ }
65
+ }
66
+ return violations;
67
+ }
68
+ exports.validateScopeNamespaceNesting = validateScopeNamespaceNesting;
69
+ //# sourceMappingURL=validateScopeNamespaceNesting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateScopeNamespaceNesting.js","sourceRoot":"","sources":["../../src/scopes/validateScopeNamespaceNesting.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAGH,4CAAkD;AAClD,yDAAoD;AAqBpD;;;;;GAKG;AACH,SAAgB,6BAA6B,CAC3C,KAAyC;IAEzC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,kDAAkD;IAClD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,IAAA,wBAAe,EAAC,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACrD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC9B;IAED,wEAAwE;IACxE,oEAAoE;IACpE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;QACjC,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,SAAS,CAAC,qCAAqC;QAEhE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,EAAE;YAChD,IAAK,IAAY,EAAE,IAAI,KAAK,iBAAiB;gBAAE,SAAS;YACxD,MAAM,EAAE,GAAI,IAAY,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE7E,KAAK,MAAM,QAAQ,IAAI,EAAE,CAAC,KAAiB,EAAE;gBAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,yBAAU,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAClE,IAAI,OAAO;oBAAE,SAAS;gBAEtB,UAAU,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE,+BAA+B;oBACvC,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,gBAAgB,IAAI,6CAA6C;oBACvE,IAAI,EAAE,gBAAgB,IAAI,CAAC,KAAK,UAAU;oBAC1C,OAAO,EAAE,cAAc,EAAE,CAAC,IAAI,WAAW,QAAQ,kCAAkC,IAAI,CAAC,KAAK,aAAa,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBACvJ,MAAM,EAAE,uJAAuJ;oBAC/J,UAAU,EAAE,gDAAgD,IAAI,CAAC,KAAK,kLAAkL;iBACzP,CAAC,CAAC;aACJ;SACF;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AA7CD,sEA6CC"}
@@ -896,6 +896,21 @@ export interface OtelScopeNode extends OtelNodeBase {
896
896
  type: 'otel-scope';
897
897
  /** Short description of this instrumentation scope */
898
898
  description?: string;
899
+ /**
900
+ * Optional source paths that define this scope's code region.
901
+ * Each entry may be a folder (covers all descendants) or a specific file.
902
+ * When present, events under this scope may only originate from files
903
+ * covered by one of these paths, and every `event-namespace` declared in
904
+ * this scope's events canvas must have its own `paths` nested inside this
905
+ * region. Scopes without `paths` remain unenforced — enforcement is opt-in
906
+ * per scope.
907
+ *
908
+ * Semantics are "ownership / partition", distinct from `otel.files` on
909
+ * `otel-event` nodes (which lists specific emission sites). Across scopes,
910
+ * paths must be disjoint except for strict parent-child nesting by
911
+ * dotted-scope name (longest-prefix wins).
912
+ */
913
+ paths?: string[];
899
914
  /** OTEL metadata - scope name is required */
900
915
  otel: OtelMetadata & {
901
916
  /** Scope name (required - maps to getTracer('scope-name')) */