@principal-ai/subsystems-core 0.29.0 → 0.30.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 +15 -110
- package/dist/index.d.ts +7 -75
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -205
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +7 -62
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +11 -146
- package/dist/node.js.map +1 -1
- package/dist/types/index.d.ts +3 -348
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -19
- package/dist/types/index.js.map +1 -1
- package/package.json +7 -24
- package/src/index.ts +7 -580
- package/src/node.ts +21 -262
- package/src/types/index.ts +3 -456
- package/dist/ConfigurationLoader.d.ts +0 -76
- package/dist/ConfigurationLoader.d.ts.map +0 -1
- package/dist/ConfigurationLoader.js +0 -148
- package/dist/ConfigurationLoader.js.map +0 -1
- package/dist/ConfigurationValidator.d.ts +0 -31
- package/dist/ConfigurationValidator.d.ts.map +0 -1
- package/dist/ConfigurationValidator.js +0 -239
- package/dist/ConfigurationValidator.js.map +0 -1
- package/dist/EventProcessor.d.ts +0 -49
- package/dist/EventProcessor.d.ts.map +0 -1
- package/dist/EventProcessor.js +0 -220
- package/dist/EventProcessor.js.map +0 -1
- package/dist/EventRecorderService.d.ts +0 -305
- package/dist/EventRecorderService.d.ts.map +0 -1
- package/dist/EventRecorderService.js +0 -467
- package/dist/EventRecorderService.js.map +0 -1
- package/dist/LibraryLoader.d.ts +0 -65
- package/dist/LibraryLoader.d.ts.map +0 -1
- package/dist/LibraryLoader.js +0 -197
- package/dist/LibraryLoader.js.map +0 -1
- package/dist/PathBasedEventProcessor.d.ts +0 -77
- package/dist/PathBasedEventProcessor.d.ts.map +0 -1
- package/dist/PathBasedEventProcessor.js +0 -136
- package/dist/PathBasedEventProcessor.js.map +0 -1
- package/dist/SessionManager.d.ts +0 -194
- package/dist/SessionManager.d.ts.map +0 -1
- package/dist/SessionManager.js +0 -302
- package/dist/SessionManager.js.map +0 -1
- package/dist/ValidationEngine.d.ts +0 -31
- package/dist/ValidationEngine.d.ts.map +0 -1
- package/dist/ValidationEngine.js +0 -162
- package/dist/ValidationEngine.js.map +0 -1
- package/dist/auxiliary/AuxiliaryManifestValidator.d.ts +0 -41
- package/dist/auxiliary/AuxiliaryManifestValidator.d.ts.map +0 -1
- package/dist/auxiliary/AuxiliaryManifestValidator.js +0 -100
- package/dist/auxiliary/AuxiliaryManifestValidator.js.map +0 -1
- package/dist/auxiliary/index.d.ts +0 -9
- package/dist/auxiliary/index.d.ts.map +0 -1
- package/dist/auxiliary/index.js +0 -14
- package/dist/auxiliary/index.js.map +0 -1
- package/dist/auxiliary/validateAreaScopeDisjoint.d.ts +0 -24
- package/dist/auxiliary/validateAreaScopeDisjoint.d.ts.map +0 -1
- package/dist/auxiliary/validateAreaScopeDisjoint.js +0 -61
- package/dist/auxiliary/validateAreaScopeDisjoint.js.map +0 -1
- package/dist/cli/codegen.d.ts +0 -41
- package/dist/cli/codegen.d.ts.map +0 -1
- package/dist/cli/codegen.js +0 -257
- package/dist/cli/codegen.js.map +0 -1
- package/dist/codegen/type-generator.d.ts +0 -123
- package/dist/codegen/type-generator.d.ts.map +0 -1
- package/dist/codegen/type-generator.js +0 -433
- package/dist/codegen/type-generator.js.map +0 -1
- package/dist/codegen/usage-example.d.ts +0 -103
- package/dist/codegen/usage-example.d.ts.map +0 -1
- package/dist/codegen/usage-example.js +0 -258
- package/dist/codegen/usage-example.js.map +0 -1
- package/dist/dashboard/DashboardValidator.d.ts +0 -85
- package/dist/dashboard/DashboardValidator.d.ts.map +0 -1
- package/dist/dashboard/DashboardValidator.js +0 -775
- package/dist/dashboard/DashboardValidator.js.map +0 -1
- package/dist/dashboard/index.d.ts +0 -6
- package/dist/dashboard/index.d.ts.map +0 -1
- package/dist/dashboard/index.js +0 -10
- package/dist/dashboard/index.js.map +0 -1
- package/dist/discovery/CanvasDiscovery.d.ts +0 -160
- package/dist/discovery/CanvasDiscovery.d.ts.map +0 -1
- package/dist/discovery/CanvasDiscovery.js +0 -865
- package/dist/discovery/CanvasDiscovery.js.map +0 -1
- package/dist/discovery/CanvasFileManifest.d.ts +0 -86
- package/dist/discovery/CanvasFileManifest.d.ts.map +0 -1
- package/dist/discovery/CanvasFileManifest.js +0 -338
- package/dist/discovery/CanvasFileManifest.js.map +0 -1
- package/dist/discovery/LibraryDiscovery.d.ts +0 -108
- package/dist/discovery/LibraryDiscovery.d.ts.map +0 -1
- package/dist/discovery/LibraryDiscovery.js +0 -263
- package/dist/discovery/LibraryDiscovery.js.map +0 -1
- package/dist/discovery/types.d.ts +0 -403
- package/dist/discovery/types.d.ts.map +0 -1
- package/dist/discovery/types.js +0 -6
- package/dist/discovery/types.js.map +0 -1
- package/dist/events/EventsCanvasValidator.d.ts +0 -139
- package/dist/events/EventsCanvasValidator.d.ts.map +0 -1
- package/dist/events/EventsCanvasValidator.js +0 -281
- package/dist/events/EventsCanvasValidator.js.map +0 -1
- package/dist/events/NamespacePathIndex.d.ts +0 -61
- package/dist/events/NamespacePathIndex.d.ts.map +0 -1
- package/dist/events/NamespacePathIndex.js +0 -74
- package/dist/events/NamespacePathIndex.js.map +0 -1
- package/dist/events/OtelEventPathsValidator.d.ts +0 -75
- package/dist/events/OtelEventPathsValidator.d.ts.map +0 -1
- package/dist/events/OtelEventPathsValidator.js +0 -126
- package/dist/events/OtelEventPathsValidator.js.map +0 -1
- package/dist/events/ScopeEventsValidator.d.ts +0 -68
- package/dist/events/ScopeEventsValidator.d.ts.map +0 -1
- package/dist/events/ScopeEventsValidator.js +0 -91
- package/dist/events/ScopeEventsValidator.js.map +0 -1
- package/dist/events/index.d.ts +0 -9
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/index.js +0 -12
- package/dist/events/index.js.map +0 -1
- package/dist/events/path-helpers.d.ts +0 -33
- package/dist/events/path-helpers.d.ts.map +0 -1
- package/dist/events/path-helpers.js +0 -59
- package/dist/events/path-helpers.js.map +0 -1
- package/dist/execution/ExecutionLoader.d.ts +0 -135
- package/dist/execution/ExecutionLoader.d.ts.map +0 -1
- package/dist/execution/ExecutionLoader.js +0 -266
- package/dist/execution/ExecutionLoader.js.map +0 -1
- package/dist/execution/ExecutionValidator.d.ts +0 -94
- package/dist/execution/ExecutionValidator.d.ts.map +0 -1
- package/dist/execution/ExecutionValidator.js +0 -503
- package/dist/execution/ExecutionValidator.js.map +0 -1
- package/dist/generated/graph-converter-execution.types.d.ts +0 -177
- package/dist/generated/graph-converter-execution.types.d.ts.map +0 -1
- package/dist/generated/graph-converter-execution.types.js +0 -12
- package/dist/generated/graph-converter-execution.types.js.map +0 -1
- package/dist/helpers/GraphInstrumentationHelper.d.ts +0 -93
- package/dist/helpers/GraphInstrumentationHelper.d.ts.map +0 -1
- package/dist/helpers/GraphInstrumentationHelper.js +0 -252
- package/dist/helpers/GraphInstrumentationHelper.js.map +0 -1
- package/dist/matchers/SpanMatcher.d.ts +0 -107
- package/dist/matchers/SpanMatcher.d.ts.map +0 -1
- package/dist/matchers/SpanMatcher.js +0 -274
- package/dist/matchers/SpanMatcher.js.map +0 -1
- package/dist/orchestration/TraceOrchestrator.d.ts +0 -71
- package/dist/orchestration/TraceOrchestrator.d.ts.map +0 -1
- package/dist/orchestration/TraceOrchestrator.js +0 -416
- package/dist/orchestration/TraceOrchestrator.js.map +0 -1
- package/dist/parsers/OtlpTraceParser.d.ts +0 -131
- package/dist/parsers/OtlpTraceParser.d.ts.map +0 -1
- package/dist/parsers/OtlpTraceParser.js +0 -310
- package/dist/parsers/OtlpTraceParser.js.map +0 -1
- package/dist/registry/CompositeRegistry.d.ts +0 -71
- package/dist/registry/CompositeRegistry.d.ts.map +0 -1
- package/dist/registry/CompositeRegistry.js +0 -113
- package/dist/registry/CompositeRegistry.js.map +0 -1
- package/dist/registry/EventRegistry.d.ts +0 -79
- package/dist/registry/EventRegistry.d.ts.map +0 -1
- package/dist/registry/EventRegistry.js +0 -165
- package/dist/registry/EventRegistry.js.map +0 -1
- package/dist/registry/LocalRegistry.d.ts +0 -111
- package/dist/registry/LocalRegistry.d.ts.map +0 -1
- package/dist/registry/LocalRegistry.js +0 -335
- package/dist/registry/LocalRegistry.js.map +0 -1
- package/dist/registry/RemoteRegistry.d.ts +0 -122
- package/dist/registry/RemoteRegistry.d.ts.map +0 -1
- package/dist/registry/RemoteRegistry.js +0 -399
- package/dist/registry/RemoteRegistry.js.map +0 -1
- package/dist/registry/VersionRegistry.d.ts +0 -51
- package/dist/registry/VersionRegistry.d.ts.map +0 -1
- package/dist/registry/VersionRegistry.js +0 -105
- package/dist/registry/VersionRegistry.js.map +0 -1
- package/dist/rules/config.d.ts +0 -57
- package/dist/rules/config.d.ts.map +0 -1
- package/dist/rules/config.js +0 -382
- package/dist/rules/config.js.map +0 -1
- package/dist/rules/engine.d.ts +0 -70
- package/dist/rules/engine.d.ts.map +0 -1
- package/dist/rules/engine.js +0 -373
- package/dist/rules/engine.js.map +0 -1
- package/dist/rules/implementations/connection-type-references.d.ts +0 -7
- package/dist/rules/implementations/connection-type-references.d.ts.map +0 -1
- package/dist/rules/implementations/connection-type-references.js +0 -107
- package/dist/rules/implementations/connection-type-references.js.map +0 -1
- package/dist/rules/implementations/dead-end-states.d.ts +0 -17
- package/dist/rules/implementations/dead-end-states.d.ts.map +0 -1
- package/dist/rules/implementations/dead-end-states.js +0 -75
- package/dist/rules/implementations/dead-end-states.js.map +0 -1
- package/dist/rules/implementations/index.d.ts +0 -23
- package/dist/rules/implementations/index.d.ts.map +0 -1
- package/dist/rules/implementations/index.js +0 -73
- package/dist/rules/implementations/index.js.map +0 -1
- package/dist/rules/implementations/minimum-node-sources.d.ts +0 -24
- package/dist/rules/implementations/minimum-node-sources.d.ts.map +0 -1
- package/dist/rules/implementations/minimum-node-sources.js +0 -59
- package/dist/rules/implementations/minimum-node-sources.js.map +0 -1
- package/dist/rules/implementations/no-unknown-fields.d.ts +0 -7
- package/dist/rules/implementations/no-unknown-fields.d.ts.map +0 -1
- package/dist/rules/implementations/no-unknown-fields.js +0 -216
- package/dist/rules/implementations/no-unknown-fields.js.map +0 -1
- package/dist/rules/implementations/orphaned-edge-types.d.ts +0 -7
- package/dist/rules/implementations/orphaned-edge-types.d.ts.map +0 -1
- package/dist/rules/implementations/orphaned-edge-types.js +0 -50
- package/dist/rules/implementations/orphaned-edge-types.js.map +0 -1
- package/dist/rules/implementations/orphaned-node-types.d.ts +0 -7
- package/dist/rules/implementations/orphaned-node-types.d.ts.map +0 -1
- package/dist/rules/implementations/orphaned-node-types.js +0 -53
- package/dist/rules/implementations/orphaned-node-types.js.map +0 -1
- package/dist/rules/implementations/required-metadata.d.ts +0 -7
- package/dist/rules/implementations/required-metadata.d.ts.map +0 -1
- package/dist/rules/implementations/required-metadata.js +0 -48
- package/dist/rules/implementations/required-metadata.js.map +0 -1
- package/dist/rules/implementations/state-transition-references.d.ts +0 -7
- package/dist/rules/implementations/state-transition-references.d.ts.map +0 -1
- package/dist/rules/implementations/state-transition-references.js +0 -138
- package/dist/rules/implementations/state-transition-references.js.map +0 -1
- package/dist/rules/implementations/unreachable-states.d.ts +0 -7
- package/dist/rules/implementations/unreachable-states.d.ts.map +0 -1
- package/dist/rules/implementations/unreachable-states.js +0 -83
- package/dist/rules/implementations/unreachable-states.js.map +0 -1
- package/dist/rules/implementations/valid-action-patterns.d.ts +0 -17
- package/dist/rules/implementations/valid-action-patterns.d.ts.map +0 -1
- package/dist/rules/implementations/valid-action-patterns.js +0 -112
- package/dist/rules/implementations/valid-action-patterns.js.map +0 -1
- package/dist/rules/implementations/valid-color-format.d.ts +0 -7
- package/dist/rules/implementations/valid-color-format.d.ts.map +0 -1
- package/dist/rules/implementations/valid-color-format.js +0 -94
- package/dist/rules/implementations/valid-color-format.js.map +0 -1
- package/dist/rules/implementations/valid-edge-types.d.ts +0 -7
- package/dist/rules/implementations/valid-edge-types.d.ts.map +0 -1
- package/dist/rules/implementations/valid-edge-types.js +0 -248
- package/dist/rules/implementations/valid-edge-types.js.map +0 -1
- package/dist/rules/implementations/valid-node-types.d.ts +0 -7
- package/dist/rules/implementations/valid-node-types.d.ts.map +0 -1
- package/dist/rules/implementations/valid-node-types.js +0 -187
- package/dist/rules/implementations/valid-node-types.js.map +0 -1
- package/dist/rules/index.d.ts +0 -28
- package/dist/rules/index.d.ts.map +0 -1
- package/dist/rules/index.js +0 -70
- package/dist/rules/index.js.map +0 -1
- package/dist/rules/types.d.ts +0 -309
- package/dist/rules/types.d.ts.map +0 -1
- package/dist/rules/types.js +0 -40
- package/dist/rules/types.js.map +0 -1
- package/dist/scopes/ScopePathIndex.d.ts +0 -56
- package/dist/scopes/ScopePathIndex.d.ts.map +0 -1
- package/dist/scopes/ScopePathIndex.js +0 -67
- package/dist/scopes/ScopePathIndex.js.map +0 -1
- package/dist/scopes/ScopesCanvasValidator.d.ts +0 -76
- package/dist/scopes/ScopesCanvasValidator.d.ts.map +0 -1
- package/dist/scopes/ScopesCanvasValidator.js +0 -221
- package/dist/scopes/ScopesCanvasValidator.js.map +0 -1
- package/dist/scopes/index.d.ts +0 -12
- package/dist/scopes/index.d.ts.map +0 -1
- package/dist/scopes/index.js +0 -30
- package/dist/scopes/index.js.map +0 -1
- package/dist/scopes/utils.d.ts +0 -85
- package/dist/scopes/utils.d.ts.map +0 -1
- package/dist/scopes/utils.js +0 -143
- package/dist/scopes/utils.js.map +0 -1
- package/dist/scopes/validateScopeNamespaceNesting.d.ts +0 -38
- package/dist/scopes/validateScopeNamespaceNesting.d.ts.map +0 -1
- package/dist/scopes/validateScopeNamespaceNesting.js +0 -69
- package/dist/scopes/validateScopeNamespaceNesting.js.map +0 -1
- package/dist/spans/index.d.ts +0 -12
- package/dist/spans/index.d.ts.map +0 -1
- package/dist/spans/index.js +0 -25
- package/dist/spans/index.js.map +0 -1
- package/dist/spans/utils.d.ts +0 -70
- package/dist/spans/utils.d.ts.map +0 -1
- package/dist/spans/utils.js +0 -205
- package/dist/spans/utils.js.map +0 -1
- package/dist/storyboard/builder.d.ts +0 -135
- package/dist/storyboard/builder.d.ts.map +0 -1
- package/dist/storyboard/builder.js +0 -235
- package/dist/storyboard/builder.js.map +0 -1
- package/dist/storyboard/index.d.ts +0 -9
- package/dist/storyboard/index.d.ts.map +0 -1
- package/dist/storyboard/index.js +0 -18
- package/dist/storyboard/index.js.map +0 -1
- package/dist/storyboard/types.d.ts +0 -101
- package/dist/storyboard/types.d.ts.map +0 -1
- package/dist/storyboard/types.js +0 -10
- package/dist/storyboard/types.js.map +0 -1
- package/dist/telemetry/coverage.d.ts +0 -92
- package/dist/telemetry/coverage.d.ts.map +0 -1
- package/dist/telemetry/coverage.js +0 -335
- package/dist/telemetry/coverage.js.map +0 -1
- package/dist/telemetry/event-validator.d.ts +0 -86
- package/dist/telemetry/event-validator.d.ts.map +0 -1
- package/dist/telemetry/event-validator.js +0 -257
- package/dist/telemetry/event-validator.js.map +0 -1
- package/dist/types/audit.d.ts +0 -236
- package/dist/types/audit.d.ts.map +0 -1
- package/dist/types/audit.js +0 -53
- package/dist/types/audit.js.map +0 -1
- package/dist/types/auxiliary.d.ts +0 -54
- package/dist/types/auxiliary.d.ts.map +0 -1
- package/dist/types/auxiliary.js +0 -27
- package/dist/types/auxiliary.js.map +0 -1
- package/dist/types/canvas-scope.d.ts +0 -156
- package/dist/types/canvas-scope.d.ts.map +0 -1
- package/dist/types/canvas-scope.js +0 -62
- package/dist/types/canvas-scope.js.map +0 -1
- package/dist/types/canvas.d.ts +0 -1138
- package/dist/types/canvas.d.ts.map +0 -1
- package/dist/types/canvas.js +0 -178
- package/dist/types/canvas.js.map +0 -1
- package/dist/types/dashboard.d.ts +0 -170
- package/dist/types/dashboard.d.ts.map +0 -1
- package/dist/types/dashboard.js +0 -14
- package/dist/types/dashboard.js.map +0 -1
- package/dist/types/library.d.ts +0 -227
- package/dist/types/library.d.ts.map +0 -1
- package/dist/types/library.js +0 -16
- package/dist/types/library.js.map +0 -1
- package/dist/types/otel.d.ts +0 -465
- package/dist/types/otel.d.ts.map +0 -1
- package/dist/types/otel.js +0 -163
- package/dist/types/otel.js.map +0 -1
- package/dist/types/path-based-config.d.ts +0 -235
- package/dist/types/path-based-config.d.ts.map +0 -1
- package/dist/types/path-based-config.js +0 -11
- package/dist/types/path-based-config.js.map +0 -1
- package/dist/types/registered-trace.d.ts +0 -337
- package/dist/types/registered-trace.d.ts.map +0 -1
- package/dist/types/registered-trace.js +0 -16
- package/dist/types/registered-trace.js.map +0 -1
- package/dist/types/resource-match.d.ts +0 -207
- package/dist/types/resource-match.d.ts.map +0 -1
- package/dist/types/resource-match.js +0 -74
- package/dist/types/resource-match.js.map +0 -1
- package/dist/types/version-registry.d.ts +0 -137
- package/dist/types/version-registry.d.ts.map +0 -1
- package/dist/types/version-registry.js +0 -10
- package/dist/types/version-registry.js.map +0 -1
- package/dist/utils/CanvasConverter.d.ts +0 -148
- package/dist/utils/CanvasConverter.d.ts.map +0 -1
- package/dist/utils/CanvasConverter.js +0 -530
- package/dist/utils/CanvasConverter.js.map +0 -1
- package/dist/utils/GraphConverter.d.ts +0 -18
- package/dist/utils/GraphConverter.d.ts.map +0 -1
- package/dist/utils/GraphConverter.js +0 -80
- package/dist/utils/GraphConverter.js.map +0 -1
- package/dist/utils/PathMatcher.d.ts +0 -55
- package/dist/utils/PathMatcher.d.ts.map +0 -1
- package/dist/utils/PathMatcher.js +0 -178
- package/dist/utils/PathMatcher.js.map +0 -1
- package/dist/utils/TraceToCanvas.d.ts +0 -83
- package/dist/utils/TraceToCanvas.d.ts.map +0 -1
- package/dist/utils/TraceToCanvas.js +0 -336
- package/dist/utils/TraceToCanvas.js.map +0 -1
- package/dist/utils/YamlParser.d.ts +0 -36
- package/dist/utils/YamlParser.d.ts.map +0 -1
- package/dist/utils/YamlParser.js +0 -92
- package/dist/utils/YamlParser.js.map +0 -1
- package/dist/utils/registeredTraceHelpers.d.ts +0 -76
- package/dist/utils/registeredTraceHelpers.d.ts.map +0 -1
- package/dist/utils/registeredTraceHelpers.js +0 -203
- package/dist/utils/registeredTraceHelpers.js.map +0 -1
- package/dist/utils/traceAggregation.d.ts +0 -25
- package/dist/utils/traceAggregation.d.ts.map +0 -1
- package/dist/utils/traceAggregation.js +0 -140
- package/dist/utils/traceAggregation.js.map +0 -1
- package/dist/validation/OtelCanvasValidator.d.ts +0 -40
- package/dist/validation/OtelCanvasValidator.d.ts.map +0 -1
- package/dist/validation/OtelCanvasValidator.js +0 -59
- package/dist/validation/OtelCanvasValidator.js.map +0 -1
- package/dist/validation/index.d.ts +0 -8
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -13
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/libraryValidation.d.ts +0 -53
- package/dist/validation/libraryValidation.d.ts.map +0 -1
- package/dist/validation/libraryValidation.js +0 -115
- package/dist/validation/libraryValidation.js.map +0 -1
- package/dist/workflow/edge-derivation.d.ts +0 -111
- package/dist/workflow/edge-derivation.d.ts.map +0 -1
- package/dist/workflow/edge-derivation.js +0 -174
- package/dist/workflow/edge-derivation.js.map +0 -1
- package/dist/workflow/edge-validation.d.ts +0 -170
- package/dist/workflow/edge-validation.d.ts.map +0 -1
- package/dist/workflow/edge-validation.js +0 -332
- package/dist/workflow/edge-validation.js.map +0 -1
- package/dist/workflow/example.d.ts +0 -11
- package/dist/workflow/example.d.ts.map +0 -1
- package/dist/workflow/example.js +0 -310
- package/dist/workflow/example.js.map +0 -1
- package/dist/workflow/index.d.ts +0 -20
- package/dist/workflow/index.d.ts.map +0 -1
- package/dist/workflow/index.js +0 -49
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/scenario-matcher.d.ts +0 -63
- package/dist/workflow/scenario-matcher.d.ts.map +0 -1
- package/dist/workflow/scenario-matcher.js +0 -215
- package/dist/workflow/scenario-matcher.js.map +0 -1
- package/dist/workflow/template-parser.d.ts +0 -73
- package/dist/workflow/template-parser.d.ts.map +0 -1
- package/dist/workflow/template-parser.js +0 -280
- package/dist/workflow/template-parser.js.map +0 -1
- package/dist/workflow/template-renderer.d.ts +0 -45
- package/dist/workflow/template-renderer.d.ts.map +0 -1
- package/dist/workflow/template-renderer.js +0 -401
- package/dist/workflow/template-renderer.js.map +0 -1
- package/dist/workflow/types.d.ts +0 -393
- package/dist/workflow/types.d.ts.map +0 -1
- package/dist/workflow/types.js +0 -40
- package/dist/workflow/types.js.map +0 -1
- package/dist/workflow/validator.d.ts +0 -363
- package/dist/workflow/validator.d.ts.map +0 -1
- package/dist/workflow/validator.js +0 -2283
- package/dist/workflow/validator.js.map +0 -1
- package/schemas/auxiliary.manifest.schema.json +0 -56
- package/src/ConfigurationLoader.test.ts +0 -466
- package/src/ConfigurationLoader.ts +0 -184
- package/src/ConfigurationValidator.test.ts +0 -200
- package/src/ConfigurationValidator.ts +0 -273
- package/src/EventProcessor.test.ts +0 -405
- package/src/EventProcessor.ts +0 -256
- package/src/EventRecorderService.test.ts +0 -543
- package/src/EventRecorderService.ts +0 -741
- package/src/LibraryLoader.ts +0 -194
- package/src/PathBasedEventProcessor.test.ts +0 -336
- package/src/PathBasedEventProcessor.ts +0 -196
- package/src/SessionManager.test.ts +0 -424
- package/src/SessionManager.ts +0 -471
- package/src/ValidationEngine.test.ts +0 -520
- package/src/ValidationEngine.ts +0 -200
- package/src/auxiliary/AuxiliaryManifestValidator.test.ts +0 -93
- package/src/auxiliary/AuxiliaryManifestValidator.ts +0 -132
- package/src/auxiliary/index.ts +0 -18
- package/src/auxiliary/validateAreaScopeDisjoint.test.ts +0 -85
- package/src/auxiliary/validateAreaScopeDisjoint.ts +0 -72
- package/src/cli/codegen.ts +0 -286
- package/src/codegen/type-generator.test.ts +0 -219
- package/src/codegen/type-generator.ts +0 -560
- package/src/codegen/usage-example.ts +0 -357
- package/src/dashboard/DashboardValidator.ts +0 -904
- package/src/dashboard/index.ts +0 -14
- package/src/discovery/CanvasDiscovery.test.ts +0 -691
- package/src/discovery/CanvasDiscovery.ts +0 -1114
- package/src/discovery/CanvasFileManifest.test.ts +0 -521
- package/src/discovery/CanvasFileManifest.ts +0 -419
- package/src/discovery/LibraryDiscovery.test.ts +0 -329
- package/src/discovery/LibraryDiscovery.ts +0 -386
- package/src/discovery/types.ts +0 -453
- package/src/events/EventsCanvasValidator.test.ts +0 -191
- package/src/events/EventsCanvasValidator.ts +0 -428
- package/src/events/NamespacePathIndex.test.ts +0 -97
- package/src/events/NamespacePathIndex.ts +0 -100
- package/src/events/OtelEventPathsValidator.test.ts +0 -243
- package/src/events/OtelEventPathsValidator.ts +0 -191
- package/src/events/ScopeEventsValidator.test.ts +0 -173
- package/src/events/ScopeEventsValidator.ts +0 -158
- package/src/events/index.ts +0 -27
- package/src/events/path-helpers.ts +0 -53
- package/src/execution/ExecutionLoader.test.ts +0 -378
- package/src/execution/ExecutionLoader.ts +0 -331
- package/src/execution/ExecutionValidator.test.ts +0 -503
- package/src/execution/ExecutionValidator.ts +0 -617
- package/src/generated/graph-converter-execution.types.ts +0 -193
- package/src/helpers/GraphInstrumentationHelper.test.ts +0 -364
- package/src/helpers/GraphInstrumentationHelper.ts +0 -323
- package/src/matchers/SpanMatcher.test.ts +0 -1105
- package/src/matchers/SpanMatcher.ts +0 -381
- package/src/orchestration/TraceOrchestrator.ts +0 -560
- package/src/orchestration/__tests__/TraceOrchestrator.test.ts +0 -1098
- package/src/parsers/OtlpTraceParser.ts +0 -401
- package/src/parsers/__tests__/OtlpTraceParser.test.ts +0 -197
- package/src/registry/CompositeRegistry.ts +0 -140
- package/src/registry/EventRegistry.test.ts +0 -387
- package/src/registry/EventRegistry.ts +0 -191
- package/src/registry/LocalRegistry.ts +0 -416
- package/src/registry/RemoteRegistry.ts +0 -499
- package/src/registry/VersionRegistry.test.ts +0 -223
- package/src/registry/VersionRegistry.ts +0 -121
- package/src/rules/config.test.ts +0 -277
- package/src/rules/config.ts +0 -450
- package/src/rules/engine.test.ts +0 -331
- package/src/rules/engine.ts +0 -448
- package/src/rules/implementations/connection-type-references.ts +0 -117
- package/src/rules/implementations/dead-end-states.ts +0 -101
- package/src/rules/implementations/index.ts +0 -66
- package/src/rules/implementations/minimum-node-sources.ts +0 -84
- package/src/rules/implementations/no-unknown-fields.ts +0 -372
- package/src/rules/implementations/orphaned-edge-types.ts +0 -55
- package/src/rules/implementations/orphaned-node-types.ts +0 -58
- package/src/rules/implementations/required-metadata.ts +0 -52
- package/src/rules/implementations/state-transition-references.ts +0 -155
- package/src/rules/implementations/unreachable-states.ts +0 -94
- package/src/rules/implementations/valid-action-patterns.ts +0 -140
- package/src/rules/implementations/valid-color-format.ts +0 -152
- package/src/rules/implementations/valid-edge-types.ts +0 -273
- package/src/rules/implementations/valid-node-types.ts +0 -200
- package/src/rules/index.ts +0 -92
- package/src/rules/types.ts +0 -426
- package/src/scopes/ScopePathIndex.test.ts +0 -94
- package/src/scopes/ScopePathIndex.ts +0 -89
- package/src/scopes/ScopesCanvasValidator.test.ts +0 -127
- package/src/scopes/ScopesCanvasValidator.ts +0 -305
- package/src/scopes/__tests__/utils.test.ts +0 -383
- package/src/scopes/index.ts +0 -42
- package/src/scopes/utils.ts +0 -182
- package/src/scopes/validateScopeNamespaceNesting.test.ts +0 -127
- package/src/scopes/validateScopeNamespaceNesting.ts +0 -88
- package/src/spans/index.ts +0 -24
- package/src/spans/utils.ts +0 -249
- package/src/storyboard/builder.ts +0 -308
- package/src/storyboard/index.ts +0 -26
- package/src/storyboard/types.ts +0 -117
- package/src/telemetry/coverage.ts +0 -480
- package/src/telemetry/event-validator.ts +0 -312
- package/src/types/audit.ts +0 -314
- package/src/types/auxiliary.ts +0 -63
- package/src/types/canvas-scope.ts +0 -190
- package/src/types/canvas.test.ts +0 -199
- package/src/types/canvas.ts +0 -1395
- package/src/types/dashboard.ts +0 -257
- package/src/types/library.ts +0 -283
- package/src/types/otel.test.ts +0 -219
- package/src/types/otel.ts +0 -620
- package/src/types/path-based-config.ts +0 -285
- package/src/types/registered-trace.ts +0 -432
- package/src/types/resource-match.ts +0 -263
- package/src/types/version-registry.ts +0 -150
- package/src/utils/CanvasConverter.ts +0 -670
- package/src/utils/GraphConverter.test.ts +0 -322
- package/src/utils/GraphConverter.ts +0 -84
- package/src/utils/PathMatcher.test.ts +0 -139
- package/src/utils/PathMatcher.ts +0 -185
- package/src/utils/TraceToCanvas.test.ts +0 -310
- package/src/utils/TraceToCanvas.ts +0 -510
- package/src/utils/YamlParser.ts +0 -77
- package/src/utils/registeredTraceHelpers.ts +0 -251
- package/src/utils/traceAggregation.test.ts +0 -385
- package/src/utils/traceAggregation.ts +0 -173
- package/src/validation/OtelCanvasValidator.ts +0 -86
- package/src/validation/index.ts +0 -17
- package/src/validation/libraryValidation.ts +0 -206
- package/src/workflow/README.md +0 -408
- package/src/workflow/__tests__/edge-derivation.test.ts +0 -449
- package/src/workflow/__tests__/edge-validation.test.ts +0 -417
- package/src/workflow/__tests__/scenario-matcher.test.ts +0 -225
- package/src/workflow/__tests__/template-parser.test.ts +0 -276
- package/src/workflow/__tests__/template-renderer.test.ts +0 -509
- package/src/workflow/__tests__/types.test.ts +0 -187
- package/src/workflow/__tests__/validator.test.ts +0 -3225
- package/src/workflow/edge-derivation.ts +0 -265
- package/src/workflow/edge-validation.ts +0 -503
- package/src/workflow/example.ts +0 -330
- package/src/workflow/index.ts +0 -86
- package/src/workflow/scenario-matcher.ts +0 -253
- package/src/workflow/template-parser.ts +0 -350
- package/src/workflow/template-renderer.ts +0 -453
- package/src/workflow/types.ts +0 -511
- package/src/workflow/validator.ts +0 -2737
|
@@ -1,499 +0,0 @@
|
|
|
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
|
-
|
|
11
|
-
import type { StoryboardRegistryInterface, ScopeLookupResult } from '../types/registered-trace';
|
|
12
|
-
import type { VersionSnapshot } from '../types/version-registry';
|
|
13
|
-
import type { ResourceAttributes } from '../types/library';
|
|
14
|
-
import { getScopeNames } from '../scopes/utils';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Version lookup response from web-ade API
|
|
18
|
-
*/
|
|
19
|
-
interface VersionLookupResponse {
|
|
20
|
-
found: boolean;
|
|
21
|
-
registration?: {
|
|
22
|
-
customerId: string;
|
|
23
|
-
serviceName: string;
|
|
24
|
-
version: string;
|
|
25
|
-
gitSHA: string;
|
|
26
|
-
repositoryUrl: string;
|
|
27
|
-
environment: string;
|
|
28
|
-
deployedAt: string;
|
|
29
|
-
};
|
|
30
|
-
error?: string;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Cache entry with expiration
|
|
35
|
-
*/
|
|
36
|
-
interface CacheEntry {
|
|
37
|
-
snapshot: VersionSnapshot;
|
|
38
|
-
expiresAt: number;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* PURL (Package URL) components
|
|
43
|
-
*/
|
|
44
|
-
interface PURLComponents {
|
|
45
|
-
ecosystem: string; // npm, pypi, maven, golang
|
|
46
|
-
namespace?: string; // org/scope name
|
|
47
|
-
name: string; // package name
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Remote registry implementation
|
|
52
|
-
*/
|
|
53
|
-
export class RemoteRegistry implements StoryboardRegistryInterface {
|
|
54
|
-
private cache = new Map<string, CacheEntry>();
|
|
55
|
-
private scopeToSnapshotKey = new Map<string, string>();
|
|
56
|
-
private cacheTTL: number;
|
|
57
|
-
|
|
58
|
-
constructor(
|
|
59
|
-
private apiBaseUrl: string,
|
|
60
|
-
cacheTTL: number = 60 * 60 * 1000 // Default: 1 hour
|
|
61
|
-
) {
|
|
62
|
-
this.cacheTTL = cacheTTL;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
async lookupByScope(
|
|
66
|
-
scope: { name: string; version: string },
|
|
67
|
-
resource: { attributes?: Record<string, unknown> }
|
|
68
|
-
): Promise<ScopeLookupResult> {
|
|
69
|
-
// First, check if this scope is owned by a cached schematic
|
|
70
|
-
const owningCacheKey = this.scopeToSnapshotKey.get(scope.name);
|
|
71
|
-
if (owningCacheKey) {
|
|
72
|
-
const cached = this.cache.get(owningCacheKey);
|
|
73
|
-
if (cached && cached.expiresAt > Date.now()) {
|
|
74
|
-
console.log('[RemoteRegistry] Scope found via owned-scopes mapping:', {
|
|
75
|
-
scopeName: scope.name,
|
|
76
|
-
cacheKey: owningCacheKey,
|
|
77
|
-
});
|
|
78
|
-
if (cached.snapshot.storyboards.length === 0) {
|
|
79
|
-
return { found: false, reason: 'no_storyboards', scopeName: scope.name };
|
|
80
|
-
}
|
|
81
|
-
return { found: true, snapshot: cached.snapshot };
|
|
82
|
-
}
|
|
83
|
-
// Cache expired, remove stale mapping
|
|
84
|
-
this.scopeToSnapshotKey.delete(scope.name);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Check if this is a library (PURL format)
|
|
88
|
-
if (scope.name.startsWith('pkg:')) {
|
|
89
|
-
const snapshot = await this.lookupLibrary(scope.name, scope.version);
|
|
90
|
-
if (!snapshot) {
|
|
91
|
-
return { found: false, reason: 'scope_not_owned', scopeName: scope.name };
|
|
92
|
-
}
|
|
93
|
-
if (snapshot.storyboards.length === 0) {
|
|
94
|
-
return { found: false, reason: 'no_storyboards', scopeName: scope.name };
|
|
95
|
-
}
|
|
96
|
-
return { found: true, snapshot };
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Otherwise it's a service - need customerId
|
|
100
|
-
const customerId = resource.attributes?.['customer.id'] as string;
|
|
101
|
-
if (!customerId) {
|
|
102
|
-
console.warn(
|
|
103
|
-
'[RemoteRegistry] Service scope requires customer.id in resource attributes:',
|
|
104
|
-
{ scopeName: scope.name }
|
|
105
|
-
);
|
|
106
|
-
return { found: false, reason: 'scope_not_owned', scopeName: scope.name };
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
const snapshot = await this.lookupService(customerId, scope.name, scope.version);
|
|
110
|
-
if (!snapshot) {
|
|
111
|
-
return { found: false, reason: 'scope_not_owned', scopeName: scope.name };
|
|
112
|
-
}
|
|
113
|
-
if (snapshot.storyboards.length === 0) {
|
|
114
|
-
return { found: false, reason: 'no_storyboards', scopeName: scope.name };
|
|
115
|
-
}
|
|
116
|
-
return { found: true, snapshot };
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Lookup published library by PURL
|
|
121
|
-
*/
|
|
122
|
-
private async lookupLibrary(purl: string, version: string): Promise<VersionSnapshot | null> {
|
|
123
|
-
try {
|
|
124
|
-
// Parse PURL to extract components
|
|
125
|
-
const components = this.parsePURL(purl);
|
|
126
|
-
if (!components) {
|
|
127
|
-
console.error('[RemoteRegistry] Invalid PURL format:', purl);
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Get repository URL from package registry
|
|
132
|
-
const repoUrl = await this.getPackageRepository(components);
|
|
133
|
-
if (!repoUrl) {
|
|
134
|
-
console.error('[RemoteRegistry] Could not resolve repository for package:', purl);
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Lookup version → commit hash
|
|
139
|
-
const versionInfo = await this.lookupVersionMapping(repoUrl, version);
|
|
140
|
-
if (!versionInfo) {
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Fetch schematic by commit hash
|
|
145
|
-
return this.fetchSchematic(repoUrl, versionInfo.gitSHA);
|
|
146
|
-
} catch (error) {
|
|
147
|
-
console.error('[RemoteRegistry] Library lookup failed:', error);
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Lookup service by customerId + serviceName
|
|
154
|
-
*/
|
|
155
|
-
private async lookupService(
|
|
156
|
-
customerId: string,
|
|
157
|
-
serviceName: string,
|
|
158
|
-
version: string
|
|
159
|
-
): Promise<VersionSnapshot | null> {
|
|
160
|
-
try {
|
|
161
|
-
// Lookup version → commit hash
|
|
162
|
-
const url = new URL(`${this.apiBaseUrl}/api/versions/lookup`);
|
|
163
|
-
url.searchParams.set('customerId', customerId);
|
|
164
|
-
url.searchParams.set('serviceName', serviceName);
|
|
165
|
-
url.searchParams.set('version', version);
|
|
166
|
-
|
|
167
|
-
const response = await fetch(url.toString());
|
|
168
|
-
if (!response.ok) {
|
|
169
|
-
if (response.status === 404) {
|
|
170
|
-
console.log('[RemoteRegistry] Version not found:', { customerId, serviceName, version });
|
|
171
|
-
return null;
|
|
172
|
-
}
|
|
173
|
-
throw new Error(`API error: ${response.status}`);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const data: VersionLookupResponse = await response.json();
|
|
177
|
-
if (!data.found || !data.registration) {
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// Fetch schematic by commit hash
|
|
182
|
-
return this.fetchSchematic(data.registration.repositoryUrl, data.registration.gitSHA);
|
|
183
|
-
} catch (error) {
|
|
184
|
-
console.error('[RemoteRegistry] Service lookup failed:', error);
|
|
185
|
-
return null;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Lookup version mapping (version string → commit hash)
|
|
191
|
-
*/
|
|
192
|
-
private async lookupVersionMapping(
|
|
193
|
-
repositoryUrl: string,
|
|
194
|
-
version: string
|
|
195
|
-
): Promise<{ gitSHA: string; repositoryUrl: string } | null> {
|
|
196
|
-
try {
|
|
197
|
-
// For libraries, we use repositoryUrl + version
|
|
198
|
-
// The API expects this format for published packages
|
|
199
|
-
const url = new URL(`${this.apiBaseUrl}/api/versions/lookup`);
|
|
200
|
-
url.searchParams.set('repositoryUrl', repositoryUrl);
|
|
201
|
-
url.searchParams.set('version', version);
|
|
202
|
-
|
|
203
|
-
const response = await fetch(url.toString());
|
|
204
|
-
if (!response.ok) {
|
|
205
|
-
if (response.status === 404) {
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
throw new Error(`API error: ${response.status}`);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
const data: VersionLookupResponse = await response.json();
|
|
212
|
-
if (!data.found || !data.registration) {
|
|
213
|
-
return null;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
return {
|
|
217
|
-
gitSHA: data.registration.gitSHA,
|
|
218
|
-
repositoryUrl: data.registration.repositoryUrl,
|
|
219
|
-
};
|
|
220
|
-
} catch (error) {
|
|
221
|
-
console.error('[RemoteRegistry] Version mapping lookup failed:', error);
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Fetch schematic by repository URL and commit SHA
|
|
228
|
-
*/
|
|
229
|
-
private async fetchSchematic(
|
|
230
|
-
repositoryUrl: string,
|
|
231
|
-
commitSha: string
|
|
232
|
-
): Promise<VersionSnapshot | null> {
|
|
233
|
-
// Check cache first
|
|
234
|
-
const cacheKey = `${repositoryUrl}@${commitSha}`;
|
|
235
|
-
const cached = this.cache.get(cacheKey);
|
|
236
|
-
if (cached && cached.expiresAt > Date.now()) {
|
|
237
|
-
return cached.snapshot;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
try {
|
|
241
|
-
const url = new URL(`${this.apiBaseUrl}/api/versions/schematic`);
|
|
242
|
-
url.searchParams.set('repositoryUrl', repositoryUrl);
|
|
243
|
-
url.searchParams.set('commitSha', commitSha);
|
|
244
|
-
|
|
245
|
-
const response = await fetch(url.toString());
|
|
246
|
-
if (!response.ok) {
|
|
247
|
-
if (response.status === 404) {
|
|
248
|
-
console.log('[RemoteRegistry] Schematic not found:', { repositoryUrl, commitSha });
|
|
249
|
-
return null;
|
|
250
|
-
}
|
|
251
|
-
throw new Error(`API error: ${response.status}`);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
const snapshot: VersionSnapshot = await response.json();
|
|
255
|
-
|
|
256
|
-
// Cache the result
|
|
257
|
-
this.cache.set(cacheKey, {
|
|
258
|
-
snapshot,
|
|
259
|
-
expiresAt: Date.now() + this.cacheTTL,
|
|
260
|
-
});
|
|
261
|
-
|
|
262
|
-
// Register owned scopes for routing
|
|
263
|
-
if (snapshot.resources) {
|
|
264
|
-
this.registerOwnedScopes(cacheKey, snapshot.resources);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
console.log('[RemoteRegistry] Schematic fetched:', {
|
|
268
|
-
repositoryUrl,
|
|
269
|
-
commitSha,
|
|
270
|
-
storyboardCount: snapshot.storyboards.length,
|
|
271
|
-
ownedScopes: this.getOwnedScopesFromResources(snapshot.resources),
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
return snapshot;
|
|
275
|
-
} catch (error) {
|
|
276
|
-
console.error('[RemoteRegistry] Schematic fetch failed:', error);
|
|
277
|
-
return null;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* Parse PURL string into components
|
|
283
|
-
*
|
|
284
|
-
* Format: pkg:ecosystem/namespace/name
|
|
285
|
-
* Examples:
|
|
286
|
-
* pkg:npm/@acme/auth-library
|
|
287
|
-
* pkg:pypi/acme-auth-library
|
|
288
|
-
* pkg:maven/com.acme/auth-library
|
|
289
|
-
* pkg:golang/github.com/acme/auth-lib
|
|
290
|
-
*/
|
|
291
|
-
private parsePURL(purl: string): PURLComponents | null {
|
|
292
|
-
const match = purl.match(/^pkg:([^/]+)\/(.+)$/);
|
|
293
|
-
if (!match) {
|
|
294
|
-
return null;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
const ecosystem = match[1];
|
|
298
|
-
const rest = match[2];
|
|
299
|
-
|
|
300
|
-
// Handle scoped packages (e.g., @acme/package-name)
|
|
301
|
-
const parts = rest.split('/');
|
|
302
|
-
if (parts.length === 2) {
|
|
303
|
-
return {
|
|
304
|
-
ecosystem,
|
|
305
|
-
namespace: parts[0],
|
|
306
|
-
name: parts[1],
|
|
307
|
-
};
|
|
308
|
-
} else if (parts.length === 1) {
|
|
309
|
-
return {
|
|
310
|
-
ecosystem,
|
|
311
|
-
name: parts[0],
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
return null;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
/**
|
|
319
|
-
* Get repository URL from package registry metadata
|
|
320
|
-
*
|
|
321
|
-
* This queries the package registry (npm, pypi, etc.) to get the repository URL.
|
|
322
|
-
*/
|
|
323
|
-
private async getPackageRepository(components: PURLComponents): Promise<string | null> {
|
|
324
|
-
try {
|
|
325
|
-
switch (components.ecosystem) {
|
|
326
|
-
case 'npm':
|
|
327
|
-
return this.getNpmRepository(components);
|
|
328
|
-
case 'pypi':
|
|
329
|
-
return this.getPypiRepository(components);
|
|
330
|
-
default:
|
|
331
|
-
console.warn('[RemoteRegistry] Unsupported ecosystem:', components.ecosystem);
|
|
332
|
-
return null;
|
|
333
|
-
}
|
|
334
|
-
} catch (error) {
|
|
335
|
-
console.error('[RemoteRegistry] Package repository lookup failed:', error);
|
|
336
|
-
return null;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Get repository URL from npm registry
|
|
342
|
-
*/
|
|
343
|
-
private async getNpmRepository(components: PURLComponents): Promise<string | null> {
|
|
344
|
-
const packageName = components.namespace
|
|
345
|
-
? `${components.namespace}/${components.name}`
|
|
346
|
-
: components.name;
|
|
347
|
-
|
|
348
|
-
const url = `https://registry.npmjs.org/${encodeURIComponent(packageName)}`;
|
|
349
|
-
const response = await fetch(url);
|
|
350
|
-
|
|
351
|
-
if (!response.ok) {
|
|
352
|
-
return null;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
const data = await response.json();
|
|
356
|
-
const repoUrl = data.repository?.url || data.repository;
|
|
357
|
-
|
|
358
|
-
if (!repoUrl) {
|
|
359
|
-
return null;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
// Clean up git URLs (git+https://github.com/... → https://github.com/...)
|
|
363
|
-
return repoUrl.replace(/^git\+/, '').replace(/\.git$/, '');
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* Get repository URL from PyPI
|
|
368
|
-
*/
|
|
369
|
-
private async getPypiRepository(components: PURLComponents): Promise<string | null> {
|
|
370
|
-
const packageName = components.name;
|
|
371
|
-
const url = `https://pypi.org/pypi/${encodeURIComponent(packageName)}/json`;
|
|
372
|
-
const response = await fetch(url);
|
|
373
|
-
|
|
374
|
-
if (!response.ok) {
|
|
375
|
-
return null;
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
const data = await response.json();
|
|
379
|
-
return data.info?.project_urls?.Source || data.info?.home_page || null;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
async listScopes(): Promise<Array<{ name: string; versions: string[] }>> {
|
|
383
|
-
console.warn('[RemoteRegistry] listScopes not implemented for remote registry');
|
|
384
|
-
return [];
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
supportsHotReload(): boolean {
|
|
388
|
-
return false;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Register a schematic directly (for preloading)
|
|
393
|
-
*
|
|
394
|
-
* This is similar to LocalRegistry's registerWorkspace() - it allows you to
|
|
395
|
-
* preload schematics before traces arrive, so the owned-scopes mapping is
|
|
396
|
-
* already populated when lookupByScope is called.
|
|
397
|
-
*
|
|
398
|
-
* @param snapshot - The VersionSnapshot to register
|
|
399
|
-
* @returns Array of registered scope names (from owned-scopes)
|
|
400
|
-
*
|
|
401
|
-
* @example
|
|
402
|
-
* ```typescript
|
|
403
|
-
* // Fetch schematic from your API
|
|
404
|
-
* const response = await fetch('/api/schematics/my-panel');
|
|
405
|
-
* const snapshot = await response.json();
|
|
406
|
-
*
|
|
407
|
-
* // Register it with RemoteRegistry
|
|
408
|
-
* const scopes = registry.registerSchematic(snapshot);
|
|
409
|
-
* console.log('Registered scopes:', scopes);
|
|
410
|
-
* // Now traces with these scopes will match this schematic's storyboards
|
|
411
|
-
* ```
|
|
412
|
-
*/
|
|
413
|
-
registerSchematic(snapshot: VersionSnapshot): string[] {
|
|
414
|
-
const cacheKey = `${snapshot.repositoryUrl}@${snapshot.commitSha}`;
|
|
415
|
-
|
|
416
|
-
// Cache the snapshot
|
|
417
|
-
this.cache.set(cacheKey, {
|
|
418
|
-
snapshot,
|
|
419
|
-
expiresAt: Date.now() + this.cacheTTL,
|
|
420
|
-
});
|
|
421
|
-
|
|
422
|
-
// Register owned scopes (supports both legacy array and new record format)
|
|
423
|
-
const registeredScopes: string[] = [];
|
|
424
|
-
if (snapshot.resources) {
|
|
425
|
-
for (const [_resourceName, attrs] of Object.entries(snapshot.resources)) {
|
|
426
|
-
const scopeNames = getScopeNames(attrs['owned-scopes']);
|
|
427
|
-
for (const scope of scopeNames) {
|
|
428
|
-
this.scopeToSnapshotKey.set(scope, cacheKey);
|
|
429
|
-
registeredScopes.push(scope);
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
console.log('[RemoteRegistry] Registered schematic:', {
|
|
435
|
-
cacheKey,
|
|
436
|
-
storyboardCount: snapshot.storyboards?.length || 0,
|
|
437
|
-
registeredScopes,
|
|
438
|
-
});
|
|
439
|
-
|
|
440
|
-
return registeredScopes;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
/**
|
|
444
|
-
* Register owned scopes from a schematic's resources
|
|
445
|
-
*
|
|
446
|
-
* This builds a mapping from instrumentation scope names to their owning
|
|
447
|
-
* schematic cache key. When a trace comes in with a scope listed in
|
|
448
|
-
* `owned-scopes`, we can route it to the correct storyboards without
|
|
449
|
-
* needing a separate lookup.
|
|
450
|
-
*/
|
|
451
|
-
private registerOwnedScopes(
|
|
452
|
-
cacheKey: string,
|
|
453
|
-
resources: Record<string, ResourceAttributes>
|
|
454
|
-
): void {
|
|
455
|
-
for (const [_resourceName, attrs] of Object.entries(resources)) {
|
|
456
|
-
const scopeNames = getScopeNames(attrs['owned-scopes']);
|
|
457
|
-
for (const scope of scopeNames) {
|
|
458
|
-
this.scopeToSnapshotKey.set(scope, cacheKey);
|
|
459
|
-
console.log('[RemoteRegistry] Registered owned scope:', {
|
|
460
|
-
scope,
|
|
461
|
-
cacheKey,
|
|
462
|
-
});
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
/**
|
|
468
|
-
* Extract all owned scopes from resources (for logging)
|
|
469
|
-
*/
|
|
470
|
-
private getOwnedScopesFromResources(
|
|
471
|
-
resources?: Record<string, ResourceAttributes>
|
|
472
|
-
): string[] {
|
|
473
|
-
if (!resources) return [];
|
|
474
|
-
const scopes: string[] = [];
|
|
475
|
-
for (const attrs of Object.values(resources)) {
|
|
476
|
-
scopes.push(...getScopeNames(attrs['owned-scopes']));
|
|
477
|
-
}
|
|
478
|
-
return scopes;
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
/**
|
|
482
|
-
* Clear the cache (useful for testing)
|
|
483
|
-
*/
|
|
484
|
-
clearCache(): void {
|
|
485
|
-
this.cache.clear();
|
|
486
|
-
this.scopeToSnapshotKey.clear();
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
/**
|
|
490
|
-
* Get cache statistics
|
|
491
|
-
*/
|
|
492
|
-
getCacheStats(): { size: number; ttl: number; ownedScopesCount: number } {
|
|
493
|
-
return {
|
|
494
|
-
size: this.cache.size,
|
|
495
|
-
ttl: this.cacheTTL,
|
|
496
|
-
ownedScopesCount: this.scopeToSnapshotKey.size,
|
|
497
|
-
};
|
|
498
|
-
}
|
|
499
|
-
}
|