@camstack/ui-library 1.2.256 → 1.2.258
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/composites/accelerator-label.d.ts +9 -9
- package/dist/composites/adaptive-downlink.d.ts +141 -143
- package/dist/composites/addon-global-settings-form.d.ts +73 -60
- package/dist/composites/addon-page-props.d.ts +34 -10
- package/dist/composites/agent-step-editor.d.ts +48 -47
- package/dist/composites/app-shell/app-shell.d.ts +17 -17
- package/dist/composites/app-shell/index.d.ts +3 -3
- package/dist/composites/app-shell/sidebar-item.d.ts +9 -8
- package/dist/composites/app-shell/sidebar.d.ts +10 -10
- package/dist/composites/audio-classification-list.d.ts +16 -15
- package/dist/composites/audio-level-waveform.d.ts +31 -30
- package/dist/composites/audio-waveform.d.ts +18 -17
- package/dist/composites/battery-badge.d.ts +27 -13
- package/dist/composites/breadcrumb.d.ts +21 -21
- package/dist/composites/camera-stream-player.d.ts +309 -309
- package/dist/composites/cap-settings/AutotrackSection.d.ts +19 -2
- package/dist/composites/cap-settings/CameraGridLayoutEditor.d.ts +24 -2
- package/dist/composites/cap-settings/ConsumablesPanel.d.ts +21 -2
- package/dist/composites/cap-settings/CoverageTrack.d.ts +21 -20
- package/dist/composites/cap-settings/EventBucketStrip.d.ts +21 -20
- package/dist/composites/cap-settings/EventHeatmap.d.ts +8 -7
- package/dist/composites/cap-settings/HomePresetPicker.d.ts +2 -2
- package/dist/composites/cap-settings/MaskShapeCanvas.d.ts +143 -41
- package/dist/composites/cap-settings/MotionZonesSettings.d.ts +41 -2
- package/dist/composites/cap-settings/NavigationPanel.d.ts +14 -2
- package/dist/composites/cap-settings/PrivacyMaskSettings.d.ts +3 -2
- package/dist/composites/cap-settings/PtzPanel.d.ts +15 -2
- package/dist/composites/cap-settings/RecordingBandsEditor.d.ts +33 -32
- package/dist/composites/cap-settings/RecordingPanel.d.ts +3 -2
- package/dist/composites/cap-settings/RecordingSettings.d.ts +11 -10
- package/dist/composites/cap-settings/RecordingTimeline.d.ts +3 -2
- package/dist/composites/cap-settings/SceneMonitorEditor.d.ts +3 -51
- package/dist/composites/cap-settings/SceneReferenceGallery.d.ts +62 -23
- package/dist/composites/cap-settings/SceneSettingsForm.d.ts +52 -16
- package/dist/composites/cap-settings/TimelineControls.d.ts +21 -20
- package/dist/composites/cap-settings/camera-grid-layout.d.ts +95 -95
- package/dist/composites/cap-settings/event-thumb.d.ts +9 -8
- package/dist/composites/cap-settings/index.d.ts +20 -20
- package/dist/composites/cap-settings/privacy-mask-audio.d.ts +47 -47
- package/dist/composites/cap-settings/recording-config-form.d.ts +25 -25
- package/dist/composites/cap-settings/recording-spans.d.ts +14 -14
- package/dist/composites/cap-settings/recording-timeline-model.d.ts +57 -57
- package/dist/composites/cap-settings/scene-monitor-copy.d.ts +58 -49
- package/dist/composites/client-network-sample.d.ts +41 -41
- package/dist/composites/clips/ClipBandBar.d.ts +44 -14
- package/dist/composites/clips/ClipPanel.d.ts +30 -6
- package/dist/composites/clips/ClipTile.d.ts +26 -5
- package/dist/composites/clips/ClipsSection.d.ts +107 -2
- package/dist/composites/clips/clip-band.d.ts +72 -38
- package/dist/composites/clips/clip-day-window.d.ts +7 -30
- package/dist/composites/clips/clip-source-state.d.ts +55 -26
- package/dist/composites/clips/clip-still-retry.d.ts +39 -39
- package/dist/composites/clips/clip-thumbnail-fetch.d.ts +9 -9
- package/dist/composites/clips/clip-tile-media.d.ts +64 -32
- package/dist/composites/clips/clip-view-state.d.ts +76 -46
- package/dist/composites/code-block.d.ts +5 -4
- package/dist/composites/config-form-builder.d.ts +14 -13
- package/dist/composites/config-form-field.d.ts +63 -62
- package/dist/composites/config-icon-field.d.ts +10 -9
- package/dist/composites/config-secret-field.d.ts +51 -27
- package/dist/composites/confirm-action-button.d.ts +52 -39
- package/dist/composites/confirm-dialog.d.ts +110 -48
- package/dist/composites/copy-button.d.ts +25 -19
- package/dist/composites/data-table/data-table-header.d.ts +8 -7
- package/dist/composites/data-table/data-table-pagination.d.ts +7 -6
- package/dist/composites/data-table/data-table-row.d.ts +8 -7
- package/dist/composites/data-table/data-table.d.ts +3 -2
- package/dist/composites/data-table/index.d.ts +2 -2
- package/dist/composites/data-table/types.d.ts +29 -29
- package/dist/composites/data-table-filter-bar.d.ts +30 -29
- package/dist/composites/data-table-filter.d.ts +34 -34
- package/dist/composites/data-table-layout.d.ts +24 -24
- package/dist/composites/data-table-pager.d.ts +5 -5
- package/dist/composites/data-table-pagination.d.ts +23 -23
- package/dist/composites/data-table-selection.d.ts +10 -10
- package/dist/composites/data-table.d.ts +167 -118
- package/dist/composites/detection-canvas.d.ts +34 -25
- package/dist/composites/detection-colors.d.ts +9 -9
- package/dist/composites/detection-overlay.d.ts +33 -32
- package/dist/composites/detection-result-tree.d.ts +22 -9
- package/dist/composites/dev-shell.d.ts +15 -14
- package/dist/composites/device-activity-panel.d.ts +37 -31
- package/dist/composites/device-card.d.ts +32 -32
- package/dist/composites/device-controls/ac-panel.d.ts +2 -2
- package/dist/composites/device-controls/alarm-hero-card.d.ts +42 -42
- package/dist/composites/device-controls/atoms.d.ts +50 -50
- package/dist/composites/device-controls/brightness-panel.d.ts +3 -3
- package/dist/composites/device-controls/button-control.d.ts +14 -14
- package/dist/composites/device-controls/climate-panel.d.ts +12 -12
- package/dist/composites/device-controls/container-primary-hero.d.ts +33 -16
- package/dist/composites/device-controls/container-primary.d.ts +68 -39
- package/dist/composites/device-controls/control-panel.d.ts +4 -4
- package/dist/composites/device-controls/control-registry.d.ts +81 -70
- package/dist/composites/device-controls/cover-hero-card.d.ts +26 -26
- package/dist/composites/device-controls/cover-inline.d.ts +20 -20
- package/dist/composites/device-controls/cover-panel.d.ts +2 -2
- package/dist/composites/device-controls/dummy-hero-card.d.ts +2 -2
- package/dist/composites/device-controls/fan-hero-card.d.ts +20 -20
- package/dist/composites/device-controls/fan-panel.d.ts +3 -3
- package/dist/composites/device-controls/humidifier-control.d.ts +46 -29
- package/dist/composites/device-controls/image-control.d.ts +41 -27
- package/dist/composites/device-controls/index.d.ts +34 -34
- package/dist/composites/device-controls/lawn-mower-control.d.ts +30 -16
- package/dist/composites/device-controls/light-hero-card.d.ts +15 -15
- package/dist/composites/device-controls/lock-hero-card.d.ts +14 -14
- package/dist/composites/device-controls/lock-panel.d.ts +3 -3
- package/dist/composites/device-controls/media-player-hero-card.d.ts +16 -16
- package/dist/composites/device-controls/media-player-panel.d.ts +7 -7
- package/dist/composites/device-controls/offline-badge.d.ts +23 -8
- package/dist/composites/device-controls/panel-controls.d.ts +39 -20
- package/dist/composites/device-controls/pet-feeder-panel.d.ts +27 -9
- package/dist/composites/device-controls/popover-row-action.d.ts +18 -6
- package/dist/composites/device-controls/primary-child-picker.d.ts +31 -15
- package/dist/composites/device-controls/primary-child.d.ts +14 -25
- package/dist/composites/device-controls/radial-gauge.d.ts +17 -17
- package/dist/composites/device-controls/script-automation-controls.d.ts +9 -9
- package/dist/composites/device-controls/sensor-hero-card.d.ts +26 -8
- package/dist/composites/device-controls/sensor-inline-control.d.ts +21 -9
- package/dist/composites/device-controls/sensor-value-atom.d.ts +97 -76
- package/dist/composites/device-controls/switch-hero-card.d.ts +11 -11
- package/dist/composites/device-controls/switch-panel.d.ts +2 -2
- package/dist/composites/device-controls/tap-toggle.d.ts +13 -13
- package/dist/composites/device-controls/thermostat-hero-card.d.ts +16 -16
- package/dist/composites/device-controls/types.d.ts +11 -11
- package/dist/composites/device-controls/update-control.d.ts +20 -7
- package/dist/composites/device-controls/vacuum-control.d.ts +41 -25
- package/dist/composites/device-controls/valve-control.d.ts +51 -35
- package/dist/composites/device-controls/water-heater-control.d.ts +48 -31
- package/dist/composites/device-controls/weather-control.d.ts +46 -28
- package/dist/composites/device-export-panel.d.ts +34 -34
- package/dist/composites/device-grid.d.ts +10 -10
- package/dist/composites/device-item/actions.d.ts +40 -18
- package/dist/composites/device-item/admin-link-quick-action.d.ts +66 -26
- package/dist/composites/device-item/child-layout.d.ts +43 -26
- package/dist/composites/device-item/child-section-accordion.d.ts +20 -6
- package/dist/composites/device-item/children-accordion.d.ts +11 -11
- package/dist/composites/device-item/container-children-context.d.ts +28 -11
- package/dist/composites/device-item/device-delete-action.d.ts +23 -5
- package/dist/composites/device-item/features.d.ts +33 -15
- package/dist/composites/device-item/header.d.ts +53 -31
- package/dist/composites/device-item/helpers.d.ts +291 -274
- package/dist/composites/device-item/index.d.ts +18 -9
- package/dist/composites/device-item/preview.d.ts +41 -21
- package/dist/composites/device-item/quick-detail-action.d.ts +4 -4
- package/dist/composites/device-item/reboot-quick-action.d.ts +28 -7
- package/dist/composites/device-item/role-display-defaults-context.d.ts +28 -12
- package/dist/composites/device-item/status-dot.d.ts +24 -6
- package/dist/composites/device-list/batch-actions-bar.d.ts +23 -12
- package/dist/composites/device-list/batch-toolbar.d.ts +13 -13
- package/dist/composites/device-list/columns.d.ts +108 -108
- package/dist/composites/device-list/device-integration.d.ts +48 -58
- package/dist/composites/device-list/device-mode.d.ts +121 -121
- package/dist/composites/device-list/empty-state.d.ts +14 -3
- package/dist/composites/device-list/filter-chips.d.ts +42 -29
- package/dist/composites/device-list/fuzzy-match.d.ts +22 -22
- package/dist/composites/device-list/generic-mode.d.ts +88 -88
- package/dist/composites/device-list/group.d.ts +62 -35
- package/dist/composites/device-list/hardware-cell.d.ts +14 -3
- package/dist/composites/device-list/hardware.d.ts +29 -11
- package/dist/composites/device-list/icon-action.d.ts +27 -15
- package/dist/composites/device-list/index.d.ts +46 -23
- package/dist/composites/device-list/multi-select.d.ts +17 -17
- package/dist/composites/device-list/page-size-select.d.ts +13 -7
- package/dist/composites/device-list/pagination.d.ts +19 -12
- package/dist/composites/device-list/sort.d.ts +28 -15
- package/dist/composites/device-list/sortable-header.d.ts +20 -7
- package/dist/composites/device-list/table-layout.d.ts +44 -44
- package/dist/composites/device-list/type-filter.d.ts +16 -16
- package/dist/composites/device-list/url-state.d.ts +35 -35
- package/dist/composites/device-meta.d.ts +43 -43
- package/dist/composites/device-picker/DevicePicker.d.ts +72 -33
- package/dist/composites/device-picker/SelectedChip.d.ts +10 -9
- package/dist/composites/device-picker/device-filter-bar.d.ts +19 -18
- package/dist/composites/device-picker/device-fleet-view.d.ts +11 -3
- package/dist/composites/device-picker/device-parent.d.ts +27 -27
- package/dist/composites/device-picker/device-picker-grouping.d.ts +3 -3
- package/dist/composites/device-picker/device-picker-model.d.ts +140 -140
- package/dist/composites/device-picker/device-selection-rows.d.ts +31 -24
- package/dist/composites/device-picker/device-selection.d.ts +43 -43
- package/dist/composites/device-picker/index.d.ts +9 -9
- package/dist/composites/device-select-field.d.ts +17 -16
- package/dist/composites/device-select-filter.d.ts +78 -78
- package/dist/composites/device-selector-picker.d.ts +25 -25
- package/dist/composites/device-step-matrix.d.ts +54 -28
- package/dist/composites/discovery-panel.d.ts +22 -22
- package/dist/composites/doorbell-recent-panel.d.ts +9 -8
- package/dist/composites/empty-state.d.ts +8 -8
- package/dist/composites/error-box.d.ts +32 -17
- package/dist/composites/event-kind-visuals.d.ts +29 -18
- package/dist/composites/event-stream.d.ts +59 -42
- package/dist/composites/extensions/AssociationSlotCard.d.ts +45 -24
- package/dist/composites/extensions/ExtensionsPanel.d.ts +41 -18
- package/dist/composites/extensions/extensions-view-state.d.ts +71 -53
- package/dist/composites/filter-bar.d.ts +22 -21
- package/dist/composites/form-field.d.ts +9 -9
- package/dist/composites/format-state-value.d.ts +23 -51
- package/dist/composites/grouped-model-selector.d.ts +7 -6
- package/dist/composites/hls-quality.d.ts +26 -26
- package/dist/composites/hls-video.d.ts +62 -39
- package/dist/composites/hover-zoom-image.d.ts +35 -16
- package/dist/composites/icon-picker.d.ts +86 -50
- package/dist/composites/image-selector.d.ts +21 -20
- package/dist/composites/index.d.ts +204 -204
- package/dist/composites/inference-config-selector.d.ts +36 -35
- package/dist/composites/kebab-menu.d.ts +53 -35
- package/dist/composites/key-value-list.d.ts +14 -14
- package/dist/composites/log-stream-scroll.d.ts +24 -24
- package/dist/composites/log-stream.d.ts +81 -70
- package/dist/composites/login-form.d.ts +7 -6
- package/dist/composites/model-bound-slider.d.ts +46 -26
- package/dist/composites/model-picker.d.ts +20 -19
- package/dist/composites/mount-addon-page.d.ts +12 -12
- package/dist/composites/network-link-badge.d.ts +7 -6
- package/dist/composites/node-picker.d.ts +14 -13
- package/dist/composites/notification-targets-field.d.ts +76 -58
- package/dist/composites/notification-targets-options.d.ts +9 -6
- package/dist/composites/option-select/OptionSelect.d.ts +23 -22
- package/dist/composites/option-select/index.d.ts +4 -4
- package/dist/composites/option-select/option-select-model.d.ts +35 -35
- package/dist/composites/page-header.d.ts +6 -6
- package/dist/composites/peer-connection-config.d.ts +9 -9
- package/dist/composites/phase-icon.d.ts +10 -3
- package/dist/composites/pipeline-builder.d.ts +21 -13
- package/dist/composites/pipeline-matrix-shared.d.ts +159 -150
- package/dist/composites/pipeline-runtime-selector.d.ts +12 -11
- package/dist/composites/pipeline-step.d.ts +39 -31
- package/dist/composites/placeholder-field/PlaceholderChipField.d.ts +23 -22
- package/dist/composites/placeholder-field/index.d.ts +1 -1
- package/dist/composites/provider-badge.d.ts +6 -5
- package/dist/composites/ptz-overlay.d.ts +38 -18
- package/dist/composites/qr-code.d.ts +24 -10
- package/dist/composites/reconnect-schedule.d.ts +22 -22
- package/dist/composites/resolve-step-default-model.d.ts +94 -94
- package/dist/composites/response-log.d.ts +7 -6
- package/dist/composites/root-model-source.d.ts +21 -10
- package/dist/composites/scope-picker.d.ts +49 -25
- package/dist/composites/section-card.d.ts +19 -11
- package/dist/composites/setting-row.d.ts +39 -21
- package/dist/composites/snapshot-button.d.ts +23 -19
- package/dist/composites/sort-header-button.d.ts +25 -8
- package/dist/composites/stat-card.d.ts +20 -8
- package/dist/composites/state-values-stream.d.ts +49 -24
- package/dist/composites/status-badge.d.ts +10 -8
- package/dist/composites/step-inspector/gate-control.d.ts +13 -12
- package/dist/composites/step-inspector/index.d.ts +8 -8
- package/dist/composites/step-inspector/layered-settings-form.d.ts +41 -30
- package/dist/composites/step-inspector/segmented-choice.d.ts +8 -7
- package/dist/composites/step-inspector/setting-values.d.ts +13 -8
- package/dist/composites/step-inspector/step-detail-dock.d.ts +39 -23
- package/dist/composites/step-inspector/step-inspector-panel.d.ts +34 -28
- package/dist/composites/step-inspector/step-model-row.d.ts +29 -24
- package/dist/composites/step-inspector/step-search.d.ts +11 -11
- package/dist/composites/step-timings.d.ts +7 -6
- package/dist/composites/step-tree.d.ts +17 -12
- package/dist/composites/stream-broker-selector.d.ts +29 -8
- package/dist/composites/stream-debug/stream-debug-overlay.d.ts +40 -40
- package/dist/composites/stream-debug/webrtc-debug-stats.d.ts +144 -129
- package/dist/composites/stream-panel.d.ts +212 -201
- package/dist/composites/table-sort.d.ts +61 -61
- package/dist/composites/timezone-selector.d.ts +15 -13
- package/dist/composites/training/send-frame-to-training.d.ts +5 -4
- package/dist/composites/training/training-collection-picker.d.ts +4 -3
- package/dist/composites/training/training-refusal-text.d.ts +6 -6
- package/dist/composites/unit-picker/UnitPicker.d.ts +19 -14
- package/dist/composites/unit-picker/index.d.ts +1 -1
- package/dist/composites/use-data-table-filter.d.ts +19 -19
- package/dist/composites/version-badge.d.ts +19 -18
- package/dist/composites/webrtc-diagnostics/EndpointTestCard.d.ts +7 -7
- package/dist/composites/webrtc-diagnostics/HubSessionTestCard.d.ts +14 -14
- package/dist/composites/webrtc-diagnostics/RunReport.d.ts +10 -5
- package/dist/composites/webrtc-diagnostics/endpoint-probe.d.ts +41 -21
- package/dist/composites/webrtc-diagnostics/endpoint-test.d.ts +37 -32
- package/dist/composites/webrtc-diagnostics/format.d.ts +3 -3
- package/dist/composites/webrtc-diagnostics/ice-candidates.d.ts +49 -49
- package/dist/composites/webrtc-diagnostics/nat-mapping.d.ts +36 -36
- package/dist/composites/webrtc-diagnostics/session-run.d.ts +108 -95
- package/dist/composites/webrtc-diagnostics/session-verdict.d.ts +29 -20
- package/dist/composites/widget-panel.d.ts +23 -23
- package/dist/composites/widget-slot.d.ts +35 -17
- package/dist/contexts/custom-field-renderers.d.ts +53 -17
- package/dist/contexts/device-context.d.ts +32 -12
- package/dist/contexts/device-quick-detail.d.ts +13 -4
- package/dist/contexts/player-overlays.d.ts +82 -42
- package/dist/contexts/recorded-playback.d.ts +40 -18
- package/dist/contexts/system-context.d.ts +28 -13
- package/dist/contexts/vod-playback.d.ts +39 -22
- package/dist/contexts/widget-registry.d.ts +139 -102
- package/dist/contexts/zone-editing.d.ts +69 -46
- package/dist/generated/system-hooks.d.ts +17 -1
- package/dist/hooks/index.d.ts +43 -43
- package/dist/hooks/turn-server-cache.d.ts +69 -69
- package/dist/hooks/use-capability-presence.d.ts +65 -28
- package/dist/hooks/use-cluster-nodes.d.ts +54 -27
- package/dist/hooks/use-device-autotrack.d.ts +7 -7
- package/dist/hooks/use-device-battery.d.ts +24 -11
- package/dist/hooks/use-device-cap-slice.d.ts +15 -15
- package/dist/hooks/use-device-capability.d.ts +61 -27
- package/dist/hooks/use-device-detections.d.ts +32 -32
- package/dist/hooks/use-device-features.d.ts +18 -18
- package/dist/hooks/use-device-list-page-size.d.ts +19 -6
- package/dist/hooks/use-device-network-link.d.ts +15 -7
- package/dist/hooks/use-device-proxy.d.ts +98 -92
- package/dist/hooks/use-device-snapshot.d.ts +23 -23
- package/dist/hooks/use-device-webrtc.d.ts +211 -205
- package/dist/hooks/use-devices.d.ts +9 -9
- package/dist/hooks/use-doorbell-events.d.ts +13 -13
- package/dist/hooks/use-event-stream.d.ts +6 -3
- package/dist/hooks/use-is-mobile.d.ts +5 -5
- package/dist/hooks/use-live-buffer.d.ts +5 -5
- package/dist/hooks/use-live-event.d.ts +1 -1
- package/dist/hooks/use-navigation.d.ts +20 -20
- package/dist/hooks/use-optimistic-slice.d.ts +13 -13
- package/dist/hooks/use-persisted-page-size.d.ts +10 -10
- package/dist/hooks/use-ptz.d.ts +108 -108
- package/dist/hooks/use-stationary-overlay.d.ts +37 -37
- package/dist/hooks/use-system-query.d.ts +33 -10
- package/dist/hooks/use-url-query.d.ts +3 -3
- package/dist/icons/index.d.ts +2 -2
- package/dist/icons/provider-icons.d.ts +2 -2
- package/dist/icons/status-icons.d.ts +2 -2
- package/dist/index.cjs +123 -69
- package/dist/index.d.ts +31 -27
- package/dist/index.js +123 -69
- package/dist/lib/cap-error.d.ts +18 -39
- package/dist/lib/cn.d.ts +1 -1
- package/dist/lib/fleet-query-defaults.d.ts +68 -34
- package/dist/lib/format-control-datetime.d.ts +16 -16
- package/dist/lib/format-duration.d.ts +12 -12
- package/dist/lib/format-last-seen.d.ts +5 -18
- package/dist/lib/format-numeric.d.ts +7 -7
- package/dist/lib/hub-mount.d.ts +8 -42
- package/dist/lib/index.d.ts +21 -21
- package/dist/lib/phase-config.d.ts +24 -11
- package/dist/lib/pipeline-mirror.d.ts +16 -16
- package/dist/lib/recorded-control-protocol.d.ts +41 -43
- package/dist/lib/resolve-sensor-display.d.ts +36 -20
- package/dist/lib/responsive.d.ts +54 -54
- package/dist/lib/scrub-controller.d.ts +75 -78
- package/dist/lib/shared-context.d.ts +27 -2
- package/dist/lib/tailwind-variants.d.ts +20 -20
- package/dist/primitives/badge.d.ts +5 -10
- package/dist/primitives/bottom-sheet.d.ts +7 -7
- package/dist/primitives/button.d.ts +5 -9
- package/dist/primitives/card.d.ts +4 -8
- package/dist/primitives/checkbox.d.ts +3 -4
- package/dist/primitives/collapsible-card.d.ts +23 -13
- package/dist/primitives/dialog.d.ts +33 -59
- package/dist/primitives/dropdown.d.ts +13 -13
- package/dist/primitives/floating-panel.d.ts +41 -20
- package/dist/primitives/icon-button.d.ts +8 -12
- package/dist/primitives/index.d.ts +22 -22
- package/dist/primitives/input.d.ts +6 -16
- package/dist/primitives/label.d.ts +3 -4
- package/dist/primitives/mobile-drawer.d.ts +8 -8
- package/dist/primitives/password-input.d.ts +18 -18
- package/dist/primitives/popover.d.ts +7 -7
- package/dist/primitives/scroll-area.d.ts +3 -4
- package/dist/primitives/select.d.ts +20 -20
- package/dist/primitives/separator.d.ts +4 -8
- package/dist/primitives/skeleton.d.ts +3 -4
- package/dist/primitives/switch.d.ts +6 -6
- package/dist/primitives/tabs.d.ts +26 -26
- package/dist/primitives/tooltip.d.ts +12 -12
- package/dist/theme/create-theme.d.ts +1 -1
- package/dist/theme/defaults.d.ts +1 -1
- package/dist/theme/index.d.ts +6 -6
- package/dist/theme/theme-provider.d.ts +8 -7
- package/dist/theme/theme-to-css.d.ts +1 -1
- package/dist/theme/types.d.ts +98 -100
- package/dist/theme/use-theme-mode.d.ts +1 -1
- package/dist/trpc-react.d.ts +23 -3
- package/dist/widgets/host-widgets.d.ts +4 -4
- package/package.json +8 -4
- package/src/tailwind/camstack-theme.css +11 -0
- package/dist/composites/unit-picker/UnitPicker.spec.d.ts +0 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import { type JSX } from "react";
|
|
1
2
|
export interface PipelineRuntimeOption {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
readonly available: boolean;
|
|
6
|
+
/** Platform score for this backend (higher = better) */
|
|
7
|
+
readonly platformScore?: number;
|
|
8
|
+
/** Whether this is the best-scored backend */
|
|
9
|
+
readonly isBest?: boolean;
|
|
9
10
|
}
|
|
10
11
|
interface PipelineRuntimeSelectorProps {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
readonly options: readonly PipelineRuntimeOption[];
|
|
13
|
+
readonly value: string;
|
|
14
|
+
readonly onChange: (value: string) => void;
|
|
14
15
|
}
|
|
15
|
-
export declare function PipelineRuntimeSelector({ options, value, onChange
|
|
16
|
+
export declare function PipelineRuntimeSelector({ options, value, onChange }: PipelineRuntimeSelectorProps): JSX.Element;
|
|
16
17
|
export {};
|
|
@@ -1,35 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* PipelineStep — single step card in the pipeline builder.
|
|
3
|
+
*
|
|
4
|
+
* Driven entirely by PipelineAddonSchema. No hardcoded addon names or models.
|
|
5
|
+
* Renders: colored left border, header with I/O class tags, expandable config
|
|
6
|
+
* (Model → Confidence), children recursively.
|
|
7
|
+
*/
|
|
8
|
+
import { type JSX } from "react";
|
|
9
|
+
import type { PipelineSlot, PipelineAddonSchema, ConfigField } from "@camstack/types";
|
|
2
10
|
export interface PipelineStepDisplayConfig {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
readonly addonId: string;
|
|
12
|
+
readonly addonName: string;
|
|
13
|
+
readonly slot: PipelineSlot;
|
|
14
|
+
readonly inputClasses: readonly string[];
|
|
15
|
+
readonly outputClasses: readonly string[];
|
|
16
|
+
readonly enabled: boolean;
|
|
17
|
+
readonly modelId: string;
|
|
18
|
+
readonly children: readonly PipelineStepDisplayConfig[];
|
|
19
|
+
/** UI grouping — steps with the same group are displayed under one heading */
|
|
20
|
+
readonly group?: string;
|
|
21
|
+
/** Current values for the step's configSchema fields */
|
|
22
|
+
readonly settings?: Record<string, unknown>;
|
|
15
23
|
}
|
|
16
24
|
export interface PipelineStepProps {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
readonly step: PipelineStepDisplayConfig;
|
|
26
|
+
readonly schema: PipelineAddonSchema | null;
|
|
27
|
+
/** Full schema map so children can look up their own schema */
|
|
28
|
+
readonly allSchemas: ReadonlyMap<string, PipelineAddonSchema>;
|
|
29
|
+
readonly depth?: number;
|
|
30
|
+
readonly onChange: (updated: PipelineStepDisplayConfig) => void;
|
|
31
|
+
readonly onDelete?: (addonId: string) => void;
|
|
32
|
+
readonly readOnly?: boolean;
|
|
25
33
|
}
|
|
26
|
-
export declare function PipelineStep({ step, schema, allSchemas: _allSchemas, depth: _depth, onChange, onDelete: _onDelete, readOnly
|
|
27
|
-
export declare function ConfigSchemaField({ field, allFields, step, disabled, onChange, hideModelBoundSourceRow
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}):
|
|
34
|
+
export declare function PipelineStep({ step, schema, allSchemas: _allSchemas, depth: _depth, onChange, onDelete: _onDelete, readOnly }: PipelineStepProps): JSX.Element | null;
|
|
35
|
+
export declare function ConfigSchemaField({ field, allFields, step, disabled, onChange, hideModelBoundSourceRow }: {
|
|
36
|
+
field: ConfigField;
|
|
37
|
+
allFields: readonly ConfigField[];
|
|
38
|
+
step: PipelineStepDisplayConfig;
|
|
39
|
+
disabled: boolean;
|
|
40
|
+
onChange: (updated: PipelineStepDisplayConfig) => void;
|
|
41
|
+
/** A layered editor draws its own provenance (D754) — see `ModelBoundSlider.hideSourceRow`. */
|
|
42
|
+
hideModelBoundSourceRow?: boolean;
|
|
43
|
+
}): JSX.Element | null;
|
|
@@ -1,29 +1,30 @@
|
|
|
1
|
+
import { type JSX } from "react";
|
|
1
2
|
export interface PlaceholderChip {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
/** Exact text inserted at the cursor. */
|
|
6
|
+
readonly token: string;
|
|
6
7
|
}
|
|
7
8
|
export interface PlaceholderChipFieldProps {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
readonly label: string;
|
|
10
|
+
readonly value: string;
|
|
11
|
+
readonly onChange: (next: string) => void;
|
|
12
|
+
/**
|
|
13
|
+
* `undefined` = catalog has not answered: no chips, no warning (D315).
|
|
14
|
+
* `[]` = answered empty.
|
|
15
|
+
*/
|
|
16
|
+
readonly chips: readonly PlaceholderChip[] | undefined;
|
|
17
|
+
readonly multiline?: boolean;
|
|
18
|
+
readonly placeholder?: string;
|
|
19
|
+
readonly disabled?: boolean;
|
|
20
|
+
readonly testId: string;
|
|
21
|
+
readonly maxLength?: number;
|
|
21
22
|
}
|
|
22
23
|
export declare function insertAtSelection(value: string, selection: {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
readonly start: number;
|
|
25
|
+
readonly end: number;
|
|
25
26
|
}, token: string): {
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
readonly value: string;
|
|
28
|
+
readonly cursor: number;
|
|
28
29
|
};
|
|
29
|
-
export declare function PlaceholderChipField({ label, value, onChange, chips, multiline, placeholder, disabled, testId, maxLength
|
|
30
|
+
export declare function PlaceholderChipField({ label, value, onChange, chips, multiline, placeholder, disabled, testId, maxLength }: PlaceholderChipFieldProps): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { PlaceholderChipField, insertAtSelection, type PlaceholderChip, type PlaceholderChipFieldProps
|
|
1
|
+
export { PlaceholderChipField, insertAtSelection, type PlaceholderChip, type PlaceholderChipFieldProps } from "./PlaceholderChipField.js";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ProviderType } from
|
|
1
|
+
import type { ProviderType } from "../icons";
|
|
2
|
+
import { type JSX } from "react";
|
|
2
3
|
export interface ProviderBadgeProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
provider: ProviderType;
|
|
5
|
+
showLabel?: boolean;
|
|
6
|
+
className?: string;
|
|
6
7
|
}
|
|
7
|
-
export declare function ProviderBadge({ provider, showLabel, className }: ProviderBadgeProps):
|
|
8
|
+
export declare function ProviderBadge({ provider, showLabel, className }: ProviderBadgeProps): JSX.Element;
|
|
@@ -1,20 +1,40 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* PTZOverlay — pan / tilt / zoom controls.
|
|
3
|
+
*
|
|
4
|
+
* Two visual variants driven by `mode`:
|
|
5
|
+
* - `'overlay'` (default): translucent dark pill positioned bottom-
|
|
6
|
+
* right of the camera viewport. Used as `extraOverlay` on the
|
|
7
|
+
* `CameraStreamPlayer` so operators can drive PTZ without leaving
|
|
8
|
+
* the live view. Opaque background + subtle ring keeps the d-pad
|
|
9
|
+
* legible against any frame.
|
|
10
|
+
* - `'panel'`: full-bleed inside a host container (e.g. the floating
|
|
11
|
+
* PTZ panel in DeviceDetail). No absolute positioning, no inner
|
|
12
|
+
* wrapper card — the host's chrome is the only frame. Inherits the
|
|
13
|
+
* surrounding `bg-surface` so the dark theme reads consistently
|
|
14
|
+
* instead of the previous always-dark-bubble look.
|
|
15
|
+
*
|
|
16
|
+
* Interaction model is identical across modes: short tap fires a
|
|
17
|
+
* discrete pulse (`move`); long press starts continuous motion until
|
|
18
|
+
* release (`startContinuous` + `stopContinuous` on pointer up).
|
|
19
|
+
*/
|
|
20
|
+
import { type JSX } from "react";
|
|
21
|
+
import type { UsePTZResult } from "../hooks/use-ptz";
|
|
2
22
|
export interface PTZOverlayProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
/** Result of `usePTZ(trpc, deviceId)`. */
|
|
24
|
+
readonly controls: UsePTZResult;
|
|
25
|
+
/**
|
|
26
|
+
* Visual variant. `'overlay'` floats over the camera viewport with
|
|
27
|
+
* a translucent dark pill; `'panel'` lays out flat inside its
|
|
28
|
+
* container with no inner chrome — use that when hosting inside a
|
|
29
|
+
* floating panel that already provides the dark surface.
|
|
30
|
+
*/
|
|
31
|
+
readonly mode?: "overlay" | "panel";
|
|
32
|
+
/** Show the presets dropdown (default: true when presets > 0). */
|
|
33
|
+
readonly showPresets?: boolean;
|
|
34
|
+
/** Show the zoom buttons (default: true). */
|
|
35
|
+
readonly showZoom?: boolean;
|
|
36
|
+
/** Show the home button (default: true). */
|
|
37
|
+
readonly showHome?: boolean;
|
|
38
|
+
readonly className?: string;
|
|
19
39
|
}
|
|
20
|
-
export declare function PTZOverlay({ controls, mode, showPresets, showZoom, showHome, className
|
|
40
|
+
export declare function PTZOverlay({ controls, mode, showPresets, showZoom, showHome, className }: PTZOverlayProps): JSX.Element;
|
|
@@ -1,12 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* `QrCode` — renders a scannable QR code from an arbitrary string.
|
|
3
|
+
*
|
|
4
|
+
* Browser-pure: wraps `qrcode.react`'s synchronous SVG renderer.
|
|
5
|
+
* The `qrcode` npm package is intentionally NOT used — it is a
|
|
6
|
+
* CommonJS, Node-targeted library, and bundling it into ui-library
|
|
7
|
+
* dragged `node:module` / `createRequire` into the browser output,
|
|
8
|
+
* breaking every downstream browser build that consumes ui-library.
|
|
9
|
+
*
|
|
10
|
+
* Addon-agnostic — used by the generic device-export panel to render a
|
|
11
|
+
* HAP `X-HM://…` setup URI, a pairing URL, or any other scannable
|
|
12
|
+
* string an export addon surfaces via the `device-export` cap's
|
|
13
|
+
* `setup.qr` field.
|
|
14
|
+
*/
|
|
15
|
+
import { type ReactElement } from "react";
|
|
2
16
|
export interface QrCodeProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
17
|
+
/** The string encoded into the QR. Empty/whitespace renders nothing. */
|
|
18
|
+
readonly value: string;
|
|
19
|
+
/** Rendered width/height in CSS pixels. Defaults to 192. */
|
|
20
|
+
readonly size?: number;
|
|
21
|
+
/** Extra classes merged onto the wrapper. */
|
|
22
|
+
readonly className?: string;
|
|
23
|
+
/** Accessible label for the generated QR. */
|
|
24
|
+
readonly alt?: string;
|
|
11
25
|
}
|
|
12
|
-
export declare function QrCode({ value, size, className, alt
|
|
26
|
+
export declare function QrCode({ value, size, className, alt }: QrCodeProps): ReactElement | null;
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
* Reconnect schedule — the stream player's auto-retry policy as a pure
|
|
3
|
+
* decision function.
|
|
4
|
+
*
|
|
5
|
+
* Why it exists as a module: the inline version had two silent behaviours the
|
|
6
|
+
* operator ran into — exhaustion returned without a trace (the retry loop
|
|
7
|
+
* just stopped, so a camera stayed dark while looking busy), and no attempt
|
|
8
|
+
* was observable anywhere. Attempt in, action out: the component executes the
|
|
9
|
+
* action (timer + callbacks) and can log/report every step; the backoff shape
|
|
10
|
+
* and the exhaustion edge are pinned by tests.
|
|
11
|
+
*/
|
|
12
12
|
export interface ReconnectPolicy {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
readonly baseDelayMs: number;
|
|
14
|
+
readonly maxDelayMs: number;
|
|
15
|
+
readonly maxAttempts: number;
|
|
16
16
|
}
|
|
17
17
|
/** Exponential backoff, ±20% jitter, bounded attempts. The bound exists so a
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
* permanently-dead stream stops consuming signaling; the EXHAUSTED action is
|
|
19
|
+
* the caller's cue to surface a hard error (never to go silent). */
|
|
20
20
|
export declare const RECONNECT_POLICY: ReconnectPolicy;
|
|
21
21
|
export type ReconnectAction = {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
readonly kind: "retry";
|
|
23
|
+
readonly delayMs: number;
|
|
24
24
|
} | {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
readonly kind: "exhausted";
|
|
26
|
+
readonly attempts: number;
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
* Decide what attempt number `attempt` (0-based) should do. `random` is the
|
|
30
|
+
* jitter source (unit interval), injectable for tests.
|
|
31
|
+
*/
|
|
32
32
|
export declare function nextReconnectAction(attempt: number, random?: () => number): ReconnectAction;
|
|
@@ -1,115 +1,115 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
2
|
+
* resolve-step-default-model — the ONE step-model primitive every admin-ui
|
|
3
|
+
* surface that shows or edits a step's model consumes. Two questions, two
|
|
4
|
+
* exported answers, no local copies:
|
|
5
|
+
*
|
|
6
|
+
* - which models may this step run on this device? → `stepModelOptions`
|
|
7
|
+
* (and its boolean form `stepHasModelForFormat`);
|
|
8
|
+
* - which model does it ACTUALLY run right now? → `resolveEffectiveStepModel`
|
|
9
|
+
* (override → base → `resolveEffectiveDefaultModel`).
|
|
10
|
+
*
|
|
11
|
+
* Consumers: `AgentStepEditor` (the drawer picker), `NodeDeviceStepsMatrix`
|
|
12
|
+
* (per-node base), `DeviceStepOverrideTab` (per-camera override), the Models
|
|
13
|
+
* page and `pipeline-mirror`. They are views of the same decision and drifted
|
|
14
|
+
* apart once already — see `resolveEffectiveDefaultModel` for the bite.
|
|
15
|
+
* `scripts/check-step-model-single-owner.ts` is what stops the next copy.
|
|
16
|
+
*
|
|
17
|
+
* The rest of this file is the pure, UI-side mirror of the runner's
|
|
18
|
+
* `getDefaultModelForFormat` (`@camstack/addon-pipeline`
|
|
19
|
+
* `registry/step-definitions.ts`). The steps×device matrices need to show, per
|
|
20
|
+
* cell, the model a STEP would actually run on a device's engine format — but
|
|
21
|
+
* that resolver lives in a self-contained addon and can't be imported here, so
|
|
22
|
+
* this replicates the exact same decision from the `getSchema` catalog the
|
|
23
|
+
* matrix already fetches.
|
|
24
|
+
*
|
|
25
|
+
* Resolution order (identical to the runner):
|
|
26
|
+
* 1. the step's declared per-format default (`defaultModelIdByFormat[format]`)
|
|
27
|
+
* when it has a build for `format`;
|
|
28
|
+
* 2. the step's `defaultModelId` when it has a build for `format`;
|
|
29
|
+
* 3. otherwise the smallest NON-legacy model that has a `format` build;
|
|
30
|
+
* 4. otherwise `defaultModelId` unchanged (no compatible build — the caller
|
|
31
|
+
* renders a "⚠ skip"/N-A cell, never this value).
|
|
32
|
+
*
|
|
33
|
+
* This is the STEP's default — NOT the device's `defaultModelId`, which is the
|
|
34
|
+
* per-device elected OBJECT-DETECTION model and is only correct for the
|
|
35
|
+
* detector row. Every other step (face detection, embedding, plate OCR, …) must
|
|
36
|
+
* resolve its own catalog default here.
|
|
37
|
+
*/
|
|
38
38
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
* The minimal per-step model catalog this resolver reads. `PipelineAddonSchema`
|
|
40
|
+
* (from `pipelineExecutor.getSchema`) is structurally assignable to it — its
|
|
41
|
+
* `formats` values carry `{ downloaded, sizeMB }`, a superset of `{ sizeMB }`.
|
|
42
|
+
*/
|
|
43
43
|
export interface StepModelCatalog {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
readonly models: readonly {
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly formats: Readonly<Record<string, {
|
|
47
|
+
readonly sizeMB: number;
|
|
48
|
+
}>>;
|
|
49
|
+
readonly legacy?: boolean;
|
|
50
|
+
}[];
|
|
51
|
+
readonly defaultModelId: string;
|
|
52
|
+
readonly defaultModelIdByFormat?: Readonly<Record<string, string>>;
|
|
53
53
|
}
|
|
54
54
|
export declare function resolveStepDefaultModel(catalog: StepModelCatalog, format: string): string;
|
|
55
55
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
* The model a matrix CELL shows as this step's effective default on `device`.
|
|
57
|
+
*
|
|
58
|
+
* The device's ELECTED model (`device.defaultModelId`, the per-device
|
|
59
|
+
* object-detection election) applies ONLY when this step's catalog actually
|
|
60
|
+
* contains it — `slot === 'detector'` alone is too wide, because
|
|
61
|
+
* package-detection shares the detector slot with the root step. Bit live
|
|
62
|
+
* 2026-08-08: rfdetr-package became the package step's default and every
|
|
63
|
+
* matrix cell still showed the device's yolo as the "selected" model, because
|
|
64
|
+
* the election was applied slot-wide. Membership is the principled gate: an
|
|
65
|
+
* elected model this step cannot run is never displayed for it.
|
|
66
|
+
*/
|
|
67
67
|
export declare function resolveEffectiveDefaultModel(catalog: StepModelCatalog & {
|
|
68
|
-
|
|
68
|
+
readonly slot?: string;
|
|
69
69
|
}, device: {
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
readonly format?: string;
|
|
71
|
+
readonly defaultModelId?: string;
|
|
72
72
|
} | null | undefined): string | undefined;
|
|
73
73
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
* The minimal model shape option-derivation needs: a per-format build map.
|
|
75
|
+
* `PipelineAddonSchema['models'][number]` is structurally assignable, and the
|
|
76
|
+
* generic below returns the CALLER's element type so a picker still receives
|
|
77
|
+
* `name` / `group` / `sizeMB`.
|
|
78
|
+
*/
|
|
79
79
|
export interface StepModelFormatBuilds {
|
|
80
|
-
|
|
80
|
+
readonly formats: Readonly<Record<string, unknown>>;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
* The models a step may run on an engine `format` — the ONE derivation of the
|
|
84
|
+
* option list. An unknown format yields NOTHING rather than everything: a
|
|
85
|
+
* picker that offered a model with no build for the device would write a pin
|
|
86
|
+
* the runner cannot honour.
|
|
87
|
+
*/
|
|
88
88
|
export declare function stepModelOptions<M extends StepModelFormatBuilds>(models: readonly M[], format: string | undefined): readonly M[];
|
|
89
89
|
/** Can this step run on `format` at all? (`false` ⇒ the caller renders "⚠ skip"/"—".) */
|
|
90
90
|
export declare function stepHasModelForFormat(models: readonly StepModelFormatBuilds[], format: string | undefined): boolean;
|
|
91
91
|
/** The layers a surface may pin, outermost first. Both are optional per surface. */
|
|
92
92
|
export interface EffectiveStepModelInput {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
93
|
+
readonly catalog: StepModelCatalog & {
|
|
94
|
+
readonly slot?: string;
|
|
95
|
+
};
|
|
96
|
+
readonly device: {
|
|
97
|
+
readonly format?: string;
|
|
98
|
+
readonly defaultModelId?: string;
|
|
99
|
+
} | null | undefined;
|
|
100
|
+
/** Per-camera override (`stepOverridesByDevice[node][deviceKey][step].modelId`). */
|
|
101
|
+
readonly override?: string | undefined;
|
|
102
|
+
/** Per-(node,device) base (`inferenceDevices[node][deviceKey].steps[step].modelId`). */
|
|
103
|
+
readonly base?: string | undefined;
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
106
|
+
* The model a step ACTUALLY runs for a (device, camera) — the whole effective
|
|
107
|
+
* chain in one place: per-camera override → per-(node,device) base → the
|
|
108
|
+
* resolved default (`resolveEffectiveDefaultModel`).
|
|
109
|
+
*
|
|
110
|
+
* Every surface calls this: the matrix cell, and the drawer's picker seed. They
|
|
111
|
+
* are the same number, and the only way to keep them the same number is to have
|
|
112
|
+
* one function produce it. A surface that owns fewer layers omits them (the node
|
|
113
|
+
* matrix passes no `override`) — it does NOT get its own resolver.
|
|
114
|
+
*/
|
|
115
115
|
export declare function resolveEffectiveStepModel(input: EffectiveStepModelInput): string | undefined;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { type JSX } from "react";
|
|
1
2
|
export interface ResponseLogProps {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
readonly data: unknown;
|
|
4
|
+
readonly label?: string;
|
|
5
|
+
readonly className?: string;
|
|
5
6
|
}
|
|
6
7
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare function ResponseLog({ data, label, className }: ResponseLogProps):
|
|
8
|
+
* Expandable log box showing the raw JSON response from a pipeline run.
|
|
9
|
+
*/
|
|
10
|
+
export declare function ResponseLog({ data, label, className }: ResponseLogProps): JSX.Element | null;
|
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* "Use the root model" — the step editor's control for a step the camera's
|
|
3
|
+
* ROOT detection model can supply (D730).
|
|
4
|
+
*
|
|
5
|
+
* The flag (`useRootModel`, in the step's own settings) is an operator INTENT
|
|
6
|
+
* kept beside the step's model: checking it never changes the model, and a
|
|
7
|
+
* root that cannot supply the step leaves the step running its own model while
|
|
8
|
+
* the flag waits, inactive, for a root that can. Whether it is in force is
|
|
9
|
+
* `resolveRootSupply` — the same function the runner decides with.
|
|
10
|
+
*/
|
|
11
|
+
import type { JSX } from "react";
|
|
12
|
+
import { type RootStepSupply, type RootSupplyState } from "@camstack/types";
|
|
2
13
|
/** The root model the edited column runs, and what it can supply. */
|
|
3
14
|
export interface RootModelInfo {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
15
|
+
readonly modelId: string;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly supplies: readonly RootStepSupply[];
|
|
7
18
|
}
|
|
8
19
|
/** The editor's view of the flag for one step, or `null` for a step no root can supply. */
|
|
9
20
|
export declare function rootSourceState(stepId: string, settings: Readonly<Record<string, unknown>> | undefined, rootModel: RootModelInfo | undefined): RootSupplyState | null;
|
|
10
21
|
/** The settings bag with the flag set — every other key untouched. */
|
|
11
22
|
export declare function withUseRootModel(settings: Readonly<Record<string, unknown>> | undefined, value: boolean): Readonly<Record<string, unknown>>;
|
|
12
23
|
export interface RootModelSourceControlProps {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
readonly stepId: string;
|
|
25
|
+
readonly settings: Readonly<Record<string, unknown>> | undefined;
|
|
26
|
+
readonly rootModel: RootModelInfo | undefined;
|
|
27
|
+
readonly disabled?: boolean;
|
|
28
|
+
readonly onChange: (useRootModel: boolean) => void;
|
|
18
29
|
}
|
|
19
|
-
export declare function RootModelSourceControl({ stepId, settings, rootModel, disabled, onChange
|
|
30
|
+
export declare function RootModelSourceControl({ stepId, settings, rootModel, disabled, onChange }: RootModelSourceControlProps): JSX.Element | null;
|