@vibesdotdev/runnable 0.0.0-stage → 1.0.0-rc.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/LICENSE +18 -0
- package/README.md +4 -2
- package/dist/artifact-data.d.ts +8 -0
- package/dist/artifact-data.d.ts.map +1 -0
- package/dist/artifact-data.js +12 -0
- package/dist/artifact-data.js.map +1 -0
- package/dist/change-source.d.ts +54 -0
- package/dist/change-source.d.ts.map +1 -0
- package/dist/change-source.js +37 -0
- package/dist/change-source.js.map +1 -0
- package/dist/client/client.d.ts +1002 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +148 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/execution/failure.d.ts +3 -0
- package/dist/client/execution/failure.d.ts.map +1 -0
- package/dist/client/execution/failure.js +20 -0
- package/dist/client/execution/failure.js.map +1 -0
- package/dist/client/execution/finalize.d.ts +81 -0
- package/dist/client/execution/finalize.d.ts.map +1 -0
- package/dist/client/execution/finalize.js +71 -0
- package/dist/client/execution/finalize.js.map +1 -0
- package/dist/client/execution/memo.d.ts +25 -0
- package/dist/client/execution/memo.d.ts.map +1 -0
- package/dist/client/execution/memo.js +56 -0
- package/dist/client/execution/memo.js.map +1 -0
- package/dist/client/execution/native-admission.d.ts +7 -0
- package/dist/client/execution/native-admission.d.ts.map +1 -0
- package/dist/client/execution/native-admission.js +22 -0
- package/dist/client/execution/native-admission.js.map +1 -0
- package/dist/client/execution/prepare-input.d.ts +19 -0
- package/dist/client/execution/prepare-input.d.ts.map +1 -0
- package/dist/client/execution/prepare-input.js +27 -0
- package/dist/client/execution/prepare-input.js.map +1 -0
- package/dist/client/execution/prepare-record.d.ts +271 -0
- package/dist/client/execution/prepare-record.d.ts.map +1 -0
- package/dist/client/execution/prepare-record.js +115 -0
- package/dist/client/execution/prepare-record.js.map +1 -0
- package/dist/client/execution/produce.d.ts +44 -0
- package/dist/client/execution/produce.d.ts.map +1 -0
- package/dist/client/execution/produce.js +78 -0
- package/dist/client/execution/produce.js.map +1 -0
- package/dist/client/execution/recorded.d.ts +28 -0
- package/dist/client/execution/recorded.d.ts.map +1 -0
- package/dist/client/execution/recorded.js +74 -0
- package/dist/client/execution/recorded.js.map +1 -0
- package/dist/client/execution/selection.d.ts +19 -0
- package/dist/client/execution/selection.d.ts.map +1 -0
- package/dist/client/execution/selection.js +38 -0
- package/dist/client/execution/selection.js.map +1 -0
- package/dist/client/native/completion.d.ts +19 -0
- package/dist/client/native/completion.d.ts.map +1 -0
- package/dist/client/native/completion.js +158 -0
- package/dist/client/native/completion.js.map +1 -0
- package/dist/client/native/controls.d.ts +18 -0
- package/dist/client/native/controls.d.ts.map +1 -0
- package/dist/client/native/controls.js +69 -0
- package/dist/client/native/controls.js.map +1 -0
- package/dist/client/native/owner.d.ts +36 -0
- package/dist/client/native/owner.d.ts.map +1 -0
- package/dist/client/native/owner.js +111 -0
- package/dist/client/native/owner.js.map +1 -0
- package/dist/client/native/supervision.d.ts +12 -0
- package/dist/client/native/supervision.d.ts.map +1 -0
- package/dist/client/native/supervision.js +56 -0
- package/dist/client/native/supervision.js.map +1 -0
- package/dist/client/records/authority.d.ts +20 -0
- package/dist/client/records/authority.d.ts.map +1 -0
- package/dist/client/records/authority.js +186 -0
- package/dist/client/records/authority.js.map +1 -0
- package/dist/client/records/identity.d.ts +4 -0
- package/dist/client/records/identity.d.ts.map +1 -0
- package/dist/client/records/identity.js +7 -0
- package/dist/client/records/identity.js.map +1 -0
- package/dist/client/records/input-admission.d.ts +5 -0
- package/dist/client/records/input-admission.d.ts.map +1 -0
- package/dist/client/records/input-admission.js +26 -0
- package/dist/client/records/input-admission.js.map +1 -0
- package/dist/client/records/owner.d.ts +254 -0
- package/dist/client/records/owner.d.ts.map +1 -0
- package/dist/client/records/owner.js +127 -0
- package/dist/client/records/owner.js.map +1 -0
- package/dist/client/records/query.d.ts +11 -0
- package/dist/client/records/query.d.ts.map +1 -0
- package/dist/client/records/query.js +60 -0
- package/dist/client/records/query.js.map +1 -0
- package/dist/client/records/recording.d.ts +9 -0
- package/dist/client/records/recording.d.ts.map +1 -0
- package/dist/client/records/recording.js +160 -0
- package/dist/client/records/recording.js.map +1 -0
- package/dist/client/resolve.d.ts +10 -0
- package/dist/client/resolve.d.ts.map +1 -0
- package/dist/client/resolve.js +33 -0
- package/dist/client/resolve.js.map +1 -0
- package/dist/client/tracking/artifact-data.d.ts +8 -0
- package/dist/client/tracking/artifact-data.d.ts.map +1 -0
- package/dist/client/tracking/artifact-data.js +12 -0
- package/dist/client/tracking/artifact-data.js.map +1 -0
- package/dist/client/tracking/client.d.ts +20 -0
- package/dist/client/tracking/client.d.ts.map +1 -0
- package/dist/client/tracking/client.js +187 -0
- package/dist/client/tracking/client.js.map +1 -0
- package/dist/client/tracking/panel-bindings.d.ts +8 -0
- package/dist/client/tracking/panel-bindings.d.ts.map +1 -0
- package/dist/client/tracking/panel-bindings.js +81 -0
- package/dist/client/tracking/panel-bindings.js.map +1 -0
- package/dist/client/tracking/panels.d.ts +62 -0
- package/dist/client/tracking/panels.d.ts.map +1 -0
- package/dist/client/tracking/panels.js +56 -0
- package/dist/client/tracking/panels.js.map +1 -0
- package/dist/client/tracking/projection.d.ts +17 -0
- package/dist/client/tracking/projection.d.ts.map +1 -0
- package/dist/client/tracking/projection.js +100 -0
- package/dist/client/tracking/projection.js.map +1 -0
- package/dist/client/tracking/watch.d.ts +10 -0
- package/dist/client/tracking/watch.d.ts.map +1 -0
- package/dist/client/tracking/watch.js +128 -0
- package/dist/client/tracking/watch.js.map +1 -0
- package/dist/client/transport.d.ts +14 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +52 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client.d.ts +460 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1181 -0
- package/dist/client.js.map +1 -0
- package/dist/context.d.ts +14 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +98 -0
- package/dist/context.js.map +1 -0
- package/dist/docs/runnable.context.docs.descriptor.d.ts +4 -0
- package/dist/docs/runnable.context.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/runnable.context.docs.descriptor.js +419 -0
- package/dist/docs/runnable.context.docs.descriptor.js.map +1 -0
- package/dist/docs/runnable.graphs.docs.descriptor.d.ts +4 -0
- package/dist/docs/runnable.graphs.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/runnable.graphs.docs.descriptor.js +51 -0
- package/dist/docs/runnable.graphs.docs.descriptor.js.map +1 -0
- package/dist/docs/runnable.nodes.docs.descriptor.d.ts +4 -0
- package/dist/docs/runnable.nodes.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/runnable.nodes.docs.descriptor.js +327 -0
- package/dist/docs/runnable.nodes.docs.descriptor.js.map +1 -0
- package/dist/event-broker.d.ts +54 -0
- package/dist/event-broker.d.ts.map +1 -0
- package/dist/event-broker.js +157 -0
- package/dist/event-broker.js.map +1 -0
- package/dist/events.d.ts +16 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +144 -0
- package/dist/events.js.map +1 -0
- package/dist/execution.contract.d.ts +10 -0
- package/dist/execution.contract.d.ts.map +1 -0
- package/dist/execution.contract.js +30 -0
- package/dist/execution.contract.js.map +1 -0
- package/dist/execution.d.ts +24 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +172 -0
- package/dist/execution.js.map +1 -0
- package/dist/execution.telemetry.descriptor.d.ts +4 -0
- package/dist/execution.telemetry.descriptor.d.ts.map +1 -0
- package/dist/execution.telemetry.descriptor.js +6 -0
- package/dist/execution.telemetry.descriptor.js.map +1 -0
- package/dist/host.d.ts +95 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +12 -0
- package/dist/host.js.map +1 -0
- package/dist/identity.d.ts +3 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +6 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/input-admission.d.ts +5 -0
- package/dist/input-admission.d.ts.map +1 -0
- package/dist/input-admission.js +43 -0
- package/dist/input-admission.js.map +1 -0
- package/dist/invocation.d.ts +17 -0
- package/dist/invocation.d.ts.map +1 -0
- package/dist/invocation.js +32 -0
- package/dist/invocation.js.map +1 -0
- package/dist/issues.d.ts +4 -0
- package/dist/issues.d.ts.map +1 -0
- package/dist/issues.js +5 -0
- package/dist/issues.js.map +1 -0
- package/dist/json-field.d.ts +4 -0
- package/dist/json-field.d.ts.map +1 -0
- package/dist/json-field.js +16 -0
- package/dist/json-field.js.map +1 -0
- package/dist/kinds/config.d.ts +3 -0
- package/dist/kinds/config.d.ts.map +1 -0
- package/dist/kinds/config.js +14 -0
- package/dist/kinds/config.js.map +1 -0
- package/dist/kinds/ingest-mapping.d.ts +3 -0
- package/dist/kinds/ingest-mapping.d.ts.map +1 -0
- package/dist/kinds/ingest-mapping.js +30 -0
- package/dist/kinds/ingest-mapping.js.map +1 -0
- package/dist/kinds/result.d.ts +3 -0
- package/dist/kinds/result.d.ts.map +1 -0
- package/dist/kinds/result.js +14 -0
- package/dist/kinds/result.js.map +1 -0
- package/dist/kinds/runnable.d.ts +3 -0
- package/dist/kinds/runnable.d.ts.map +1 -0
- package/dist/kinds/runnable.js +19 -0
- package/dist/kinds/runnable.js.map +1 -0
- package/dist/kinds/telemetry.d.ts +3 -0
- package/dist/kinds/telemetry.d.ts.map +1 -0
- package/dist/kinds/telemetry.js +14 -0
- package/dist/kinds/telemetry.js.map +1 -0
- package/dist/kinds/type.d.ts +3 -0
- package/dist/kinds/type.d.ts.map +1 -0
- package/dist/kinds/type.js +14 -0
- package/dist/kinds/type.js.map +1 -0
- package/dist/kinds/visualization.d.ts +3 -0
- package/dist/kinds/visualization.d.ts.map +1 -0
- package/dist/kinds/visualization.js +14 -0
- package/dist/kinds/visualization.js.map +1 -0
- package/dist/metrics/runnable.metrics.descriptor.d.ts +16 -0
- package/dist/metrics/runnable.metrics.descriptor.d.ts.map +1 -0
- package/dist/metrics/runnable.metrics.descriptor.js +16 -0
- package/dist/metrics/runnable.metrics.descriptor.js.map +1 -0
- package/dist/metrics/runnable.metrics.impl.d.ts +13 -0
- package/dist/metrics/runnable.metrics.impl.d.ts.map +1 -0
- package/dist/metrics/runnable.metrics.impl.js +60 -0
- package/dist/metrics/runnable.metrics.impl.js.map +1 -0
- package/dist/panels.d.ts +31 -0
- package/dist/panels.d.ts.map +1 -0
- package/dist/panels.js +58 -0
- package/dist/panels.js.map +1 -0
- package/dist/plugin.d.ts +3 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +71 -0
- package/dist/plugin.js.map +1 -0
- package/dist/projection.d.ts +26 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/projection.js +100 -0
- package/dist/projection.js.map +1 -0
- package/dist/recording.d.ts +9 -0
- package/dist/recording.d.ts.map +1 -0
- package/dist/recording.js +121 -0
- package/dist/recording.js.map +1 -0
- package/dist/records/authority.d.ts +20 -0
- package/dist/records/authority.d.ts.map +1 -0
- package/dist/records/authority.js +142 -0
- package/dist/records/authority.js.map +1 -0
- package/dist/records/query.d.ts +11 -0
- package/dist/records/query.d.ts.map +1 -0
- package/dist/records/query.js +60 -0
- package/dist/records/query.js.map +1 -0
- package/dist/runnable.cloud.plugin.d.ts +3 -0
- package/dist/runnable.cloud.plugin.d.ts.map +1 -0
- package/dist/runnable.cloud.plugin.js +3 -0
- package/dist/runnable.cloud.plugin.js.map +1 -0
- package/dist/runnable.consumer.plugin.d.ts +15 -0
- package/dist/runnable.consumer.plugin.d.ts.map +1 -0
- package/dist/runnable.consumer.plugin.js +15 -0
- package/dist/runnable.consumer.plugin.js.map +1 -0
- package/dist/runnable.plugin.d.ts +3 -0
- package/dist/runnable.plugin.d.ts.map +1 -0
- package/dist/runnable.plugin.js +3 -0
- package/dist/runnable.plugin.js.map +1 -0
- package/dist/runner.d.ts +13 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +151 -0
- package/dist/runner.js.map +1 -0
- package/dist/runtime/change-source.d.ts +39 -0
- package/dist/runtime/change-source.d.ts.map +1 -0
- package/dist/runtime/change-source.js +36 -0
- package/dist/runtime/change-source.js.map +1 -0
- package/dist/runtime/event-broker.d.ts +41 -0
- package/dist/runtime/event-broker.d.ts.map +1 -0
- package/dist/runtime/event-broker.js +157 -0
- package/dist/runtime/event-broker.js.map +1 -0
- package/dist/runtime/events.d.ts +16 -0
- package/dist/runtime/events.d.ts.map +1 -0
- package/dist/runtime/events.js +144 -0
- package/dist/runtime/events.js.map +1 -0
- package/dist/runtime/execution/contract.d.ts +10 -0
- package/dist/runtime/execution/contract.d.ts.map +1 -0
- package/dist/runtime/execution/contract.js +30 -0
- package/dist/runtime/execution/contract.js.map +1 -0
- package/dist/runtime/execution/exit.d.ts +5 -0
- package/dist/runtime/execution/exit.d.ts.map +1 -0
- package/dist/runtime/execution/exit.js +39 -0
- package/dist/runtime/execution/exit.js.map +1 -0
- package/dist/runtime/execution/index.d.ts +23 -0
- package/dist/runtime/execution/index.d.ts.map +1 -0
- package/dist/runtime/execution/index.js +136 -0
- package/dist/runtime/execution/index.js.map +1 -0
- package/dist/runtime/host.d.ts +60 -0
- package/dist/runtime/host.d.ts.map +1 -0
- package/dist/runtime/host.js +13 -0
- package/dist/runtime/host.js.map +1 -0
- package/dist/runtime/invocation.d.ts +10 -0
- package/dist/runtime/invocation.d.ts.map +1 -0
- package/dist/runtime/invocation.js +27 -0
- package/dist/runtime/invocation.js.map +1 -0
- package/dist/runtime/plugins/plugin.d.ts +3 -0
- package/dist/runtime/plugins/plugin.d.ts.map +1 -0
- package/dist/runtime/plugins/plugin.js +69 -0
- package/dist/runtime/plugins/plugin.js.map +1 -0
- package/dist/runtime/plugins/runnable.cloud.plugin.d.ts +3 -0
- package/dist/runtime/plugins/runnable.cloud.plugin.d.ts.map +1 -0
- package/dist/runtime/plugins/runnable.cloud.plugin.js +3 -0
- package/dist/runtime/plugins/runnable.cloud.plugin.js.map +1 -0
- package/dist/runtime/plugins/runnable.consumer.plugin.d.ts +15 -0
- package/dist/runtime/plugins/runnable.consumer.plugin.d.ts.map +1 -0
- package/dist/runtime/plugins/runnable.consumer.plugin.js +15 -0
- package/dist/runtime/plugins/runnable.consumer.plugin.js.map +1 -0
- package/dist/runtime/plugins/runnable.metrics.plugin.d.ts +4 -0
- package/dist/runtime/plugins/runnable.metrics.plugin.d.ts.map +1 -0
- package/dist/runtime/plugins/runnable.metrics.plugin.js +13 -0
- package/dist/runtime/plugins/runnable.metrics.plugin.js.map +1 -0
- package/dist/runtime/plugins/runnable.plugin.d.ts +3 -0
- package/dist/runtime/plugins/runnable.plugin.d.ts.map +1 -0
- package/dist/runtime/plugins/runnable.plugin.js +3 -0
- package/dist/runtime/plugins/runnable.plugin.js.map +1 -0
- package/dist/runtime/runner.d.ts +13 -0
- package/dist/runtime/runner.d.ts.map +1 -0
- package/dist/runtime/runner.js +154 -0
- package/dist/runtime/runner.js.map +1 -0
- package/dist/runtime/state/index.d.ts +4 -0
- package/dist/runtime/state/index.d.ts.map +1 -0
- package/dist/runtime/state/index.js +4 -0
- package/dist/runtime/state/index.js.map +1 -0
- package/dist/runtime/state/manager.d.ts +20 -0
- package/dist/runtime/state/manager.d.ts.map +1 -0
- package/dist/runtime/state/manager.js +135 -0
- package/dist/runtime/state/manager.js.map +1 -0
- package/dist/runtime/state/snapshot.d.ts +10 -0
- package/dist/runtime/state/snapshot.d.ts.map +1 -0
- package/dist/runtime/state/snapshot.js +59 -0
- package/dist/runtime/state/snapshot.js.map +1 -0
- package/dist/runtime/state/time-series.d.ts +36 -0
- package/dist/runtime/state/time-series.d.ts.map +1 -0
- package/dist/runtime/state/time-series.js +151 -0
- package/dist/runtime/state/time-series.js.map +1 -0
- package/dist/schemas/context.d.ts +64 -0
- package/dist/schemas/context.d.ts.map +1 -0
- package/dist/schemas/context.js +37 -0
- package/dist/schemas/context.js.map +1 -0
- package/dist/schemas/contracts/events.d.ts +33 -0
- package/dist/schemas/contracts/events.d.ts.map +1 -0
- package/dist/schemas/contracts/events.js +5 -0
- package/dist/schemas/contracts/events.js.map +1 -0
- package/dist/schemas/contracts/execution.d.ts +211 -0
- package/dist/schemas/contracts/execution.d.ts.map +1 -0
- package/dist/schemas/contracts/execution.js +40 -0
- package/dist/schemas/contracts/execution.js.map +1 -0
- package/dist/schemas/contracts/host.d.ts +37 -0
- package/dist/schemas/contracts/host.d.ts.map +1 -0
- package/dist/schemas/contracts/host.js +2 -0
- package/dist/schemas/contracts/host.js.map +1 -0
- package/dist/schemas/contracts/index.d.ts +77 -0
- package/dist/schemas/contracts/index.d.ts.map +1 -0
- package/dist/schemas/contracts/index.js +28 -0
- package/dist/schemas/contracts/index.js.map +1 -0
- package/dist/schemas/contracts/invocation.d.ts +9 -0
- package/dist/schemas/contracts/invocation.d.ts.map +1 -0
- package/dist/schemas/contracts/invocation.js +8 -0
- package/dist/schemas/contracts/invocation.js.map +1 -0
- package/dist/schemas/contracts/runner.d.ts +61 -0
- package/dist/schemas/contracts/runner.d.ts.map +1 -0
- package/dist/schemas/contracts/runner.js +3 -0
- package/dist/schemas/contracts/runner.js.map +1 -0
- package/dist/schemas/contracts/state.d.ts +147 -0
- package/dist/schemas/contracts/state.d.ts.map +1 -0
- package/dist/schemas/contracts/state.js +16 -0
- package/dist/schemas/contracts/state.js.map +1 -0
- package/dist/schemas/contracts/storage.d.ts +229 -0
- package/dist/schemas/contracts/storage.d.ts.map +1 -0
- package/dist/schemas/contracts/storage.js +39 -0
- package/dist/schemas/contracts/storage.js.map +1 -0
- package/dist/schemas/contracts/test-scenario.d.ts +60 -0
- package/dist/schemas/contracts/test-scenario.d.ts.map +1 -0
- package/dist/schemas/contracts/test-scenario.js +2 -0
- package/dist/schemas/contracts/test-scenario.js.map +1 -0
- package/dist/schemas/contracts/watch.d.ts +49 -0
- package/dist/schemas/contracts/watch.d.ts.map +1 -0
- package/dist/schemas/contracts/watch.js +2 -0
- package/dist/schemas/contracts/watch.js.map +1 -0
- package/dist/schemas/contracts.d.ts +192 -0
- package/dist/schemas/contracts.d.ts.map +1 -0
- package/dist/schemas/contracts.js +38 -0
- package/dist/schemas/contracts.js.map +1 -0
- package/dist/schemas/description.d.ts +68 -0
- package/dist/schemas/description.d.ts.map +1 -0
- package/dist/schemas/description.js +12 -0
- package/dist/schemas/description.js.map +1 -0
- package/dist/schemas/descriptors.d.ts +429 -0
- package/dist/schemas/descriptors.d.ts.map +1 -0
- package/dist/schemas/descriptors.js +125 -0
- package/dist/schemas/descriptors.js.map +1 -0
- package/dist/schemas/events.d.ts +359 -0
- package/dist/schemas/events.d.ts.map +1 -0
- package/dist/schemas/events.js +109 -0
- package/dist/schemas/events.js.map +1 -0
- package/dist/schemas/index.d.ts +12 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +12 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/issues.d.ts +142 -0
- package/dist/schemas/issues.d.ts.map +1 -0
- package/dist/schemas/issues.js +44 -0
- package/dist/schemas/issues.js.map +1 -0
- package/dist/schemas/outcome.d.ts +111 -0
- package/dist/schemas/outcome.d.ts.map +1 -0
- package/dist/schemas/outcome.js +32 -0
- package/dist/schemas/outcome.js.map +1 -0
- package/dist/schemas/panels.d.ts +164 -0
- package/dist/schemas/panels.d.ts.map +1 -0
- package/dist/schemas/panels.js +25 -0
- package/dist/schemas/panels.js.map +1 -0
- package/dist/schemas/projection.d.ts +301 -0
- package/dist/schemas/projection.d.ts.map +1 -0
- package/dist/schemas/projection.js +64 -0
- package/dist/schemas/projection.js.map +1 -0
- package/dist/schemas/runs.d.ts +2427 -0
- package/dist/schemas/runs.d.ts.map +1 -0
- package/dist/schemas/runs.js +163 -0
- package/dist/schemas/runs.js.map +1 -0
- package/dist/schemas/writes.d.ts +103 -0
- package/dist/schemas/writes.d.ts.map +1 -0
- package/dist/schemas/writes.js +28 -0
- package/dist/schemas/writes.js.map +1 -0
- package/dist/state.d.ts +175 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +356 -0
- package/dist/state.js.map +1 -0
- package/dist/storage/context-sql.d.ts +9 -0
- package/dist/storage/context-sql.d.ts.map +1 -0
- package/dist/storage/context-sql.js +77 -0
- package/dist/storage/context-sql.js.map +1 -0
- package/dist/storage/local/catalog.d.ts +62 -0
- package/dist/storage/local/catalog.d.ts.map +1 -0
- package/dist/storage/local/catalog.js +88 -0
- package/dist/storage/local/catalog.js.map +1 -0
- package/dist/storage/local/descriptors.d.ts +8 -0
- package/dist/storage/local/descriptors.d.ts.map +1 -0
- package/dist/storage/local/descriptors.js +32 -0
- package/dist/storage/local/descriptors.js.map +1 -0
- package/dist/storage/local/host.d.ts +5 -0
- package/dist/storage/local/host.d.ts.map +1 -0
- package/dist/storage/local/host.js +100 -0
- package/dist/storage/local/host.js.map +1 -0
- package/dist/storage/local/index.d.ts +4 -0
- package/dist/storage/local/index.d.ts.map +1 -0
- package/dist/storage/local/index.js +22 -0
- package/dist/storage/local/index.js.map +1 -0
- package/dist/storage/local/refusal.d.ts +2 -0
- package/dist/storage/local/refusal.d.ts.map +1 -0
- package/dist/storage/local/refusal.js +7 -0
- package/dist/storage/local/refusal.js.map +1 -0
- package/dist/storage/local/state-host.d.ts +5 -0
- package/dist/storage/local/state-host.d.ts.map +1 -0
- package/dist/storage/local/state-host.js +149 -0
- package/dist/storage/local/state-host.js.map +1 -0
- package/dist/storage/local/telemetry.d.ts +19 -0
- package/dist/storage/local/telemetry.d.ts.map +1 -0
- package/dist/storage/local/telemetry.js +52 -0
- package/dist/storage/local/telemetry.js.map +1 -0
- package/dist/storage/local.d.ts +3 -0
- package/dist/storage/local.d.ts.map +1 -0
- package/dist/storage/local.js +408 -0
- package/dist/storage/local.js.map +1 -0
- package/dist/storage/plugin.d.ts +7 -0
- package/dist/storage/plugin.d.ts.map +1 -0
- package/dist/storage/plugin.js +116 -0
- package/dist/storage/plugin.js.map +1 -0
- package/dist/storage/records.d.ts +8 -0
- package/dist/storage/records.d.ts.map +1 -0
- package/dist/storage/records.js +68 -0
- package/dist/storage/records.js.map +1 -0
- package/dist/svelte/components/ArtifactList.svelte +198 -0
- package/dist/svelte/components/ArtifactList.svelte.d.ts +10 -0
- package/dist/svelte/components/ArtifactList.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ArtifactPreview.svelte +19 -0
- package/dist/svelte/components/ArtifactPreview.svelte.d.ts +8 -0
- package/dist/svelte/components/ArtifactPreview.svelte.d.ts.map +1 -0
- package/dist/svelte/components/FleetRuns.svelte +50 -0
- package/dist/svelte/components/FleetRuns.svelte.d.ts +8 -0
- package/dist/svelte/components/FleetRuns.svelte.d.ts.map +1 -0
- package/dist/svelte/components/LogViewer.svelte +98 -0
- package/dist/svelte/components/LogViewer.svelte.d.ts +13 -0
- package/dist/svelte/components/LogViewer.svelte.d.ts.map +1 -0
- package/dist/svelte/components/MetricCard.svelte +176 -0
- package/dist/svelte/components/MetricCard.svelte.d.ts +5 -0
- package/dist/svelte/components/MetricCard.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunActivity.svelte +32 -0
- package/dist/svelte/components/RunActivity.svelte.d.ts +13 -0
- package/dist/svelte/components/RunActivity.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunBrowser.svelte +86 -0
- package/dist/svelte/components/RunBrowser.svelte.d.ts +13 -0
- package/dist/svelte/components/RunBrowser.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunComparison.svelte +76 -0
- package/dist/svelte/components/RunComparison.svelte.d.ts +12 -0
- package/dist/svelte/components/RunComparison.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunContext.svelte +29 -0
- package/dist/svelte/components/RunContext.svelte.d.ts +10 -0
- package/dist/svelte/components/RunContext.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunEvidence.svelte +30 -0
- package/dist/svelte/components/RunEvidence.svelte.d.ts +8 -0
- package/dist/svelte/components/RunEvidence.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunIssues.svelte +114 -0
- package/dist/svelte/components/RunIssues.svelte.d.ts +12 -0
- package/dist/svelte/components/RunIssues.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunObservation.svelte +32 -0
- package/dist/svelte/components/RunObservation.svelte.d.ts +12 -0
- package/dist/svelte/components/RunObservation.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunOutcomeBadge.svelte +11 -0
- package/dist/svelte/components/RunOutcomeBadge.svelte.d.ts +8 -0
- package/dist/svelte/components/RunOutcomeBadge.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunPanels.svelte +64 -0
- package/dist/svelte/components/RunPanels.svelte.d.ts +15 -0
- package/dist/svelte/components/RunPanels.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunStatusBadge.svelte +38 -0
- package/dist/svelte/components/RunStatusBadge.svelte.d.ts +9 -0
- package/dist/svelte/components/RunStatusBadge.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunSummary.svelte +42 -0
- package/dist/svelte/components/RunSummary.svelte.d.ts +11 -0
- package/dist/svelte/components/RunSummary.svelte.d.ts.map +1 -0
- package/dist/svelte/components/RunsView.svelte +162 -0
- package/dist/svelte/components/RunsView.svelte.d.ts +17 -0
- package/dist/svelte/components/RunsView.svelte.d.ts.map +1 -0
- package/dist/svelte/components/TypePicker.svelte +337 -0
- package/dist/svelte/components/TypePicker.svelte.d.ts +12 -0
- package/dist/svelte/components/TypePicker.svelte.d.ts.map +1 -0
- package/dist/svelte/components/records/RunDetail.svelte +214 -0
- package/dist/svelte/components/records/RunDetail.svelte.d.ts +20 -0
- package/dist/svelte/components/records/RunDetail.svelte.d.ts.map +1 -0
- package/dist/svelte/components/records/RunList.svelte +190 -0
- package/dist/svelte/components/records/RunList.svelte.d.ts +14 -0
- package/dist/svelte/components/records/RunList.svelte.d.ts.map +1 -0
- package/dist/svelte/components/records/RunTree.svelte +186 -0
- package/dist/svelte/components/records/RunTree.svelte.d.ts +5 -0
- package/dist/svelte/components/records/RunTree.svelte.d.ts.map +1 -0
- package/dist/svelte/components/records/tree-navigation.d.ts +3 -0
- package/dist/svelte/components/records/tree-navigation.d.ts.map +1 -0
- package/dist/svelte/components/records/tree-navigation.js +29 -0
- package/dist/svelte/components/records/tree-projection.d.ts +16 -0
- package/dist/svelte/components/records/tree-projection.d.ts.map +1 -0
- package/dist/svelte/components/records/tree-projection.js +134 -0
- package/dist/svelte/index.d.ts +27 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +22 -0
- package/dist/svelte/lib/artifact-blob.d.ts +2 -0
- package/dist/svelte/lib/artifact-blob.d.ts.map +1 -0
- package/dist/svelte/lib/artifact-blob.js +1 -0
- package/dist/svelte/lib/run-investigation.d.ts +17 -0
- package/dist/svelte/lib/run-investigation.d.ts.map +1 -0
- package/dist/svelte/lib/run-investigation.js +44 -0
- package/dist/svelte/lib/run-issues.d.ts +34 -0
- package/dist/svelte/lib/run-issues.d.ts.map +1 -0
- package/dist/svelte/lib/run-issues.js +59 -0
- package/dist/svelte/lib/run-presentation.d.ts +16 -0
- package/dist/svelte/lib/run-presentation.d.ts.map +1 -0
- package/dist/svelte/lib/run-presentation.js +69 -0
- package/dist/svelte/lib/run-tree.d.ts +22 -0
- package/dist/svelte/lib/run-tree.d.ts.map +1 -0
- package/dist/svelte/lib/run-tree.js +93 -0
- package/dist/svelte/lib/status.d.ts +19 -0
- package/dist/svelte/lib/status.d.ts.map +1 -0
- package/dist/svelte/lib/status.js +122 -0
- package/dist/svelte/query-form.d.ts +50 -0
- package/dist/svelte/query-form.d.ts.map +1 -0
- package/dist/svelte/query-form.js +19 -0
- package/dist/svelte/runs/data.svelte.d.ts +678 -0
- package/dist/svelte/runs/data.svelte.d.ts.map +1 -0
- package/dist/svelte/runs/data.svelte.js +28 -0
- package/dist/svelte/runs/opening.d.ts +8 -0
- package/dist/svelte/runs/opening.d.ts.map +1 -0
- package/dist/svelte/runs/opening.js +110 -0
- package/dist/svelte/runs/query.d.ts +3 -0
- package/dist/svelte/runs/query.d.ts.map +1 -0
- package/dist/svelte/runs/query.js +16 -0
- package/dist/svelte/runs/selection.d.ts +3 -0
- package/dist/svelte/runs/selection.d.ts.map +1 -0
- package/dist/svelte/runs/selection.js +42 -0
- package/dist/svelte/runs/shutdown.d.ts +9 -0
- package/dist/svelte/runs/shutdown.d.ts.map +1 -0
- package/dist/svelte/runs/shutdown.js +104 -0
- package/dist/svelte/runs.store.svelte.d.ts +427 -0
- package/dist/svelte/runs.store.svelte.d.ts.map +1 -0
- package/dist/svelte/runs.store.svelte.js +90 -0
- package/dist/svelte/styles.css +16 -0
- package/dist/svelte/types.d.ts +29 -0
- package/dist/svelte/types.d.ts.map +1 -0
- package/dist/svelte/types.js +1 -0
- package/dist/svelte/viz/DescriptorPanel.svelte +104 -0
- package/dist/svelte/viz/DescriptorPanel.svelte.d.ts +18 -0
- package/dist/svelte/viz/DescriptorPanel.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/Crystal3D.svelte +137 -0
- package/dist/svelte/viz/crystal/Crystal3D.svelte.d.ts +12 -0
- package/dist/svelte/viz/crystal/Crystal3D.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/Crystal3DControls.svelte +253 -0
- package/dist/svelte/viz/crystal/Crystal3DControls.svelte.d.ts +18 -0
- package/dist/svelte/viz/crystal/Crystal3DControls.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/Crystal3DRenderer.svelte +941 -0
- package/dist/svelte/viz/crystal/Crystal3DRenderer.svelte.d.ts +16 -0
- package/dist/svelte/viz/crystal/Crystal3DRenderer.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/Crystal3DStats.svelte +110 -0
- package/dist/svelte/viz/crystal/Crystal3DStats.svelte.d.ts +12 -0
- package/dist/svelte/viz/crystal/Crystal3DStats.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/LatticePanel.svelte +230 -0
- package/dist/svelte/viz/crystal/LatticePanel.svelte.d.ts +13 -0
- package/dist/svelte/viz/crystal/LatticePanel.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/index.d.ts +8 -0
- package/dist/svelte/viz/crystal/index.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/index.js +6 -0
- package/dist/svelte/viz/crystal/types.d.ts +59 -0
- package/dist/svelte/viz/crystal/types.d.ts.map +1 -0
- package/dist/svelte/viz/crystal/types.js +27 -0
- package/dist/svelte/viz/index.d.ts +18 -0
- package/dist/svelte/viz/index.d.ts.map +1 -0
- package/dist/svelte/viz/index.js +16 -0
- package/dist/svelte/viz/mfd/MFDArcGauge.svelte +59 -0
- package/dist/svelte/viz/mfd/MFDArcGauge.svelte.d.ts +21 -0
- package/dist/svelte/viz/mfd/MFDArcGauge.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/MFDBarMeter.svelte +58 -0
- package/dist/svelte/viz/mfd/MFDBarMeter.svelte.d.ts +21 -0
- package/dist/svelte/viz/mfd/MFDBarMeter.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/MFDHexMatrix.svelte +58 -0
- package/dist/svelte/viz/mfd/MFDHexMatrix.svelte.d.ts +21 -0
- package/dist/svelte/viz/mfd/MFDHexMatrix.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/MFDPanel.svelte +372 -0
- package/dist/svelte/viz/mfd/MFDPanel.svelte.d.ts +19 -0
- package/dist/svelte/viz/mfd/MFDPanel.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/MFDScope.svelte +59 -0
- package/dist/svelte/viz/mfd/MFDScope.svelte.d.ts +21 -0
- package/dist/svelte/viz/mfd/MFDScope.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/MFDStatusGrid.svelte +65 -0
- package/dist/svelte/viz/mfd/MFDStatusGrid.svelte.d.ts +25 -0
- package/dist/svelte/viz/mfd/MFDStatusGrid.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/grid.d.ts +37 -0
- package/dist/svelte/viz/mfd/grid.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/grid.js +51 -0
- package/dist/svelte/viz/mfd/palette.d.ts +22 -0
- package/dist/svelte/viz/mfd/palette.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/palette.js +105 -0
- package/dist/svelte/viz/mfd/pipeline/store.svelte.d.ts +42 -0
- package/dist/svelte/viz/mfd/pipeline/store.svelte.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/pipeline/store.svelte.js +115 -0
- package/dist/svelte/viz/mfd/renderer/context.d.ts +47 -0
- package/dist/svelte/viz/mfd/renderer/context.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/renderer/context.js +272 -0
- package/dist/svelte/viz/mfd/renderer/pipeline.d.ts +32 -0
- package/dist/svelte/viz/mfd/renderer/pipeline.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/renderer/pipeline.js +188 -0
- package/dist/svelte/viz/mfd/renderer/shaders.d.ts +35 -0
- package/dist/svelte/viz/mfd/renderer/shaders.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/renderer/shaders.js +837 -0
- package/dist/svelte/viz/mfd/types.d.ts +88 -0
- package/dist/svelte/viz/mfd/types.d.ts.map +1 -0
- package/dist/svelte/viz/mfd/types.js +31 -0
- package/dist/svelte/viz/registry.d.ts +36 -0
- package/dist/svelte/viz/registry.d.ts.map +1 -0
- package/dist/svelte/viz/registry.js +74 -0
- package/dist/test-scenario/test-scenario-emitter.d.ts +35 -0
- package/dist/test-scenario/test-scenario-emitter.d.ts.map +1 -0
- package/dist/test-scenario/test-scenario-emitter.js +64 -0
- package/dist/test-scenario/test-scenario-emitter.js.map +1 -0
- package/dist/test-scenario/test-scenario.plugin.d.ts +11 -0
- package/dist/test-scenario/test-scenario.plugin.d.ts.map +1 -0
- package/dist/test-scenario/test-scenario.plugin.js +19 -0
- package/dist/test-scenario/test-scenario.plugin.js.map +1 -0
- package/dist/test-scenario/test-scenario.type.descriptor.d.ts +12 -0
- package/dist/test-scenario/test-scenario.type.descriptor.d.ts.map +1 -0
- package/dist/test-scenario/test-scenario.type.descriptor.js +21 -0
- package/dist/test-scenario/test-scenario.type.descriptor.js.map +1 -0
- package/dist/watch.d.ts +13 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +127 -0
- package/dist/watch.js.map +1 -0
- package/package.json +355 -4
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/** 128px base grid unit */
|
|
2
|
+
export declare const GRID_UNIT = 128;
|
|
3
|
+
/** MFD module size variants (in grid units) */
|
|
4
|
+
export type MFDSize = '1x1' | '2x1' | '4x1' | '1x2' | '2x2' | '4x2' | '2x4' | '4x4';
|
|
5
|
+
export declare const MFD_SIZES: {
|
|
6
|
+
'1x1': {
|
|
7
|
+
cols: number;
|
|
8
|
+
rows: number;
|
|
9
|
+
};
|
|
10
|
+
'2x1': {
|
|
11
|
+
cols: number;
|
|
12
|
+
rows: number;
|
|
13
|
+
};
|
|
14
|
+
'4x1': {
|
|
15
|
+
cols: number;
|
|
16
|
+
rows: number;
|
|
17
|
+
};
|
|
18
|
+
'1x2': {
|
|
19
|
+
cols: number;
|
|
20
|
+
rows: number;
|
|
21
|
+
};
|
|
22
|
+
'2x2': {
|
|
23
|
+
cols: number;
|
|
24
|
+
rows: number;
|
|
25
|
+
};
|
|
26
|
+
'4x2': {
|
|
27
|
+
cols: number;
|
|
28
|
+
rows: number;
|
|
29
|
+
};
|
|
30
|
+
'2x4': {
|
|
31
|
+
cols: number;
|
|
32
|
+
rows: number;
|
|
33
|
+
};
|
|
34
|
+
'4x4': {
|
|
35
|
+
cols: number;
|
|
36
|
+
rows: number;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
/** Module visualization types */
|
|
40
|
+
export type MFDModuleType = 'scope' | 'multi-line-scope' | 'arc-gauge' | 'bar-meter' | 'hex-matrix' | 'radar' | 'waterfall' | 'topo' | 'vector-scope' | 'status-grid' | 'digital-readout' | 'progress-ring' | 'toggle';
|
|
41
|
+
/** Color palette name */
|
|
42
|
+
export type PaletteName = 'phosphor' | 'amber' | 'cyan' | 'magenta' | 'warning' | 'critical';
|
|
43
|
+
/** RGB tuple [0..1] */
|
|
44
|
+
export type RGB = [number, number, number];
|
|
45
|
+
/** Viewport rect in CSS pixels (relative to the global canvas) */
|
|
46
|
+
export type ViewportRect = {
|
|
47
|
+
x: number;
|
|
48
|
+
y: number;
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
};
|
|
52
|
+
/** Per-panel render state managed by the pipeline */
|
|
53
|
+
export type PanelState = {
|
|
54
|
+
id: string;
|
|
55
|
+
moduleType: MFDModuleType;
|
|
56
|
+
size: MFDSize;
|
|
57
|
+
viewport: ViewportRect;
|
|
58
|
+
palette: PaletteName;
|
|
59
|
+
intensity: number;
|
|
60
|
+
speed: number;
|
|
61
|
+
data: Float32Array;
|
|
62
|
+
params: Float32Array;
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
_dataTexture: WebGLTexture | null;
|
|
65
|
+
_history: Float32Array | null;
|
|
66
|
+
_historyWidth: number;
|
|
67
|
+
_historyHeight: number;
|
|
68
|
+
_historyRow: number;
|
|
69
|
+
};
|
|
70
|
+
/** CRT post-process settings */
|
|
71
|
+
export type CRTSettings = {
|
|
72
|
+
scanlineIntensity: number;
|
|
73
|
+
scanlineCount: number;
|
|
74
|
+
barrelDistortion: number;
|
|
75
|
+
chromaticAberration: number;
|
|
76
|
+
bloom: number;
|
|
77
|
+
noise: number;
|
|
78
|
+
vignette: number;
|
|
79
|
+
flickerAmount: number;
|
|
80
|
+
};
|
|
81
|
+
export declare const CRT_DEFAULTS: CRTSettings;
|
|
82
|
+
/** Maximum data points per panel */
|
|
83
|
+
export declare const MAX_DATA_SIZE = 512;
|
|
84
|
+
/** Maximum concurrent panels */
|
|
85
|
+
export declare const MAX_PANELS = 64;
|
|
86
|
+
/** Waterfall/radar history depth (rows) */
|
|
87
|
+
export declare const HISTORY_DEPTH = 128;
|
|
88
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/svelte/viz/mfd/types.ts"],"names":[],"mappings":"AAIA,2BAA2B;AAC3B,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,+CAA+C;AAC/C,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEpF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASqC,CAAC;AAE5D,iCAAiC;AACjC,MAAM,MAAM,aAAa,GACtB,OAAO,GACP,kBAAkB,GAClB,WAAW,GACX,WAAW,GACX,YAAY,GACZ,OAAO,GACP,WAAW,GACX,MAAM,GACN,cAAc,GACd,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,QAAQ,CAAC;AAEZ,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7F,uBAAuB;AACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAS1B,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,gCAAgC;AAChC,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,2CAA2C;AAC3C,eAAO,MAAM,aAAa,MAAM,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// ═══════════════════════════════════════════════════════════════
|
|
2
|
+
// NERV MFD Visualization System — Core Types
|
|
3
|
+
// ═══════════════════════════════════════════════════════════════
|
|
4
|
+
/** 128px base grid unit */
|
|
5
|
+
export const GRID_UNIT = 128;
|
|
6
|
+
export const MFD_SIZES = {
|
|
7
|
+
'1x1': { cols: 1, rows: 1 },
|
|
8
|
+
'2x1': { cols: 2, rows: 1 },
|
|
9
|
+
'4x1': { cols: 4, rows: 1 },
|
|
10
|
+
'1x2': { cols: 1, rows: 2 },
|
|
11
|
+
'2x2': { cols: 2, rows: 2 },
|
|
12
|
+
'4x2': { cols: 4, rows: 2 },
|
|
13
|
+
'2x4': { cols: 2, rows: 4 },
|
|
14
|
+
'4x4': { cols: 4, rows: 4 }
|
|
15
|
+
};
|
|
16
|
+
export const CRT_DEFAULTS = {
|
|
17
|
+
scanlineIntensity: 0.06,
|
|
18
|
+
scanlineCount: 320,
|
|
19
|
+
barrelDistortion: 0.0,
|
|
20
|
+
chromaticAberration: 0.0015,
|
|
21
|
+
bloom: 0.2,
|
|
22
|
+
noise: 0.02,
|
|
23
|
+
vignette: 0.0,
|
|
24
|
+
flickerAmount: 0.008
|
|
25
|
+
};
|
|
26
|
+
/** Maximum data points per panel */
|
|
27
|
+
export const MAX_DATA_SIZE = 512;
|
|
28
|
+
/** Maximum concurrent panels */
|
|
29
|
+
export const MAX_PANELS = 64;
|
|
30
|
+
/** Waterfall/radar history depth (rows) */
|
|
31
|
+
export const HISTORY_DEPTH = 128;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type * as z from 'zod/v4';
|
|
2
|
+
import { RunnableVisualizationDescriptorSchema } from '@vibesdotdev/runnable/schemas';
|
|
3
|
+
import MFDScope from './mfd/MFDScope.svelte';
|
|
4
|
+
import MFDBarMeter from './mfd/MFDBarMeter.svelte';
|
|
5
|
+
import MFDArcGauge from './mfd/MFDArcGauge.svelte';
|
|
6
|
+
import MFDHexMatrix from './mfd/MFDHexMatrix.svelte';
|
|
7
|
+
import MFDStatusGrid from './mfd/MFDStatusGrid.svelte';
|
|
8
|
+
import LatticePanel from './crystal/LatticePanel.svelte';
|
|
9
|
+
/** The public descriptor schema owns the primitive set. */
|
|
10
|
+
export type RunnablePanelType = NonNullable<z.infer<typeof RunnableVisualizationDescriptorSchema>['panelType']>;
|
|
11
|
+
/**
|
|
12
|
+
* How a panel consumes data. Renderers (e.g. the run-detail Visualizations
|
|
13
|
+
* tab) use this to feed each panel correctly: scalar gauges get the latest
|
|
14
|
+
* metric value, time-series scopes get a sliding window, lattice gets the
|
|
15
|
+
* full structured payload from the registered telemetry stream.
|
|
16
|
+
*/
|
|
17
|
+
export type PanelDataMode = 'scalar' | 'series' | 'structured';
|
|
18
|
+
export type PanelRegistration = Readonly<Record<'dataShape', PanelDataMode>> & {
|
|
19
|
+
component: typeof MFDScope | typeof MFDBarMeter | typeof MFDArcGauge | typeof MFDHexMatrix | typeof MFDStatusGrid | typeof LatticePanel;
|
|
20
|
+
/** How the renderer should adapt telemetry data for this panel. */
|
|
21
|
+
dataMode: PanelDataMode;
|
|
22
|
+
/** Telemetry event field that supplies the rendered data, when known. */
|
|
23
|
+
defaultField?: string;
|
|
24
|
+
};
|
|
25
|
+
/** Compatibility read surface; app rendering tables never register runtime descriptors. */
|
|
26
|
+
export declare const PANEL_TYPE_REGISTRY: Readonly<{
|
|
27
|
+
get(key: RunnablePanelType): PanelRegistration;
|
|
28
|
+
has(key: RunnablePanelType): boolean;
|
|
29
|
+
keys(): string[];
|
|
30
|
+
}>;
|
|
31
|
+
export type { PanelDataMode as PanelDataShape };
|
|
32
|
+
/** All panelType values the registry knows how to render. */
|
|
33
|
+
export declare const REGISTERED_PANEL_TYPES: ReadonlyArray<RunnablePanelType>;
|
|
34
|
+
/** Look up a panel registration. Throws if the panelType is unknown. */
|
|
35
|
+
export declare function resolvePanelType(panelType: string): PanelRegistration;
|
|
36
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/svelte/viz/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAEzD,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC,WAAW,CAAC,CAClE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GAAG;IAC9E,SAAS,EACN,OAAO,QAAQ,GACf,OAAO,WAAW,GAClB,OAAO,WAAW,GAClB,OAAO,YAAY,GACnB,OAAO,aAAa,GACpB,OAAO,YAAY,CAAC;IACvB,mEAAmE;IACnE,QAAQ,EAAE,aAAa,CAAC;IACxB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA4CF,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB;aACtB,iBAAiB,GAAG,iBAAiB;aAGrC,iBAAiB,GAAG,OAAO;;EAMnC,CAAC;AACH,YAAY,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC;AAEhD,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,iBAAiB,CAInE,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAYrE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { RunnableVisualizationDescriptorSchema } from '@vibesdotdev/runnable/schemas';
|
|
2
|
+
import MFDScope from './mfd/MFDScope.svelte';
|
|
3
|
+
import MFDBarMeter from './mfd/MFDBarMeter.svelte';
|
|
4
|
+
import MFDArcGauge from './mfd/MFDArcGauge.svelte';
|
|
5
|
+
import MFDHexMatrix from './mfd/MFDHexMatrix.svelte';
|
|
6
|
+
import MFDStatusGrid from './mfd/MFDStatusGrid.svelte';
|
|
7
|
+
import LatticePanel from './crystal/LatticePanel.svelte';
|
|
8
|
+
/**
|
|
9
|
+
* Map from runnable/visualization panelType to the component that renders it.
|
|
10
|
+
*
|
|
11
|
+
* Adding a new panelType:
|
|
12
|
+
* 1. Add it to the
|
|
13
|
+
* `RunnableVisualizationDescriptorSchema` enum in @vibesdotdev/runnable.
|
|
14
|
+
* 2. Add an entry here pointing at a Svelte component.
|
|
15
|
+
* 3. Verify the schema-to-renderer coverage.
|
|
16
|
+
*/
|
|
17
|
+
const primitives = Object.freeze({
|
|
18
|
+
line_chart: Object.freeze({
|
|
19
|
+
component: MFDScope,
|
|
20
|
+
dataMode: 'series',
|
|
21
|
+
dataShape: 'series'
|
|
22
|
+
}),
|
|
23
|
+
bar_chart: Object.freeze({
|
|
24
|
+
component: MFDBarMeter,
|
|
25
|
+
dataMode: 'scalar',
|
|
26
|
+
dataShape: 'scalar'
|
|
27
|
+
}),
|
|
28
|
+
gauge: Object.freeze({
|
|
29
|
+
component: MFDArcGauge,
|
|
30
|
+
dataMode: 'scalar',
|
|
31
|
+
dataShape: 'scalar'
|
|
32
|
+
}),
|
|
33
|
+
heatmap: Object.freeze({
|
|
34
|
+
component: MFDHexMatrix,
|
|
35
|
+
dataMode: 'structured',
|
|
36
|
+
dataShape: 'structured'
|
|
37
|
+
}),
|
|
38
|
+
table: Object.freeze({
|
|
39
|
+
component: MFDStatusGrid,
|
|
40
|
+
dataMode: 'structured',
|
|
41
|
+
dataShape: 'structured'
|
|
42
|
+
}),
|
|
43
|
+
lattice: Object.freeze({
|
|
44
|
+
component: LatticePanel,
|
|
45
|
+
dataMode: 'structured',
|
|
46
|
+
dataShape: 'structured'
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
/** Compatibility read surface; app rendering tables never register runtime descriptors. */
|
|
50
|
+
export const PANEL_TYPE_REGISTRY = Object.freeze({
|
|
51
|
+
get(key) {
|
|
52
|
+
return primitives[key];
|
|
53
|
+
},
|
|
54
|
+
has(key) {
|
|
55
|
+
return Object.hasOwn(primitives, key);
|
|
56
|
+
},
|
|
57
|
+
keys() {
|
|
58
|
+
return Object.keys(primitives);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
/** All panelType values the registry knows how to render. */
|
|
62
|
+
export const REGISTERED_PANEL_TYPES = Object.freeze(Object.keys(primitives).map((key) => RunnableVisualizationDescriptorSchema.shape.panelType.unwrap().parse(key)));
|
|
63
|
+
/** Look up a panel registration. Throws if the panelType is unknown. */
|
|
64
|
+
export function resolvePanelType(panelType) {
|
|
65
|
+
const parsed = RunnableVisualizationDescriptorSchema.shape.panelType
|
|
66
|
+
.unwrap()
|
|
67
|
+
.safeParse(panelType);
|
|
68
|
+
const reg = parsed.success ? primitives[parsed.data] : undefined;
|
|
69
|
+
if (!reg) {
|
|
70
|
+
throw new Error(`Unknown runnable/visualization panelType: "${panelType}". ` +
|
|
71
|
+
`Registered: ${REGISTERED_PANEL_TYPES.join(', ')}.`);
|
|
72
|
+
}
|
|
73
|
+
return reg;
|
|
74
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { TestScenarioEmitterOptions, TestScenarioRunnableEmitter } from "../schemas/contracts/test-scenario.ts";
|
|
2
|
+
/**
|
|
3
|
+
* Runnable-backed `TelemetryEmitter` for the test-scenario standard.
|
|
4
|
+
*
|
|
5
|
+
* Adapts `@vibesdotdev/testing/test-scenario`'s injected sink onto
|
|
6
|
+
* `createRunner`, so a test scenario's lifecycle appears as a runnable run
|
|
7
|
+
* with zero test-code change:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { defineTestScenario } from '@vibesdotdev/testing/test-scenario';
|
|
11
|
+
* import { createTestScenarioEmitter } from '@vibesdotdev/runnable/test-scenario';
|
|
12
|
+
*
|
|
13
|
+
* const result = await defineTestScenario({ name: 'encode', execute })
|
|
14
|
+
* .run({ emitter: createTestScenarioEmitter({ url: 'https://runnable.vibes.dev/api/events', lifecycle: runtime.lifecycle }) });
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Design notes (Lane X R2/R3):
|
|
18
|
+
*
|
|
19
|
+
* - STRUCTURAL conformance, no package edge: this module never imports
|
|
20
|
+
* `@vibesdotdev/testing` — not even types. The returned emitter matches
|
|
21
|
+
* `TelemetryEmitter` signature-for-signature; `__tests__` pins that with
|
|
22
|
+
* a type-level assertion (dev-only edge).
|
|
23
|
+
* - CORE EVENTS ONLY: start/metric/log/artifact/done translate inline at
|
|
24
|
+
* ingest (`runnable-web` dispatch), so this slice ships NO ingest-mapping
|
|
25
|
+
* and NO executor. If arch-specific `test-scenario.*` events are ever
|
|
26
|
+
* needed, they come with their mapping + tests — not before.
|
|
27
|
+
* - Host URL is explicit (caller-resolved). `runnable/host` context
|
|
28
|
+
* resolution is a follow-up once X aligns local/CI host design
|
|
29
|
+
* (milestone item 10); unit tests must never need a runtime.
|
|
30
|
+
*/
|
|
31
|
+
/** `runnable_type` carried on every event this emitter sends. */
|
|
32
|
+
export declare const TEST_SCENARIO_RUNNABLE_TYPE = "test-scenario";
|
|
33
|
+
export declare function createTestScenarioEmitter(options: TestScenarioEmitterOptions): TestScenarioRunnableEmitter;
|
|
34
|
+
export { type TestScenarioEmitterOptions, type TestScenarioRunnableEmitter } from '../schemas/contracts/test-scenario.ts';
|
|
35
|
+
//# sourceMappingURL=test-scenario-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-scenario-emitter.d.ts","sourceRoot":"","sources":["../../src/test-scenario/test-scenario-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAMrH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAS3D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,2BAA2B,CAmB1G;AAED,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
import { JsonObjectSchema, JsonValueSchema } from "@vibesdotdev/kernel/schemas/json";
|
|
3
|
+
import { createRunner } from "../runtime/runner.js";
|
|
4
|
+
/**
|
|
5
|
+
* Runnable-backed `TelemetryEmitter` for the test-scenario standard.
|
|
6
|
+
*
|
|
7
|
+
* Adapts `@vibesdotdev/testing/test-scenario`'s injected sink onto
|
|
8
|
+
* `createRunner`, so a test scenario's lifecycle appears as a runnable run
|
|
9
|
+
* with zero test-code change:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { defineTestScenario } from '@vibesdotdev/testing/test-scenario';
|
|
13
|
+
* import { createTestScenarioEmitter } from '@vibesdotdev/runnable/test-scenario';
|
|
14
|
+
*
|
|
15
|
+
* const result = await defineTestScenario({ name: 'encode', execute })
|
|
16
|
+
* .run({ emitter: createTestScenarioEmitter({ url: 'https://runnable.vibes.dev/api/events', lifecycle: runtime.lifecycle }) });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Design notes (Lane X R2/R3):
|
|
20
|
+
*
|
|
21
|
+
* - STRUCTURAL conformance, no package edge: this module never imports
|
|
22
|
+
* `@vibesdotdev/testing` — not even types. The returned emitter matches
|
|
23
|
+
* `TelemetryEmitter` signature-for-signature; `__tests__` pins that with
|
|
24
|
+
* a type-level assertion (dev-only edge).
|
|
25
|
+
* - CORE EVENTS ONLY: start/metric/log/artifact/done translate inline at
|
|
26
|
+
* ingest (`runnable-web` dispatch), so this slice ships NO ingest-mapping
|
|
27
|
+
* and NO executor. If arch-specific `test-scenario.*` events are ever
|
|
28
|
+
* needed, they come with their mapping + tests — not before.
|
|
29
|
+
* - Host URL is explicit (caller-resolved). `runnable/host` context
|
|
30
|
+
* resolution is a follow-up once X aligns local/CI host design
|
|
31
|
+
* (milestone item 10); unit tests must never need a runtime.
|
|
32
|
+
*/
|
|
33
|
+
/** `runnable_type` carried on every event this emitter sends. */
|
|
34
|
+
export const TEST_SCENARIO_RUNNABLE_TYPE = 'test-scenario';
|
|
35
|
+
const TestScenarioEmitterOptionsSchema = z.object({
|
|
36
|
+
url: z.string().min(1),
|
|
37
|
+
lifecycle: z.object({ delay: z.function() }),
|
|
38
|
+
runId: z.string().optional(),
|
|
39
|
+
name: z.string().optional()
|
|
40
|
+
});
|
|
41
|
+
export function createTestScenarioEmitter(options) {
|
|
42
|
+
const parsedOptions = TestScenarioEmitterOptionsSchema.parse(options);
|
|
43
|
+
const runnerOptions = {
|
|
44
|
+
url: parsedOptions.url,
|
|
45
|
+
// Keep the original object so delay methods retain their receiver.
|
|
46
|
+
lifecycle: options.lifecycle,
|
|
47
|
+
type: TEST_SCENARIO_RUNNABLE_TYPE
|
|
48
|
+
};
|
|
49
|
+
if (parsedOptions.runId)
|
|
50
|
+
runnerOptions.runId = parsedOptions.runId;
|
|
51
|
+
if (parsedOptions.name)
|
|
52
|
+
runnerOptions.name = parsedOptions.name;
|
|
53
|
+
const runner = createRunner(runnerOptions);
|
|
54
|
+
return {
|
|
55
|
+
runId: runner.runId,
|
|
56
|
+
start: (run) => runner.start({ ...JsonObjectSchema.parse(run.config ?? {}), name: run.name }),
|
|
57
|
+
metric: (key, value, dimensions) => runner.metric(key, value, dimensions === undefined ? undefined : JsonObjectSchema.parse(dimensions)),
|
|
58
|
+
log: (level, message, data) => runner.log(level, message, data === undefined ? undefined : JsonValueSchema.parse(data)),
|
|
59
|
+
artifact: (name, mimeType, data) => runner.artifact(name, mimeType, data),
|
|
60
|
+
done: (summary) => (summary === undefined ? runner.done() : runner.done({ summary: JsonObjectSchema.parse(summary) }))
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export {} from "../schemas/contracts/test-scenario.js";
|
|
64
|
+
//# sourceMappingURL=test-scenario-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-scenario-emitter.js","sourceRoot":"","sources":["../../src/test-scenario/test-scenario-emitter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAE3D,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC5E,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,aAAa,GAAkB;QACpC,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,mEAAmE;QACnE,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,2BAA2B;KACjC,CAAC;IACF,IAAI,aAAa,CAAC,KAAK;QAAE,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnE,IAAI,aAAa,CAAC,IAAI;QAAE,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7F,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxI,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvH,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;QACzE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACtH,CAAC;AACH,CAAC;AAED,OAAO,EAAqE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-scenario runnable plugin.
|
|
3
|
+
*
|
|
4
|
+
* Registers the `test-scenario` runnable type for runs emitted by
|
|
5
|
+
* `createTestScenarioEmitter`. Hosts that want the type in their catalog
|
|
6
|
+
* (listings, dashboards, type filtering) compose this plugin alongside
|
|
7
|
+
* the runnable plugin; ingestion itself needs no registration.
|
|
8
|
+
*/
|
|
9
|
+
declare const defaultExport: import("@vibesdotdev/kernel").RuntimePlugin;
|
|
10
|
+
export default defaultExport;
|
|
11
|
+
//# sourceMappingURL=test-scenario.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-scenario.plugin.d.ts","sourceRoot":"","sources":["../../src/test-scenario/test-scenario.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,QAAA,MAAM,aAAa,6CAKjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-scenario runnable plugin.
|
|
3
|
+
*
|
|
4
|
+
* Registers the `test-scenario` runnable type for runs emitted by
|
|
5
|
+
* `createTestScenarioEmitter`. Hosts that want the type in their catalog
|
|
6
|
+
* (listings, dashboards, type filtering) compose this plugin alongside
|
|
7
|
+
* the runnable plugin; ingestion itself needs no registration.
|
|
8
|
+
*/
|
|
9
|
+
import { createRuntimePlugin } from '@vibesdotdev/kernel';
|
|
10
|
+
import testScenarioTypeDescriptor from "./test-scenario.type.descriptor.js";
|
|
11
|
+
// Hoisted const: tsc rewriteRelativeImportExtensions does not rewrite `.ts` specifiers inside `export default <expr>` (TS 6.0.3).
|
|
12
|
+
const defaultExport = createRuntimePlugin({
|
|
13
|
+
id: 'runnable-test-scenario',
|
|
14
|
+
name: 'Runnable Test Scenario',
|
|
15
|
+
description: 'Runnable type for unit/integration test-scenario telemetry emission.',
|
|
16
|
+
descriptors: [testScenarioTypeDescriptor]
|
|
17
|
+
});
|
|
18
|
+
export default defaultExport;
|
|
19
|
+
//# sourceMappingURL=test-scenario.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-scenario.plugin.js","sourceRoot":"","sources":["../../src/test-scenario/test-scenario.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,0BAA0B,MAAM,oCAAoC,CAAC;AAE5E,kIAAkI;AAClI,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACzC,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,sEAAsE;IACnF,WAAW,EAAE,CAAC,0BAA0B,CAAC;CACzC,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-scenario runnable/type descriptor.
|
|
3
|
+
*
|
|
4
|
+
* Classifies runs emitted by `createTestScenarioEmitter` (unit/integration
|
|
5
|
+
* test scenarios via `@vibesdotdev/testing/test-scenario`) in run listings
|
|
6
|
+
* and dashboards. Ingestion needs no registration — core events translate
|
|
7
|
+
* inline — but the type string must resolve to exactly one descriptor.
|
|
8
|
+
*/
|
|
9
|
+
import type { RunnableTypeDescriptor } from '../schemas/descriptors.ts';
|
|
10
|
+
declare const descriptor: RunnableTypeDescriptor;
|
|
11
|
+
export default descriptor;
|
|
12
|
+
//# sourceMappingURL=test-scenario.type.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-scenario.type.descriptor.d.ts","sourceRoot":"","sources":["../../src/test-scenario/test-scenario.type.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,QAAA,MAAM,UAAU,EAAE,sBAShB,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-scenario runnable/type descriptor.
|
|
3
|
+
*
|
|
4
|
+
* Classifies runs emitted by `createTestScenarioEmitter` (unit/integration
|
|
5
|
+
* test scenarios via `@vibesdotdev/testing/test-scenario`) in run listings
|
|
6
|
+
* and dashboards. Ingestion needs no registration — core events translate
|
|
7
|
+
* inline — but the type string must resolve to exactly one descriptor.
|
|
8
|
+
*/
|
|
9
|
+
import { createRuntimeAsset } from '@vibesdotdev/kernel';
|
|
10
|
+
const descriptor = createRuntimeAsset({
|
|
11
|
+
kind: 'runnable/type',
|
|
12
|
+
id: 'test-scenario',
|
|
13
|
+
name: 'Test Scenario',
|
|
14
|
+
description: 'Unit/integration test scenarios emitting lifecycle telemetry via an injected emitter',
|
|
15
|
+
category: 'test',
|
|
16
|
+
parallelizable: true,
|
|
17
|
+
tags: ['test', 'scenario', 'telemetry'],
|
|
18
|
+
enabled: true
|
|
19
|
+
});
|
|
20
|
+
export default descriptor;
|
|
21
|
+
//# sourceMappingURL=test-scenario.type.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-scenario.type.descriptor.js","sourceRoot":"","sources":["../../src/test-scenario/test-scenario.type.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,UAAU,GAA2B,kBAAkB,CAAC;IAC7D,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,sFAAsF;IACnG,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;IACvC,OAAO,EAAE,IAAI;CACb,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
package/dist/watch.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CaughtFailure, type RuntimeRef } from '@vibesdotdev/kernel';
|
|
2
|
+
import type { RunnableSnapshot } from './schemas/runs.ts';
|
|
3
|
+
export interface RunnableWatchPort<Snapshot = RunnableSnapshot> {
|
|
4
|
+
read(): Promise<Snapshot[]>;
|
|
5
|
+
subscribe(changed: () => void): (() => void | Promise<void>) | Promise<() => void | Promise<void>>;
|
|
6
|
+
failed(cause: CaughtFailure): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
/** Subscribe before reading. Invalidations during a read stay one pending refresh, and a full replacement never overwrites a newer delivery. */
|
|
9
|
+
export declare function watchRunnableSnapshots<Snapshot = RunnableSnapshot>(runtime: RuntimeRef, port: RunnableWatchPort<Snapshot>, listener: (snapshot: {
|
|
10
|
+
runs: Snapshot[];
|
|
11
|
+
revision: number;
|
|
12
|
+
}) => void | Promise<void>, signal: AbortSignal): Promise<() => Promise<void>>;
|
|
13
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACxH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,WAAW,iBAAiB,CAAC,QAAQ,GAAG,gBAAgB;IAC7D,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5B,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnG,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,gJAAgJ;AAChJ,wBAAsB,sBAAsB,CAAC,QAAQ,GAAG,gBAAgB,EACvE,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACjC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACpF,MAAM,EAAE,WAAW,GACjB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA4G9B"}
|
package/dist/watch.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { CapabilityError, CaughtFailureSchema, settle } from '@vibesdotdev/kernel';
|
|
2
|
+
import { canonical } from "./identity.js";
|
|
3
|
+
/** Subscribe before reading. Invalidations during a read stay one pending refresh, and a full replacement never overwrites a newer delivery. */
|
|
4
|
+
export async function watchRunnableSnapshots(runtime, port, listener, signal) {
|
|
5
|
+
signal.throwIfAborted();
|
|
6
|
+
const invocation = runtime.captureInvocation();
|
|
7
|
+
const completion = Promise.withResolvers();
|
|
8
|
+
const subscriptionReady = Promise.withResolvers();
|
|
9
|
+
// Admission happens before a potentially late asynchronous subscription. Disposal
|
|
10
|
+
// must retain that resource until it arrives and its unsubscribe has settled.
|
|
11
|
+
void runtime.lifecycle.own(() => completion.promise);
|
|
12
|
+
let unsubscribe;
|
|
13
|
+
let pending = Promise.resolve();
|
|
14
|
+
let closed = false;
|
|
15
|
+
let opening = true;
|
|
16
|
+
let scheduled = false;
|
|
17
|
+
let dirty = false;
|
|
18
|
+
let revision = 0;
|
|
19
|
+
let previous;
|
|
20
|
+
let closing;
|
|
21
|
+
const failed = async (cause) => {
|
|
22
|
+
const failure = CaughtFailureSchema.parse(cause);
|
|
23
|
+
const delivered = await settle(() => port.failed(failure));
|
|
24
|
+
if (!delivered.ok)
|
|
25
|
+
runtime.diagnostics.error('Watch failure delivery failed', {
|
|
26
|
+
scope: 'runnable:watch', plugin: 'runnable', error: new AggregateError([cause, delivered.cause], 'Watch and failure delivery failed.', { cause })
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const close = () => {
|
|
30
|
+
if (closing)
|
|
31
|
+
return closing;
|
|
32
|
+
closed = true;
|
|
33
|
+
signal.removeEventListener('abort', onAbort);
|
|
34
|
+
closing = (async () => {
|
|
35
|
+
const cleanup = await settle(async () => {
|
|
36
|
+
await subscriptionReady.promise;
|
|
37
|
+
await unsubscribe?.();
|
|
38
|
+
});
|
|
39
|
+
// A callback may itself unsubscribe. It must not await its own delivery;
|
|
40
|
+
// lifecycle ownership separately joins all deliveries and retains cleanup refusal.
|
|
41
|
+
void pending.then(() => {
|
|
42
|
+
if (cleanup.ok)
|
|
43
|
+
completion.resolve();
|
|
44
|
+
else
|
|
45
|
+
completion.reject(cleanup.cause);
|
|
46
|
+
}, completion.reject);
|
|
47
|
+
if (!cleanup.ok)
|
|
48
|
+
throw cleanup.cause;
|
|
49
|
+
})();
|
|
50
|
+
return closing;
|
|
51
|
+
};
|
|
52
|
+
const onAbort = () => {
|
|
53
|
+
void settle(close).then(async (result) => {
|
|
54
|
+
if (!result.ok)
|
|
55
|
+
await failed(result.cause);
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
59
|
+
const enqueue = (initial) => {
|
|
60
|
+
// A burst while this read is scheduled must not append another read.
|
|
61
|
+
// The settled read chains one refresh when any of those invalidations arrived.
|
|
62
|
+
if (scheduled) {
|
|
63
|
+
dirty = true;
|
|
64
|
+
return pending;
|
|
65
|
+
}
|
|
66
|
+
scheduled = true;
|
|
67
|
+
const task = pending.then(() => invocation.run(async () => {
|
|
68
|
+
if (closed)
|
|
69
|
+
return;
|
|
70
|
+
dirty = false;
|
|
71
|
+
const runs = await port.read();
|
|
72
|
+
if (closed)
|
|
73
|
+
return;
|
|
74
|
+
const identity = canonical(runs);
|
|
75
|
+
if (previous === identity)
|
|
76
|
+
return;
|
|
77
|
+
await listener({ runs, revision: ++revision });
|
|
78
|
+
previous = identity;
|
|
79
|
+
}));
|
|
80
|
+
// Catch on this chain. A floating `finally` would reject again after a refused delivery.
|
|
81
|
+
pending = task.then(() => {
|
|
82
|
+
scheduled = false;
|
|
83
|
+
if (!initial && dirty && !closed)
|
|
84
|
+
void enqueue(false);
|
|
85
|
+
}, async (cause) => {
|
|
86
|
+
scheduled = false;
|
|
87
|
+
if (!initial)
|
|
88
|
+
await failed(cause);
|
|
89
|
+
if (!initial && dirty && !closed)
|
|
90
|
+
void enqueue(false);
|
|
91
|
+
});
|
|
92
|
+
return task;
|
|
93
|
+
};
|
|
94
|
+
try {
|
|
95
|
+
try {
|
|
96
|
+
signal.throwIfAborted();
|
|
97
|
+
unsubscribe = await port.subscribe(() => {
|
|
98
|
+
if (closed)
|
|
99
|
+
return;
|
|
100
|
+
if (opening || scheduled) {
|
|
101
|
+
dirty = true;
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
void enqueue(false);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
subscriptionReady.resolve();
|
|
109
|
+
}
|
|
110
|
+
if (closed || signal.aborted) {
|
|
111
|
+
await close();
|
|
112
|
+
throw new CapabilityError('Runnable watch was cancelled while opening.', 'CANCELLED', { reason: 'runnable-watch-cancelled' });
|
|
113
|
+
}
|
|
114
|
+
await enqueue(true);
|
|
115
|
+
opening = false;
|
|
116
|
+
if (dirty && !closed)
|
|
117
|
+
void enqueue(false);
|
|
118
|
+
return close;
|
|
119
|
+
}
|
|
120
|
+
catch (cause) {
|
|
121
|
+
const cleanup = await settle(close);
|
|
122
|
+
if (!cleanup.ok)
|
|
123
|
+
throw new AggregateError([cause, cleanup.cause], 'Runnable watch admission and cleanup failed.', { cause });
|
|
124
|
+
throw cause;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|