@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.
Files changed (375) hide show
  1. package/dist/composites/accelerator-label.d.ts +9 -9
  2. package/dist/composites/adaptive-downlink.d.ts +141 -143
  3. package/dist/composites/addon-global-settings-form.d.ts +73 -60
  4. package/dist/composites/addon-page-props.d.ts +34 -10
  5. package/dist/composites/agent-step-editor.d.ts +48 -47
  6. package/dist/composites/app-shell/app-shell.d.ts +17 -17
  7. package/dist/composites/app-shell/index.d.ts +3 -3
  8. package/dist/composites/app-shell/sidebar-item.d.ts +9 -8
  9. package/dist/composites/app-shell/sidebar.d.ts +10 -10
  10. package/dist/composites/audio-classification-list.d.ts +16 -15
  11. package/dist/composites/audio-level-waveform.d.ts +31 -30
  12. package/dist/composites/audio-waveform.d.ts +18 -17
  13. package/dist/composites/battery-badge.d.ts +27 -13
  14. package/dist/composites/breadcrumb.d.ts +21 -21
  15. package/dist/composites/camera-stream-player.d.ts +309 -309
  16. package/dist/composites/cap-settings/AutotrackSection.d.ts +19 -2
  17. package/dist/composites/cap-settings/CameraGridLayoutEditor.d.ts +24 -2
  18. package/dist/composites/cap-settings/ConsumablesPanel.d.ts +21 -2
  19. package/dist/composites/cap-settings/CoverageTrack.d.ts +21 -20
  20. package/dist/composites/cap-settings/EventBucketStrip.d.ts +21 -20
  21. package/dist/composites/cap-settings/EventHeatmap.d.ts +8 -7
  22. package/dist/composites/cap-settings/HomePresetPicker.d.ts +2 -2
  23. package/dist/composites/cap-settings/MaskShapeCanvas.d.ts +143 -41
  24. package/dist/composites/cap-settings/MotionZonesSettings.d.ts +41 -2
  25. package/dist/composites/cap-settings/NavigationPanel.d.ts +14 -2
  26. package/dist/composites/cap-settings/PrivacyMaskSettings.d.ts +3 -2
  27. package/dist/composites/cap-settings/PtzPanel.d.ts +15 -2
  28. package/dist/composites/cap-settings/RecordingBandsEditor.d.ts +33 -32
  29. package/dist/composites/cap-settings/RecordingPanel.d.ts +3 -2
  30. package/dist/composites/cap-settings/RecordingSettings.d.ts +11 -10
  31. package/dist/composites/cap-settings/RecordingTimeline.d.ts +3 -2
  32. package/dist/composites/cap-settings/SceneMonitorEditor.d.ts +3 -51
  33. package/dist/composites/cap-settings/SceneReferenceGallery.d.ts +62 -23
  34. package/dist/composites/cap-settings/SceneSettingsForm.d.ts +52 -16
  35. package/dist/composites/cap-settings/TimelineControls.d.ts +21 -20
  36. package/dist/composites/cap-settings/camera-grid-layout.d.ts +95 -95
  37. package/dist/composites/cap-settings/event-thumb.d.ts +9 -8
  38. package/dist/composites/cap-settings/index.d.ts +20 -20
  39. package/dist/composites/cap-settings/privacy-mask-audio.d.ts +47 -47
  40. package/dist/composites/cap-settings/recording-config-form.d.ts +25 -25
  41. package/dist/composites/cap-settings/recording-spans.d.ts +14 -14
  42. package/dist/composites/cap-settings/recording-timeline-model.d.ts +57 -57
  43. package/dist/composites/cap-settings/scene-monitor-copy.d.ts +58 -49
  44. package/dist/composites/client-network-sample.d.ts +41 -41
  45. package/dist/composites/clips/ClipBandBar.d.ts +44 -14
  46. package/dist/composites/clips/ClipPanel.d.ts +30 -6
  47. package/dist/composites/clips/ClipTile.d.ts +26 -5
  48. package/dist/composites/clips/ClipsSection.d.ts +107 -2
  49. package/dist/composites/clips/clip-band.d.ts +72 -38
  50. package/dist/composites/clips/clip-day-window.d.ts +7 -30
  51. package/dist/composites/clips/clip-source-state.d.ts +55 -26
  52. package/dist/composites/clips/clip-still-retry.d.ts +39 -39
  53. package/dist/composites/clips/clip-thumbnail-fetch.d.ts +9 -9
  54. package/dist/composites/clips/clip-tile-media.d.ts +64 -32
  55. package/dist/composites/clips/clip-view-state.d.ts +76 -46
  56. package/dist/composites/code-block.d.ts +5 -4
  57. package/dist/composites/config-form-builder.d.ts +14 -13
  58. package/dist/composites/config-form-field.d.ts +63 -62
  59. package/dist/composites/config-icon-field.d.ts +10 -9
  60. package/dist/composites/config-secret-field.d.ts +51 -27
  61. package/dist/composites/confirm-action-button.d.ts +52 -39
  62. package/dist/composites/confirm-dialog.d.ts +110 -48
  63. package/dist/composites/copy-button.d.ts +25 -19
  64. package/dist/composites/data-table/data-table-header.d.ts +8 -7
  65. package/dist/composites/data-table/data-table-pagination.d.ts +7 -6
  66. package/dist/composites/data-table/data-table-row.d.ts +8 -7
  67. package/dist/composites/data-table/data-table.d.ts +3 -2
  68. package/dist/composites/data-table/index.d.ts +2 -2
  69. package/dist/composites/data-table/types.d.ts +29 -29
  70. package/dist/composites/data-table-filter-bar.d.ts +30 -29
  71. package/dist/composites/data-table-filter.d.ts +34 -34
  72. package/dist/composites/data-table-layout.d.ts +24 -24
  73. package/dist/composites/data-table-pager.d.ts +5 -5
  74. package/dist/composites/data-table-pagination.d.ts +23 -23
  75. package/dist/composites/data-table-selection.d.ts +10 -10
  76. package/dist/composites/data-table.d.ts +167 -118
  77. package/dist/composites/detection-canvas.d.ts +34 -25
  78. package/dist/composites/detection-colors.d.ts +9 -9
  79. package/dist/composites/detection-overlay.d.ts +33 -32
  80. package/dist/composites/detection-result-tree.d.ts +22 -9
  81. package/dist/composites/dev-shell.d.ts +15 -14
  82. package/dist/composites/device-activity-panel.d.ts +37 -31
  83. package/dist/composites/device-card.d.ts +32 -32
  84. package/dist/composites/device-controls/ac-panel.d.ts +2 -2
  85. package/dist/composites/device-controls/alarm-hero-card.d.ts +42 -42
  86. package/dist/composites/device-controls/atoms.d.ts +50 -50
  87. package/dist/composites/device-controls/brightness-panel.d.ts +3 -3
  88. package/dist/composites/device-controls/button-control.d.ts +14 -14
  89. package/dist/composites/device-controls/climate-panel.d.ts +12 -12
  90. package/dist/composites/device-controls/container-primary-hero.d.ts +33 -16
  91. package/dist/composites/device-controls/container-primary.d.ts +68 -39
  92. package/dist/composites/device-controls/control-panel.d.ts +4 -4
  93. package/dist/composites/device-controls/control-registry.d.ts +81 -70
  94. package/dist/composites/device-controls/cover-hero-card.d.ts +26 -26
  95. package/dist/composites/device-controls/cover-inline.d.ts +20 -20
  96. package/dist/composites/device-controls/cover-panel.d.ts +2 -2
  97. package/dist/composites/device-controls/dummy-hero-card.d.ts +2 -2
  98. package/dist/composites/device-controls/fan-hero-card.d.ts +20 -20
  99. package/dist/composites/device-controls/fan-panel.d.ts +3 -3
  100. package/dist/composites/device-controls/humidifier-control.d.ts +46 -29
  101. package/dist/composites/device-controls/image-control.d.ts +41 -27
  102. package/dist/composites/device-controls/index.d.ts +34 -34
  103. package/dist/composites/device-controls/lawn-mower-control.d.ts +30 -16
  104. package/dist/composites/device-controls/light-hero-card.d.ts +15 -15
  105. package/dist/composites/device-controls/lock-hero-card.d.ts +14 -14
  106. package/dist/composites/device-controls/lock-panel.d.ts +3 -3
  107. package/dist/composites/device-controls/media-player-hero-card.d.ts +16 -16
  108. package/dist/composites/device-controls/media-player-panel.d.ts +7 -7
  109. package/dist/composites/device-controls/offline-badge.d.ts +23 -8
  110. package/dist/composites/device-controls/panel-controls.d.ts +39 -20
  111. package/dist/composites/device-controls/pet-feeder-panel.d.ts +27 -9
  112. package/dist/composites/device-controls/popover-row-action.d.ts +18 -6
  113. package/dist/composites/device-controls/primary-child-picker.d.ts +31 -15
  114. package/dist/composites/device-controls/primary-child.d.ts +14 -25
  115. package/dist/composites/device-controls/radial-gauge.d.ts +17 -17
  116. package/dist/composites/device-controls/script-automation-controls.d.ts +9 -9
  117. package/dist/composites/device-controls/sensor-hero-card.d.ts +26 -8
  118. package/dist/composites/device-controls/sensor-inline-control.d.ts +21 -9
  119. package/dist/composites/device-controls/sensor-value-atom.d.ts +97 -76
  120. package/dist/composites/device-controls/switch-hero-card.d.ts +11 -11
  121. package/dist/composites/device-controls/switch-panel.d.ts +2 -2
  122. package/dist/composites/device-controls/tap-toggle.d.ts +13 -13
  123. package/dist/composites/device-controls/thermostat-hero-card.d.ts +16 -16
  124. package/dist/composites/device-controls/types.d.ts +11 -11
  125. package/dist/composites/device-controls/update-control.d.ts +20 -7
  126. package/dist/composites/device-controls/vacuum-control.d.ts +41 -25
  127. package/dist/composites/device-controls/valve-control.d.ts +51 -35
  128. package/dist/composites/device-controls/water-heater-control.d.ts +48 -31
  129. package/dist/composites/device-controls/weather-control.d.ts +46 -28
  130. package/dist/composites/device-export-panel.d.ts +34 -34
  131. package/dist/composites/device-grid.d.ts +10 -10
  132. package/dist/composites/device-item/actions.d.ts +40 -18
  133. package/dist/composites/device-item/admin-link-quick-action.d.ts +66 -26
  134. package/dist/composites/device-item/child-layout.d.ts +43 -26
  135. package/dist/composites/device-item/child-section-accordion.d.ts +20 -6
  136. package/dist/composites/device-item/children-accordion.d.ts +11 -11
  137. package/dist/composites/device-item/container-children-context.d.ts +28 -11
  138. package/dist/composites/device-item/device-delete-action.d.ts +23 -5
  139. package/dist/composites/device-item/features.d.ts +33 -15
  140. package/dist/composites/device-item/header.d.ts +53 -31
  141. package/dist/composites/device-item/helpers.d.ts +291 -274
  142. package/dist/composites/device-item/index.d.ts +18 -9
  143. package/dist/composites/device-item/preview.d.ts +41 -21
  144. package/dist/composites/device-item/quick-detail-action.d.ts +4 -4
  145. package/dist/composites/device-item/reboot-quick-action.d.ts +28 -7
  146. package/dist/composites/device-item/role-display-defaults-context.d.ts +28 -12
  147. package/dist/composites/device-item/status-dot.d.ts +24 -6
  148. package/dist/composites/device-list/batch-actions-bar.d.ts +23 -12
  149. package/dist/composites/device-list/batch-toolbar.d.ts +13 -13
  150. package/dist/composites/device-list/columns.d.ts +108 -108
  151. package/dist/composites/device-list/device-integration.d.ts +48 -58
  152. package/dist/composites/device-list/device-mode.d.ts +121 -121
  153. package/dist/composites/device-list/empty-state.d.ts +14 -3
  154. package/dist/composites/device-list/filter-chips.d.ts +42 -29
  155. package/dist/composites/device-list/fuzzy-match.d.ts +22 -22
  156. package/dist/composites/device-list/generic-mode.d.ts +88 -88
  157. package/dist/composites/device-list/group.d.ts +62 -35
  158. package/dist/composites/device-list/hardware-cell.d.ts +14 -3
  159. package/dist/composites/device-list/hardware.d.ts +29 -11
  160. package/dist/composites/device-list/icon-action.d.ts +27 -15
  161. package/dist/composites/device-list/index.d.ts +46 -23
  162. package/dist/composites/device-list/multi-select.d.ts +17 -17
  163. package/dist/composites/device-list/page-size-select.d.ts +13 -7
  164. package/dist/composites/device-list/pagination.d.ts +19 -12
  165. package/dist/composites/device-list/sort.d.ts +28 -15
  166. package/dist/composites/device-list/sortable-header.d.ts +20 -7
  167. package/dist/composites/device-list/table-layout.d.ts +44 -44
  168. package/dist/composites/device-list/type-filter.d.ts +16 -16
  169. package/dist/composites/device-list/url-state.d.ts +35 -35
  170. package/dist/composites/device-meta.d.ts +43 -43
  171. package/dist/composites/device-picker/DevicePicker.d.ts +72 -33
  172. package/dist/composites/device-picker/SelectedChip.d.ts +10 -9
  173. package/dist/composites/device-picker/device-filter-bar.d.ts +19 -18
  174. package/dist/composites/device-picker/device-fleet-view.d.ts +11 -3
  175. package/dist/composites/device-picker/device-parent.d.ts +27 -27
  176. package/dist/composites/device-picker/device-picker-grouping.d.ts +3 -3
  177. package/dist/composites/device-picker/device-picker-model.d.ts +140 -140
  178. package/dist/composites/device-picker/device-selection-rows.d.ts +31 -24
  179. package/dist/composites/device-picker/device-selection.d.ts +43 -43
  180. package/dist/composites/device-picker/index.d.ts +9 -9
  181. package/dist/composites/device-select-field.d.ts +17 -16
  182. package/dist/composites/device-select-filter.d.ts +78 -78
  183. package/dist/composites/device-selector-picker.d.ts +25 -25
  184. package/dist/composites/device-step-matrix.d.ts +54 -28
  185. package/dist/composites/discovery-panel.d.ts +22 -22
  186. package/dist/composites/doorbell-recent-panel.d.ts +9 -8
  187. package/dist/composites/empty-state.d.ts +8 -8
  188. package/dist/composites/error-box.d.ts +32 -17
  189. package/dist/composites/event-kind-visuals.d.ts +29 -18
  190. package/dist/composites/event-stream.d.ts +59 -42
  191. package/dist/composites/extensions/AssociationSlotCard.d.ts +45 -24
  192. package/dist/composites/extensions/ExtensionsPanel.d.ts +41 -18
  193. package/dist/composites/extensions/extensions-view-state.d.ts +71 -53
  194. package/dist/composites/filter-bar.d.ts +22 -21
  195. package/dist/composites/form-field.d.ts +9 -9
  196. package/dist/composites/format-state-value.d.ts +23 -51
  197. package/dist/composites/grouped-model-selector.d.ts +7 -6
  198. package/dist/composites/hls-quality.d.ts +26 -26
  199. package/dist/composites/hls-video.d.ts +62 -39
  200. package/dist/composites/hover-zoom-image.d.ts +35 -16
  201. package/dist/composites/icon-picker.d.ts +86 -50
  202. package/dist/composites/image-selector.d.ts +21 -20
  203. package/dist/composites/index.d.ts +204 -204
  204. package/dist/composites/inference-config-selector.d.ts +36 -35
  205. package/dist/composites/kebab-menu.d.ts +53 -35
  206. package/dist/composites/key-value-list.d.ts +14 -14
  207. package/dist/composites/log-stream-scroll.d.ts +24 -24
  208. package/dist/composites/log-stream.d.ts +81 -70
  209. package/dist/composites/login-form.d.ts +7 -6
  210. package/dist/composites/model-bound-slider.d.ts +46 -26
  211. package/dist/composites/model-picker.d.ts +20 -19
  212. package/dist/composites/mount-addon-page.d.ts +12 -12
  213. package/dist/composites/network-link-badge.d.ts +7 -6
  214. package/dist/composites/node-picker.d.ts +14 -13
  215. package/dist/composites/notification-targets-field.d.ts +76 -58
  216. package/dist/composites/notification-targets-options.d.ts +9 -6
  217. package/dist/composites/option-select/OptionSelect.d.ts +23 -22
  218. package/dist/composites/option-select/index.d.ts +4 -4
  219. package/dist/composites/option-select/option-select-model.d.ts +35 -35
  220. package/dist/composites/page-header.d.ts +6 -6
  221. package/dist/composites/peer-connection-config.d.ts +9 -9
  222. package/dist/composites/phase-icon.d.ts +10 -3
  223. package/dist/composites/pipeline-builder.d.ts +21 -13
  224. package/dist/composites/pipeline-matrix-shared.d.ts +159 -150
  225. package/dist/composites/pipeline-runtime-selector.d.ts +12 -11
  226. package/dist/composites/pipeline-step.d.ts +39 -31
  227. package/dist/composites/placeholder-field/PlaceholderChipField.d.ts +23 -22
  228. package/dist/composites/placeholder-field/index.d.ts +1 -1
  229. package/dist/composites/provider-badge.d.ts +6 -5
  230. package/dist/composites/ptz-overlay.d.ts +38 -18
  231. package/dist/composites/qr-code.d.ts +24 -10
  232. package/dist/composites/reconnect-schedule.d.ts +22 -22
  233. package/dist/composites/resolve-step-default-model.d.ts +94 -94
  234. package/dist/composites/response-log.d.ts +7 -6
  235. package/dist/composites/root-model-source.d.ts +21 -10
  236. package/dist/composites/scope-picker.d.ts +49 -25
  237. package/dist/composites/section-card.d.ts +19 -11
  238. package/dist/composites/setting-row.d.ts +39 -21
  239. package/dist/composites/snapshot-button.d.ts +23 -19
  240. package/dist/composites/sort-header-button.d.ts +25 -8
  241. package/dist/composites/stat-card.d.ts +20 -8
  242. package/dist/composites/state-values-stream.d.ts +49 -24
  243. package/dist/composites/status-badge.d.ts +10 -8
  244. package/dist/composites/step-inspector/gate-control.d.ts +13 -12
  245. package/dist/composites/step-inspector/index.d.ts +8 -8
  246. package/dist/composites/step-inspector/layered-settings-form.d.ts +41 -30
  247. package/dist/composites/step-inspector/segmented-choice.d.ts +8 -7
  248. package/dist/composites/step-inspector/setting-values.d.ts +13 -8
  249. package/dist/composites/step-inspector/step-detail-dock.d.ts +39 -23
  250. package/dist/composites/step-inspector/step-inspector-panel.d.ts +34 -28
  251. package/dist/composites/step-inspector/step-model-row.d.ts +29 -24
  252. package/dist/composites/step-inspector/step-search.d.ts +11 -11
  253. package/dist/composites/step-timings.d.ts +7 -6
  254. package/dist/composites/step-tree.d.ts +17 -12
  255. package/dist/composites/stream-broker-selector.d.ts +29 -8
  256. package/dist/composites/stream-debug/stream-debug-overlay.d.ts +40 -40
  257. package/dist/composites/stream-debug/webrtc-debug-stats.d.ts +144 -129
  258. package/dist/composites/stream-panel.d.ts +212 -201
  259. package/dist/composites/table-sort.d.ts +61 -61
  260. package/dist/composites/timezone-selector.d.ts +15 -13
  261. package/dist/composites/training/send-frame-to-training.d.ts +5 -4
  262. package/dist/composites/training/training-collection-picker.d.ts +4 -3
  263. package/dist/composites/training/training-refusal-text.d.ts +6 -6
  264. package/dist/composites/unit-picker/UnitPicker.d.ts +19 -14
  265. package/dist/composites/unit-picker/index.d.ts +1 -1
  266. package/dist/composites/use-data-table-filter.d.ts +19 -19
  267. package/dist/composites/version-badge.d.ts +19 -18
  268. package/dist/composites/webrtc-diagnostics/EndpointTestCard.d.ts +7 -7
  269. package/dist/composites/webrtc-diagnostics/HubSessionTestCard.d.ts +14 -14
  270. package/dist/composites/webrtc-diagnostics/RunReport.d.ts +10 -5
  271. package/dist/composites/webrtc-diagnostics/endpoint-probe.d.ts +41 -21
  272. package/dist/composites/webrtc-diagnostics/endpoint-test.d.ts +37 -32
  273. package/dist/composites/webrtc-diagnostics/format.d.ts +3 -3
  274. package/dist/composites/webrtc-diagnostics/ice-candidates.d.ts +49 -49
  275. package/dist/composites/webrtc-diagnostics/nat-mapping.d.ts +36 -36
  276. package/dist/composites/webrtc-diagnostics/session-run.d.ts +108 -95
  277. package/dist/composites/webrtc-diagnostics/session-verdict.d.ts +29 -20
  278. package/dist/composites/widget-panel.d.ts +23 -23
  279. package/dist/composites/widget-slot.d.ts +35 -17
  280. package/dist/contexts/custom-field-renderers.d.ts +53 -17
  281. package/dist/contexts/device-context.d.ts +32 -12
  282. package/dist/contexts/device-quick-detail.d.ts +13 -4
  283. package/dist/contexts/player-overlays.d.ts +82 -42
  284. package/dist/contexts/recorded-playback.d.ts +40 -18
  285. package/dist/contexts/system-context.d.ts +28 -13
  286. package/dist/contexts/vod-playback.d.ts +39 -22
  287. package/dist/contexts/widget-registry.d.ts +139 -102
  288. package/dist/contexts/zone-editing.d.ts +69 -46
  289. package/dist/generated/system-hooks.d.ts +17 -1
  290. package/dist/hooks/index.d.ts +43 -43
  291. package/dist/hooks/turn-server-cache.d.ts +69 -69
  292. package/dist/hooks/use-capability-presence.d.ts +65 -28
  293. package/dist/hooks/use-cluster-nodes.d.ts +54 -27
  294. package/dist/hooks/use-device-autotrack.d.ts +7 -7
  295. package/dist/hooks/use-device-battery.d.ts +24 -11
  296. package/dist/hooks/use-device-cap-slice.d.ts +15 -15
  297. package/dist/hooks/use-device-capability.d.ts +61 -27
  298. package/dist/hooks/use-device-detections.d.ts +32 -32
  299. package/dist/hooks/use-device-features.d.ts +18 -18
  300. package/dist/hooks/use-device-list-page-size.d.ts +19 -6
  301. package/dist/hooks/use-device-network-link.d.ts +15 -7
  302. package/dist/hooks/use-device-proxy.d.ts +98 -92
  303. package/dist/hooks/use-device-snapshot.d.ts +23 -23
  304. package/dist/hooks/use-device-webrtc.d.ts +211 -205
  305. package/dist/hooks/use-devices.d.ts +9 -9
  306. package/dist/hooks/use-doorbell-events.d.ts +13 -13
  307. package/dist/hooks/use-event-stream.d.ts +6 -3
  308. package/dist/hooks/use-is-mobile.d.ts +5 -5
  309. package/dist/hooks/use-live-buffer.d.ts +5 -5
  310. package/dist/hooks/use-live-event.d.ts +1 -1
  311. package/dist/hooks/use-navigation.d.ts +20 -20
  312. package/dist/hooks/use-optimistic-slice.d.ts +13 -13
  313. package/dist/hooks/use-persisted-page-size.d.ts +10 -10
  314. package/dist/hooks/use-ptz.d.ts +108 -108
  315. package/dist/hooks/use-stationary-overlay.d.ts +37 -37
  316. package/dist/hooks/use-system-query.d.ts +33 -10
  317. package/dist/hooks/use-url-query.d.ts +3 -3
  318. package/dist/icons/index.d.ts +2 -2
  319. package/dist/icons/provider-icons.d.ts +2 -2
  320. package/dist/icons/status-icons.d.ts +2 -2
  321. package/dist/index.cjs +123 -69
  322. package/dist/index.d.ts +31 -27
  323. package/dist/index.js +123 -69
  324. package/dist/lib/cap-error.d.ts +18 -39
  325. package/dist/lib/cn.d.ts +1 -1
  326. package/dist/lib/fleet-query-defaults.d.ts +68 -34
  327. package/dist/lib/format-control-datetime.d.ts +16 -16
  328. package/dist/lib/format-duration.d.ts +12 -12
  329. package/dist/lib/format-last-seen.d.ts +5 -18
  330. package/dist/lib/format-numeric.d.ts +7 -7
  331. package/dist/lib/hub-mount.d.ts +8 -42
  332. package/dist/lib/index.d.ts +21 -21
  333. package/dist/lib/phase-config.d.ts +24 -11
  334. package/dist/lib/pipeline-mirror.d.ts +16 -16
  335. package/dist/lib/recorded-control-protocol.d.ts +41 -43
  336. package/dist/lib/resolve-sensor-display.d.ts +36 -20
  337. package/dist/lib/responsive.d.ts +54 -54
  338. package/dist/lib/scrub-controller.d.ts +75 -78
  339. package/dist/lib/shared-context.d.ts +27 -2
  340. package/dist/lib/tailwind-variants.d.ts +20 -20
  341. package/dist/primitives/badge.d.ts +5 -10
  342. package/dist/primitives/bottom-sheet.d.ts +7 -7
  343. package/dist/primitives/button.d.ts +5 -9
  344. package/dist/primitives/card.d.ts +4 -8
  345. package/dist/primitives/checkbox.d.ts +3 -4
  346. package/dist/primitives/collapsible-card.d.ts +23 -13
  347. package/dist/primitives/dialog.d.ts +33 -59
  348. package/dist/primitives/dropdown.d.ts +13 -13
  349. package/dist/primitives/floating-panel.d.ts +41 -20
  350. package/dist/primitives/icon-button.d.ts +8 -12
  351. package/dist/primitives/index.d.ts +22 -22
  352. package/dist/primitives/input.d.ts +6 -16
  353. package/dist/primitives/label.d.ts +3 -4
  354. package/dist/primitives/mobile-drawer.d.ts +8 -8
  355. package/dist/primitives/password-input.d.ts +18 -18
  356. package/dist/primitives/popover.d.ts +7 -7
  357. package/dist/primitives/scroll-area.d.ts +3 -4
  358. package/dist/primitives/select.d.ts +20 -20
  359. package/dist/primitives/separator.d.ts +4 -8
  360. package/dist/primitives/skeleton.d.ts +3 -4
  361. package/dist/primitives/switch.d.ts +6 -6
  362. package/dist/primitives/tabs.d.ts +26 -26
  363. package/dist/primitives/tooltip.d.ts +12 -12
  364. package/dist/theme/create-theme.d.ts +1 -1
  365. package/dist/theme/defaults.d.ts +1 -1
  366. package/dist/theme/index.d.ts +6 -6
  367. package/dist/theme/theme-provider.d.ts +8 -7
  368. package/dist/theme/theme-to-css.d.ts +1 -1
  369. package/dist/theme/types.d.ts +98 -100
  370. package/dist/theme/use-theme-mode.d.ts +1 -1
  371. package/dist/trpc-react.d.ts +23 -3
  372. package/dist/widgets/host-widgets.d.ts +4 -4
  373. package/package.json +8 -4
  374. package/src/tailwind/camstack-theme.css +11 -0
  375. package/dist/composites/unit-picker/UnitPicker.spec.d.ts +0 -1
@@ -1,10 +1,13 @@
1
- import { OptionSelectOption } from './option-select/option-select-model';
1
+ /**
2
+ * Pure mapping helpers for notification-target OptionSelect options.
3
+ */
4
+ import type { OptionSelectOption } from "./option-select/option-select-model";
2
5
  export type NotificationTargetOption = {
3
- readonly id: string;
4
- readonly name: string;
5
- readonly enabled: boolean;
6
- readonly kind?: string;
7
- readonly addonId?: string;
6
+ readonly id: string;
7
+ readonly name: string;
8
+ readonly enabled: boolean;
9
+ readonly kind?: string;
10
+ readonly addonId?: string;
8
11
  };
9
12
  export declare function targetsToOptions(targets: readonly NotificationTargetOption[], kindIconUrls: ReadonlyMap<string, string>, noteIds: ReadonlySet<string> | undefined, noteLabel: string): readonly OptionSelectOption[];
10
13
  export declare function buildKindIconMap(rows: unknown): ReadonlyMap<string, string>;
@@ -1,30 +1,31 @@
1
- import { OptionSelectOption } from './option-select-model';
1
+ import { type JSX } from "react";
2
+ import type { OptionSelectOption } from "./option-select-model";
2
3
  type OptionSelectSharedProps = {
3
- readonly options: readonly OptionSelectOption[];
4
- readonly placeholder?: string;
5
- readonly searchable?: boolean;
6
- readonly disabled?: boolean;
7
- readonly emptyMessage?: string;
8
- readonly creatable?: boolean;
9
- readonly createLabel?: string;
10
- readonly onCreateRequest?: (draft: string) => void;
11
- readonly label?: string;
12
- readonly description?: string;
13
- readonly testId?: string;
14
- readonly optionTestIdPrefix?: string;
15
- readonly listboxId?: string;
4
+ readonly options: readonly OptionSelectOption[];
5
+ readonly placeholder?: string;
6
+ readonly searchable?: boolean;
7
+ readonly disabled?: boolean;
8
+ readonly emptyMessage?: string;
9
+ readonly creatable?: boolean;
10
+ readonly createLabel?: string;
11
+ readonly onCreateRequest?: (draft: string) => void;
12
+ readonly label?: string;
13
+ readonly description?: string;
14
+ readonly testId?: string;
15
+ readonly optionTestIdPrefix?: string;
16
+ readonly listboxId?: string;
16
17
  };
17
18
  export type OptionSelectSingleProps = OptionSelectSharedProps & {
18
- readonly mode: 'single';
19
- readonly value: string;
20
- readonly onChange: (next: string) => void;
19
+ readonly mode: "single";
20
+ readonly value: string;
21
+ readonly onChange: (next: string) => void;
21
22
  };
22
23
  export type OptionSelectMultiProps = OptionSelectSharedProps & {
23
- readonly mode: 'multi';
24
- readonly value: readonly string[];
25
- readonly onChange: (next: string[]) => void;
26
- readonly maxItems?: number;
24
+ readonly mode: "multi";
25
+ readonly value: readonly string[];
26
+ readonly onChange: (next: string[]) => void;
27
+ readonly maxItems?: number;
27
28
  };
28
29
  export type OptionSelectProps = OptionSelectSingleProps | OptionSelectMultiProps;
29
- export declare function OptionSelect(props: OptionSelectProps): import("react").JSX.Element;
30
+ export declare function OptionSelect(props: OptionSelectProps): JSX.Element | null;
30
31
  export {};
@@ -1,4 +1,4 @@
1
- export type { OptionSelectOption } from './option-select-model';
2
- export { OPTION_SELECT_SEARCH_MIN_OPTIONS, catalogHasDraft, draftFromQuery, filterOptions, optionSearchText, partitionSelected, resolveSearchable, shouldShowAddNewFooter, shouldShowUseQueryRow, } from './option-select-model';
3
- export type { OptionSelectMultiProps, OptionSelectProps, OptionSelectSingleProps, } from './OptionSelect';
4
- export { OptionSelect } from './OptionSelect';
1
+ export type { OptionSelectOption } from "./option-select-model";
2
+ export { OPTION_SELECT_SEARCH_MIN_OPTIONS, catalogHasDraft, draftFromQuery, filterOptions, optionSearchText, partitionSelected, resolveSearchable, shouldShowAddNewFooter, shouldShowUseQueryRow } from "./option-select-model";
3
+ export type { OptionSelectMultiProps, OptionSelectProps, OptionSelectSingleProps } from "./OptionSelect";
4
+ export { OptionSelect } from "./OptionSelect";
@@ -1,56 +1,56 @@
1
1
  /**
2
- * Pure filter/partition helpers for OptionSelect.
3
- *
4
- * Search is a case-insensitive substring match folded over each option's
5
- * `value`, `label`, and `description`. Multi-token queries require every
6
- * token to match (AND).
7
- */
2
+ * Pure filter/partition helpers for OptionSelect.
3
+ *
4
+ * Search is a case-insensitive substring match folded over each option's
5
+ * `value`, `label`, and `description`. Multi-token queries require every
6
+ * token to match (AND).
7
+ */
8
8
  export type OptionSelectOption = {
9
- value: string;
10
- label: string;
11
- description?: string;
12
- iconUrl?: string;
13
- iconId?: string;
14
- disabled?: boolean;
15
- badge?: string;
9
+ value: string;
10
+ label: string;
11
+ description?: string;
12
+ iconUrl?: string;
13
+ iconId?: string;
14
+ disabled?: boolean;
15
+ badge?: string;
16
16
  };
17
17
  /** Number of options at/above which search is enabled by default (unless creatable). */
18
18
  export declare const OPTION_SELECT_SEARCH_MIN_OPTIONS = 8;
19
19
  /** Fold an option into a single lower-cased haystack (value + label + description). */
20
20
  export declare function optionSearchText(opt: OptionSelectOption): string;
21
21
  /**
22
- * Filter options by a free-text query. An empty / whitespace-only query
23
- * returns every option (identity, preserving order).
24
- */
22
+ * Filter options by a free-text query. An empty / whitespace-only query
23
+ * returns every option (identity, preserving order).
24
+ */
25
25
  export declare function filterOptions(options: readonly OptionSelectOption[], query: string): readonly OptionSelectOption[];
26
26
  /**
27
- * Split options into the currently-selected set (in selection order) and the
28
- * rest. Selected values with no matching option are surfaced as synthetic
29
- * options whose label falls back to the raw value.
30
- */
27
+ * Split options into the currently-selected set (in selection order) and the
28
+ * rest. Selected values with no matching option are surfaced as synthetic
29
+ * options whose label falls back to the raw value.
30
+ */
31
31
  export declare function partitionSelected(options: readonly OptionSelectOption[], selected: readonly string[]): {
32
- readonly selectedOptions: readonly OptionSelectOption[];
33
- readonly unselected: readonly OptionSelectOption[];
32
+ readonly selectedOptions: readonly OptionSelectOption[];
33
+ readonly unselected: readonly OptionSelectOption[];
34
34
  };
35
35
  export declare function resolveSearchable(optionCount: number, creatable: boolean, searchable: boolean | undefined): boolean;
36
36
  /** Trimmed non-empty draft from the search box, or null when absent. */
37
37
  export declare function draftFromQuery(query: string): string | null;
38
38
  /**
39
- * True when an existing catalog option already represents this draft (value or
40
- * label, case-insensitive). Used to hide the “Use «query»” row when redundant.
41
- */
39
+ * True when an existing catalog option already represents this draft (value or
40
+ * label, case-insensitive). Used to hide the “Use «query»” row when redundant.
41
+ */
42
42
  export declare function catalogHasDraft(options: readonly OptionSelectOption[], draft: string): boolean;
43
43
  /**
44
- * Show the footer “Add new…” action only when creatable AND the caller
45
- * provided `onCreateRequest` (e.g. open a dedicated create dialog).
46
- *
47
- * Without that hook the footer was a no-op (it only focused the search box),
48
- * which read as “Add new is broken”. Free-form create already works via the
49
- * “Use «query»” row once the operator types — no footer needed.
50
- */
44
+ * Show the footer “Add new…” action only when creatable AND the caller
45
+ * provided `onCreateRequest` (e.g. open a dedicated create dialog).
46
+ *
47
+ * Without that hook the footer was a no-op (it only focused the search box),
48
+ * which read as “Add new is broken”. Free-form create already works via the
49
+ * “Use «query»” row once the operator types — no footer needed.
50
+ */
51
51
  export declare function shouldShowAddNewFooter(creatable: boolean, hasCreateRequest: boolean): boolean;
52
52
  /**
53
- * Show the “Use «query»” commit row: creatable, a non-empty draft, and no
54
- * catalog option that already matches the draft.
55
- */
53
+ * Show the “Use «query»” commit row: creatable, a non-empty draft, and no
54
+ * catalog option that already matches the draft.
55
+ */
56
56
  export declare function shouldShowUseQueryRow(creatable: boolean, query: string, options: readonly OptionSelectOption[]): boolean;
@@ -1,8 +1,8 @@
1
- import { ReactNode } from 'react';
1
+ import { type ReactNode, type JSX } from "react";
2
2
  export interface PageHeaderProps {
3
- title: string;
4
- subtitle?: string;
5
- actions?: ReactNode;
6
- className?: string;
3
+ title: string;
4
+ subtitle?: string;
5
+ actions?: ReactNode;
6
+ className?: string;
7
7
  }
8
- export declare function PageHeader({ title, subtitle, actions, className }: PageHeaderProps): import("react").JSX.Element;
8
+ export declare function PageHeader({ title, subtitle, actions, className }: PageHeaderProps): JSX.Element;
@@ -1,13 +1,13 @@
1
1
  /**
2
- * The player's `RTCConfiguration`, in one place for every connect path.
3
- *
4
- * The player never forces `iceTransportPolicy: 'relay'` on its own (werift's
5
- * relay forward is unreliable across two real TURN servers, and relay would
6
- * defeat the direct LAN/Tailscale path). The policy exists for the WebRTC
7
- * diagnostics only, which run the SAME player once with `all` and once with
8
- * `relay` to tell a reachable relay path from a dead one. Absent, the key is
9
- * not set at all, so a production connect is byte-for-byte what it was.
10
- */
2
+ * The player's `RTCConfiguration`, in one place for every connect path.
3
+ *
4
+ * The player never forces `iceTransportPolicy: 'relay'` on its own (werift's
5
+ * relay forward is unreliable across two real TURN servers, and relay would
6
+ * defeat the direct LAN/Tailscale path). The policy exists for the WebRTC
7
+ * diagnostics only, which run the SAME player once with `all` and once with
8
+ * `relay` to tell a reachable relay path from a dead one. Absent, the key is
9
+ * not set at all, so a production connect is byte-for-byte what it was.
10
+ */
11
11
  /** Public STUN kept as a fallback beside whatever the hub's TURN provider returns. */
12
12
  export declare const FALLBACK_STUN_SERVER: RTCIceServer;
13
13
  export declare function buildPeerConnectionConfig(iceServers: readonly RTCIceServer[] | undefined, iceTransportPolicy: RTCIceTransportPolicy | undefined): RTCConfiguration;
@@ -1,5 +1,12 @@
1
- import { LucideProps } from 'lucide-react';
1
+ /**
2
+ * PhaseIcon — renders the correct lucide icon for a CameraPhase.
3
+ *
4
+ * Wraps the PHASE_CONFIG icon name → component resolution so consumers
5
+ * don't need to maintain their own icon switch/map.
6
+ */
7
+ import { type LucideProps } from "lucide-react";
8
+ import { type JSX } from "react";
2
9
  export interface PhaseIconProps extends LucideProps {
3
- readonly phase: string;
10
+ readonly phase: string;
4
11
  }
5
- export declare function PhaseIcon({ phase, ...props }: PhaseIconProps): import("react").JSX.Element;
12
+ export declare function PhaseIcon({ phase, ...props }: PhaseIconProps): JSX.Element;
@@ -1,15 +1,23 @@
1
- import { PipelineSchema } from '@camstack/types';
2
- import { PipelineStepDisplayConfig } from './pipeline-step';
1
+ /**
2
+ * PipelineBuilder — orchestrates the pipeline step tree.
3
+ *
4
+ * Renders the step tree from schema with nested children and placeholder steps
5
+ * for disabled addons, all driven by API schema. There are no saved pipeline
6
+ * templates (D759): the tree is the caller's state.
7
+ */
8
+ import { type JSX } from "react";
9
+ import type { PipelineSchema } from "@camstack/types";
10
+ import type { PipelineStepDisplayConfig } from "./pipeline-step";
3
11
  export interface PipelineBuilderProps {
4
- readonly schema: PipelineSchema;
5
- readonly steps: readonly PipelineStepDisplayConfig[];
6
- readonly onChange: (steps: readonly PipelineStepDisplayConfig[]) => void;
7
- readonly readOnly?: boolean;
8
- /** Addon IDs to exclude from the pipeline (e.g. 'motion-detection' for benchmark) */
9
- readonly excludeAddons?: readonly string[];
10
- /** Only show enabled steps (hide disabled addons and placeholders) */
11
- readonly showOnlyEnabled?: boolean;
12
- /** Show "Slot: ..." labels above step groups (default: false) */
13
- readonly showSlotLabels?: boolean;
12
+ readonly schema: PipelineSchema;
13
+ readonly steps: readonly PipelineStepDisplayConfig[];
14
+ readonly onChange: (steps: readonly PipelineStepDisplayConfig[]) => void;
15
+ readonly readOnly?: boolean;
16
+ /** Addon IDs to exclude from the pipeline (e.g. 'motion-detection' for benchmark) */
17
+ readonly excludeAddons?: readonly string[];
18
+ /** Only show enabled steps (hide disabled addons and placeholders) */
19
+ readonly showOnlyEnabled?: boolean;
20
+ /** Show "Slot: ..." labels above step groups (default: false) */
21
+ readonly showSlotLabels?: boolean;
14
22
  }
15
- export declare function PipelineBuilder({ schema, steps, onChange, readOnly, excludeAddons, showOnlyEnabled, showSlotLabels, }: PipelineBuilderProps): import("react").JSX.Element;
23
+ export declare function PipelineBuilder({ schema, steps, onChange, readOnly, excludeAddons, showOnlyEnabled, showSlotLabels }: PipelineBuilderProps): JSX.Element;
@@ -1,190 +1,199 @@
1
- import { ReactNode } from 'react';
2
- import { PipelineSlot } from '@camstack/types';
3
- import { StepTreeNode } from './step-tree';
1
+ /**
2
+ * pipeline-matrix-shared — the presentation primitives shared by every
3
+ * steps×nodes matrix surface (the cluster `PipelineTreeMatrix` and the
4
+ * per-camera `DeviceStepMatrix`). Extracted so the two matrices render an
5
+ * IDENTICAL cell/label/track vocabulary and can never drift apart.
6
+ *
7
+ * Nothing here holds state or talks to a store — pure display + one pure
8
+ * layout-decision helper (`shouldUseSingleNode`).
9
+ */
10
+ import { type ReactNode, type JSX } from "react";
11
+ import type { PipelineSlot } from "@camstack/types";
12
+ import type { StepTreeNode } from "./step-tree";
4
13
  export interface AgentColumn {
5
- readonly agentNodeId: string;
6
- readonly engineLabel: string;
7
- /**
8
- * When set, this column is a per-device sub-column of its node — one enabled
9
- * inference accelerator (C7.4). MULTIPLE `AgentColumn`s with the SAME
10
- * `agentNodeId` and distinct `deviceKey` expand a node into device columns.
11
- * A column with `deviceKey` undefined is a plain per-node column (today's
12
- * behaviour — rendered identically).
13
- */
14
- readonly deviceKey?: string;
15
- /** Short human label for the device sub-column header (e.g. "Intel NPU"). */
16
- readonly deviceLabel?: string;
17
- /** The node's display name for the group header (defaults to `agentNodeId`). */
18
- readonly nodeLabel?: string;
19
- /** A third header line — the model this accelerator elects for detection. */
20
- readonly detail?: string;
21
- /** The accelerator is switched off: shown, marked, and never a dispatch target. */
22
- readonly disabled?: boolean;
14
+ readonly agentNodeId: string;
15
+ readonly engineLabel: string;
16
+ /**
17
+ * When set, this column is a per-device sub-column of its node — one enabled
18
+ * inference accelerator (C7.4). MULTIPLE `AgentColumn`s with the SAME
19
+ * `agentNodeId` and distinct `deviceKey` expand a node into device columns.
20
+ * A column with `deviceKey` undefined is a plain per-node column (today's
21
+ * behaviour — rendered identically).
22
+ */
23
+ readonly deviceKey?: string;
24
+ /** Short human label for the device sub-column header (e.g. "Intel NPU"). */
25
+ readonly deviceLabel?: string;
26
+ /** The node's display name for the group header (defaults to `agentNodeId`). */
27
+ readonly nodeLabel?: string;
28
+ /** A third header line — the model this accelerator elects for detection. */
29
+ readonly detail?: string;
30
+ /** The accelerator is switched off: shown, marked, and never a dispatch target. */
31
+ readonly disabled?: boolean;
23
32
  }
24
33
  /**
25
- * Stable column identity. Plain per-node columns key by `agentNodeId` (so the
26
- * rendered `key` is byte-identical to the pre-C7.4 matrix); device sub-columns
27
- * disambiguate with their `deviceKey`. MUST be used everywhere a React `key`,
28
- * selection compare, or column identity is derived.
29
- */
34
+ * Stable column identity. Plain per-node columns key by `agentNodeId` (so the
35
+ * rendered `key` is byte-identical to the pre-C7.4 matrix); device sub-columns
36
+ * disambiguate with their `deviceKey`. MUST be used everywhere a React `key`,
37
+ * selection compare, or column identity is derived.
38
+ */
30
39
  export declare function agentColumnKey(a: AgentColumnIdentity): string;
31
40
  /** Minimal identity shape shared by `AgentColumn` and `MatrixSelectedCell`. */
32
41
  export interface AgentColumnIdentity {
33
- readonly agentNodeId: string;
34
- readonly deviceKey?: string;
42
+ readonly agentNodeId: string;
43
+ readonly deviceKey?: string;
35
44
  }
36
45
  /**
37
- * The currently-selected cell, identified by step addon + column identity.
38
- * A plain per-node selection carries no `deviceKey` (so existing consumers pass
39
- * their `{ addonId, agentNodeId }` state unchanged); a per-device selection adds
40
- * the `deviceKey` of the picked sub-column.
41
- */
46
+ * The currently-selected cell, identified by step addon + column identity.
47
+ * A plain per-node selection carries no `deviceKey` (so existing consumers pass
48
+ * their `{ addonId, agentNodeId }` state unchanged); a per-device selection adds
49
+ * the `deviceKey` of the picked sub-column.
50
+ */
42
51
  export interface MatrixSelectedCell {
43
- readonly addonId: string;
44
- readonly agentNodeId: string;
45
- readonly deviceKey?: string;
52
+ readonly addonId: string;
53
+ readonly agentNodeId: string;
54
+ readonly deviceKey?: string;
46
55
  }
47
56
  /**
48
- * A node's header super-cell: one node grouping ONE or MORE consecutive
49
- * `AgentColumn`s (device sub-columns) that share its `agentNodeId`.
50
- * - `grouped: false` — a single plain column (no `deviceKey`): the header
51
- * renders EXACTLY the pre-C7.4 single node header (node name + engineLabel).
52
- * - `grouped: true` — 2+ device sub-columns: a node super-label spanning the
53
- * sub-columns, with a per-device sub-label row beneath.
54
- */
57
+ * A node's header super-cell: one node grouping ONE or MORE consecutive
58
+ * `AgentColumn`s (device sub-columns) that share its `agentNodeId`.
59
+ * - `grouped: false` — a single plain column (no `deviceKey`): the header
60
+ * renders EXACTLY the pre-C7.4 single node header (node name + engineLabel).
61
+ * - `grouped: true` — 2+ device sub-columns: a node super-label spanning the
62
+ * sub-columns, with a per-device sub-label row beneath.
63
+ */
55
64
  export interface AgentColumnGroup {
56
- readonly agentNodeId: string;
57
- readonly engineLabel: string;
58
- readonly columns: readonly AgentColumn[];
59
- readonly grouped: boolean;
65
+ readonly agentNodeId: string;
66
+ readonly engineLabel: string;
67
+ readonly columns: readonly AgentColumn[];
68
+ readonly grouped: boolean;
60
69
  }
61
70
  /**
62
- * Coalesce CONSECUTIVE columns that share an `agentNodeId` into node groups.
63
- * Order-preserving: the flat column order is untouched, so body cells still map
64
- * 1:1 to `agents`. A run of length 1 is a plain (ungrouped) node header.
65
- */
71
+ * Coalesce CONSECUTIVE columns that share an `agentNodeId` into node groups.
72
+ * Order-preserving: the flat column order is untouched, so body cells still map
73
+ * 1:1 to `agents`. A run of length 1 is a plain (ungrouped) node header.
74
+ */
66
75
  export declare function groupAgentColumns(agents: readonly AgentColumn[]): readonly AgentColumnGroup[];
67
76
  /**
68
- * A single (step, node) cell's rendered state.
69
- * - `enabled` — the node runs a model for this step (chip + optional `ovr`).
70
- * - `disabled` — cluster-default off (used by the per-node matrix only).
71
- * - `skip` — #33: gated ON for the camera but this node has no compatible
72
- * model — a visible amber status, never silent.
73
- * - `na` — not applicable on this node.
74
- */
77
+ * A single (step, node) cell's rendered state.
78
+ * - `enabled` — the node runs a model for this step (chip + optional `ovr`).
79
+ * - `disabled` — cluster-default off (used by the per-node matrix only).
80
+ * - `skip` — #33: gated ON for the camera but this node has no compatible
81
+ * model — a visible amber status, never silent.
82
+ * - `na` — not applicable on this node.
83
+ */
75
84
  export type CellState = {
76
- readonly kind: 'enabled';
77
- readonly modelId: string;
78
- readonly overridden?: boolean;
79
- /**
80
- * Step-tree device jump (phase 1): a short label of the OTHER same-node
81
- * device this step runs on (operator manual override). Renders a subtle
82
- * "→ label" badge on the cell.
83
- */
84
- readonly jumpTo?: string;
85
- /**
86
- * This model is a CLUSTER-wide choice, not a per-(node,device) one — the
87
- * step writes into a shared vector index, where two encoders make
88
- * similarity scores meaningless.
89
- *
90
- * The cell must SAY so. Rendering a cluster value in a per-node matrix
91
- * with no marking invites the operator to change it expecting a per-node
92
- * effect, and to read a neighbouring node's identical value as a
93
- * coincidence rather than as the same single row.
94
- */
95
- readonly clusterWide?: boolean;
96
- /**
97
- * The root model whose output IS this step's result here (D730) — the
98
- * step's "Use the root model" flag is on and the root supplies it, so the
99
- * step's own model does not run. Renders a "root" chip: an enabled cell
100
- * whose model is not the one answering must say so.
101
- */
102
- readonly suppliedByRoot?: string;
85
+ readonly kind: "enabled";
86
+ readonly modelId: string;
87
+ readonly overridden?: boolean;
88
+ /**
89
+ * Step-tree device jump (phase 1): a short label of the OTHER same-node
90
+ * device this step runs on (operator manual override). Renders a subtle
91
+ * "→ label" badge on the cell.
92
+ */
93
+ readonly jumpTo?: string;
94
+ /**
95
+ * This model is a CLUSTER-wide choice, not a per-(node,device) one — the
96
+ * step writes into a shared vector index, where two encoders make
97
+ * similarity scores meaningless.
98
+ *
99
+ * The cell must SAY so. Rendering a cluster value in a per-node matrix
100
+ * with no marking invites the operator to change it expecting a per-node
101
+ * effect, and to read a neighbouring node's identical value as a
102
+ * coincidence rather than as the same single row.
103
+ */
104
+ readonly clusterWide?: boolean;
105
+ /**
106
+ * The root model whose output IS this step's result here (D730) — the
107
+ * step's "Use the root model" flag is on and the root supplies it, so the
108
+ * step's own model does not run. Renders a "root" chip: an enabled cell
109
+ * whose model is not the one answering must say so.
110
+ */
111
+ readonly suppliedByRoot?: string;
103
112
  } | {
104
- readonly kind: 'disabled';
105
- readonly overridden?: boolean;
113
+ readonly kind: "disabled";
114
+ readonly overridden?: boolean;
106
115
  } | {
107
- readonly kind: 'na';
116
+ readonly kind: "na";
108
117
  } | {
109
- readonly kind: 'skip';
110
- /**
111
- * Step-tree device jump (phase 1): this device's format can't run the
112
- * step, but it AUTO-jumps to this labelled same-node device — renders a
113
- * subtle "→ label" badge in place of the "⚠ skip" degrade marker.
114
- */
115
- readonly jumpTo?: string;
118
+ readonly kind: "skip";
119
+ /**
120
+ * Step-tree device jump (phase 1): this device's format can't run the
121
+ * step, but it AUTO-jumps to this labelled same-node device — renders a
122
+ * subtle "→ label" badge in place of the "⚠ skip" degrade marker.
123
+ */
124
+ readonly jumpTo?: string;
116
125
  };
117
126
  /**
118
- * Fixed column geometry (rem). Both matrices use CSS-grid STATIC track widths
119
- * so a cell's content (a status chip, a long model id) can never resize a
120
- * column or shift its neighbours — content truncates WITHIN the fixed track.
121
- * This kills the "table dances when the last column's status changes" jitter.
122
- */
127
+ * Fixed column geometry (rem). Both matrices use CSS-grid STATIC track widths
128
+ * so a cell's content (a status chip, a long model id) can never resize a
129
+ * column or shift its neighbours — content truncates WITHIN the fixed track.
130
+ * This kills the "table dances when the last column's status changes" jitter.
131
+ */
123
132
  export declare const AGENT_COL_REM = 13;
124
133
  export declare const REM_PX = 16;
125
134
  export declare const AGENT_COL_PX: number;
126
135
  export interface FlatRow {
127
- readonly node: StepTreeNode;
128
- readonly depth: number;
136
+ readonly node: StepTreeNode;
137
+ readonly depth: number;
129
138
  }
130
139
  export declare function flattenTree(nodes: readonly StepTreeNode[]): readonly FlatRow[];
131
140
  /**
132
- * Layout decision for the responsive A↔B switch. Pure so it can be unit-tested
133
- * in isolation from the DOM. An unmeasured container (`width <= 0`) always
134
- * defaults to the wide matrix so there is no first-paint flash into the
135
- * fallback.
136
- *
137
- * Two regimes, because the sticky step column occludes the scroll area on a
138
- * narrow viewport:
139
- * - MULTI-node (`nodeCount >= 2`): fall back when the container can't show the
140
- * step column plus at least TWO node columns side by side — the fallback
141
- * picks ONE node.
142
- * - SINGLE node expanded into `columnCount` device sub-columns (the per-node
143
- * BASE matrix): the wide grid pins a `sticky left-0` step column (`stepColPx`
144
- * wide); on a phone that column covers nearly the whole viewport, so the
145
- * horizontal-scroll area behind it shows only slivers of each device column
146
- * and no column can be brought fully into view. Fall back to the FLUID
147
- * single-node layout whenever all `columnCount` device columns can't sit
148
- * beside the step column without scrolling. `columnCount` defaults to
149
- * `nodeCount` (one column per node) for the multi-node consumers.
150
- */
141
+ * Layout decision for the responsive A↔B switch. Pure so it can be unit-tested
142
+ * in isolation from the DOM. An unmeasured container (`width <= 0`) always
143
+ * defaults to the wide matrix so there is no first-paint flash into the
144
+ * fallback.
145
+ *
146
+ * Two regimes, because the sticky step column occludes the scroll area on a
147
+ * narrow viewport:
148
+ * - MULTI-node (`nodeCount >= 2`): fall back when the container can't show the
149
+ * step column plus at least TWO node columns side by side — the fallback
150
+ * picks ONE node.
151
+ * - SINGLE node expanded into `columnCount` device sub-columns (the per-node
152
+ * BASE matrix): the wide grid pins a `sticky left-0` step column (`stepColPx`
153
+ * wide); on a phone that column covers nearly the whole viewport, so the
154
+ * horizontal-scroll area behind it shows only slivers of each device column
155
+ * and no column can be brought fully into view. Fall back to the FLUID
156
+ * single-node layout whenever all `columnCount` device columns can't sit
157
+ * beside the step column without scrolling. `columnCount` defaults to
158
+ * `nodeCount` (one column per node) for the multi-node consumers.
159
+ */
151
160
  export declare function shouldUseSingleNode(width: number, nodeCount: number, stepColPx: number, agentColPx?: number, columnCount?: number): boolean;
152
161
  export declare function SlotHeading({ slot }: {
153
- readonly slot: PipelineSlot;
154
- }): import("react").JSX.Element;
155
- export declare function ClassChips({ inputs, outputs, }: {
156
- readonly inputs: readonly string[];
157
- readonly outputs: readonly string[];
158
- }): import("react").JSX.Element | null;
162
+ readonly slot: PipelineSlot;
163
+ }): JSX.Element | null;
164
+ export declare function ClassChips({ inputs, outputs }: {
165
+ readonly inputs: readonly string[];
166
+ readonly outputs: readonly string[];
167
+ }): JSX.Element | null;
159
168
  /**
160
- * Grouped node header (C7.4): a node super-label spanning its device
161
- * sub-columns, with a per-device sub-label row beneath. Rendered ONLY for a
162
- * node expanded into 2+ device sub-columns; a single plain column keeps each
163
- * matrix's own byte-identical single-header markup. The spanning cell uses
164
- * `gridColumn: span N` so it aligns to its N body columns; the inner flex row
165
- * gives each device its own equal-width, padded sub-label slot.
166
- *
167
- * The node super-label carries ONLY the node id — NOT a single engine/format
168
- * subtitle. When device sub-columns have differing formats (e.g. Coral `tflite`
169
- * beside two OpenVINO devices), one node-level format label is a lie taken from
170
- * the first column; each device's real format is shown per sub-column instead
171
- * ("Coral Edge TPU · tflite").
172
- */
169
+ * Grouped node header (C7.4): a node super-label spanning its device
170
+ * sub-columns, with a per-device sub-label row beneath. Rendered ONLY for a
171
+ * node expanded into 2+ device sub-columns; a single plain column keeps each
172
+ * matrix's own byte-identical single-header markup. The spanning cell uses
173
+ * `gridColumn: span N` so it aligns to its N body columns; the inner flex row
174
+ * gives each device its own equal-width, padded sub-label slot.
175
+ *
176
+ * The node super-label carries ONLY the node id — NOT a single engine/format
177
+ * subtitle. When device sub-columns have differing formats (e.g. Coral `tflite`
178
+ * beside two OpenVINO devices), one node-level format label is a lie taken from
179
+ * the first column; each device's real format is shown per sub-column instead
180
+ * ("Coral Edge TPU · tflite").
181
+ */
173
182
  /** The per-accelerator lines of a column header: name, format, model, off. */
174
183
  export declare function AgentColumnLines({ column }: {
175
- readonly column: AgentColumn;
176
- }): import("react").JSX.Element;
184
+ readonly column: AgentColumn;
185
+ }): JSX.Element | null;
177
186
  export declare function GroupedAgentHeader({ group }: {
178
- readonly group: AgentColumnGroup;
179
- }): import("react").JSX.Element;
187
+ readonly group: AgentColumnGroup;
188
+ }): JSX.Element | null;
180
189
  /** Step label (slot heading + addon name + class chips), shared by both views. */
181
190
  export declare function StepLabel({ node }: {
182
- readonly node: StepTreeNode;
183
- }): import("react").JSX.Element;
191
+ readonly node: StepTreeNode;
192
+ }): JSX.Element | null;
184
193
  /**
185
- * Cell content. Width-stable: the status dot is `shrink-0` (reserved space) and
186
- * the model id truncates inside a `min-w-0` flex row, so a longer model id never
187
- * widens the cell — it ellipsises instead.
188
- */
194
+ * Cell content. Width-stable: the status dot is `shrink-0` (reserved space) and
195
+ * the model id truncates inside a `min-w-0` flex row, so a longer model id never
196
+ * widens the cell — it ellipsises instead.
197
+ */
189
198
  export declare function renderCellContent(state: CellState): ReactNode;
190
199
  export declare function cellButtonClass(state: CellState, isSelected: boolean, extra?: string): string;