@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,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LocalRegistry - Browser-safe registry for local workspaces
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Uses FileTree abstraction (browser-safe)
|
|
7
|
+
* - No version registry lookups (uses FileTree directly)
|
|
8
|
+
* - Cache invalidation via external triggers
|
|
9
|
+
* - Supports multiple registered workspaces
|
|
10
|
+
* - Auto-discovers scope names from library.yaml resources
|
|
11
|
+
*
|
|
12
|
+
* Note: File watching must be handled externally by calling invalidateCache()
|
|
13
|
+
* when .principal-views files change.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.LocalRegistry = void 0;
|
|
17
|
+
const CanvasDiscovery_1 = require("../discovery/CanvasDiscovery");
|
|
18
|
+
const LibraryDiscovery_1 = require("../discovery/LibraryDiscovery");
|
|
19
|
+
/**
|
|
20
|
+
* Local registry for development mode
|
|
21
|
+
*/
|
|
22
|
+
class LocalRegistry {
|
|
23
|
+
constructor(fileReader, fsAdapter) {
|
|
24
|
+
this.fileReader = fileReader;
|
|
25
|
+
this.cache = new Map();
|
|
26
|
+
this.workspaces = new Map(); // workspaceId → registration
|
|
27
|
+
this.scopeToWorkspaceId = new Map(); // scopeName → workspaceId
|
|
28
|
+
this.libraryDiscovery = null;
|
|
29
|
+
this.discovery = new CanvasDiscovery_1.CanvasDiscovery();
|
|
30
|
+
if (fsAdapter) {
|
|
31
|
+
this.libraryDiscovery = new LibraryDiscovery_1.LibraryDiscovery(fsAdapter);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Register a local workspace
|
|
36
|
+
*
|
|
37
|
+
* Auto-discovers service names and owned scopes from library.yaml resources section.
|
|
38
|
+
* Each service in resources with a service.name becomes a registered scope.
|
|
39
|
+
* Additionally, owned-scopes from each service are mapped to their owning service.
|
|
40
|
+
*
|
|
41
|
+
* File watching should be handled externally. When .principal-views files change,
|
|
42
|
+
* call invalidateCache(scopeName) to rebuild the snapshot.
|
|
43
|
+
*
|
|
44
|
+
* @param fileTree - FileTree for the workspace
|
|
45
|
+
* @returns Array of all registered scope names (services + owned scopes)
|
|
46
|
+
*/
|
|
47
|
+
async registerWorkspace(fileTree) {
|
|
48
|
+
// Use stable identifier: rootPath (repository path) or sha (content hash)
|
|
49
|
+
// Note: metadata.id includes a timestamp suffix making it unique per build,
|
|
50
|
+
// which would cause duplicate registrations on every file tree update
|
|
51
|
+
const workspaceId = fileTree.metadata.sourceInfo?.rootPath || fileTree.sha || fileTree.metadata.id;
|
|
52
|
+
// Check if already registered
|
|
53
|
+
if (this.workspaces.has(workspaceId)) {
|
|
54
|
+
const existing = this.workspaces.get(workspaceId);
|
|
55
|
+
const currentSha = fileTree.sha || '';
|
|
56
|
+
// Check if fileTree content changed (different SHA)
|
|
57
|
+
if (existing.fileTreeSha !== currentSha) {
|
|
58
|
+
console.log('[LocalRegistry] Workspace content changed, re-discovering scopes:', {
|
|
59
|
+
workspaceId,
|
|
60
|
+
oldSha: existing.fileTreeSha,
|
|
61
|
+
newSha: currentSha,
|
|
62
|
+
});
|
|
63
|
+
// Re-discover scope names from updated library.yaml
|
|
64
|
+
const { serviceNames, ownedScopes, scopeToServiceMap } = await this.discoverScopesInfo(fileTree);
|
|
65
|
+
// Clear old scope mappings
|
|
66
|
+
for (const scopeName of [...existing.serviceNames, ...existing.ownedScopes]) {
|
|
67
|
+
this.scopeToWorkspaceId.delete(scopeName);
|
|
68
|
+
}
|
|
69
|
+
// Update registration with new scope info
|
|
70
|
+
existing.fileTree = fileTree;
|
|
71
|
+
existing.fileTreeSha = currentSha;
|
|
72
|
+
existing.serviceNames = serviceNames;
|
|
73
|
+
existing.ownedScopes = ownedScopes;
|
|
74
|
+
// Update scope-to-workspace mapping with new scopes
|
|
75
|
+
for (const [scopeName] of scopeToServiceMap) {
|
|
76
|
+
this.scopeToWorkspaceId.set(scopeName, workspaceId);
|
|
77
|
+
}
|
|
78
|
+
console.log('[LocalRegistry] Updated workspace registration:', {
|
|
79
|
+
workspaceId,
|
|
80
|
+
serviceNames,
|
|
81
|
+
ownedScopes,
|
|
82
|
+
fileTreeSha: currentSha,
|
|
83
|
+
});
|
|
84
|
+
return [...new Set([...serviceNames, ...ownedScopes])];
|
|
85
|
+
}
|
|
86
|
+
console.log('[LocalRegistry] Workspace already registered (no changes):', workspaceId);
|
|
87
|
+
// Update the fileTree reference to the latest version
|
|
88
|
+
existing.fileTree = fileTree;
|
|
89
|
+
return [...new Set([...existing.serviceNames, ...existing.ownedScopes])];
|
|
90
|
+
}
|
|
91
|
+
// Auto-discover service names and owned scopes from library.yaml
|
|
92
|
+
const { serviceNames, ownedScopes, scopeToServiceMap } = await this.discoverScopesInfo(fileTree);
|
|
93
|
+
if (serviceNames.length === 0) {
|
|
94
|
+
console.warn('[LocalRegistry] No service names discovered for workspace:', workspaceId);
|
|
95
|
+
console.warn('[LocalRegistry] Make sure library.yaml has a resources section with service.name attributes');
|
|
96
|
+
}
|
|
97
|
+
// Register workspace
|
|
98
|
+
this.workspaces.set(workspaceId, {
|
|
99
|
+
workspaceId,
|
|
100
|
+
fileTree,
|
|
101
|
+
fileTreeSha: fileTree.sha || '',
|
|
102
|
+
serviceNames,
|
|
103
|
+
ownedScopes,
|
|
104
|
+
});
|
|
105
|
+
// Map all scope names (services + owned scopes) to this workspace
|
|
106
|
+
for (const [scopeName] of scopeToServiceMap) {
|
|
107
|
+
this.scopeToWorkspaceId.set(scopeName, workspaceId);
|
|
108
|
+
}
|
|
109
|
+
console.log('[LocalRegistry] Registered workspace:', {
|
|
110
|
+
workspaceId,
|
|
111
|
+
serviceNames,
|
|
112
|
+
ownedScopes,
|
|
113
|
+
fileTreeSha: fileTree.sha,
|
|
114
|
+
});
|
|
115
|
+
return [...new Set([...serviceNames, ...ownedScopes])];
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Unregister a workspace (cleanup)
|
|
119
|
+
* @param workspaceId - Workspace ID (rootPath, sha, or metadata.id)
|
|
120
|
+
*/
|
|
121
|
+
unregisterWorkspace(workspaceId) {
|
|
122
|
+
const workspace = this.workspaces.get(workspaceId);
|
|
123
|
+
if (!workspace) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// Clear cache for all scope names (services + owned scopes)
|
|
127
|
+
const allScopes = [...workspace.serviceNames, ...workspace.ownedScopes];
|
|
128
|
+
for (const scopeName of allScopes) {
|
|
129
|
+
this.cache.delete(scopeName);
|
|
130
|
+
this.scopeToWorkspaceId.delete(scopeName);
|
|
131
|
+
}
|
|
132
|
+
// Remove registration
|
|
133
|
+
this.workspaces.delete(workspaceId);
|
|
134
|
+
console.log('[LocalRegistry] Unregistered workspace:', {
|
|
135
|
+
workspaceId,
|
|
136
|
+
serviceNames: workspace.serviceNames,
|
|
137
|
+
ownedScopes: workspace.ownedScopes,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
async lookupByScope(scope, _resource) {
|
|
141
|
+
// Map scope name to workspace ID
|
|
142
|
+
const workspaceId = this.scopeToWorkspaceId.get(scope.name);
|
|
143
|
+
if (!workspaceId) {
|
|
144
|
+
console.log('[LocalRegistry] No workspace registered for scope:', scope.name);
|
|
145
|
+
return { found: false, reason: 'scope_not_owned', scopeName: scope.name };
|
|
146
|
+
}
|
|
147
|
+
const workspace = this.workspaces.get(workspaceId);
|
|
148
|
+
if (!workspace) {
|
|
149
|
+
console.error('[LocalRegistry] Workspace not found:', workspaceId);
|
|
150
|
+
return { found: false, reason: 'scope_not_owned', scopeName: scope.name };
|
|
151
|
+
}
|
|
152
|
+
// Check cache first (cache by scope name for granularity)
|
|
153
|
+
const cacheKey = scope.name;
|
|
154
|
+
if (this.cache.has(cacheKey)) {
|
|
155
|
+
const cachedSnapshot = this.cache.get(cacheKey);
|
|
156
|
+
if (cachedSnapshot.storyboards.length === 0) {
|
|
157
|
+
return { found: false, reason: 'no_storyboards', scopeName: scope.name };
|
|
158
|
+
}
|
|
159
|
+
return { found: true, snapshot: cachedSnapshot };
|
|
160
|
+
}
|
|
161
|
+
// Build VersionSnapshot from FileTree
|
|
162
|
+
const snapshot = await this.buildFromFileTree(workspace.fileTree);
|
|
163
|
+
// Cache it
|
|
164
|
+
this.cache.set(cacheKey, snapshot);
|
|
165
|
+
// Check if storyboards were found
|
|
166
|
+
if (snapshot.storyboards.length === 0) {
|
|
167
|
+
return { found: false, reason: 'no_storyboards', scopeName: scope.name };
|
|
168
|
+
}
|
|
169
|
+
return { found: true, snapshot };
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Auto-discover service names and owned scopes from library.yaml files
|
|
173
|
+
*
|
|
174
|
+
* Uses LibraryDiscovery to find all library.yaml files across packages
|
|
175
|
+
* and extract service.name and owned-scopes from their resources sections.
|
|
176
|
+
*
|
|
177
|
+
* @param fileTree - FileTree to discover scopes from
|
|
178
|
+
* @returns Object with serviceNames, ownedScopes, and scopeToServiceMap
|
|
179
|
+
*/
|
|
180
|
+
async discoverScopesInfo(fileTree) {
|
|
181
|
+
if (!this.libraryDiscovery) {
|
|
182
|
+
console.warn('[LocalRegistry] No LibraryDiscovery available - provide FileSystemAdapter to constructor');
|
|
183
|
+
return { serviceNames: [], ownedScopes: [], scopeToServiceMap: new Map() };
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
const result = await this.libraryDiscovery.discover(fileTree, {
|
|
187
|
+
fileReader: this.fileReader,
|
|
188
|
+
});
|
|
189
|
+
if (result.errors.length > 0) {
|
|
190
|
+
console.warn('[LocalRegistry] Errors during library discovery:', result.errors);
|
|
191
|
+
}
|
|
192
|
+
// Collect all owned scopes across all services (deduplicated)
|
|
193
|
+
const ownedScopesSet = new Set();
|
|
194
|
+
for (const lib of result.libraries) {
|
|
195
|
+
for (const service of lib.servicesWithScopes) {
|
|
196
|
+
for (const scope of service.ownedScopes) {
|
|
197
|
+
ownedScopesSet.add(scope);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const ownedScopes = [...ownedScopesSet];
|
|
202
|
+
console.log('[LocalRegistry] Discovered services and scopes:', {
|
|
203
|
+
serviceNames: result.allServiceNames,
|
|
204
|
+
ownedScopes,
|
|
205
|
+
scopeToServiceMapSize: result.scopeToServiceMap.size,
|
|
206
|
+
});
|
|
207
|
+
return {
|
|
208
|
+
serviceNames: result.allServiceNames,
|
|
209
|
+
ownedScopes,
|
|
210
|
+
scopeToServiceMap: result.scopeToServiceMap,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
console.error('[LocalRegistry] Failed to discover scopes:', error);
|
|
215
|
+
return { serviceNames: [], ownedScopes: [], scopeToServiceMap: new Map() };
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Build VersionSnapshot from FileTree using CanvasDiscovery
|
|
220
|
+
*/
|
|
221
|
+
async buildFromFileTree(fileTree) {
|
|
222
|
+
// Use CanvasDiscovery to find all storyboards
|
|
223
|
+
const discoveryResult = await this.discovery.discover(fileTree, {
|
|
224
|
+
fileReader: this.fileReader,
|
|
225
|
+
includeContent: true,
|
|
226
|
+
});
|
|
227
|
+
const snapshot = {
|
|
228
|
+
repositoryUrl: 'local',
|
|
229
|
+
commitSha: fileTree.sha || 'dev',
|
|
230
|
+
storyboards: discoveryResult.storyboards,
|
|
231
|
+
registeredAt: new Date().toISOString(),
|
|
232
|
+
metadata: {
|
|
233
|
+
environment: 'development',
|
|
234
|
+
isLocal: true,
|
|
235
|
+
},
|
|
236
|
+
};
|
|
237
|
+
// Log errors if any
|
|
238
|
+
if (discoveryResult.errors.length > 0) {
|
|
239
|
+
console.warn('[LocalRegistry] Discovery errors:', discoveryResult.errors);
|
|
240
|
+
}
|
|
241
|
+
return snapshot;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Invalidate cache for a scope
|
|
245
|
+
*
|
|
246
|
+
* Call this when .principal-views files change to trigger rebuild on next lookup.
|
|
247
|
+
* Debouncing should be handled by external file watcher if needed.
|
|
248
|
+
*/
|
|
249
|
+
invalidateCache(scopeName) {
|
|
250
|
+
this.cache.delete(scopeName);
|
|
251
|
+
console.log('[LocalRegistry] Cache invalidated:', scopeName);
|
|
252
|
+
}
|
|
253
|
+
async listScopes() {
|
|
254
|
+
const scopes = [];
|
|
255
|
+
for (const workspace of this.workspaces.values()) {
|
|
256
|
+
// Include service names and owned scopes
|
|
257
|
+
const allScopes = [...workspace.serviceNames, ...workspace.ownedScopes];
|
|
258
|
+
for (const scopeName of allScopes) {
|
|
259
|
+
scopes.push({
|
|
260
|
+
name: scopeName,
|
|
261
|
+
versions: ['dev'], // Local workspaces always use 'dev' version
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return scopes;
|
|
266
|
+
}
|
|
267
|
+
supportsHotReload() {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Get list of registered workspaces
|
|
272
|
+
*/
|
|
273
|
+
getRegisteredWorkspaces() {
|
|
274
|
+
const workspaces = [];
|
|
275
|
+
for (const workspace of this.workspaces.values()) {
|
|
276
|
+
// Include service names and owned scopes
|
|
277
|
+
const allScopes = [...workspace.serviceNames, ...workspace.ownedScopes];
|
|
278
|
+
for (const scopeName of allScopes) {
|
|
279
|
+
workspaces.push({
|
|
280
|
+
scopeName,
|
|
281
|
+
fileTreeSha: workspace.fileTree.sha || 'unknown',
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return workspaces;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Get all cached VersionSnapshots
|
|
289
|
+
*
|
|
290
|
+
* Returns snapshots that have been built and cached via lookupByScope().
|
|
291
|
+
* Note: This only returns snapshots that have been looked up at least once.
|
|
292
|
+
* Call lookupByScope() for each scope to ensure all snapshots are cached.
|
|
293
|
+
*/
|
|
294
|
+
getAllSnapshots() {
|
|
295
|
+
return Array.from(this.cache.values());
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Get all snapshots for all registered scopes
|
|
299
|
+
*
|
|
300
|
+
* Unlike getAllSnapshots(), this method ensures all registered scopes
|
|
301
|
+
* have their snapshots built and cached before returning.
|
|
302
|
+
* Note: Returns one snapshot per workspace (not per scope).
|
|
303
|
+
*/
|
|
304
|
+
async getAllSnapshotsForRegisteredScopes() {
|
|
305
|
+
const snapshots = [];
|
|
306
|
+
const seenWorkspaceIds = new Set();
|
|
307
|
+
for (const workspace of this.workspaces.values()) {
|
|
308
|
+
// Only build one snapshot per workspace
|
|
309
|
+
if (seenWorkspaceIds.has(workspace.workspaceId))
|
|
310
|
+
continue;
|
|
311
|
+
seenWorkspaceIds.add(workspace.workspaceId);
|
|
312
|
+
// Use first service name to trigger snapshot build
|
|
313
|
+
const firstServiceName = workspace.serviceNames[0];
|
|
314
|
+
if (firstServiceName) {
|
|
315
|
+
const result = await this.lookupByScope({ name: firstServiceName, version: 'dev' }, {});
|
|
316
|
+
if (result.found) {
|
|
317
|
+
snapshots.push(result.snapshot);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return snapshots;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Cleanup: clear all state
|
|
325
|
+
*/
|
|
326
|
+
destroy() {
|
|
327
|
+
console.log('[LocalRegistry] Destroying and clearing state...');
|
|
328
|
+
// Clear state
|
|
329
|
+
this.workspaces.clear();
|
|
330
|
+
this.cache.clear();
|
|
331
|
+
this.discovery.clearCache();
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
exports.LocalRegistry = LocalRegistry;
|
|
335
|
+
//# sourceMappingURL=LocalRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalRegistry.js","sourceRoot":"","sources":["../../src/registry/LocalRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RemoteRegistry - Calls web-ade API for published libraries
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - HTTP caching (immutable schematics)
|
|
6
|
+
* - Handles PURL lookups (published libraries)
|
|
7
|
+
* - Handles customerId + serviceName lookups (services)
|
|
8
|
+
* - Version → commit hash resolution
|
|
9
|
+
*/
|
|
10
|
+
import type { StoryboardRegistryInterface, ScopeLookupResult } from '../types/registered-trace';
|
|
11
|
+
import type { VersionSnapshot } from '../types/version-registry';
|
|
12
|
+
/**
|
|
13
|
+
* Remote registry implementation
|
|
14
|
+
*/
|
|
15
|
+
export declare class RemoteRegistry implements StoryboardRegistryInterface {
|
|
16
|
+
private apiBaseUrl;
|
|
17
|
+
private cache;
|
|
18
|
+
private scopeToSnapshotKey;
|
|
19
|
+
private cacheTTL;
|
|
20
|
+
constructor(apiBaseUrl: string, cacheTTL?: number);
|
|
21
|
+
lookupByScope(scope: {
|
|
22
|
+
name: string;
|
|
23
|
+
version: string;
|
|
24
|
+
}, resource: {
|
|
25
|
+
attributes?: Record<string, unknown>;
|
|
26
|
+
}): Promise<ScopeLookupResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Lookup published library by PURL
|
|
29
|
+
*/
|
|
30
|
+
private lookupLibrary;
|
|
31
|
+
/**
|
|
32
|
+
* Lookup service by customerId + serviceName
|
|
33
|
+
*/
|
|
34
|
+
private lookupService;
|
|
35
|
+
/**
|
|
36
|
+
* Lookup version mapping (version string → commit hash)
|
|
37
|
+
*/
|
|
38
|
+
private lookupVersionMapping;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch schematic by repository URL and commit SHA
|
|
41
|
+
*/
|
|
42
|
+
private fetchSchematic;
|
|
43
|
+
/**
|
|
44
|
+
* Parse PURL string into components
|
|
45
|
+
*
|
|
46
|
+
* Format: pkg:ecosystem/namespace/name
|
|
47
|
+
* Examples:
|
|
48
|
+
* pkg:npm/@acme/auth-library
|
|
49
|
+
* pkg:pypi/acme-auth-library
|
|
50
|
+
* pkg:maven/com.acme/auth-library
|
|
51
|
+
* pkg:golang/github.com/acme/auth-lib
|
|
52
|
+
*/
|
|
53
|
+
private parsePURL;
|
|
54
|
+
/**
|
|
55
|
+
* Get repository URL from package registry metadata
|
|
56
|
+
*
|
|
57
|
+
* This queries the package registry (npm, pypi, etc.) to get the repository URL.
|
|
58
|
+
*/
|
|
59
|
+
private getPackageRepository;
|
|
60
|
+
/**
|
|
61
|
+
* Get repository URL from npm registry
|
|
62
|
+
*/
|
|
63
|
+
private getNpmRepository;
|
|
64
|
+
/**
|
|
65
|
+
* Get repository URL from PyPI
|
|
66
|
+
*/
|
|
67
|
+
private getPypiRepository;
|
|
68
|
+
listScopes(): Promise<Array<{
|
|
69
|
+
name: string;
|
|
70
|
+
versions: string[];
|
|
71
|
+
}>>;
|
|
72
|
+
supportsHotReload(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Register a schematic directly (for preloading)
|
|
75
|
+
*
|
|
76
|
+
* This is similar to LocalRegistry's registerWorkspace() - it allows you to
|
|
77
|
+
* preload schematics before traces arrive, so the owned-scopes mapping is
|
|
78
|
+
* already populated when lookupByScope is called.
|
|
79
|
+
*
|
|
80
|
+
* @param snapshot - The VersionSnapshot to register
|
|
81
|
+
* @returns Array of registered scope names (from owned-scopes)
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* // Fetch schematic from your API
|
|
86
|
+
* const response = await fetch('/api/schematics/my-panel');
|
|
87
|
+
* const snapshot = await response.json();
|
|
88
|
+
*
|
|
89
|
+
* // Register it with RemoteRegistry
|
|
90
|
+
* const scopes = registry.registerSchematic(snapshot);
|
|
91
|
+
* console.log('Registered scopes:', scopes);
|
|
92
|
+
* // Now traces with these scopes will match this schematic's storyboards
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
registerSchematic(snapshot: VersionSnapshot): string[];
|
|
96
|
+
/**
|
|
97
|
+
* Register owned scopes from a schematic's resources
|
|
98
|
+
*
|
|
99
|
+
* This builds a mapping from instrumentation scope names to their owning
|
|
100
|
+
* schematic cache key. When a trace comes in with a scope listed in
|
|
101
|
+
* `owned-scopes`, we can route it to the correct storyboards without
|
|
102
|
+
* needing a separate lookup.
|
|
103
|
+
*/
|
|
104
|
+
private registerOwnedScopes;
|
|
105
|
+
/**
|
|
106
|
+
* Extract all owned scopes from resources (for logging)
|
|
107
|
+
*/
|
|
108
|
+
private getOwnedScopesFromResources;
|
|
109
|
+
/**
|
|
110
|
+
* Clear the cache (useful for testing)
|
|
111
|
+
*/
|
|
112
|
+
clearCache(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Get cache statistics
|
|
115
|
+
*/
|
|
116
|
+
getCacheStats(): {
|
|
117
|
+
size: number;
|
|
118
|
+
ttl: number;
|
|
119
|
+
ownedScopesCount: number;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=RemoteRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/RemoteRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAsCjE;;GAEG;AACH,qBAAa,cAAe,YAAW,2BAA2B;IAM9D,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAS;gBAGf,UAAU,EAAE,MAAM,EAC1B,QAAQ,GAAE,MAAuB;IAK7B,aAAa,CACjB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACxC,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GACjD,OAAO,CAAC,iBAAiB,CAAC;IAmD7B;;OAEG;YACW,aAAa;IA8B3B;;OAEG;YACW,aAAa;IAkC3B;;OAEG;YACW,oBAAoB;IAkClC;;OAEG;YACW,cAAc;IAoD5B;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAS;IA2BjB;;;;OAIG;YACW,oBAAoB;IAiBlC;;OAEG;YACW,gBAAgB;IAuB9B;;OAEG;YACW,iBAAiB;IAazB,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAKxE,iBAAiB,IAAI,OAAO;IAI5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IA8BtD;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE;CAOzE"}
|