@principal-ai/subsystems-core 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -0
- package/dist/ConfigurationLoader.d.ts +76 -0
- package/dist/ConfigurationLoader.d.ts.map +1 -0
- package/dist/ConfigurationLoader.js +148 -0
- package/dist/ConfigurationLoader.js.map +1 -0
- package/dist/ConfigurationValidator.d.ts +31 -0
- package/dist/ConfigurationValidator.d.ts.map +1 -0
- package/dist/ConfigurationValidator.js +239 -0
- package/dist/ConfigurationValidator.js.map +1 -0
- package/dist/EventProcessor.d.ts +49 -0
- package/dist/EventProcessor.d.ts.map +1 -0
- package/dist/EventProcessor.js +220 -0
- package/dist/EventProcessor.js.map +1 -0
- package/dist/EventRecorderService.d.ts +305 -0
- package/dist/EventRecorderService.d.ts.map +1 -0
- package/dist/EventRecorderService.js +467 -0
- package/dist/EventRecorderService.js.map +1 -0
- package/dist/LibraryLoader.d.ts +65 -0
- package/dist/LibraryLoader.d.ts.map +1 -0
- package/dist/LibraryLoader.js +197 -0
- package/dist/LibraryLoader.js.map +1 -0
- package/dist/PathBasedEventProcessor.d.ts +77 -0
- package/dist/PathBasedEventProcessor.d.ts.map +1 -0
- package/dist/PathBasedEventProcessor.js +136 -0
- package/dist/PathBasedEventProcessor.js.map +1 -0
- package/dist/SessionManager.d.ts +194 -0
- package/dist/SessionManager.d.ts.map +1 -0
- package/dist/SessionManager.js +302 -0
- package/dist/SessionManager.js.map +1 -0
- package/dist/ValidationEngine.d.ts +31 -0
- package/dist/ValidationEngine.d.ts.map +1 -0
- package/dist/ValidationEngine.js +162 -0
- package/dist/ValidationEngine.js.map +1 -0
- package/dist/agent-sessions/fixture.d.ts +80 -0
- package/dist/agent-sessions/fixture.d.ts.map +1 -0
- package/dist/agent-sessions/fixture.js +130 -0
- package/dist/agent-sessions/fixture.js.map +1 -0
- package/dist/agent-sessions/index.d.ts +3 -0
- package/dist/agent-sessions/index.d.ts.map +1 -0
- package/dist/agent-sessions/index.js +6 -0
- package/dist/agent-sessions/index.js.map +1 -0
- package/dist/auxiliary/AuxiliaryManifestValidator.d.ts +41 -0
- package/dist/auxiliary/AuxiliaryManifestValidator.d.ts.map +1 -0
- package/dist/auxiliary/AuxiliaryManifestValidator.js +100 -0
- package/dist/auxiliary/AuxiliaryManifestValidator.js.map +1 -0
- package/dist/auxiliary/index.d.ts +9 -0
- package/dist/auxiliary/index.d.ts.map +1 -0
- package/dist/auxiliary/index.js +14 -0
- package/dist/auxiliary/index.js.map +1 -0
- package/dist/auxiliary/validateAreaScopeDisjoint.d.ts +24 -0
- package/dist/auxiliary/validateAreaScopeDisjoint.d.ts.map +1 -0
- package/dist/auxiliary/validateAreaScopeDisjoint.js +61 -0
- package/dist/auxiliary/validateAreaScopeDisjoint.js.map +1 -0
- package/dist/cli/codegen.d.ts +41 -0
- package/dist/cli/codegen.d.ts.map +1 -0
- package/dist/cli/codegen.js +257 -0
- package/dist/cli/codegen.js.map +1 -0
- package/dist/codegen/type-generator.d.ts +123 -0
- package/dist/codegen/type-generator.d.ts.map +1 -0
- package/dist/codegen/type-generator.js +433 -0
- package/dist/codegen/type-generator.js.map +1 -0
- package/dist/codegen/usage-example.d.ts +103 -0
- package/dist/codegen/usage-example.d.ts.map +1 -0
- package/dist/codegen/usage-example.js +258 -0
- package/dist/codegen/usage-example.js.map +1 -0
- package/dist/dashboard/DashboardValidator.d.ts +85 -0
- package/dist/dashboard/DashboardValidator.d.ts.map +1 -0
- package/dist/dashboard/DashboardValidator.js +775 -0
- package/dist/dashboard/DashboardValidator.js.map +1 -0
- package/dist/dashboard/index.d.ts +6 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +10 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/discovery/CanvasDiscovery.d.ts +160 -0
- package/dist/discovery/CanvasDiscovery.d.ts.map +1 -0
- package/dist/discovery/CanvasDiscovery.js +865 -0
- package/dist/discovery/CanvasDiscovery.js.map +1 -0
- package/dist/discovery/CanvasFileManifest.d.ts +86 -0
- package/dist/discovery/CanvasFileManifest.d.ts.map +1 -0
- package/dist/discovery/CanvasFileManifest.js +338 -0
- package/dist/discovery/CanvasFileManifest.js.map +1 -0
- package/dist/discovery/LibraryDiscovery.d.ts +108 -0
- package/dist/discovery/LibraryDiscovery.d.ts.map +1 -0
- package/dist/discovery/LibraryDiscovery.js +263 -0
- package/dist/discovery/LibraryDiscovery.js.map +1 -0
- package/dist/discovery/types.d.ts +403 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +6 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/events/EventsCanvasValidator.d.ts +139 -0
- package/dist/events/EventsCanvasValidator.d.ts.map +1 -0
- package/dist/events/EventsCanvasValidator.js +281 -0
- package/dist/events/EventsCanvasValidator.js.map +1 -0
- package/dist/events/NamespacePathIndex.d.ts +61 -0
- package/dist/events/NamespacePathIndex.d.ts.map +1 -0
- package/dist/events/NamespacePathIndex.js +74 -0
- package/dist/events/NamespacePathIndex.js.map +1 -0
- package/dist/events/OtelEventPathsValidator.d.ts +75 -0
- package/dist/events/OtelEventPathsValidator.d.ts.map +1 -0
- package/dist/events/OtelEventPathsValidator.js +126 -0
- package/dist/events/OtelEventPathsValidator.js.map +1 -0
- package/dist/events/ScopeEventsValidator.d.ts +68 -0
- package/dist/events/ScopeEventsValidator.d.ts.map +1 -0
- package/dist/events/ScopeEventsValidator.js +91 -0
- package/dist/events/ScopeEventsValidator.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +12 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/path-helpers.d.ts +33 -0
- package/dist/events/path-helpers.d.ts.map +1 -0
- package/dist/events/path-helpers.js +59 -0
- package/dist/events/path-helpers.js.map +1 -0
- package/dist/execution/ExecutionLoader.d.ts +135 -0
- package/dist/execution/ExecutionLoader.d.ts.map +1 -0
- package/dist/execution/ExecutionLoader.js +266 -0
- package/dist/execution/ExecutionLoader.js.map +1 -0
- package/dist/execution/ExecutionValidator.d.ts +94 -0
- package/dist/execution/ExecutionValidator.d.ts.map +1 -0
- package/dist/execution/ExecutionValidator.js +503 -0
- package/dist/execution/ExecutionValidator.js.map +1 -0
- package/dist/generated/graph-converter-execution.types.d.ts +177 -0
- package/dist/generated/graph-converter-execution.types.d.ts.map +1 -0
- package/dist/generated/graph-converter-execution.types.js +12 -0
- package/dist/generated/graph-converter-execution.types.js.map +1 -0
- package/dist/helpers/GraphInstrumentationHelper.d.ts +93 -0
- package/dist/helpers/GraphInstrumentationHelper.d.ts.map +1 -0
- package/dist/helpers/GraphInstrumentationHelper.js +252 -0
- package/dist/helpers/GraphInstrumentationHelper.js.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +214 -0
- package/dist/index.js.map +1 -0
- package/dist/matchers/SpanMatcher.d.ts +107 -0
- package/dist/matchers/SpanMatcher.d.ts.map +1 -0
- package/dist/matchers/SpanMatcher.js +274 -0
- package/dist/matchers/SpanMatcher.js.map +1 -0
- package/dist/node.d.ts +78 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +177 -0
- package/dist/node.js.map +1 -0
- package/dist/opencode/OpenCodeEventStore.d.ts +25 -0
- package/dist/opencode/OpenCodeEventStore.d.ts.map +1 -0
- package/dist/opencode/OpenCodeEventStore.js +182 -0
- package/dist/opencode/OpenCodeEventStore.js.map +1 -0
- package/dist/opencode/agent-sessions.d.ts +46 -0
- package/dist/opencode/agent-sessions.d.ts.map +1 -0
- package/dist/opencode/agent-sessions.js +302 -0
- package/dist/opencode/agent-sessions.js.map +1 -0
- package/dist/opencode/index.d.ts +6 -0
- package/dist/opencode/index.d.ts.map +1 -0
- package/dist/opencode/index.js +15 -0
- package/dist/opencode/index.js.map +1 -0
- package/dist/opencode/node-path-adapter.d.ts +25 -0
- package/dist/opencode/node-path-adapter.d.ts.map +1 -0
- package/dist/opencode/node-path-adapter.js +188 -0
- package/dist/opencode/node-path-adapter.js.map +1 -0
- package/dist/opencode/pipeline.d.ts +42 -0
- package/dist/opencode/pipeline.d.ts.map +1 -0
- package/dist/opencode/pipeline.js +90 -0
- package/dist/opencode/pipeline.js.map +1 -0
- package/dist/opencode/types.d.ts +39 -0
- package/dist/opencode/types.d.ts.map +1 -0
- package/dist/opencode/types.js +3 -0
- package/dist/opencode/types.js.map +1 -0
- package/dist/orchestration/TraceOrchestrator.d.ts +71 -0
- package/dist/orchestration/TraceOrchestrator.d.ts.map +1 -0
- package/dist/orchestration/TraceOrchestrator.js +416 -0
- package/dist/orchestration/TraceOrchestrator.js.map +1 -0
- package/dist/parsers/OtlpTraceParser.d.ts +131 -0
- package/dist/parsers/OtlpTraceParser.d.ts.map +1 -0
- package/dist/parsers/OtlpTraceParser.js +310 -0
- package/dist/parsers/OtlpTraceParser.js.map +1 -0
- package/dist/registry/CompositeRegistry.d.ts +71 -0
- package/dist/registry/CompositeRegistry.d.ts.map +1 -0
- package/dist/registry/CompositeRegistry.js +113 -0
- package/dist/registry/CompositeRegistry.js.map +1 -0
- package/dist/registry/EventRegistry.d.ts +79 -0
- package/dist/registry/EventRegistry.d.ts.map +1 -0
- package/dist/registry/EventRegistry.js +165 -0
- package/dist/registry/EventRegistry.js.map +1 -0
- package/dist/registry/LocalRegistry.d.ts +111 -0
- package/dist/registry/LocalRegistry.d.ts.map +1 -0
- package/dist/registry/LocalRegistry.js +335 -0
- package/dist/registry/LocalRegistry.js.map +1 -0
- package/dist/registry/RemoteRegistry.d.ts +122 -0
- package/dist/registry/RemoteRegistry.d.ts.map +1 -0
- package/dist/registry/RemoteRegistry.js +399 -0
- package/dist/registry/RemoteRegistry.js.map +1 -0
- package/dist/registry/VersionRegistry.d.ts +51 -0
- package/dist/registry/VersionRegistry.d.ts.map +1 -0
- package/dist/registry/VersionRegistry.js +105 -0
- package/dist/registry/VersionRegistry.js.map +1 -0
- package/dist/rules/config.d.ts +57 -0
- package/dist/rules/config.d.ts.map +1 -0
- package/dist/rules/config.js +382 -0
- package/dist/rules/config.js.map +1 -0
- package/dist/rules/engine.d.ts +70 -0
- package/dist/rules/engine.d.ts.map +1 -0
- package/dist/rules/engine.js +373 -0
- package/dist/rules/engine.js.map +1 -0
- package/dist/rules/implementations/connection-type-references.d.ts +7 -0
- package/dist/rules/implementations/connection-type-references.d.ts.map +1 -0
- package/dist/rules/implementations/connection-type-references.js +107 -0
- package/dist/rules/implementations/connection-type-references.js.map +1 -0
- package/dist/rules/implementations/dead-end-states.d.ts +17 -0
- package/dist/rules/implementations/dead-end-states.d.ts.map +1 -0
- package/dist/rules/implementations/dead-end-states.js +75 -0
- package/dist/rules/implementations/dead-end-states.js.map +1 -0
- package/dist/rules/implementations/index.d.ts +23 -0
- package/dist/rules/implementations/index.d.ts.map +1 -0
- package/dist/rules/implementations/index.js +73 -0
- package/dist/rules/implementations/index.js.map +1 -0
- package/dist/rules/implementations/minimum-node-sources.d.ts +24 -0
- package/dist/rules/implementations/minimum-node-sources.d.ts.map +1 -0
- package/dist/rules/implementations/minimum-node-sources.js +59 -0
- package/dist/rules/implementations/minimum-node-sources.js.map +1 -0
- package/dist/rules/implementations/no-unknown-fields.d.ts +7 -0
- package/dist/rules/implementations/no-unknown-fields.d.ts.map +1 -0
- package/dist/rules/implementations/no-unknown-fields.js +216 -0
- package/dist/rules/implementations/no-unknown-fields.js.map +1 -0
- package/dist/rules/implementations/orphaned-edge-types.d.ts +7 -0
- package/dist/rules/implementations/orphaned-edge-types.d.ts.map +1 -0
- package/dist/rules/implementations/orphaned-edge-types.js +50 -0
- package/dist/rules/implementations/orphaned-edge-types.js.map +1 -0
- package/dist/rules/implementations/orphaned-node-types.d.ts +7 -0
- package/dist/rules/implementations/orphaned-node-types.d.ts.map +1 -0
- package/dist/rules/implementations/orphaned-node-types.js +53 -0
- package/dist/rules/implementations/orphaned-node-types.js.map +1 -0
- package/dist/rules/implementations/required-metadata.d.ts +7 -0
- package/dist/rules/implementations/required-metadata.d.ts.map +1 -0
- package/dist/rules/implementations/required-metadata.js +48 -0
- package/dist/rules/implementations/required-metadata.js.map +1 -0
- package/dist/rules/implementations/state-transition-references.d.ts +7 -0
- package/dist/rules/implementations/state-transition-references.d.ts.map +1 -0
- package/dist/rules/implementations/state-transition-references.js +138 -0
- package/dist/rules/implementations/state-transition-references.js.map +1 -0
- package/dist/rules/implementations/unreachable-states.d.ts +7 -0
- package/dist/rules/implementations/unreachable-states.d.ts.map +1 -0
- package/dist/rules/implementations/unreachable-states.js +83 -0
- package/dist/rules/implementations/unreachable-states.js.map +1 -0
- package/dist/rules/implementations/valid-action-patterns.d.ts +17 -0
- package/dist/rules/implementations/valid-action-patterns.d.ts.map +1 -0
- package/dist/rules/implementations/valid-action-patterns.js +112 -0
- package/dist/rules/implementations/valid-action-patterns.js.map +1 -0
- package/dist/rules/implementations/valid-color-format.d.ts +7 -0
- package/dist/rules/implementations/valid-color-format.d.ts.map +1 -0
- package/dist/rules/implementations/valid-color-format.js +94 -0
- package/dist/rules/implementations/valid-color-format.js.map +1 -0
- package/dist/rules/implementations/valid-edge-types.d.ts +7 -0
- package/dist/rules/implementations/valid-edge-types.d.ts.map +1 -0
- package/dist/rules/implementations/valid-edge-types.js +248 -0
- package/dist/rules/implementations/valid-edge-types.js.map +1 -0
- package/dist/rules/implementations/valid-node-types.d.ts +7 -0
- package/dist/rules/implementations/valid-node-types.d.ts.map +1 -0
- package/dist/rules/implementations/valid-node-types.js +187 -0
- package/dist/rules/implementations/valid-node-types.js.map +1 -0
- package/dist/rules/index.d.ts +28 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +70 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/types.d.ts +309 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +40 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/scopes/ScopePathIndex.d.ts +56 -0
- package/dist/scopes/ScopePathIndex.d.ts.map +1 -0
- package/dist/scopes/ScopePathIndex.js +67 -0
- package/dist/scopes/ScopePathIndex.js.map +1 -0
- package/dist/scopes/ScopesCanvasValidator.d.ts +76 -0
- package/dist/scopes/ScopesCanvasValidator.d.ts.map +1 -0
- package/dist/scopes/ScopesCanvasValidator.js +221 -0
- package/dist/scopes/ScopesCanvasValidator.js.map +1 -0
- package/dist/scopes/index.d.ts +12 -0
- package/dist/scopes/index.d.ts.map +1 -0
- package/dist/scopes/index.js +30 -0
- package/dist/scopes/index.js.map +1 -0
- package/dist/scopes/utils.d.ts +85 -0
- package/dist/scopes/utils.d.ts.map +1 -0
- package/dist/scopes/utils.js +143 -0
- package/dist/scopes/utils.js.map +1 -0
- package/dist/scopes/validateScopeNamespaceNesting.d.ts +38 -0
- package/dist/scopes/validateScopeNamespaceNesting.d.ts.map +1 -0
- package/dist/scopes/validateScopeNamespaceNesting.js +69 -0
- package/dist/scopes/validateScopeNamespaceNesting.js.map +1 -0
- package/dist/spans/index.d.ts +12 -0
- package/dist/spans/index.d.ts.map +1 -0
- package/dist/spans/index.js +25 -0
- package/dist/spans/index.js.map +1 -0
- package/dist/spans/utils.d.ts +70 -0
- package/dist/spans/utils.d.ts.map +1 -0
- package/dist/spans/utils.js +205 -0
- package/dist/spans/utils.js.map +1 -0
- package/dist/storage/topic-types.d.ts +203 -0
- package/dist/storage/topic-types.d.ts.map +1 -0
- package/dist/storage/topic-types.js +60 -0
- package/dist/storage/topic-types.js.map +1 -0
- package/dist/storage/topicStore.d.ts +135 -0
- package/dist/storage/topicStore.d.ts.map +1 -0
- package/dist/storage/topicStore.js +389 -0
- package/dist/storage/topicStore.js.map +1 -0
- package/dist/storyboard/builder.d.ts +135 -0
- package/dist/storyboard/builder.d.ts.map +1 -0
- package/dist/storyboard/builder.js +235 -0
- package/dist/storyboard/builder.js.map +1 -0
- package/dist/storyboard/index.d.ts +9 -0
- package/dist/storyboard/index.d.ts.map +1 -0
- package/dist/storyboard/index.js +18 -0
- package/dist/storyboard/index.js.map +1 -0
- package/dist/storyboard/types.d.ts +101 -0
- package/dist/storyboard/types.d.ts.map +1 -0
- package/dist/storyboard/types.js +10 -0
- package/dist/storyboard/types.js.map +1 -0
- package/dist/telemetry/coverage.d.ts +92 -0
- package/dist/telemetry/coverage.d.ts.map +1 -0
- package/dist/telemetry/coverage.js +335 -0
- package/dist/telemetry/coverage.js.map +1 -0
- package/dist/telemetry/event-validator.d.ts +86 -0
- package/dist/telemetry/event-validator.d.ts.map +1 -0
- package/dist/telemetry/event-validator.js +257 -0
- package/dist/telemetry/event-validator.js.map +1 -0
- package/dist/types/audit.d.ts +236 -0
- package/dist/types/audit.d.ts.map +1 -0
- package/dist/types/audit.js +53 -0
- package/dist/types/audit.js.map +1 -0
- package/dist/types/auxiliary.d.ts +54 -0
- package/dist/types/auxiliary.d.ts.map +1 -0
- package/dist/types/auxiliary.js +27 -0
- package/dist/types/auxiliary.js.map +1 -0
- package/dist/types/canvas-scope.d.ts +156 -0
- package/dist/types/canvas-scope.d.ts.map +1 -0
- package/dist/types/canvas-scope.js +62 -0
- package/dist/types/canvas-scope.js.map +1 -0
- package/dist/types/canvas.d.ts +1138 -0
- package/dist/types/canvas.d.ts.map +1 -0
- package/dist/types/canvas.js +178 -0
- package/dist/types/canvas.js.map +1 -0
- package/dist/types/dashboard.d.ts +170 -0
- package/dist/types/dashboard.d.ts.map +1 -0
- package/dist/types/dashboard.js +14 -0
- package/dist/types/dashboard.js.map +1 -0
- package/dist/types/index.d.ts +352 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +39 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/library.d.ts +227 -0
- package/dist/types/library.d.ts.map +1 -0
- package/dist/types/library.js +16 -0
- package/dist/types/library.js.map +1 -0
- package/dist/types/otel.d.ts +465 -0
- package/dist/types/otel.d.ts.map +1 -0
- package/dist/types/otel.js +163 -0
- package/dist/types/otel.js.map +1 -0
- package/dist/types/path-based-config.d.ts +235 -0
- package/dist/types/path-based-config.d.ts.map +1 -0
- package/dist/types/path-based-config.js +11 -0
- package/dist/types/path-based-config.js.map +1 -0
- package/dist/types/registered-trace.d.ts +337 -0
- package/dist/types/registered-trace.d.ts.map +1 -0
- package/dist/types/registered-trace.js +16 -0
- package/dist/types/registered-trace.js.map +1 -0
- package/dist/types/resource-match.d.ts +207 -0
- package/dist/types/resource-match.d.ts.map +1 -0
- package/dist/types/resource-match.js +74 -0
- package/dist/types/resource-match.js.map +1 -0
- package/dist/types/subsystem-model.d.ts +265 -0
- package/dist/types/subsystem-model.d.ts.map +1 -0
- package/dist/types/subsystem-model.js +35 -0
- package/dist/types/subsystem-model.js.map +1 -0
- package/dist/types/version-registry.d.ts +137 -0
- package/dist/types/version-registry.d.ts.map +1 -0
- package/dist/types/version-registry.js +10 -0
- package/dist/types/version-registry.js.map +1 -0
- package/dist/utils/CanvasConverter.d.ts +148 -0
- package/dist/utils/CanvasConverter.d.ts.map +1 -0
- package/dist/utils/CanvasConverter.js +530 -0
- package/dist/utils/CanvasConverter.js.map +1 -0
- package/dist/utils/GraphConverter.d.ts +18 -0
- package/dist/utils/GraphConverter.d.ts.map +1 -0
- package/dist/utils/GraphConverter.js +80 -0
- package/dist/utils/GraphConverter.js.map +1 -0
- package/dist/utils/PathMatcher.d.ts +55 -0
- package/dist/utils/PathMatcher.d.ts.map +1 -0
- package/dist/utils/PathMatcher.js +178 -0
- package/dist/utils/PathMatcher.js.map +1 -0
- package/dist/utils/TraceToCanvas.d.ts +83 -0
- package/dist/utils/TraceToCanvas.d.ts.map +1 -0
- package/dist/utils/TraceToCanvas.js +336 -0
- package/dist/utils/TraceToCanvas.js.map +1 -0
- package/dist/utils/YamlParser.d.ts +36 -0
- package/dist/utils/YamlParser.d.ts.map +1 -0
- package/dist/utils/YamlParser.js +92 -0
- package/dist/utils/YamlParser.js.map +1 -0
- package/dist/utils/registeredTraceHelpers.d.ts +76 -0
- package/dist/utils/registeredTraceHelpers.d.ts.map +1 -0
- package/dist/utils/registeredTraceHelpers.js +203 -0
- package/dist/utils/registeredTraceHelpers.js.map +1 -0
- package/dist/utils/traceAggregation.d.ts +25 -0
- package/dist/utils/traceAggregation.d.ts.map +1 -0
- package/dist/utils/traceAggregation.js +140 -0
- package/dist/utils/traceAggregation.js.map +1 -0
- package/dist/validation/OtelCanvasValidator.d.ts +40 -0
- package/dist/validation/OtelCanvasValidator.d.ts.map +1 -0
- package/dist/validation/OtelCanvasValidator.js +59 -0
- package/dist/validation/OtelCanvasValidator.js.map +1 -0
- package/dist/validation/index.d.ts +8 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +13 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/libraryValidation.d.ts +53 -0
- package/dist/validation/libraryValidation.d.ts.map +1 -0
- package/dist/validation/libraryValidation.js +115 -0
- package/dist/validation/libraryValidation.js.map +1 -0
- package/dist/workflow/edge-derivation.d.ts +111 -0
- package/dist/workflow/edge-derivation.d.ts.map +1 -0
- package/dist/workflow/edge-derivation.js +174 -0
- package/dist/workflow/edge-derivation.js.map +1 -0
- package/dist/workflow/edge-validation.d.ts +170 -0
- package/dist/workflow/edge-validation.d.ts.map +1 -0
- package/dist/workflow/edge-validation.js +332 -0
- package/dist/workflow/edge-validation.js.map +1 -0
- package/dist/workflow/example.d.ts +11 -0
- package/dist/workflow/example.d.ts.map +1 -0
- package/dist/workflow/example.js +310 -0
- package/dist/workflow/example.js.map +1 -0
- package/dist/workflow/index.d.ts +20 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +49 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/scenario-matcher.d.ts +63 -0
- package/dist/workflow/scenario-matcher.d.ts.map +1 -0
- package/dist/workflow/scenario-matcher.js +215 -0
- package/dist/workflow/scenario-matcher.js.map +1 -0
- package/dist/workflow/template-parser.d.ts +73 -0
- package/dist/workflow/template-parser.d.ts.map +1 -0
- package/dist/workflow/template-parser.js +280 -0
- package/dist/workflow/template-parser.js.map +1 -0
- package/dist/workflow/template-renderer.d.ts +45 -0
- package/dist/workflow/template-renderer.d.ts.map +1 -0
- package/dist/workflow/template-renderer.js +401 -0
- package/dist/workflow/template-renderer.js.map +1 -0
- package/dist/workflow/types.d.ts +393 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +40 -0
- package/dist/workflow/types.js.map +1 -0
- package/dist/workflow/validator.d.ts +363 -0
- package/dist/workflow/validator.d.ts.map +1 -0
- package/dist/workflow/validator.js +2283 -0
- package/dist/workflow/validator.js.map +1 -0
- package/package.json +84 -0
- package/schemas/auxiliary.manifest.schema.json +56 -0
- package/schemas/subsystem-model.schema.json +767 -0
- package/src/ConfigurationLoader.test.ts +466 -0
- package/src/ConfigurationLoader.ts +184 -0
- package/src/ConfigurationValidator.test.ts +200 -0
- package/src/ConfigurationValidator.ts +273 -0
- package/src/EventProcessor.test.ts +405 -0
- package/src/EventProcessor.ts +256 -0
- package/src/EventRecorderService.test.ts +543 -0
- package/src/EventRecorderService.ts +741 -0
- package/src/LibraryLoader.ts +194 -0
- package/src/PathBasedEventProcessor.test.ts +336 -0
- package/src/PathBasedEventProcessor.ts +196 -0
- package/src/SessionManager.test.ts +424 -0
- package/src/SessionManager.ts +471 -0
- package/src/ValidationEngine.test.ts +520 -0
- package/src/ValidationEngine.ts +200 -0
- package/src/agent-sessions/fixture.ts +225 -0
- package/src/agent-sessions/index.ts +10 -0
- package/src/auxiliary/AuxiliaryManifestValidator.test.ts +93 -0
- package/src/auxiliary/AuxiliaryManifestValidator.ts +132 -0
- package/src/auxiliary/index.ts +18 -0
- package/src/auxiliary/validateAreaScopeDisjoint.test.ts +85 -0
- package/src/auxiliary/validateAreaScopeDisjoint.ts +72 -0
- package/src/browser-safety.test.ts +170 -0
- package/src/cli/codegen.ts +286 -0
- package/src/codegen/type-generator.test.ts +219 -0
- package/src/codegen/type-generator.ts +560 -0
- package/src/codegen/usage-example.ts +357 -0
- package/src/dashboard/DashboardValidator.ts +904 -0
- package/src/dashboard/index.ts +14 -0
- package/src/discovery/CanvasDiscovery.test.ts +691 -0
- package/src/discovery/CanvasDiscovery.ts +1114 -0
- package/src/discovery/CanvasFileManifest.test.ts +521 -0
- package/src/discovery/CanvasFileManifest.ts +419 -0
- package/src/discovery/LibraryDiscovery.test.ts +329 -0
- package/src/discovery/LibraryDiscovery.ts +386 -0
- package/src/discovery/types.ts +453 -0
- package/src/events/EventsCanvasValidator.test.ts +191 -0
- package/src/events/EventsCanvasValidator.ts +428 -0
- package/src/events/NamespacePathIndex.test.ts +97 -0
- package/src/events/NamespacePathIndex.ts +100 -0
- package/src/events/OtelEventPathsValidator.test.ts +243 -0
- package/src/events/OtelEventPathsValidator.ts +191 -0
- package/src/events/ScopeEventsValidator.test.ts +173 -0
- package/src/events/ScopeEventsValidator.ts +158 -0
- package/src/events/index.ts +27 -0
- package/src/events/path-helpers.ts +53 -0
- package/src/execution/ExecutionLoader.test.ts +378 -0
- package/src/execution/ExecutionLoader.ts +331 -0
- package/src/execution/ExecutionValidator.test.ts +503 -0
- package/src/execution/ExecutionValidator.ts +617 -0
- package/src/generated/graph-converter-execution.types.ts +193 -0
- package/src/helpers/GraphInstrumentationHelper.test.ts +364 -0
- package/src/helpers/GraphInstrumentationHelper.ts +323 -0
- package/src/index.ts +587 -0
- package/src/matchers/SpanMatcher.test.ts +1105 -0
- package/src/matchers/SpanMatcher.ts +381 -0
- package/src/node.ts +316 -0
- package/src/opencode/EVENT_MAPPING.md +82 -0
- package/src/opencode/OpenCodeEventStore.ts +214 -0
- package/src/opencode/__fixtures__/event-shapes.json +443 -0
- package/src/opencode/__fixtures__/session-events.json +13491 -0
- package/src/opencode/agent-sessions.ts +376 -0
- package/src/opencode/index.ts +23 -0
- package/src/opencode/node-path-adapter.ts +205 -0
- package/src/opencode/pipeline.ts +141 -0
- package/src/opencode/types.ts +43 -0
- package/src/orchestration/TraceOrchestrator.ts +560 -0
- package/src/orchestration/__tests__/TraceOrchestrator.test.ts +1098 -0
- package/src/parsers/OtlpTraceParser.ts +401 -0
- package/src/parsers/__tests__/OtlpTraceParser.test.ts +197 -0
- package/src/registry/CompositeRegistry.ts +140 -0
- package/src/registry/EventRegistry.test.ts +387 -0
- package/src/registry/EventRegistry.ts +191 -0
- package/src/registry/LocalRegistry.ts +416 -0
- package/src/registry/RemoteRegistry.ts +499 -0
- package/src/registry/VersionRegistry.test.ts +223 -0
- package/src/registry/VersionRegistry.ts +121 -0
- package/src/rules/config.test.ts +277 -0
- package/src/rules/config.ts +450 -0
- package/src/rules/engine.test.ts +331 -0
- package/src/rules/engine.ts +448 -0
- package/src/rules/implementations/connection-type-references.ts +117 -0
- package/src/rules/implementations/dead-end-states.ts +101 -0
- package/src/rules/implementations/index.ts +66 -0
- package/src/rules/implementations/minimum-node-sources.ts +84 -0
- package/src/rules/implementations/no-unknown-fields.ts +372 -0
- package/src/rules/implementations/orphaned-edge-types.ts +55 -0
- package/src/rules/implementations/orphaned-node-types.ts +58 -0
- package/src/rules/implementations/required-metadata.ts +52 -0
- package/src/rules/implementations/state-transition-references.ts +155 -0
- package/src/rules/implementations/unreachable-states.ts +94 -0
- package/src/rules/implementations/valid-action-patterns.ts +140 -0
- package/src/rules/implementations/valid-color-format.ts +152 -0
- package/src/rules/implementations/valid-edge-types.ts +273 -0
- package/src/rules/implementations/valid-node-types.ts +200 -0
- package/src/rules/index.ts +92 -0
- package/src/rules/types.ts +426 -0
- package/src/scopes/ScopePathIndex.test.ts +94 -0
- package/src/scopes/ScopePathIndex.ts +89 -0
- package/src/scopes/ScopesCanvasValidator.test.ts +127 -0
- package/src/scopes/ScopesCanvasValidator.ts +305 -0
- package/src/scopes/__tests__/utils.test.ts +383 -0
- package/src/scopes/index.ts +42 -0
- package/src/scopes/utils.ts +182 -0
- package/src/scopes/validateScopeNamespaceNesting.test.ts +127 -0
- package/src/scopes/validateScopeNamespaceNesting.ts +88 -0
- package/src/spans/index.ts +24 -0
- package/src/spans/utils.ts +249 -0
- package/src/storage/topic-types.ts +235 -0
- package/src/storage/topicStore.test.ts +193 -0
- package/src/storage/topicStore.ts +489 -0
- package/src/storyboard/builder.ts +308 -0
- package/src/storyboard/index.ts +26 -0
- package/src/storyboard/types.ts +117 -0
- package/src/telemetry/coverage.ts +480 -0
- package/src/telemetry/event-validator.ts +312 -0
- package/src/types/audit.ts +314 -0
- package/src/types/auxiliary.ts +63 -0
- package/src/types/canvas-scope.ts +190 -0
- package/src/types/canvas.test.ts +199 -0
- package/src/types/canvas.ts +1395 -0
- package/src/types/dashboard.ts +257 -0
- package/src/types/index.ts +460 -0
- package/src/types/library.ts +283 -0
- package/src/types/otel.test.ts +219 -0
- package/src/types/otel.ts +620 -0
- package/src/types/path-based-config.ts +285 -0
- package/src/types/registered-trace.ts +432 -0
- package/src/types/resource-match.ts +263 -0
- package/src/types/subsystem-model.ts +352 -0
- package/src/types/version-registry.ts +150 -0
- package/src/utils/CanvasConverter.ts +670 -0
- package/src/utils/GraphConverter.test.ts +322 -0
- package/src/utils/GraphConverter.ts +84 -0
- package/src/utils/PathMatcher.test.ts +139 -0
- package/src/utils/PathMatcher.ts +185 -0
- package/src/utils/TraceToCanvas.test.ts +310 -0
- package/src/utils/TraceToCanvas.ts +510 -0
- package/src/utils/YamlParser.ts +77 -0
- package/src/utils/registeredTraceHelpers.ts +251 -0
- package/src/utils/traceAggregation.test.ts +385 -0
- package/src/utils/traceAggregation.ts +173 -0
- package/src/validation/OtelCanvasValidator.ts +86 -0
- package/src/validation/index.ts +17 -0
- package/src/validation/libraryValidation.ts +206 -0
- package/src/workflow/README.md +408 -0
- package/src/workflow/__tests__/edge-derivation.test.ts +449 -0
- package/src/workflow/__tests__/edge-validation.test.ts +417 -0
- package/src/workflow/__tests__/scenario-matcher.test.ts +225 -0
- package/src/workflow/__tests__/template-parser.test.ts +276 -0
- package/src/workflow/__tests__/template-renderer.test.ts +509 -0
- package/src/workflow/__tests__/types.test.ts +187 -0
- package/src/workflow/__tests__/validator.test.ts +3225 -0
- package/src/workflow/edge-derivation.ts +265 -0
- package/src/workflow/edge-validation.ts +503 -0
- package/src/workflow/example.ts +330 -0
- package/src/workflow/index.ts +86 -0
- package/src/workflow/scenario-matcher.ts +253 -0
- package/src/workflow/template-parser.ts +350 -0
- package/src/workflow/template-renderer.ts +453 -0
- package/src/workflow/types.ts +511 -0
- package/src/workflow/validator.ts +2737 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules Engine Type Definitions
|
|
3
|
+
* Provides types for configuration validation rules
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Severity levels following ESLint convention
|
|
7
|
+
* - "off" or 0: Disable rule
|
|
8
|
+
* - "warn" or 1: Warning (doesn't affect exit code)
|
|
9
|
+
* - "error" or 2: Error (exit code 1)
|
|
10
|
+
*/
|
|
11
|
+
export type RuleSeverity = 'off' | 'warn' | 'error' | 0 | 1 | 2;
|
|
12
|
+
/**
|
|
13
|
+
* Normalized severity (string form only)
|
|
14
|
+
*/
|
|
15
|
+
export type NormalizedSeverity = 'off' | 'warn' | 'error';
|
|
16
|
+
/**
|
|
17
|
+
* Rule categories for grouping and filtering
|
|
18
|
+
*/
|
|
19
|
+
export type RuleCategory = 'schema' | 'reference' | 'structure' | 'pattern' | 'library';
|
|
20
|
+
/**
|
|
21
|
+
* Full rule configuration object
|
|
22
|
+
*/
|
|
23
|
+
export interface RuleConfig {
|
|
24
|
+
/**
|
|
25
|
+
* Rule severity
|
|
26
|
+
* @default "error"
|
|
27
|
+
*/
|
|
28
|
+
severity?: RuleSeverity;
|
|
29
|
+
/**
|
|
30
|
+
* Rule-specific options
|
|
31
|
+
*/
|
|
32
|
+
options?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* VGC Configuration file schema
|
|
36
|
+
*/
|
|
37
|
+
export interface PrivuConfig {
|
|
38
|
+
/**
|
|
39
|
+
* Schema version for forward compatibility
|
|
40
|
+
*/
|
|
41
|
+
$schema?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Extend from a shared configuration
|
|
44
|
+
* Can be a package name or relative path
|
|
45
|
+
*/
|
|
46
|
+
extends?: string | string[];
|
|
47
|
+
/**
|
|
48
|
+
* Root flag - stop searching parent directories
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
root?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Path to default component library
|
|
54
|
+
* Used by library-node-type-match rule
|
|
55
|
+
*/
|
|
56
|
+
library?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Glob patterns for configuration files to lint
|
|
59
|
+
* @default [".principal-views/**\/*.yaml", ".principal-views/**\/*.yml", ".principal-views/**\/*.json"]
|
|
60
|
+
*/
|
|
61
|
+
include?: string[];
|
|
62
|
+
/**
|
|
63
|
+
* Glob patterns to exclude from linting
|
|
64
|
+
* @default ["**\/node_modules/**", "**\/*.test.*"]
|
|
65
|
+
*/
|
|
66
|
+
exclude?: string[];
|
|
67
|
+
/**
|
|
68
|
+
* Rule configurations
|
|
69
|
+
*/
|
|
70
|
+
rules?: {
|
|
71
|
+
[ruleId: string]: RuleConfig | RuleSeverity | false;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Rule-specific options type (varies per rule)
|
|
76
|
+
*/
|
|
77
|
+
export type RuleOptions = Record<string, unknown>;
|
|
78
|
+
/**
|
|
79
|
+
* Definition of a validation rule
|
|
80
|
+
*/
|
|
81
|
+
export interface GraphRule<TOptions extends RuleOptions = RuleOptions> {
|
|
82
|
+
/**
|
|
83
|
+
* Unique rule identifier (kebab-case)
|
|
84
|
+
*/
|
|
85
|
+
id: string;
|
|
86
|
+
/**
|
|
87
|
+
* Human-readable rule name
|
|
88
|
+
*/
|
|
89
|
+
name: string;
|
|
90
|
+
/**
|
|
91
|
+
* Brief description of what the rule checks
|
|
92
|
+
*/
|
|
93
|
+
description: string;
|
|
94
|
+
/**
|
|
95
|
+
* Explanation of why this rule matters
|
|
96
|
+
*/
|
|
97
|
+
impact: string;
|
|
98
|
+
/**
|
|
99
|
+
* Default severity level
|
|
100
|
+
* @default "error"
|
|
101
|
+
*/
|
|
102
|
+
severity: NormalizedSeverity;
|
|
103
|
+
/**
|
|
104
|
+
* Rule category for grouping
|
|
105
|
+
*/
|
|
106
|
+
category: RuleCategory;
|
|
107
|
+
/**
|
|
108
|
+
* Whether the rule is enabled by default
|
|
109
|
+
* @default true
|
|
110
|
+
*/
|
|
111
|
+
enabled: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Whether the rule supports auto-fix
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
fixable: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Default options for this rule
|
|
119
|
+
*/
|
|
120
|
+
defaultOptions?: TOptions;
|
|
121
|
+
/**
|
|
122
|
+
* Execute the rule check
|
|
123
|
+
*/
|
|
124
|
+
check: (context: GraphRuleContext<TOptions>) => Promise<GraphRuleViolation[]>;
|
|
125
|
+
/**
|
|
126
|
+
* Optional auto-fix implementation
|
|
127
|
+
*/
|
|
128
|
+
fix?: (violation: GraphRuleViolation, context: GraphRuleContext<TOptions>) => Promise<FixResult>;
|
|
129
|
+
}
|
|
130
|
+
import type { GraphConfiguration } from '../types';
|
|
131
|
+
import type { ComponentLibrary } from '../types/library';
|
|
132
|
+
/**
|
|
133
|
+
* Context passed to rules during evaluation
|
|
134
|
+
*/
|
|
135
|
+
export interface GraphRuleContext<TOptions extends RuleOptions = RuleOptions> {
|
|
136
|
+
/**
|
|
137
|
+
* The configuration being validated
|
|
138
|
+
*/
|
|
139
|
+
configuration: GraphConfiguration;
|
|
140
|
+
/**
|
|
141
|
+
* Optional component library for library rules
|
|
142
|
+
*/
|
|
143
|
+
library?: ComponentLibrary;
|
|
144
|
+
/**
|
|
145
|
+
* Path to the configuration file (for error reporting)
|
|
146
|
+
*/
|
|
147
|
+
configPath?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Path to the library file (for error reporting)
|
|
150
|
+
*/
|
|
151
|
+
libraryPath?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Raw YAML/JSON string (for line number lookup)
|
|
154
|
+
*/
|
|
155
|
+
rawContent?: string;
|
|
156
|
+
/**
|
|
157
|
+
* Rule-specific options (merged with defaults)
|
|
158
|
+
*/
|
|
159
|
+
options: TOptions;
|
|
160
|
+
/**
|
|
161
|
+
* All rule options from config (for cross-rule access if needed)
|
|
162
|
+
*/
|
|
163
|
+
allRuleOptions?: Map<string, RuleOptions>;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* A violation detected by a rule
|
|
167
|
+
*/
|
|
168
|
+
export interface GraphRuleViolation {
|
|
169
|
+
/**
|
|
170
|
+
* ID of the rule that detected this violation
|
|
171
|
+
*/
|
|
172
|
+
ruleId: string;
|
|
173
|
+
/**
|
|
174
|
+
* Severity of this violation
|
|
175
|
+
*/
|
|
176
|
+
severity: NormalizedSeverity;
|
|
177
|
+
/**
|
|
178
|
+
* Path to the file containing the violation
|
|
179
|
+
*/
|
|
180
|
+
file?: string;
|
|
181
|
+
/**
|
|
182
|
+
* Line number in the file (1-indexed)
|
|
183
|
+
*/
|
|
184
|
+
line?: number;
|
|
185
|
+
/**
|
|
186
|
+
* Column number in the file (1-indexed)
|
|
187
|
+
*/
|
|
188
|
+
column?: number;
|
|
189
|
+
/**
|
|
190
|
+
* JSON path to the problematic field (e.g., "nodeTypes.service.shape")
|
|
191
|
+
*/
|
|
192
|
+
path?: string;
|
|
193
|
+
/**
|
|
194
|
+
* Clear, actionable error message
|
|
195
|
+
*/
|
|
196
|
+
message: string;
|
|
197
|
+
/**
|
|
198
|
+
* Explanation of why this matters
|
|
199
|
+
*/
|
|
200
|
+
impact: string;
|
|
201
|
+
/**
|
|
202
|
+
* Suggestion for how to fix
|
|
203
|
+
*/
|
|
204
|
+
suggestion?: string;
|
|
205
|
+
/**
|
|
206
|
+
* Whether this violation can be auto-fixed
|
|
207
|
+
*/
|
|
208
|
+
fixable: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Data needed for auto-fix
|
|
211
|
+
*/
|
|
212
|
+
fixData?: Record<string, unknown>;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Result of running all rules
|
|
216
|
+
*/
|
|
217
|
+
export interface GraphLintResult {
|
|
218
|
+
/**
|
|
219
|
+
* All violations found
|
|
220
|
+
*/
|
|
221
|
+
violations: GraphRuleViolation[];
|
|
222
|
+
/**
|
|
223
|
+
* Count of error-level violations
|
|
224
|
+
*/
|
|
225
|
+
errorCount: number;
|
|
226
|
+
/**
|
|
227
|
+
* Count of warning-level violations
|
|
228
|
+
*/
|
|
229
|
+
warningCount: number;
|
|
230
|
+
/**
|
|
231
|
+
* Count of fixable violations
|
|
232
|
+
*/
|
|
233
|
+
fixableCount: number;
|
|
234
|
+
/**
|
|
235
|
+
* Violations grouped by category
|
|
236
|
+
*/
|
|
237
|
+
byCategory: Record<RuleCategory, number>;
|
|
238
|
+
/**
|
|
239
|
+
* Violations grouped by rule ID
|
|
240
|
+
*/
|
|
241
|
+
byRule: Record<string, number>;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Result of attempting to fix a violation
|
|
245
|
+
*/
|
|
246
|
+
export interface FixResult {
|
|
247
|
+
/**
|
|
248
|
+
* Whether the fix was successful
|
|
249
|
+
*/
|
|
250
|
+
success: boolean;
|
|
251
|
+
/**
|
|
252
|
+
* Description of what was fixed
|
|
253
|
+
*/
|
|
254
|
+
message?: string;
|
|
255
|
+
/**
|
|
256
|
+
* New content after fix (if applicable)
|
|
257
|
+
*/
|
|
258
|
+
newContent?: string;
|
|
259
|
+
/**
|
|
260
|
+
* Error message if fix failed
|
|
261
|
+
*/
|
|
262
|
+
error?: string;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Options for the lint operation
|
|
266
|
+
*/
|
|
267
|
+
export interface LintOptions {
|
|
268
|
+
/**
|
|
269
|
+
* Only run these rules (by ID)
|
|
270
|
+
*/
|
|
271
|
+
enabledRules?: string[];
|
|
272
|
+
/**
|
|
273
|
+
* Skip these rules (by ID)
|
|
274
|
+
*/
|
|
275
|
+
disabledRules?: string[];
|
|
276
|
+
/**
|
|
277
|
+
* Override severity for specific rules
|
|
278
|
+
*/
|
|
279
|
+
severityOverrides?: Map<string, NormalizedSeverity>;
|
|
280
|
+
/**
|
|
281
|
+
* Component library for library rules
|
|
282
|
+
*/
|
|
283
|
+
library?: ComponentLibrary;
|
|
284
|
+
/**
|
|
285
|
+
* Path to config file (for error reporting)
|
|
286
|
+
*/
|
|
287
|
+
configPath?: string;
|
|
288
|
+
/**
|
|
289
|
+
* Path to library file (for error reporting)
|
|
290
|
+
*/
|
|
291
|
+
libraryPath?: string;
|
|
292
|
+
/**
|
|
293
|
+
* Raw content for line number reporting
|
|
294
|
+
*/
|
|
295
|
+
rawContent?: string;
|
|
296
|
+
/**
|
|
297
|
+
* Rule-specific options
|
|
298
|
+
*/
|
|
299
|
+
ruleOptions?: Map<string, RuleOptions>;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Normalize severity to string form
|
|
303
|
+
*/
|
|
304
|
+
export declare function normalizeSeverity(severity: RuleSeverity): NormalizedSeverity;
|
|
305
|
+
/**
|
|
306
|
+
* Check if a severity means the rule is disabled
|
|
307
|
+
*/
|
|
308
|
+
export declare function isRuleDisabled(severity: RuleSeverity | false | undefined): boolean;
|
|
309
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Rules Engine Type Definitions
|
|
4
|
+
* Provides types for configuration validation rules
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isRuleDisabled = exports.normalizeSeverity = void 0;
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Utility Types
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Normalize severity to string form
|
|
13
|
+
*/
|
|
14
|
+
function normalizeSeverity(severity) {
|
|
15
|
+
if (typeof severity === 'number') {
|
|
16
|
+
switch (severity) {
|
|
17
|
+
case 0:
|
|
18
|
+
return 'off';
|
|
19
|
+
case 1:
|
|
20
|
+
return 'warn';
|
|
21
|
+
case 2:
|
|
22
|
+
return 'error';
|
|
23
|
+
default:
|
|
24
|
+
return 'error';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return severity;
|
|
28
|
+
}
|
|
29
|
+
exports.normalizeSeverity = normalizeSeverity;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a severity means the rule is disabled
|
|
32
|
+
*/
|
|
33
|
+
function isRuleDisabled(severity) {
|
|
34
|
+
if (severity === false || severity === 'off' || severity === 0) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
exports.isRuleDisabled = isRuleDisabled;
|
|
40
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuYH,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,iBAAiB,CAAC,QAAsB;IACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,QAAQ,QAAQ,EAAE;YAChB,KAAK,CAAC;gBACJ,OAAO,KAAK,CAAC;YACf,KAAK,CAAC;gBACJ,OAAO,MAAM,CAAC;YAChB,KAAK,CAAC;gBACJ,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,OAAO,CAAC;SAClB;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAdD,8CAcC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,QAA0C;IACvE,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,CAAC,EAAE;QAC9D,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AALD,wCAKC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scopes Canvas Validator
|
|
3
|
+
*
|
|
4
|
+
* Validates that a .scopes.canvas file exists and properly documents
|
|
5
|
+
* all instrumentation scopes declared in library.yaml.
|
|
6
|
+
*/
|
|
7
|
+
import type { FileSystemAdapter } from '@principal-ai/repository-abstraction';
|
|
8
|
+
import type { ExtendedCanvas } from '../types/canvas';
|
|
9
|
+
/**
|
|
10
|
+
* Scopes canvas validation context
|
|
11
|
+
*/
|
|
12
|
+
export interface ScopesCanvasValidationContext {
|
|
13
|
+
/** The scopes canvas (if found) */
|
|
14
|
+
scopesCanvas?: ExtendedCanvas;
|
|
15
|
+
/** Path to the scopes canvas file */
|
|
16
|
+
scopesCanvasPath?: string;
|
|
17
|
+
/** Owned scopes from library.yaml */
|
|
18
|
+
ownedScopes: string[];
|
|
19
|
+
/** Base path for resolving relative paths */
|
|
20
|
+
basePath: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Scopes canvas validation violation
|
|
24
|
+
*/
|
|
25
|
+
export interface ScopesCanvasViolation {
|
|
26
|
+
/** Rule ID that detected this violation */
|
|
27
|
+
ruleId: string;
|
|
28
|
+
/** Severity level */
|
|
29
|
+
severity: 'error' | 'warn';
|
|
30
|
+
/** File path where violation occurred */
|
|
31
|
+
file: string;
|
|
32
|
+
/** JSON path within file (optional) */
|
|
33
|
+
path?: string;
|
|
34
|
+
/** Human-readable description of what's wrong */
|
|
35
|
+
message: string;
|
|
36
|
+
/** Why this matters */
|
|
37
|
+
impact: string;
|
|
38
|
+
/** How to fix it */
|
|
39
|
+
suggestion: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Scopes canvas validation result
|
|
43
|
+
*/
|
|
44
|
+
export interface ScopesCanvasValidationResult {
|
|
45
|
+
/** Whether validation passed (no errors) */
|
|
46
|
+
valid: boolean;
|
|
47
|
+
/** List of violations found */
|
|
48
|
+
violations: ScopesCanvasViolation[];
|
|
49
|
+
/** Summary of scopes coverage */
|
|
50
|
+
coverage: {
|
|
51
|
+
/** Total owned scopes from library.yaml */
|
|
52
|
+
totalOwnedScopes: number;
|
|
53
|
+
/** Scopes documented in canvas */
|
|
54
|
+
documentedScopes: string[];
|
|
55
|
+
/** Scopes missing from canvas */
|
|
56
|
+
missingScopes: string[];
|
|
57
|
+
/** Scopes in canvas but not in owned-scopes */
|
|
58
|
+
extraScopes: string[];
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Validates scopes canvas files
|
|
63
|
+
*/
|
|
64
|
+
export declare class ScopesCanvasValidator {
|
|
65
|
+
private fsAdapter;
|
|
66
|
+
constructor(fsAdapter: FileSystemAdapter);
|
|
67
|
+
/**
|
|
68
|
+
* Validate a scopes canvas against library.yaml owned-scopes
|
|
69
|
+
*/
|
|
70
|
+
validate(context: ScopesCanvasValidationContext): Promise<ScopesCanvasValidationResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Extract scope information from canvas nodes (otel-scope nodes only)
|
|
73
|
+
*/
|
|
74
|
+
private extractScopesFromCanvas;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=ScopesCanvasValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopesCanvasValidator.d.ts","sourceRoot":"","sources":["../../src/scopes/ScopesCanvasValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,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;IACpB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAEhD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAgM7F;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
|