@senpi/runtime 3.0.6-dev.skill-manager-v2.20260629194505 → 3.0.9-dev.20260710204324
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/dist/actions/action-events.d.ts +67 -0
- package/dist/actions/action-events.d.ts.map +1 -0
- package/dist/actions/action-events.js +164 -0
- package/dist/actions/action-events.js.map +1 -0
- package/dist/actions/close-position/close-position.action.d.ts +1 -1
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +108 -86
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js +40 -28
- package/dist/actions/decision-engine.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +61 -0
- package/dist/actions/event-derivation.d.ts.map +1 -0
- package/dist/actions/event-derivation.js +180 -0
- package/dist/actions/event-derivation.js.map +1 -0
- package/dist/actions/llm-decision/anthropic-llm-decision.d.ts +5 -9
- package/dist/actions/llm-decision/anthropic-llm-decision.d.ts.map +1 -1
- package/dist/actions/llm-decision/anthropic-llm-decision.js +6 -87
- package/dist/actions/llm-decision/anthropic-llm-decision.js.map +1 -1
- package/dist/actions/llm-decision/factory.d.ts +0 -6
- package/dist/actions/llm-decision/factory.d.ts.map +1 -1
- package/dist/actions/llm-decision/factory.js +0 -2
- package/dist/actions/llm-decision/factory.js.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.d.ts.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +26 -7
- package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +282 -224
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +3 -6
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +61 -0
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts +14 -0
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +390 -2
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/event-mapping.js +0 -3
- package/dist/dsl/engine-client/event-mapping.js.map +1 -1
- package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
- package/dist/dsl/events/build-closed-event.js +0 -1
- package/dist/dsl/events/build-closed-event.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +2 -4
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/events/initial-state.d.ts.map +1 -1
- package/dist/dsl/events/initial-state.js +1 -0
- package/dist/dsl/events/initial-state.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts +3 -0
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +76 -58
- package/dist/dsl/monitor/create-monitor.js.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.d.ts +42 -0
- package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -0
- package/dist/dsl/monitor/dsl-failure-events.js +73 -0
- package/dist/dsl/monitor/dsl-failure-events.js.map +1 -0
- package/dist/dsl/monitor/process-one-position.d.ts +2 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +130 -196
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/plugin/index.d.ts +10 -0
- package/dist/dsl/plugin/index.d.ts.map +1 -1
- package/dist/dsl/plugin/index.js +48 -4
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +3 -0
- package/dist/dsl/plugin/options.d.ts.map +1 -1
- package/dist/health/types.d.ts +14 -0
- package/dist/health/types.d.ts.map +1 -1
- package/dist/health/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +264 -79
- package/dist/index.js.map +1 -1
- package/dist/risk/risk-audit-log.d.ts +7 -0
- package/dist/risk/risk-audit-log.d.ts.map +1 -1
- package/dist/risk/risk-audit-log.js +48 -1
- package/dist/risk/risk-audit-log.js.map +1 -1
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts +2 -0
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts.map +1 -1
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js +24 -3
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js.map +1 -1
- package/dist/runtime/auto-update/coordinator.js +2 -2
- package/dist/runtime/auto-update/coordinator.js.map +1 -1
- package/dist/runtime/create-actions.d.ts.map +1 -1
- package/dist/runtime/create-actions.js +40 -15
- package/dist/runtime/create-actions.js.map +1 -1
- package/dist/runtime/create-runtime-context.d.ts +1 -1
- package/dist/runtime/create-runtime-context.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +2 -1
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +2 -1
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/domain-events.d.ts +43 -0
- package/dist/runtime/domain-events.d.ts.map +1 -0
- package/dist/runtime/domain-events.js +181 -0
- package/dist/runtime/domain-events.js.map +1 -0
- package/dist/runtime/lifecycle-events.d.ts +86 -0
- package/dist/runtime/lifecycle-events.d.ts.map +1 -0
- package/dist/runtime/lifecycle-events.js +200 -0
- package/dist/runtime/lifecycle-events.js.map +1 -0
- package/dist/runtime/notifications.js +2 -2
- package/dist/runtime/notifications.js.map +1 -1
- package/dist/{tracking → runtime}/position-id-registry.d.ts +14 -1
- package/dist/runtime/position-id-registry.d.ts.map +1 -0
- package/dist/{tracking → runtime}/position-id-registry.js +20 -3
- package/dist/runtime/position-id-registry.js.map +1 -0
- package/dist/runtime/run.d.ts +2 -4
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +276 -588
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +8 -28
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +23 -9
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +276 -248
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-lifecycle.d.ts.map +1 -1
- package/dist/runtime/strategy-lifecycle.js +13 -1
- package/dist/runtime/strategy-lifecycle.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts +3 -0
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +27 -53
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/config.d.ts +2 -2
- package/dist/runtime-api/config.js +4 -4
- package/dist/runtime-api/config.js.map +1 -1
- package/dist/runtime-api/handlers/ingest-signals.d.ts +5 -3
- package/dist/runtime-api/handlers/ingest-signals.d.ts.map +1 -1
- package/dist/runtime-api/handlers/ingest-signals.js +14 -5
- package/dist/runtime-api/handlers/ingest-signals.js.map +1 -1
- package/dist/runtime-api/intake/ingest-mutex.d.ts +16 -0
- package/dist/runtime-api/intake/ingest-mutex.d.ts.map +1 -0
- package/dist/runtime-api/intake/ingest-mutex.js +18 -0
- package/dist/runtime-api/intake/ingest-mutex.js.map +1 -0
- package/dist/runtime-api/intake/intake-events.d.ts +44 -0
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -0
- package/dist/runtime-api/intake/intake-events.js +131 -0
- package/dist/runtime-api/intake/intake-events.js.map +1 -0
- package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-mount.js +8 -2
- package/dist/runtime-api/intake/intake-mount.js.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.d.ts +2 -0
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +58 -15
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/scanner-registry.d.ts +3 -0
- package/dist/runtime-api/intake/scanner-registry.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-registry.js +3 -0
- package/dist/runtime-api/intake/scanner-registry.js.map +1 -1
- package/dist/runtime-api/intake/supervisor-events.d.ts +61 -0
- package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -0
- package/dist/runtime-api/intake/supervisor-events.js +173 -0
- package/dist/runtime-api/intake/supervisor-events.js.map +1 -0
- package/dist/runtime-api/routes/signals.d.ts +1 -1
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +121 -35
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/server.d.ts.map +1 -1
- package/dist/runtime-api/server.js +10 -1
- package/dist/runtime-api/server.js.map +1 -1
- package/dist/scanners/engine/data-providers.d.ts +3 -0
- package/dist/scanners/engine/data-providers.d.ts.map +1 -1
- package/dist/scanners/engine/data-providers.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts +18 -0
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +96 -2
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/engine/input-resolver.d.ts.map +1 -1
- package/dist/scanners/engine/input-resolver.js +9 -7
- package/dist/scanners/engine/input-resolver.js.map +1 -1
- package/dist/scanners/runtime-module.d.ts +3 -0
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +7 -0
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts +10 -0
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +113 -46
- package/dist/senpi/client.js.map +1 -1
- package/dist/skills-manager/bootstrap.d.ts.map +1 -1
- package/dist/skills-manager/bootstrap.js +22 -33
- package/dist/skills-manager/bootstrap.js.map +1 -1
- package/dist/skills-manager/clone-groups.d.ts +20 -0
- package/dist/skills-manager/clone-groups.d.ts.map +1 -0
- package/dist/skills-manager/clone-groups.js +45 -0
- package/dist/skills-manager/clone-groups.js.map +1 -0
- package/dist/skills-manager/coordinator.d.ts.map +1 -1
- package/dist/skills-manager/coordinator.js +111 -75
- package/dist/skills-manager/coordinator.js.map +1 -1
- package/dist/skills-manager/manifest.d.ts +24 -0
- package/dist/skills-manager/manifest.d.ts.map +1 -1
- package/dist/skills-manager/manifest.js +23 -10
- package/dist/skills-manager/manifest.js.map +1 -1
- package/dist/skills-manager/skills-manifest.json +12 -7
- package/dist/skills-manager/types.d.ts +12 -0
- package/dist/skills-manager/types.d.ts.map +1 -1
- package/dist/state/state-events.d.ts +13 -0
- package/dist/state/state-events.d.ts.map +1 -0
- package/dist/state/state-events.js +22 -0
- package/dist/state/state-events.js.map +1 -0
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +14 -1
- package/dist/state/state-manager.js.map +1 -1
- package/dist/telemetry/attributes.d.ts +13 -0
- package/dist/telemetry/attributes.d.ts.map +1 -0
- package/dist/telemetry/attributes.js +22 -0
- package/dist/telemetry/attributes.js.map +1 -0
- package/dist/{tracking → telemetry}/context.d.ts +12 -5
- package/dist/telemetry/context.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/context.js +4 -4
- package/dist/telemetry/context.js.map +1 -0
- package/dist/{recording/records.d.ts → telemetry/event-builders.d.ts} +145 -33
- package/dist/telemetry/event-builders.d.ts.map +1 -0
- package/dist/{recording/wiring/record-builders.js → telemetry/event-builders.js} +94 -40
- package/dist/telemetry/event-builders.js.map +1 -0
- package/dist/telemetry/event-store.d.ts +66 -0
- package/dist/telemetry/event-store.d.ts.map +1 -0
- package/dist/telemetry/event-store.js +202 -0
- package/dist/telemetry/event-store.js.map +1 -0
- package/dist/telemetry/identity.d.ts +72 -0
- package/dist/telemetry/identity.d.ts.map +1 -0
- package/dist/{recording/wiring → telemetry}/identity.js +6 -2
- package/dist/telemetry/identity.js.map +1 -0
- package/dist/telemetry/metrics.d.ts +169 -0
- package/dist/telemetry/metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics.js +437 -0
- package/dist/telemetry/metrics.js.map +1 -0
- package/dist/telemetry/otel-sdk.d.ts +93 -0
- package/dist/telemetry/otel-sdk.d.ts.map +1 -0
- package/dist/telemetry/otel-sdk.js +297 -0
- package/dist/telemetry/otel-sdk.js.map +1 -0
- package/dist/telemetry/spans/constants.d.ts +12 -0
- package/dist/telemetry/spans/constants.d.ts.map +1 -0
- package/dist/telemetry/spans/constants.js +12 -0
- package/dist/telemetry/spans/constants.js.map +1 -0
- package/dist/telemetry/spans/gen-ai.d.ts +74 -0
- package/dist/telemetry/spans/gen-ai.d.ts.map +1 -0
- package/dist/telemetry/spans/gen-ai.js +339 -0
- package/dist/telemetry/spans/gen-ai.js.map +1 -0
- package/dist/telemetry/spans/index.d.ts +11 -0
- package/dist/telemetry/spans/index.d.ts.map +1 -0
- package/dist/telemetry/spans/index.js +11 -0
- package/dist/telemetry/spans/index.js.map +1 -0
- package/dist/{tracking → telemetry}/spans/redact-pii.d.ts +19 -21
- package/dist/telemetry/spans/redact-pii.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/redact-pii.js +35 -32
- package/dist/telemetry/spans/redact-pii.js.map +1 -0
- package/dist/telemetry/spans/sanitize-payload.d.ts.map +1 -0
- package/dist/telemetry/spans/sanitize-payload.js.map +1 -0
- package/dist/telemetry/spans/span-hooks.d.ts +18 -0
- package/dist/telemetry/spans/span-hooks.d.ts.map +1 -0
- package/dist/telemetry/spans/span-hooks.js +764 -0
- package/dist/telemetry/spans/span-hooks.js.map +1 -0
- package/dist/telemetry/tool-plane.d.ts +31 -0
- package/dist/telemetry/tool-plane.d.ts.map +1 -0
- package/dist/telemetry/tool-plane.js +70 -0
- package/dist/telemetry/tool-plane.js.map +1 -0
- package/dist/telemetry/trace-identity.d.ts +32 -0
- package/dist/telemetry/trace-identity.d.ts.map +1 -0
- package/dist/telemetry/trace-identity.js +62 -0
- package/dist/telemetry/trace-identity.js.map +1 -0
- package/dist/telemetry/tracing.d.ts +33 -0
- package/dist/telemetry/tracing.d.ts.map +1 -0
- package/dist/telemetry/tracing.js +70 -0
- package/dist/telemetry/tracing.js.map +1 -0
- package/dist/types/dsl/index.d.ts +8 -9
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types/scanner.d.ts +2 -0
- package/dist/types/scanner.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +506 -0
- package/dist/utils/event-catalog.d.ts.map +1 -0
- package/dist/utils/event-catalog.js +142 -0
- package/dist/utils/event-catalog.js.map +1 -0
- package/dist/utils/logger.d.ts +63 -5
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +360 -27
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/wallet-address.d.ts +3 -0
- package/dist/utils/wallet-address.d.ts.map +1 -0
- package/dist/utils/wallet-address.js +17 -0
- package/dist/utils/wallet-address.js.map +1 -0
- package/openclaw.plugin.json +20 -6
- package/package.json +10 -2
- package/dist/actions/tracking-helpers.d.ts +0 -28
- package/dist/actions/tracking-helpers.d.ts.map +0 -1
- package/dist/actions/tracking-helpers.js +0 -93
- package/dist/actions/tracking-helpers.js.map +0 -1
- package/dist/recording/emitter.d.ts +0 -27
- package/dist/recording/emitter.d.ts.map +0 -1
- package/dist/recording/emitter.js +0 -2
- package/dist/recording/emitter.js.map +0 -1
- package/dist/recording/identity.d.ts +0 -34
- package/dist/recording/identity.d.ts.map +0 -1
- package/dist/recording/identity.js +0 -2
- package/dist/recording/identity.js.map +0 -1
- package/dist/recording/index.d.ts +0 -11
- package/dist/recording/index.d.ts.map +0 -1
- package/dist/recording/index.js +0 -2
- package/dist/recording/index.js.map +0 -1
- package/dist/recording/noop-emitter.d.ts +0 -23
- package/dist/recording/noop-emitter.d.ts.map +0 -1
- package/dist/recording/noop-emitter.js +0 -22
- package/dist/recording/noop-emitter.js.map +0 -1
- package/dist/recording/otel/attributes.d.ts +0 -35
- package/dist/recording/otel/attributes.d.ts.map +0 -1
- package/dist/recording/otel/attributes.js +0 -131
- package/dist/recording/otel/attributes.js.map +0 -1
- package/dist/recording/otel/constants.d.ts +0 -123
- package/dist/recording/otel/constants.d.ts.map +0 -1
- package/dist/recording/otel/constants.js +0 -172
- package/dist/recording/otel/constants.js.map +0 -1
- package/dist/recording/otel/ids.d.ts +0 -25
- package/dist/recording/otel/ids.d.ts.map +0 -1
- package/dist/recording/otel/ids.js +0 -37
- package/dist/recording/otel/ids.js.map +0 -1
- package/dist/recording/otel/index.d.ts +0 -13
- package/dist/recording/otel/index.d.ts.map +0 -1
- package/dist/recording/otel/index.js +0 -9
- package/dist/recording/otel/index.js.map +0 -1
- package/dist/recording/otel/mappers.d.ts +0 -100
- package/dist/recording/otel/mappers.d.ts.map +0 -1
- package/dist/recording/otel/mappers.js +0 -683
- package/dist/recording/otel/mappers.js.map +0 -1
- package/dist/recording/otel/otel-emitter.d.ts +0 -43
- package/dist/recording/otel/otel-emitter.d.ts.map +0 -1
- package/dist/recording/otel/otel-emitter.js +0 -99
- package/dist/recording/otel/otel-emitter.js.map +0 -1
- package/dist/recording/otel/redaction.d.ts +0 -47
- package/dist/recording/otel/redaction.d.ts.map +0 -1
- package/dist/recording/otel/redaction.js +0 -88
- package/dist/recording/otel/redaction.js.map +0 -1
- package/dist/recording/records.d.ts.map +0 -1
- package/dist/recording/records.js +0 -14
- package/dist/recording/records.js.map +0 -1
- package/dist/recording/transport/batcher.d.ts +0 -59
- package/dist/recording/transport/batcher.d.ts.map +0 -1
- package/dist/recording/transport/batcher.js +0 -234
- package/dist/recording/transport/batcher.js.map +0 -1
- package/dist/recording/transport/client.d.ts +0 -41
- package/dist/recording/transport/client.d.ts.map +0 -1
- package/dist/recording/transport/client.js +0 -69
- package/dist/recording/transport/client.js.map +0 -1
- package/dist/recording/transport/config.d.ts +0 -53
- package/dist/recording/transport/config.d.ts.map +0 -1
- package/dist/recording/transport/config.js +0 -41
- package/dist/recording/transport/config.js.map +0 -1
- package/dist/recording/transport/index.d.ts +0 -16
- package/dist/recording/transport/index.d.ts.map +0 -1
- package/dist/recording/transport/index.js +0 -12
- package/dist/recording/transport/index.js.map +0 -1
- package/dist/recording/transport/rows.d.ts +0 -88
- package/dist/recording/transport/rows.d.ts.map +0 -1
- package/dist/recording/transport/rows.js +0 -15
- package/dist/recording/transport/rows.js.map +0 -1
- package/dist/recording/wiring/emitter-factory.d.ts +0 -39
- package/dist/recording/wiring/emitter-factory.d.ts.map +0 -1
- package/dist/recording/wiring/emitter-factory.js +0 -62
- package/dist/recording/wiring/emitter-factory.js.map +0 -1
- package/dist/recording/wiring/identity.d.ts +0 -27
- package/dist/recording/wiring/identity.d.ts.map +0 -1
- package/dist/recording/wiring/identity.js.map +0 -1
- package/dist/recording/wiring/index.d.ts +0 -12
- package/dist/recording/wiring/index.d.ts.map +0 -1
- package/dist/recording/wiring/index.js +0 -9
- package/dist/recording/wiring/index.js.map +0 -1
- package/dist/recording/wiring/record-builders.d.ts +0 -107
- package/dist/recording/wiring/record-builders.d.ts.map +0 -1
- package/dist/recording/wiring/record-builders.js.map +0 -1
- package/dist/recording/wiring/subscriber.d.ts +0 -28
- package/dist/recording/wiring/subscriber.d.ts.map +0 -1
- package/dist/recording/wiring/subscriber.js +0 -173
- package/dist/recording/wiring/subscriber.js.map +0 -1
- package/dist/recording/wiring/values.d.ts +0 -19
- package/dist/recording/wiring/values.d.ts.map +0 -1
- package/dist/recording/wiring/values.js +0 -49
- package/dist/recording/wiring/values.js.map +0 -1
- package/dist/tracking/build-rehydrate-items.d.ts +0 -15
- package/dist/tracking/build-rehydrate-items.d.ts.map +0 -1
- package/dist/tracking/build-rehydrate-items.js +0 -19
- package/dist/tracking/build-rehydrate-items.js.map +0 -1
- package/dist/tracking/constants.d.ts +0 -24
- package/dist/tracking/constants.d.ts.map +0 -1
- package/dist/tracking/constants.js +0 -52
- package/dist/tracking/constants.js.map +0 -1
- package/dist/tracking/context.d.ts.map +0 -1
- package/dist/tracking/context.js.map +0 -1
- package/dist/tracking/index.d.ts +0 -16
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -11
- package/dist/tracking/index.js.map +0 -1
- package/dist/tracking/plugin-event-tracker.d.ts +0 -13
- package/dist/tracking/plugin-event-tracker.d.ts.map +0 -1
- package/dist/tracking/plugin-event-tracker.js +0 -27
- package/dist/tracking/plugin-event-tracker.js.map +0 -1
- package/dist/tracking/position-id-registry.d.ts.map +0 -1
- package/dist/tracking/position-id-registry.js.map +0 -1
- package/dist/tracking/spans/constants.d.ts +0 -19
- package/dist/tracking/spans/constants.d.ts.map +0 -1
- package/dist/tracking/spans/constants.js +0 -31
- package/dist/tracking/spans/constants.js.map +0 -1
- package/dist/tracking/spans/fan-out-span-transport.d.ts +0 -22
- package/dist/tracking/spans/fan-out-span-transport.d.ts.map +0 -1
- package/dist/tracking/spans/fan-out-span-transport.js +0 -49
- package/dist/tracking/spans/fan-out-span-transport.js.map +0 -1
- package/dist/tracking/spans/index.d.ts +0 -13
- package/dist/tracking/spans/index.d.ts.map +0 -1
- package/dist/tracking/spans/index.js +0 -16
- package/dist/tracking/spans/index.js.map +0 -1
- package/dist/tracking/spans/otel/fit-row-budget.d.ts +0 -22
- package/dist/tracking/spans/otel/fit-row-budget.d.ts.map +0 -1
- package/dist/tracking/spans/otel/fit-row-budget.js +0 -91
- package/dist/tracking/spans/otel/fit-row-budget.js.map +0 -1
- package/dist/tracking/spans/otel/map-span-to-trace-row.d.ts +0 -16
- package/dist/tracking/spans/otel/map-span-to-trace-row.d.ts.map +0 -1
- package/dist/tracking/spans/otel/map-span-to-trace-row.js +0 -227
- package/dist/tracking/spans/otel/map-span-to-trace-row.js.map +0 -1
- package/dist/tracking/spans/otel/recording-span-transport.d.ts +0 -43
- package/dist/tracking/spans/otel/recording-span-transport.d.ts.map +0 -1
- package/dist/tracking/spans/otel/recording-span-transport.js +0 -67
- package/dist/tracking/spans/otel/recording-span-transport.js.map +0 -1
- package/dist/tracking/spans/otel/span-ids.d.ts +0 -22
- package/dist/tracking/spans/otel/span-ids.d.ts.map +0 -1
- package/dist/tracking/spans/otel/span-ids.js +0 -32
- package/dist/tracking/spans/otel/span-ids.js.map +0 -1
- package/dist/tracking/spans/plugin-span-tracker.d.ts +0 -9
- package/dist/tracking/spans/plugin-span-tracker.d.ts.map +0 -1
- package/dist/tracking/spans/plugin-span-tracker.js +0 -115
- package/dist/tracking/spans/plugin-span-tracker.js.map +0 -1
- package/dist/tracking/spans/redact-pii.d.ts.map +0 -1
- package/dist/tracking/spans/redact-pii.js.map +0 -1
- package/dist/tracking/spans/sanitize-payload.d.ts.map +0 -1
- package/dist/tracking/spans/sanitize-payload.js.map +0 -1
- package/dist/tracking/spans/span-hooks.d.ts +0 -28
- package/dist/tracking/spans/span-hooks.d.ts.map +0 -1
- package/dist/tracking/spans/span-hooks.js +0 -409
- package/dist/tracking/spans/span-hooks.js.map +0 -1
- package/dist/tracking/spans/span-tracker.d.ts +0 -133
- package/dist/tracking/spans/span-tracker.d.ts.map +0 -1
- package/dist/tracking/spans/span-tracker.js +0 -721
- package/dist/tracking/spans/span-tracker.js.map +0 -1
- package/dist/tracking/spans/span-transport.d.ts +0 -71
- package/dist/tracking/spans/span-transport.d.ts.map +0 -1
- package/dist/tracking/spans/span-transport.js +0 -240
- package/dist/tracking/spans/span-transport.js.map +0 -1
- package/dist/tracking/spans/types.d.ts +0 -101
- package/dist/tracking/spans/types.d.ts.map +0 -1
- package/dist/tracking/spans/types.js +0 -6
- package/dist/tracking/spans/types.js.map +0 -1
- package/dist/tracking/tracker.d.ts +0 -30
- package/dist/tracking/tracker.d.ts.map +0 -1
- package/dist/tracking/tracker.js +0 -66
- package/dist/tracking/tracker.js.map +0 -1
- package/dist/tracking/tracking-handler.d.ts +0 -12
- package/dist/tracking/tracking-handler.d.ts.map +0 -1
- package/dist/tracking/tracking-handler.js +0 -148
- package/dist/tracking/tracking-handler.js.map +0 -1
- package/dist/tracking/transport.d.ts +0 -35
- package/dist/tracking/transport.d.ts.map +0 -1
- package/dist/tracking/transport.js +0 -133
- package/dist/tracking/transport.js.map +0 -1
- package/dist/tracking/types.d.ts +0 -21
- package/dist/tracking/types.d.ts.map +0 -1
- package/dist/tracking/types.js +0 -6
- package/dist/tracking/types.js.map +0 -1
- /package/dist/{tracking → telemetry}/spans/sanitize-payload.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/sanitize-payload.js +0 -0
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { ExternalScannerIngestError, } from "../../scanners/external-scanner-receiver.js";
|
|
9
9
|
import { findRuntimeHandleByAddress } from "./runtime-lookup.js";
|
|
10
|
+
import { ingestDispatchMutex, ingestDispatchKey } from "../intake/ingest-mutex.js";
|
|
10
11
|
/**
|
|
11
12
|
* Ingest one signal item.
|
|
12
13
|
*
|
|
@@ -22,9 +23,11 @@ import { findRuntimeHandleByAddress } from "./runtime-lookup.js";
|
|
|
22
23
|
* (The runtime also enforces this, but we check early to surface a clear
|
|
23
24
|
* message before the engine lock is acquired.)
|
|
24
25
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* Concurrent top-level items for the same `(address, scanner)` are serialized
|
|
27
|
+
* here behind `ingestDispatchMutex` (keyed by runtimeId + scanner name — the
|
|
28
|
+
* engine's one-in-flight guard identity), so callers may submit them without
|
|
29
|
+
* racing the guard into `UNAVAILABLE`. Nesting signals in `signals[]` is still
|
|
30
|
+
* valid; different scanners still ingest concurrently.
|
|
28
31
|
*
|
|
29
32
|
* @param item A single signal item.
|
|
30
33
|
* @param deps Injected dependencies.
|
|
@@ -68,7 +71,7 @@ export async function ingestSignalsHandler(item, deps) {
|
|
|
68
71
|
message: lookup.message,
|
|
69
72
|
};
|
|
70
73
|
}
|
|
71
|
-
const { handle } = lookup;
|
|
74
|
+
const { handle, runtimeId } = lookup;
|
|
72
75
|
// --- Build the ingest request (address stays at the routing layer) ---
|
|
73
76
|
//
|
|
74
77
|
// `signals` only forwarded when non-empty — mirrors the validation rule
|
|
@@ -86,7 +89,13 @@ export async function ingestSignalsHandler(item, deps) {
|
|
|
86
89
|
};
|
|
87
90
|
// --- Dispatch ---
|
|
88
91
|
try {
|
|
89
|
-
|
|
92
|
+
// Serialize behind the same shared per-key lock the intake seams use (engine
|
|
93
|
+
// guard identity: runtimeId + scanner NAME). The gateway shim awaits this
|
|
94
|
+
// handler, so without the lock two concurrent gateway calls — or a gateway
|
|
95
|
+
// call overlapping an intake-dispatched ingest for the same key — race the
|
|
96
|
+
// engine's one-in-flight guard and all but the first are rejected UNAVAILABLE.
|
|
97
|
+
const key = ingestDispatchKey(runtimeId, item.scanner);
|
|
98
|
+
const result = await ingestDispatchMutex.withKeyLock(key, () => handle.ingestExternalScannerData(request));
|
|
90
99
|
return {
|
|
91
100
|
success: true,
|
|
92
101
|
address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest-signals.js","sourceRoot":"","sources":["../../../src/runtime-api/handlers/ingest-signals.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,0BAA0B,GAE3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ingest-signals.js","sourceRoot":"","sources":["../../../src/runtime-api/handlers/ingest-signals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared per-key mutex serializing external-scanner ingest dispatch.
|
|
3
|
+
*
|
|
4
|
+
* Keyed by the engine's per-(scanner,strategy) guard identity (runtimeId +
|
|
5
|
+
* configured scanner NAME) so batched or concurrent signals for one scanner
|
|
6
|
+
* ingest one at a time — the engine allows only one in-flight ingest per key
|
|
7
|
+
* and rejects overlap. Different keys still run concurrently.
|
|
8
|
+
*
|
|
9
|
+
* Process/plugin scope (single shared instance) so it serializes across both
|
|
10
|
+
* dispatch seams and across separate POSTs, not just within one request.
|
|
11
|
+
*/
|
|
12
|
+
import { KeyedMutex } from "../../utils/keyed-mutex.js";
|
|
13
|
+
export declare const ingestDispatchMutex: KeyedMutex;
|
|
14
|
+
/** The engine guard identity: runtimeId + configured scanner NAME. */
|
|
15
|
+
export declare function ingestDispatchKey(runtimeId: string, scannerName: string): string;
|
|
16
|
+
//# sourceMappingURL=ingest-mutex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest-mutex.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/ingest-mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,mBAAmB,YAAmB,CAAC;AAEpD,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared per-key mutex serializing external-scanner ingest dispatch.
|
|
3
|
+
*
|
|
4
|
+
* Keyed by the engine's per-(scanner,strategy) guard identity (runtimeId +
|
|
5
|
+
* configured scanner NAME) so batched or concurrent signals for one scanner
|
|
6
|
+
* ingest one at a time — the engine allows only one in-flight ingest per key
|
|
7
|
+
* and rejects overlap. Different keys still run concurrently.
|
|
8
|
+
*
|
|
9
|
+
* Process/plugin scope (single shared instance) so it serializes across both
|
|
10
|
+
* dispatch seams and across separate POSTs, not just within one request.
|
|
11
|
+
*/
|
|
12
|
+
import { KeyedMutex } from "../../utils/keyed-mutex.js";
|
|
13
|
+
export const ingestDispatchMutex = new KeyedMutex();
|
|
14
|
+
/** The engine guard identity: runtimeId + configured scanner NAME. */
|
|
15
|
+
export function ingestDispatchKey(runtimeId, scannerName) {
|
|
16
|
+
return `${runtimeId} ${scannerName}`;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ingest-mutex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest-mutex.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/ingest-mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,UAAU,EAAE,CAAC;AAEpD,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,WAAmB;IACtE,OAAO,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure builders for the signal-intake boundary's event-log events — the pre-decision acceptance fact
|
|
3
|
+
* at the process edge (did a scanner's POSTed signal get in, and why not), distinct from the
|
|
4
|
+
* post-decision `signal.outcome`. {@link buildSignalDispositionEvent} maps a per-signal disposition
|
|
5
|
+
* (accepted/rejected/expired/superseded) onto the `signal.*` family; {@link buildSignalRejectedEvent}
|
|
6
|
+
* covers a whole-request reject (unknown scanner, oversized batch) at request grain; and
|
|
7
|
+
* {@link buildScaffoldErrorEvent} maps a scaffold `/errors` POST onto `scaffold.tick_error` /
|
|
8
|
+
* `scaffold.tick_timeout`.
|
|
9
|
+
*
|
|
10
|
+
* Pure `(input) => EmittableEvent`; the route emits the result through `emitEvent`'s guard, so a
|
|
11
|
+
* throwing build or a telemetry failure can never disturb request handling. Free-text — a reject
|
|
12
|
+
* reason, a scaffold exception message — rides the `redact` slot, never an attribute.
|
|
13
|
+
*/
|
|
14
|
+
import { EVENT_NAME } from "../../utils/event-catalog.js";
|
|
15
|
+
import type { EmittableEvent } from "../../actions/event-derivation.js";
|
|
16
|
+
import type { PerSignalStatus } from "./types.js";
|
|
17
|
+
/** The four per-signal disposition catalog names this bridge emits. */
|
|
18
|
+
type SignalDispositionName = typeof EVENT_NAME.signalAccepted | typeof EVENT_NAME.signalRejected | typeof EVENT_NAME.signalExpired | typeof EVENT_NAME.signalSuperseded;
|
|
19
|
+
/** The scanner identity the route pins onto every intake event. */
|
|
20
|
+
export interface IntakeEventContext {
|
|
21
|
+
/** The `scanner_id` from the POST body — present even when it resolves to no registry entry. */
|
|
22
|
+
scannerId: string;
|
|
23
|
+
/** The resolved scanner name; absent when the id is unknown. */
|
|
24
|
+
scannerName?: string;
|
|
25
|
+
/** Strategy wallet from the registry entry; omitted/empty → not stamped. */
|
|
26
|
+
wallet?: string;
|
|
27
|
+
}
|
|
28
|
+
/** Map one per-signal disposition to its `signal.*` event-log record. */
|
|
29
|
+
export declare function buildSignalDispositionEvent(status: PerSignalStatus, asset: string, ctx: IntakeEventContext): EmittableEvent<SignalDispositionName>;
|
|
30
|
+
/**
|
|
31
|
+
* Build the request-level `signal.rejected` event — the whole POST was refused before any per-signal
|
|
32
|
+
* work (an unknown `scanner_id` or an oversized batch), so it carries a coded reason and no asset.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildSignalRejectedEvent(reasonCode: string, ctx: IntakeEventContext): EmittableEvent<typeof EVENT_NAME.signalRejected>;
|
|
35
|
+
/** The scanner-side failure types the scaffold POSTs to `/errors` (see the scaffold tick loop). */
|
|
36
|
+
type ScaffoldErrorName = typeof EVENT_NAME.scaffoldTickError | typeof EVENT_NAME.scaffoldTickTimeout;
|
|
37
|
+
/**
|
|
38
|
+
* Map one scaffold `/errors` POST onto its `scaffold.*` event (both `warn`). A `type: "timeout"` body
|
|
39
|
+
* is a tick that blew its wall-clock budget; anything else (a Python exception, `state_persist_failed`)
|
|
40
|
+
* is a `tick_error` whose failure class rides `senpi.scaffold.error_type`. The raw message rides `redact`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildScaffoldErrorEvent(error: Record<string, unknown>, ctx: IntakeEventContext): EmittableEvent<ScaffoldErrorName>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=intake-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intake-events.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAA6B,MAAM,8BAA8B,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,uEAAuE;AACvE,KAAK,qBAAqB,GACtB,OAAO,UAAU,CAAC,cAAc,GAChC,OAAO,UAAU,CAAC,cAAc,GAChC,OAAO,UAAU,CAAC,aAAa,GAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;AAEvC,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,gGAAgG;IAChG,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,yEAAyE;AACzE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,qBAAqB,CAAC,CA+CvC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAUlD;AAED,mGAAmG;AACnG,KAAK,iBAAiB,GAClB,OAAO,UAAU,CAAC,iBAAiB,GACnC,OAAO,UAAU,CAAC,mBAAmB,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,kBAAkB,GACtB,cAAc,CAAC,iBAAiB,CAAC,CAoCnC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure builders for the signal-intake boundary's event-log events — the pre-decision acceptance fact
|
|
3
|
+
* at the process edge (did a scanner's POSTed signal get in, and why not), distinct from the
|
|
4
|
+
* post-decision `signal.outcome`. {@link buildSignalDispositionEvent} maps a per-signal disposition
|
|
5
|
+
* (accepted/rejected/expired/superseded) onto the `signal.*` family; {@link buildSignalRejectedEvent}
|
|
6
|
+
* covers a whole-request reject (unknown scanner, oversized batch) at request grain; and
|
|
7
|
+
* {@link buildScaffoldErrorEvent} maps a scaffold `/errors` POST onto `scaffold.tick_error` /
|
|
8
|
+
* `scaffold.tick_timeout`.
|
|
9
|
+
*
|
|
10
|
+
* Pure `(input) => EmittableEvent`; the route emits the result through `emitEvent`'s guard, so a
|
|
11
|
+
* throwing build or a telemetry failure can never disturb request handling. Free-text — a reject
|
|
12
|
+
* reason, a scaffold exception message — rides the `redact` slot, never an attribute.
|
|
13
|
+
*/
|
|
14
|
+
import { EVENT_NAME, eventAttrs } from "../../utils/event-catalog.js";
|
|
15
|
+
/** The id/name/wallet attributes every intake event carries. */
|
|
16
|
+
function baseAttrs(ctx) {
|
|
17
|
+
return {
|
|
18
|
+
"senpi.scanner.id": ctx.scannerId,
|
|
19
|
+
"senpi.scanner.name": ctx.scannerName,
|
|
20
|
+
// Addresses are case-insensitive; lowercase to match the identity join key.
|
|
21
|
+
"senpi.strategy.address": ctx.wallet ? ctx.wallet.toLowerCase() : undefined,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** A label for the scanner in a narrative body — its name when resolved, else the id. */
|
|
25
|
+
function scannerLabel(ctx) {
|
|
26
|
+
return ctx.scannerName ?? ctx.scannerId;
|
|
27
|
+
}
|
|
28
|
+
/** Map one per-signal disposition to its `signal.*` event-log record. */
|
|
29
|
+
export function buildSignalDispositionEvent(status, asset, ctx) {
|
|
30
|
+
const base = baseAttrs(ctx);
|
|
31
|
+
const label = scannerLabel(ctx);
|
|
32
|
+
switch (status.status) {
|
|
33
|
+
case "accepted":
|
|
34
|
+
return {
|
|
35
|
+
name: EVENT_NAME.signalAccepted,
|
|
36
|
+
level: "info",
|
|
37
|
+
body: `Signal accepted: ${asset} from ${label}`,
|
|
38
|
+
attributes: eventAttrs({
|
|
39
|
+
...base,
|
|
40
|
+
"senpi.signal.asset": asset,
|
|
41
|
+
"senpi.signal.correlation_id": status.correlationId,
|
|
42
|
+
}),
|
|
43
|
+
};
|
|
44
|
+
case "rejected":
|
|
45
|
+
return {
|
|
46
|
+
name: EVENT_NAME.signalRejected,
|
|
47
|
+
level: "info",
|
|
48
|
+
body: `Signal rejected: ${asset} from ${label}`,
|
|
49
|
+
attributes: eventAttrs({
|
|
50
|
+
...base,
|
|
51
|
+
"senpi.signal.asset": asset,
|
|
52
|
+
}),
|
|
53
|
+
...(status.reason ? { redact: { reason: status.reason } } : {}),
|
|
54
|
+
};
|
|
55
|
+
case "expired":
|
|
56
|
+
return {
|
|
57
|
+
name: EVENT_NAME.signalExpired,
|
|
58
|
+
level: "info",
|
|
59
|
+
body: `Signal expired: ${asset} from ${label}`,
|
|
60
|
+
attributes: eventAttrs({
|
|
61
|
+
...base,
|
|
62
|
+
"senpi.signal.asset": asset,
|
|
63
|
+
}),
|
|
64
|
+
};
|
|
65
|
+
case "superseded":
|
|
66
|
+
return {
|
|
67
|
+
name: EVENT_NAME.signalSuperseded,
|
|
68
|
+
level: "info",
|
|
69
|
+
body: `Signal superseded: ${asset} from ${label}`,
|
|
70
|
+
attributes: eventAttrs({
|
|
71
|
+
...base,
|
|
72
|
+
"senpi.signal.asset": asset,
|
|
73
|
+
}),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Build the request-level `signal.rejected` event — the whole POST was refused before any per-signal
|
|
79
|
+
* work (an unknown `scanner_id` or an oversized batch), so it carries a coded reason and no asset.
|
|
80
|
+
*/
|
|
81
|
+
export function buildSignalRejectedEvent(reasonCode, ctx) {
|
|
82
|
+
return {
|
|
83
|
+
name: EVENT_NAME.signalRejected,
|
|
84
|
+
level: "info",
|
|
85
|
+
body: `Signal POST rejected: ${reasonCode} (scanner ${scannerLabel(ctx)})`,
|
|
86
|
+
attributes: eventAttrs({
|
|
87
|
+
...baseAttrs(ctx),
|
|
88
|
+
"senpi.intake.reason_code": reasonCode,
|
|
89
|
+
}),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Map one scaffold `/errors` POST onto its `scaffold.*` event (both `warn`). A `type: "timeout"` body
|
|
94
|
+
* is a tick that blew its wall-clock budget; anything else (a Python exception, `state_persist_failed`)
|
|
95
|
+
* is a `tick_error` whose failure class rides `senpi.scaffold.error_type`. The raw message rides `redact`.
|
|
96
|
+
*/
|
|
97
|
+
export function buildScaffoldErrorEvent(error, ctx) {
|
|
98
|
+
const base = baseAttrs(ctx);
|
|
99
|
+
const label = scannerLabel(ctx);
|
|
100
|
+
const message = typeof error.message === "string" ? error.message : undefined;
|
|
101
|
+
const isTimeout = error.type === "timeout";
|
|
102
|
+
if (isTimeout) {
|
|
103
|
+
return {
|
|
104
|
+
name: EVENT_NAME.scaffoldTickTimeout,
|
|
105
|
+
level: "warn",
|
|
106
|
+
body: `Scanner ${label} tick timed out`,
|
|
107
|
+
attributes: eventAttrs({ ...base }),
|
|
108
|
+
...(message ? { redact: { message } } : {}),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
// `error_type` is the Python exception class for a thrown tick; for a non-exception failure
|
|
112
|
+
// (`state_persist_failed`) the discriminator `type` is the only class available. The bare `error`
|
|
113
|
+
// discriminator carries nothing the event name doesn't, so it is not surfaced as an error_type.
|
|
114
|
+
const rawType = typeof error.type === "string" ? error.type : undefined;
|
|
115
|
+
const errorType = typeof error.error_type === "string"
|
|
116
|
+
? error.error_type
|
|
117
|
+
: rawType && rawType !== "error"
|
|
118
|
+
? rawType
|
|
119
|
+
: undefined;
|
|
120
|
+
return {
|
|
121
|
+
name: EVENT_NAME.scaffoldTickError,
|
|
122
|
+
level: "warn",
|
|
123
|
+
body: `Scanner ${label} tick failed`,
|
|
124
|
+
attributes: eventAttrs({
|
|
125
|
+
...base,
|
|
126
|
+
"senpi.scaffold.error_type": errorType,
|
|
127
|
+
}),
|
|
128
|
+
...(message ? { redact: { message } } : {}),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=intake-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intake-events.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-mount.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"intake-mount.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import * as fs from "node:fs";
|
|
12
12
|
import * as path from "node:path";
|
|
13
13
|
import { join } from "node:path";
|
|
14
|
+
import { ingestDispatchMutex, ingestDispatchKey } from "./ingest-mutex.js";
|
|
14
15
|
import { ScannerLauncher } from "./scanner-launcher.js";
|
|
15
16
|
import { sweepOrphans } from "../../runtime/supervisor/orphan-sweep.js";
|
|
16
17
|
// ── intake URL ───────────────────────────────────────────────────────────────
|
|
@@ -67,8 +68,13 @@ export function buildIntakeMount(ctx, runtimeHandles, cfg) {
|
|
|
67
68
|
// Trace the sizing-relevant fields the narrowed request carries, so a field
|
|
68
69
|
// dropped at this seam is visible instead of vanishing silently.
|
|
69
70
|
logger.debug(`[intake] ingest req signal_id=${signal.signal_id} scanner=${entry.scannerName} asset=${signal.asset} direction=${signal.direction} marginPct=${signal.marginPct} leverage=${signal.leverage}`);
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
// Serialize dispatch behind the shared per-key lock (engine guard identity)
|
|
72
|
+
// so a same-scanner batch or overlapping POSTs ingest one at a time instead
|
|
73
|
+
// of the engine rejecting all but the first as UNAVAILABLE. Still void — the
|
|
74
|
+
// POST response never blocks on the trade, just on lock ordering.
|
|
75
|
+
const key = ingestDispatchKey(entry.runtimeId, entry.scannerName);
|
|
76
|
+
void ingestDispatchMutex
|
|
77
|
+
.withKeyLock(key, () => handle.ingestExternalScannerData(request))
|
|
72
78
|
.then(() => {
|
|
73
79
|
logger.info(`[intake] ingest ok signal_id=${signal.signal_id} scanner=${entry.scannerName} asset=${signal.asset} scanner_id=${scannerId}`);
|
|
74
80
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-mount.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,OAAO,UAAU,QAAQ,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAuBD,sFAAsF;AAEtF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAkB,EAClB,cAA0C,EAC1C,GAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,8EAA8E;IAC9E,MAAM,UAAU,GAAG,CAAC,MAAoB,EAAE,cAAsB,EAAE,SAAiB,EAAQ,EAAE;QAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,+CAA+C;QACnE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,OAAO,GAAiC;YAC5C,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,gDAAgD;YAC5E,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,mDAAmD;YAChF,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5E,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,0EAA0E;YAC1E,6EAA6E;YAC7E,yDAAyD;YACzD,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnE,4EAA4E;YAC5E,6EAA6E;YAC7E,wDAAwD;SACzD,CAAC;QAEF,4EAA4E;QAC5E,iEAAiE;QACjE,MAAM,CAAC,KAAK,CACV,iCAAiC,MAAM,CAAC,SAAS,YAAY,KAAK,CAAC,WAAW,UAAU,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,SAAS,aAAa,MAAM,CAAC,QAAQ,EAAE,CAC/L,CAAC;QAEF,KAAK,
|
|
1
|
+
{"version":3,"file":"intake-mount.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/intake-mount.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,8 @@ export interface ExternalScannerSpec {
|
|
|
54
54
|
* `SupervisorContract` names the behavioral agreement itself.
|
|
55
55
|
*/
|
|
56
56
|
export interface SupervisorContract extends EventEmitter {
|
|
57
|
+
/** Stable id of this supervisor instance — the join key to its free-text logs and lifecycle events. */
|
|
58
|
+
readonly supervisorId: string;
|
|
57
59
|
spec: LongRunningSpec;
|
|
58
60
|
start(): void;
|
|
59
61
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-launcher.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"scanner-launcher.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ import * as fs from "node:fs";
|
|
|
15
15
|
import * as path from "node:path";
|
|
16
16
|
import { LongRunningSupervisor } from "../../runtime/supervisor/long-running-supervisor.js";
|
|
17
17
|
import { makeId } from "../../runtime/supervisor/supervisor-utils.js";
|
|
18
|
+
import { emitEvent } from "../../actions/event-derivation.js";
|
|
19
|
+
import { buildScannerLifecycleEvent, buildScannerLaunchFailedEvent, recordScannerLifecycleMetrics, } from "./supervisor-events.js";
|
|
18
20
|
// ── ScannerLauncher ────────────────────────────────────────────────────────────
|
|
19
21
|
export class ScannerLauncher {
|
|
20
22
|
deps;
|
|
@@ -56,9 +58,12 @@ export class ScannerLauncher {
|
|
|
56
58
|
const onSupervisorEvent = this.deps.onSupervisorEvent;
|
|
57
59
|
// Track ids registered in this call so we can roll back on partial failure.
|
|
58
60
|
const registeredInThisCall = [];
|
|
61
|
+
// The scanner being wired when a failure throws — names it on the launch-failed event.
|
|
62
|
+
let failingScanner;
|
|
59
63
|
try {
|
|
60
64
|
for (let i = 0; i < scanners.length; i++) {
|
|
61
65
|
const scanner = scanners[i];
|
|
66
|
+
failingScanner = scanner.name;
|
|
62
67
|
if (!scanner.path) {
|
|
63
68
|
throw new Error(`ScannerLauncher: scanner "${scanner.name}" is missing required field "path"`);
|
|
64
69
|
}
|
|
@@ -150,26 +155,56 @@ export class ScannerLauncher {
|
|
|
150
155
|
onSupervisorEvent(e);
|
|
151
156
|
});
|
|
152
157
|
}
|
|
158
|
+
// Telemetry bridge: translate each lifecycle event into its `scanner.*` catalog event and its
|
|
159
|
+
// health metric. Read the scanner id fresh from the holder so it reflects the run being
|
|
160
|
+
// reported — this is wired BEFORE the remint listener below, so a `restarting` event still
|
|
161
|
+
// carries the exiting run's id.
|
|
162
|
+
supervisor.on("event", (e) => {
|
|
163
|
+
const evt = e;
|
|
164
|
+
const lifecycleCtx = {
|
|
165
|
+
scannerName: scanner.name,
|
|
166
|
+
scannerId: idHolder.value,
|
|
167
|
+
supervisorId: supervisor.supervisorId,
|
|
168
|
+
wallet,
|
|
169
|
+
};
|
|
170
|
+
emitEvent(logger, () => buildScannerLifecycleEvent(evt, lifecycleCtx));
|
|
171
|
+
recordScannerLifecycleMetrics(evt, lifecycleCtx);
|
|
172
|
+
});
|
|
153
173
|
// 6. Subscribe to restarting for remint.
|
|
154
174
|
supervisor.on("event", (e) => {
|
|
155
175
|
const evt = e;
|
|
156
176
|
if (evt.type === "restarting") {
|
|
157
177
|
const oldId = idHolder.value;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
178
|
+
try {
|
|
179
|
+
registry.unregister(oldId);
|
|
180
|
+
const newId = mintScannerId();
|
|
181
|
+
idHolder.value = newId;
|
|
182
|
+
registry.register({
|
|
183
|
+
scannerId: newId,
|
|
184
|
+
runtimeId,
|
|
185
|
+
scannerName: scanner.name,
|
|
186
|
+
wallet,
|
|
187
|
+
fields: scanner.fields,
|
|
188
|
+
});
|
|
189
|
+
// Rewrite env so the next spawn carries the new id.
|
|
190
|
+
supervisor.spec.env = {
|
|
191
|
+
...supervisor.spec.env,
|
|
192
|
+
EXTERNAL_SCANNER_ID: newId,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
// A failed re-mint breaks the zombie fence — the scanner can be left with no registry
|
|
197
|
+
// entry, so its signals are refused (UNKNOWN_SCANNER). Surface it rather than let the
|
|
198
|
+
// supervisor's safeEmit swallow it as a generic listener throw.
|
|
199
|
+
emitEvent(logger, () => buildScannerLaunchFailedEvent({
|
|
200
|
+
scannerName: scanner.name,
|
|
201
|
+
phase: "remint",
|
|
202
|
+
wallet,
|
|
203
|
+
scannerId: oldId,
|
|
204
|
+
supervisorId: supervisor.supervisorId,
|
|
205
|
+
error: err,
|
|
206
|
+
}));
|
|
207
|
+
}
|
|
173
208
|
}
|
|
174
209
|
});
|
|
175
210
|
this.active.push({ currentId: idHolder, supervisor });
|
|
@@ -179,6 +214,14 @@ export class ScannerLauncher {
|
|
|
179
214
|
this._initialized = true;
|
|
180
215
|
}
|
|
181
216
|
catch (err) {
|
|
217
|
+
// First-class record: this runtime's supervised scanner failed to wire up and will produce no
|
|
218
|
+
// signals. Emitted before the rollback/rethrow, inside emitEvent's guard.
|
|
219
|
+
emitEvent(logger, () => buildScannerLaunchFailedEvent({
|
|
220
|
+
scannerName: failingScanner ?? "unknown",
|
|
221
|
+
phase: "wire",
|
|
222
|
+
wallet,
|
|
223
|
+
error: err,
|
|
224
|
+
}));
|
|
182
225
|
// All-or-nothing: roll back every registration made in this call so the
|
|
183
226
|
// registry stays clean and a retry does not see stale or duplicate ids.
|
|
184
227
|
for (const id of registeredInThisCall) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-launcher.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner-launcher.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export interface ScannerRegistry {
|
|
|
19
19
|
resolve(scannerId: string): ScannerRegistryEntry | undefined;
|
|
20
20
|
register(entry: ScannerRegistryEntry): void;
|
|
21
21
|
unregister(scannerId: string): void;
|
|
22
|
+
/** All live entries — lets a reader resolve scannerName → current (ephemeral) scanner_id. */
|
|
23
|
+
entries(): ScannerRegistryEntry[];
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Default Map-backed implementation of ScannerRegistry.
|
|
@@ -32,5 +34,6 @@ export declare class MapScannerRegistry implements ScannerRegistry {
|
|
|
32
34
|
resolve(scannerId: string): ScannerRegistryEntry | undefined;
|
|
33
35
|
register(entry: ScannerRegistryEntry): void;
|
|
34
36
|
unregister(scannerId: string): void;
|
|
37
|
+
entries(): ScannerRegistryEntry[];
|
|
35
38
|
}
|
|
36
39
|
//# sourceMappingURL=scanner-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-registry.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner-registry.d.ts","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,6FAA6F;IAC7F,OAAO,IAAI,oBAAoB,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,KAAK,CAA2C;IAExD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAI5D,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAI3C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAInC,OAAO,IAAI,oBAAoB,EAAE;CAGlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-registry.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"scanner-registry.js","sourceRoot":"","sources":["../../../src/runtime-api/intake/scanner-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACrB,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IAExD,OAAO,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,KAA2B;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;CACF"}
|