cursedbelt 0.0.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/dist/client/contextSyncBroker.d.ts +58 -0
- package/dist/client/contextSyncBroker.d.ts.map +1 -0
- package/dist/client/contextSyncBroker.js +88 -0
- package/dist/client/contextSyncBroker.js.map +1 -0
- package/dist/client/ctgrGuard.d.ts.map +1 -1
- package/dist/client/ctgrGuard.js +31 -19
- package/dist/client/ctgrGuard.js.map +1 -1
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +30 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/router/ccRouter.d.ts +66 -0
- package/dist/client/router/ccRouter.d.ts.map +1 -0
- package/dist/client/router/ccRouter.js +113 -0
- package/dist/client/router/ccRouter.js.map +1 -0
- package/dist/client/router/index.d.ts +11 -0
- package/dist/client/router/index.d.ts.map +1 -0
- package/dist/client/router/index.js +11 -0
- package/dist/client/router/index.js.map +1 -0
- package/dist/client/router/locator.d.ts +78 -0
- package/dist/client/router/locator.d.ts.map +1 -0
- package/dist/client/router/locator.js +119 -0
- package/dist/client/router/locator.js.map +1 -0
- package/dist/client/router/routeTable.d.ts +75 -0
- package/dist/client/router/routeTable.d.ts.map +1 -0
- package/dist/client/router/routeTable.js +140 -0
- package/dist/client/router/routeTable.js.map +1 -0
- package/dist/client/stream/appStream.d.ts +133 -0
- package/dist/client/stream/appStream.d.ts.map +1 -0
- package/dist/client/stream/appStream.js +184 -0
- package/dist/client/stream/appStream.js.map +1 -0
- package/dist/client/stream/ccEventSource.d.ts +98 -0
- package/dist/client/stream/ccEventSource.d.ts.map +1 -0
- package/dist/client/stream/ccEventSource.js +188 -0
- package/dist/client/stream/ccEventSource.js.map +1 -0
- package/dist/client/stream/index.d.ts +4 -0
- package/dist/client/stream/index.d.ts.map +1 -0
- package/dist/client/stream/index.js +7 -0
- package/dist/client/stream/index.js.map +1 -0
- package/dist/client/stream/instanceStream.d.ts +127 -0
- package/dist/client/stream/instanceStream.d.ts.map +1 -0
- package/dist/client/stream/instanceStream.js +125 -0
- package/dist/client/stream/instanceStream.js.map +1 -0
- package/dist/client/ws.d.ts +2 -21
- package/dist/client/ws.d.ts.map +1 -1
- package/dist/client/ws.js +21 -31
- package/dist/client/ws.js.map +1 -1
- package/dist/client/wsWire.d.ts +50 -0
- package/dist/client/wsWire.d.ts.map +1 -0
- package/dist/client/wsWire.js +58 -0
- package/dist/client/wsWire.js.map +1 -0
- package/dist/config/appConfig.d.ts +362 -0
- package/dist/config/appConfig.d.ts.map +1 -0
- package/dist/config/appConfig.js +309 -0
- package/dist/config/appConfig.js.map +1 -0
- package/dist/core/activity/index.d.ts +9 -0
- package/dist/core/activity/index.d.ts.map +1 -0
- package/dist/core/activity/index.js +8 -0
- package/dist/core/activity/index.js.map +1 -0
- package/dist/core/activity/model.d.ts +116 -0
- package/dist/core/activity/model.d.ts.map +1 -0
- package/dist/core/activity/model.js +64 -0
- package/dist/core/activity/model.js.map +1 -0
- package/dist/core/analytics/index.d.ts +19 -0
- package/dist/core/analytics/index.d.ts.map +1 -0
- package/dist/core/analytics/index.js +19 -0
- package/dist/core/analytics/index.js.map +1 -0
- package/dist/core/analytics/range.d.ts +187 -0
- package/dist/core/analytics/range.d.ts.map +1 -0
- package/dist/core/analytics/range.js +272 -0
- package/dist/core/analytics/range.js.map +1 -0
- package/dist/core/analytics/schedule.d.ts +302 -0
- package/dist/core/analytics/schedule.d.ts.map +1 -0
- package/dist/core/analytics/schedule.js +373 -0
- package/dist/core/analytics/schedule.js.map +1 -0
- package/dist/core/category/index.d.ts +4 -0
- package/dist/core/category/index.d.ts.map +1 -0
- package/dist/core/category/index.js +7 -0
- package/dist/core/category/index.js.map +1 -0
- package/dist/core/category/memoryStore.d.ts +22 -0
- package/dist/core/category/memoryStore.d.ts.map +1 -0
- package/dist/core/category/memoryStore.js +98 -0
- package/dist/core/category/memoryStore.js.map +1 -0
- package/dist/core/category/tree.d.ts +27 -0
- package/dist/core/category/tree.d.ts.map +1 -0
- package/dist/core/category/tree.js +114 -0
- package/dist/core/category/tree.js.map +1 -0
- package/dist/core/category/types.d.ts +49 -0
- package/dist/core/category/types.d.ts.map +1 -0
- package/dist/core/category/types.js +9 -0
- package/dist/core/category/types.js.map +1 -0
- package/dist/core/colorScheme/colorSchemeStore.d.ts +71 -0
- package/dist/core/colorScheme/colorSchemeStore.d.ts.map +1 -0
- package/dist/core/colorScheme/colorSchemeStore.js +124 -0
- package/dist/core/colorScheme/colorSchemeStore.js.map +1 -0
- package/dist/core/colorScheme/index.d.ts +8 -0
- package/dist/core/colorScheme/index.d.ts.map +1 -0
- package/dist/core/colorScheme/index.js +8 -0
- package/dist/core/colorScheme/index.js.map +1 -0
- package/dist/core/domainOwners.d.ts +20 -0
- package/dist/core/domainOwners.d.ts.map +1 -0
- package/dist/core/domainOwners.js +16 -0
- package/dist/core/domainOwners.js.map +1 -0
- package/dist/core/download.d.ts +15 -0
- package/dist/core/download.d.ts.map +1 -0
- package/dist/core/download.js +38 -0
- package/dist/core/download.js.map +1 -0
- package/dist/core/events/ccEventBus.d.ts +45 -0
- package/dist/core/events/ccEventBus.d.ts.map +1 -0
- package/dist/core/events/ccEventBus.js +71 -0
- package/dist/core/events/ccEventBus.js.map +1 -0
- package/dist/core/file-tree/fileTreeModel.d.ts +277 -0
- package/dist/core/file-tree/fileTreeModel.d.ts.map +1 -0
- package/dist/core/file-tree/fileTreeModel.js +313 -0
- package/dist/core/file-tree/fileTreeModel.js.map +1 -0
- package/dist/core/folder-tree/actions.d.ts +85 -0
- package/dist/core/folder-tree/actions.d.ts.map +1 -0
- package/dist/core/folder-tree/actions.js +120 -0
- package/dist/core/folder-tree/actions.js.map +1 -0
- package/dist/core/folder-tree/index.d.ts +4 -0
- package/dist/core/folder-tree/index.d.ts.map +1 -0
- package/dist/core/folder-tree/index.js +21 -0
- package/dist/core/folder-tree/index.js.map +1 -0
- package/dist/core/folder-tree/path.d.ts +77 -0
- package/dist/core/folder-tree/path.d.ts.map +1 -0
- package/dist/core/folder-tree/path.js +147 -0
- package/dist/core/folder-tree/path.js.map +1 -0
- package/dist/core/folder-tree/tree.d.ts +87 -0
- package/dist/core/folder-tree/tree.d.ts.map +1 -0
- package/dist/core/folder-tree/tree.js +185 -0
- package/dist/core/folder-tree/tree.js.map +1 -0
- package/dist/core/layout/index.d.ts +1 -9
- package/dist/core/layout/index.d.ts.map +1 -1
- package/dist/core/layout/index.js +7 -17
- package/dist/core/layout/index.js.map +1 -1
- package/dist/core/master-lock/index.d.ts +15 -0
- package/dist/core/master-lock/index.d.ts.map +1 -0
- package/dist/core/master-lock/index.js +15 -0
- package/dist/core/master-lock/index.js.map +1 -0
- package/dist/core/master-lock/kdf.d.ts +64 -0
- package/dist/core/master-lock/kdf.d.ts.map +1 -0
- package/dist/core/master-lock/kdf.js +118 -0
- package/dist/core/master-lock/kdf.js.map +1 -0
- package/dist/core/master-lock/policy.d.ts +33 -0
- package/dist/core/master-lock/policy.d.ts.map +1 -0
- package/dist/core/master-lock/policy.js +53 -0
- package/dist/core/master-lock/policy.js.map +1 -0
- package/dist/core/master-lock/presence.d.ts +53 -0
- package/dist/core/master-lock/presence.d.ts.map +1 -0
- package/dist/core/master-lock/presence.js +62 -0
- package/dist/core/master-lock/presence.js.map +1 -0
- package/dist/core/master-lock/wire.d.ts +140 -0
- package/dist/core/master-lock/wire.d.ts.map +1 -0
- package/dist/core/master-lock/wire.js +82 -0
- package/dist/core/master-lock/wire.js.map +1 -0
- package/dist/core/media/bgRemoval.d.ts +5 -5
- package/dist/core/media/bgRemoval.js +4 -4
- package/dist/core/media/bgRemoval.js.map +1 -1
- package/dist/core/media/ffmpeg.d.ts +58 -0
- package/dist/core/media/ffmpeg.d.ts.map +1 -0
- package/dist/core/media/ffmpeg.js +127 -0
- package/dist/core/media/ffmpeg.js.map +1 -0
- package/dist/core/media/index.d.ts +6 -1
- package/dist/core/media/index.d.ts.map +1 -1
- package/dist/core/media/index.js +9 -1
- package/dist/core/media/index.js.map +1 -1
- package/dist/core/media/renderPlan.d.ts +64 -0
- package/dist/core/media/renderPlan.d.ts.map +1 -0
- package/dist/core/media/renderPlan.js +233 -0
- package/dist/core/media/renderPlan.js.map +1 -0
- package/dist/core/media/segment.d.ts +5 -5
- package/dist/core/media/segment.d.ts.map +1 -1
- package/dist/core/media/segment.js +8 -8
- package/dist/core/media/segment.js.map +1 -1
- package/dist/core/media/size.d.ts +2 -0
- package/dist/core/media/size.d.ts.map +1 -0
- package/dist/core/media/size.js +4 -0
- package/dist/core/media/size.js.map +1 -0
- package/dist/core/media/trim.d.ts +2 -9
- package/dist/core/media/trim.d.ts.map +1 -1
- package/dist/core/media/trim.js +3 -20
- package/dist/core/media/trim.js.map +1 -1
- package/dist/core/media/types.d.ts +56 -1
- package/dist/core/media/types.d.ts.map +1 -1
- package/dist/core/media/types.js +1 -1
- package/dist/core/media/types.js.map +1 -1
- package/dist/core/media/uploadLimits.d.ts +8 -0
- package/dist/core/media/uploadLimits.d.ts.map +1 -0
- package/dist/core/media/uploadLimits.js +17 -0
- package/dist/core/media/uploadLimits.js.map +1 -0
- package/dist/core/media/videoCuts.d.ts +153 -0
- package/dist/core/media/videoCuts.d.ts.map +1 -0
- package/dist/core/media/videoCuts.js +285 -0
- package/dist/core/media/videoCuts.js.map +1 -0
- package/dist/core/navigation/index.d.ts +1 -1
- package/dist/core/navigation/index.d.ts.map +1 -1
- package/dist/core/navigation/index.js.map +1 -1
- package/dist/core/navigation/migrateNavPreferences.d.ts +2 -0
- package/dist/core/navigation/migrateNavPreferences.d.ts.map +1 -1
- package/dist/core/navigation/migrateNavPreferences.js.map +1 -1
- package/dist/core/navigation/navigationModel.d.ts +73 -0
- package/dist/core/navigation/navigationModel.d.ts.map +1 -1
- package/dist/core/navigation/navigationModel.js.map +1 -1
- package/dist/core/navigation/navigationSelectors.d.ts.map +1 -1
- package/dist/core/navigation/navigationSelectors.js +5 -0
- package/dist/core/navigation/navigationSelectors.js.map +1 -1
- package/dist/core/navigation/searchCatalogue.js +1 -1
- package/dist/core/net/reconnectSchedule.d.ts +47 -0
- package/dist/core/net/reconnectSchedule.d.ts.map +1 -0
- package/dist/core/net/reconnectSchedule.js +39 -0
- package/dist/core/net/reconnectSchedule.js.map +1 -0
- package/dist/core/schema/projection.d.ts +85 -0
- package/dist/core/schema/projection.d.ts.map +1 -0
- package/dist/core/schema/projection.js +185 -0
- package/dist/core/schema/projection.js.map +1 -0
- package/dist/core/session/claims.d.ts +146 -0
- package/dist/core/session/claims.d.ts.map +1 -0
- package/dist/core/session/claims.js +158 -0
- package/dist/core/session/claims.js.map +1 -0
- package/dist/core/sharing/index.d.ts +6 -0
- package/dist/core/sharing/index.d.ts.map +1 -0
- package/dist/core/sharing/index.js +5 -0
- package/dist/core/sharing/index.js.map +1 -0
- package/dist/core/sharing/model.d.ts +196 -0
- package/dist/core/sharing/model.d.ts.map +1 -0
- package/dist/core/sharing/model.js +151 -0
- package/dist/core/sharing/model.js.map +1 -0
- package/dist/core/site/siteCopy.d.ts +93 -0
- package/dist/core/site/siteCopy.d.ts.map +1 -0
- package/dist/core/site/siteCopy.js +92 -0
- package/dist/core/site/siteCopy.js.map +1 -0
- package/dist/core/slots.d.ts +23 -0
- package/dist/core/slots.d.ts.map +1 -0
- package/dist/core/slots.js +32 -0
- package/dist/core/slots.js.map +1 -0
- package/dist/core/styles/constructableSheet.d.ts +52 -0
- package/dist/core/styles/constructableSheet.d.ts.map +1 -0
- package/dist/core/styles/constructableSheet.js +81 -0
- package/dist/core/styles/constructableSheet.js.map +1 -0
- package/dist/core/tokens/registry.d.ts +120 -0
- package/dist/core/tokens/registry.d.ts.map +1 -0
- package/dist/core/tokens/registry.js +448 -0
- package/dist/core/tokens/registry.js.map +1 -0
- package/dist/core/wire/__fixtures__/rowsMarshalWorker.d.ts +2 -0
- package/dist/core/wire/__fixtures__/rowsMarshalWorker.d.ts.map +1 -0
- package/dist/core/wire/__fixtures__/rowsMarshalWorker.js +24 -0
- package/dist/core/wire/__fixtures__/rowsMarshalWorker.js.map +1 -0
- package/dist/core/wire/index.d.ts +18 -0
- package/dist/core/wire/index.d.ts.map +1 -0
- package/dist/core/wire/index.js +18 -0
- package/dist/core/wire/index.js.map +1 -0
- package/dist/core/wire/ingress.d.ts +45 -0
- package/dist/core/wire/ingress.d.ts.map +1 -0
- package/dist/core/wire/ingress.js +135 -0
- package/dist/core/wire/ingress.js.map +1 -0
- package/dist/core/wire/marshalWorker.d.ts +71 -0
- package/dist/core/wire/marshalWorker.d.ts.map +1 -0
- package/dist/core/wire/marshalWorker.js +274 -0
- package/dist/core/wire/marshalWorker.js.map +1 -0
- package/dist/core/wire/marshalling.d.ts +123 -0
- package/dist/core/wire/marshalling.d.ts.map +1 -0
- package/dist/core/wire/marshalling.js +127 -0
- package/dist/core/wire/marshalling.js.map +1 -0
- package/dist/core/wire/wireHub.d.ts +81 -0
- package/dist/core/wire/wireHub.d.ts.map +1 -0
- package/dist/core/wire/wireHub.js +117 -0
- package/dist/core/wire/wireHub.js.map +1 -0
- package/dist/ctgr/base64url.js +1 -1
- package/dist/ctgr/chunkAccumulator.d.ts +215 -0
- package/dist/ctgr/chunkAccumulator.d.ts.map +1 -0
- package/dist/ctgr/chunkAccumulator.js +308 -0
- package/dist/ctgr/chunkAccumulator.js.map +1 -0
- package/dist/ctgr/index.d.ts +1 -0
- package/dist/ctgr/index.d.ts.map +1 -1
- package/dist/ctgr/index.js +5 -1
- package/dist/ctgr/index.js.map +1 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -4
- package/dist/index.js.map +1 -1
- package/dist/react/AuthGate.d.ts +31 -0
- package/dist/react/AuthGate.d.ts.map +1 -0
- package/dist/react/AuthGate.js +72 -0
- package/dist/react/AuthGate.js.map +1 -0
- package/dist/react/VirtualCardGrid.d.ts +71 -0
- package/dist/react/VirtualCardGrid.d.ts.map +1 -0
- package/dist/react/VirtualCardGrid.js +269 -0
- package/dist/react/VirtualCardGrid.js.map +1 -0
- package/dist/react/VirtualList.d.ts +66 -0
- package/dist/react/VirtualList.d.ts.map +1 -0
- package/dist/react/VirtualList.js +123 -0
- package/dist/react/VirtualList.js.map +1 -0
- package/dist/react/activity-bar/ActivityBar.d.ts +127 -0
- package/dist/react/activity-bar/ActivityBar.d.ts.map +1 -0
- package/dist/react/activity-bar/ActivityBar.js +22 -0
- package/dist/react/activity-bar/ActivityBar.js.map +1 -0
- package/dist/react/activity-bar/activityBar.css +164 -0
- package/dist/react/activity-bar/index.d.ts +2 -0
- package/dist/react/activity-bar/index.d.ts.map +1 -0
- package/dist/react/activity-bar/index.js +9 -0
- package/dist/react/activity-bar/index.js.map +1 -0
- package/dist/react/analytics/AnalyticsPanel.d.ts +54 -0
- package/dist/react/analytics/AnalyticsPanel.d.ts.map +1 -0
- package/dist/react/analytics/AnalyticsPanel.js +24 -0
- package/dist/react/analytics/AnalyticsPanel.js.map +1 -0
- package/dist/react/analytics/MetricDrilldown.d.ts +69 -0
- package/dist/react/analytics/MetricDrilldown.d.ts.map +1 -0
- package/dist/react/analytics/MetricDrilldown.js +53 -0
- package/dist/react/analytics/MetricDrilldown.js.map +1 -0
- package/dist/react/analytics/RangeTabs.d.ts +56 -0
- package/dist/react/analytics/RangeTabs.d.ts.map +1 -0
- package/dist/react/analytics/RangeTabs.js +83 -0
- package/dist/react/analytics/RangeTabs.js.map +1 -0
- package/dist/react/analytics/index.d.ts +24 -0
- package/dist/react/analytics/index.d.ts.map +1 -0
- package/dist/react/analytics/index.js +30 -0
- package/dist/react/analytics/index.js.map +1 -0
- package/dist/react/authSignal.d.ts +27 -0
- package/dist/react/authSignal.d.ts.map +1 -0
- package/dist/react/authSignal.js +36 -0
- package/dist/react/authSignal.js.map +1 -0
- package/dist/react/charts/ChartLegend.d.ts.map +1 -1
- package/dist/react/charts/ChartLegend.js +3 -1
- package/dist/react/charts/ChartLegend.js.map +1 -1
- package/dist/react/charts/ChartTooltip.d.ts.map +1 -1
- package/dist/react/charts/ChartTooltip.js +1 -1
- package/dist/react/charts/ChartTooltip.js.map +1 -1
- package/dist/react/charts/HeatmapChart.d.ts +71 -0
- package/dist/react/charts/HeatmapChart.d.ts.map +1 -0
- package/dist/react/charts/HeatmapChart.js +89 -0
- package/dist/react/charts/HeatmapChart.js.map +1 -0
- package/dist/react/charts/IntervalTimeline.d.ts +113 -0
- package/dist/react/charts/IntervalTimeline.d.ts.map +1 -0
- package/dist/react/charts/IntervalTimeline.js +135 -0
- package/dist/react/charts/IntervalTimeline.js.map +1 -0
- package/dist/react/charts/PieChart.d.ts +14 -0
- package/dist/react/charts/PieChart.d.ts.map +1 -1
- package/dist/react/charts/PieChart.js +31 -1
- package/dist/react/charts/PieChart.js.map +1 -1
- package/dist/react/charts/TimeSeriesChart.d.ts +67 -15
- package/dist/react/charts/TimeSeriesChart.d.ts.map +1 -1
- package/dist/react/charts/TimeSeriesChart.js +49 -25
- package/dist/react/charts/TimeSeriesChart.js.map +1 -1
- package/dist/react/charts/Treemap.d.ts +46 -0
- package/dist/react/charts/Treemap.d.ts.map +1 -0
- package/dist/react/charts/Treemap.js +67 -0
- package/dist/react/charts/Treemap.js.map +1 -0
- package/dist/react/charts/categorical.d.ts +98 -0
- package/dist/react/charts/categorical.d.ts.map +1 -0
- package/dist/react/charts/categorical.js +78 -0
- package/dist/react/charts/categorical.js.map +1 -0
- package/dist/react/charts/format.d.ts +34 -1
- package/dist/react/charts/format.d.ts.map +1 -1
- package/dist/react/charts/format.js +64 -12
- package/dist/react/charts/format.js.map +1 -1
- package/dist/react/charts/index.d.ts +5 -0
- package/dist/react/charts/index.d.ts.map +1 -1
- package/dist/react/charts/index.js +5 -0
- package/dist/react/charts/index.js.map +1 -1
- package/dist/react/chat/Bubble.d.ts +50 -0
- package/dist/react/chat/Bubble.d.ts.map +1 -0
- package/dist/react/chat/Bubble.js +55 -0
- package/dist/react/chat/Bubble.js.map +1 -0
- package/dist/react/chat/DateMarker.d.ts +10 -0
- package/dist/react/chat/DateMarker.d.ts.map +1 -0
- package/dist/react/chat/DateMarker.js +28 -0
- package/dist/react/chat/DateMarker.js.map +1 -0
- package/dist/react/chat/MessageComposer.d.ts +32 -0
- package/dist/react/chat/MessageComposer.d.ts.map +1 -0
- package/dist/react/chat/MessageComposer.js +79 -0
- package/dist/react/chat/MessageComposer.js.map +1 -0
- package/dist/react/chat/MessageRow.d.ts +35 -0
- package/dist/react/chat/MessageRow.d.ts.map +1 -0
- package/dist/react/chat/MessageRow.js +32 -0
- package/dist/react/chat/MessageRow.js.map +1 -0
- package/dist/react/chat/MessageScroller.d.ts +54 -0
- package/dist/react/chat/MessageScroller.d.ts.map +1 -0
- package/dist/react/chat/MessageScroller.js +96 -0
- package/dist/react/chat/MessageScroller.js.map +1 -0
- package/dist/react/chat/MessageThread.d.ts +60 -0
- package/dist/react/chat/MessageThread.d.ts.map +1 -0
- package/dist/react/chat/MessageThread.js +68 -0
- package/dist/react/chat/MessageThread.js.map +1 -0
- package/dist/react/chat/PresenceRoster.d.ts +15 -0
- package/dist/react/chat/PresenceRoster.d.ts.map +1 -0
- package/dist/react/chat/PresenceRoster.js +42 -0
- package/dist/react/chat/PresenceRoster.js.map +1 -0
- package/dist/react/chat/StatusMarker.d.ts +14 -0
- package/dist/react/chat/StatusMarker.d.ts.map +1 -0
- package/dist/react/chat/StatusMarker.js +10 -0
- package/dist/react/chat/StatusMarker.js.map +1 -0
- package/dist/react/chat/index.d.ts +10 -0
- package/dist/react/chat/index.d.ts.map +1 -0
- package/dist/react/chat/index.js +9 -0
- package/dist/react/chat/index.js.map +1 -0
- package/dist/react/chat/types.d.ts +56 -0
- package/dist/react/chat/types.d.ts.map +1 -0
- package/dist/react/chat/types.js.map +1 -0
- package/dist/react/clipboard/copyRich.d.ts +21 -0
- package/dist/react/clipboard/copyRich.d.ts.map +1 -0
- package/dist/react/clipboard/copyRich.js +47 -0
- package/dist/react/clipboard/copyRich.js.map +1 -0
- package/dist/react/clipboard/domToMarkdown.d.ts +8 -0
- package/dist/react/clipboard/domToMarkdown.d.ts.map +1 -0
- package/dist/react/clipboard/domToMarkdown.js +214 -0
- package/dist/react/clipboard/domToMarkdown.js.map +1 -0
- package/dist/react/clipboard/index.d.ts +4 -0
- package/dist/react/clipboard/index.d.ts.map +1 -0
- package/dist/react/clipboard/index.js +13 -0
- package/dist/react/clipboard/index.js.map +1 -0
- package/dist/react/clipboard/useSelectionMarkdown.d.ts +13 -0
- package/dist/react/clipboard/useSelectionMarkdown.d.ts.map +1 -0
- package/dist/react/clipboard/useSelectionMarkdown.js +41 -0
- package/dist/react/clipboard/useSelectionMarkdown.js.map +1 -0
- package/dist/react/code-editor/CodeEditor.d.ts +30 -0
- package/dist/react/code-editor/CodeEditor.d.ts.map +1 -0
- package/dist/react/code-editor/CodeEditor.js +127 -0
- package/dist/react/code-editor/CodeEditor.js.map +1 -0
- package/dist/react/code-editor/CodeViewer.d.ts +4 -0
- package/dist/react/code-editor/CodeViewer.d.ts.map +1 -0
- package/dist/react/code-editor/CodeViewer.js +22 -0
- package/dist/react/code-editor/CodeViewer.js.map +1 -0
- package/dist/react/code-editor/index.d.ts +4 -0
- package/dist/react/code-editor/index.d.ts.map +1 -0
- package/dist/react/code-editor/index.js +10 -0
- package/dist/react/code-editor/index.js.map +1 -0
- package/dist/react/code-editor/languages.d.ts +35 -0
- package/dist/react/code-editor/languages.d.ts.map +1 -0
- package/dist/react/code-editor/languages.js +300 -0
- package/dist/react/code-editor/languages.js.map +1 -0
- package/dist/react/code-editor/theme.d.ts +3 -0
- package/dist/react/code-editor/theme.d.ts.map +1 -0
- package/dist/react/code-editor/theme.js +186 -0
- package/dist/react/code-editor/theme.js.map +1 -0
- package/dist/react/colorScheme/ThemeToggle.d.ts +16 -0
- package/dist/react/colorScheme/ThemeToggle.d.ts.map +1 -0
- package/dist/react/colorScheme/ThemeToggle.js +17 -0
- package/dist/react/colorScheme/ThemeToggle.js.map +1 -0
- package/dist/react/colorScheme/useColorScheme.d.ts +22 -0
- package/dist/react/colorScheme/useColorScheme.d.ts.map +1 -0
- package/dist/react/colorScheme/useColorScheme.js +18 -0
- package/dist/react/colorScheme/useColorScheme.js.map +1 -0
- package/dist/react/companion-link/CompanionLinkBar.d.ts +15 -0
- package/dist/react/companion-link/CompanionLinkBar.d.ts.map +1 -0
- package/dist/react/companion-link/CompanionLinkBar.js +21 -0
- package/dist/react/companion-link/CompanionLinkBar.js.map +1 -0
- package/dist/react/companion-link/CompanionLinkStatus.d.ts +19 -0
- package/dist/react/companion-link/CompanionLinkStatus.d.ts.map +1 -0
- package/dist/react/companion-link/CompanionLinkStatus.js +44 -0
- package/dist/react/companion-link/CompanionLinkStatus.js.map +1 -0
- package/dist/react/companion-link/StaleMirrorBanner.d.ts +15 -0
- package/dist/react/companion-link/StaleMirrorBanner.d.ts.map +1 -0
- package/dist/react/companion-link/StaleMirrorBanner.js +16 -0
- package/dist/react/companion-link/StaleMirrorBanner.js.map +1 -0
- package/dist/react/companion-link/index.d.ts +17 -0
- package/dist/react/companion-link/index.d.ts.map +1 -0
- package/dist/react/companion-link/index.js +17 -0
- package/dist/react/companion-link/index.js.map +1 -0
- package/dist/react/companion-link/logic.d.ts +53 -0
- package/dist/react/companion-link/logic.d.ts.map +1 -0
- package/dist/react/companion-link/logic.js +88 -0
- package/dist/react/companion-link/logic.js.map +1 -0
- package/dist/react/companion-link/store.d.ts +36 -0
- package/dist/react/companion-link/store.d.ts.map +1 -0
- package/dist/react/companion-link/store.js +70 -0
- package/dist/react/companion-link/store.js.map +1 -0
- package/dist/react/companion-link/types.d.ts +92 -0
- package/dist/react/companion-link/types.d.ts.map +1 -0
- package/dist/react/companion-link/types.js +13 -0
- package/dist/react/companion-link/types.js.map +1 -0
- package/dist/react/companion-link/useCompanionLink.d.ts +33 -0
- package/dist/react/companion-link/useCompanionLink.d.ts.map +1 -0
- package/dist/react/companion-link/useCompanionLink.js +69 -0
- package/dist/react/companion-link/useCompanionLink.js.map +1 -0
- package/dist/react/components/Accordion.d.ts +40 -0
- package/dist/react/components/Accordion.d.ts.map +1 -0
- package/dist/react/components/Accordion.js +20 -0
- package/dist/react/components/Accordion.js.map +1 -0
- package/dist/react/components/ActionBar.d.ts +34 -1
- package/dist/react/components/ActionBar.d.ts.map +1 -1
- package/dist/react/components/ActionBar.js +63 -4
- package/dist/react/components/ActionBar.js.map +1 -1
- package/dist/react/components/ActionGroup.d.ts +42 -0
- package/dist/react/components/ActionGroup.d.ts.map +1 -0
- package/dist/react/components/ActionGroup.js +33 -0
- package/dist/react/components/ActionGroup.js.map +1 -0
- package/dist/react/components/AddItemsMenu.d.ts.map +1 -1
- package/dist/react/components/AddItemsMenu.js +7 -1
- package/dist/react/components/AddItemsMenu.js.map +1 -1
- package/dist/react/components/Alert.d.ts.map +1 -1
- package/dist/react/components/Alert.js +2 -1
- package/dist/react/components/Alert.js.map +1 -1
- package/dist/react/components/AmbientBackdrop.d.ts +49 -0
- package/dist/react/components/AmbientBackdrop.d.ts.map +1 -0
- package/dist/react/components/AmbientBackdrop.js +41 -0
- package/dist/react/components/AmbientBackdrop.js.map +1 -0
- package/dist/react/components/AppShell.d.ts +27 -4
- package/dist/react/components/AppShell.d.ts.map +1 -1
- package/dist/react/components/AppShell.js +14 -5
- package/dist/react/components/AppShell.js.map +1 -1
- package/dist/react/components/AsyncPanel.d.ts +39 -0
- package/dist/react/components/AsyncPanel.d.ts.map +1 -0
- package/dist/react/components/AsyncPanel.js +40 -0
- package/dist/react/components/AsyncPanel.js.map +1 -0
- package/dist/react/components/AutoGrowTextarea.d.ts.map +1 -1
- package/dist/react/components/AutoGrowTextarea.js +5 -1
- package/dist/react/components/AutoGrowTextarea.js.map +1 -1
- package/dist/react/components/Autocomplete.d.ts +47 -0
- package/dist/react/components/Autocomplete.d.ts.map +1 -0
- package/dist/react/components/Autocomplete.js +55 -0
- package/dist/react/components/Autocomplete.js.map +1 -0
- package/dist/react/components/Avatar.d.ts +23 -0
- package/dist/react/components/Avatar.d.ts.map +1 -0
- package/dist/react/components/Avatar.js +36 -0
- package/dist/react/components/Avatar.js.map +1 -0
- package/dist/react/components/AvatarStack.d.ts +20 -0
- package/dist/react/components/AvatarStack.d.ts.map +1 -0
- package/dist/react/components/AvatarStack.js +14 -0
- package/dist/react/components/AvatarStack.js.map +1 -0
- package/dist/react/components/Badge.d.ts +19 -14
- package/dist/react/components/Badge.d.ts.map +1 -1
- package/dist/react/components/Badge.js +56 -15
- package/dist/react/components/Badge.js.map +1 -1
- package/dist/react/components/BuildFreshness.d.ts +81 -0
- package/dist/react/components/BuildFreshness.d.ts.map +1 -0
- package/dist/react/components/BuildFreshness.js +120 -0
- package/dist/react/components/BuildFreshness.js.map +1 -0
- package/dist/react/components/Button.d.ts +44 -5
- package/dist/react/components/Button.d.ts.map +1 -1
- package/dist/react/components/Button.js +102 -15
- package/dist/react/components/Button.js.map +1 -1
- package/dist/react/components/ButtonGroup.d.ts +2 -2
- package/dist/react/components/ButtonGroup.d.ts.map +1 -1
- package/dist/react/components/ButtonGroup.js +7 -3
- package/dist/react/components/ButtonGroup.js.map +1 -1
- package/dist/react/components/ButtonLink.d.ts +2 -2
- package/dist/react/components/ButtonLink.d.ts.map +1 -1
- package/dist/react/components/ButtonLink.js +2 -2
- package/dist/react/components/ButtonLink.js.map +1 -1
- package/dist/react/components/CardTapTarget.d.ts +40 -0
- package/dist/react/components/CardTapTarget.d.ts.map +1 -0
- package/dist/react/components/CardTapTarget.js +40 -0
- package/dist/react/components/CardTapTarget.js.map +1 -0
- package/dist/react/components/ChartTablePanel.d.ts +56 -0
- package/dist/react/components/ChartTablePanel.d.ts.map +1 -0
- package/dist/react/components/ChartTablePanel.js +71 -0
- package/dist/react/components/ChartTablePanel.js.map +1 -0
- package/dist/react/components/Checkbox.d.ts +19 -3
- package/dist/react/components/Checkbox.d.ts.map +1 -1
- package/dist/react/components/Checkbox.js +28 -8
- package/dist/react/components/Checkbox.js.map +1 -1
- package/dist/react/components/ChipFilterStrip.d.ts +30 -0
- package/dist/react/components/ChipFilterStrip.d.ts.map +1 -0
- package/dist/react/components/ChipFilterStrip.js +61 -0
- package/dist/react/components/ChipFilterStrip.js.map +1 -0
- package/dist/react/components/ChoiceMenu.d.ts +55 -0
- package/dist/react/components/ChoiceMenu.d.ts.map +1 -0
- package/dist/react/components/ChoiceMenu.js +90 -0
- package/dist/react/components/ChoiceMenu.js.map +1 -0
- package/dist/react/components/CodeArea.d.ts +58 -0
- package/dist/react/components/CodeArea.d.ts.map +1 -0
- package/dist/react/components/CodeArea.js +52 -0
- package/dist/react/components/CodeArea.js.map +1 -0
- package/dist/react/components/CodeChip.d.ts +37 -0
- package/dist/react/components/CodeChip.d.ts.map +1 -0
- package/dist/react/components/CodeChip.js +35 -0
- package/dist/react/components/CodeChip.js.map +1 -0
- package/dist/react/components/CodeFieldInput.d.ts.map +1 -1
- package/dist/react/components/CodeFieldInput.js +6 -16
- package/dist/react/components/CodeFieldInput.js.map +1 -1
- package/dist/react/components/Collapsible.d.ts.map +1 -1
- package/dist/react/components/Collapsible.js +5 -1
- package/dist/react/components/Collapsible.js.map +1 -1
- package/dist/react/components/ColorField.d.ts +5 -1
- package/dist/react/components/ColorField.d.ts.map +1 -1
- package/dist/react/components/ColorField.js +14 -2
- package/dist/react/components/ColorField.js.map +1 -1
- package/dist/react/components/ComboboxField.d.ts +53 -0
- package/dist/react/components/ComboboxField.d.ts.map +1 -0
- package/dist/react/components/ComboboxField.js +109 -0
- package/dist/react/components/ComboboxField.js.map +1 -0
- package/dist/react/components/CommentThread.d.ts +50 -0
- package/dist/react/components/CommentThread.d.ts.map +1 -0
- package/dist/react/components/CommentThread.js +83 -0
- package/dist/react/components/CommentThread.js.map +1 -0
- package/dist/react/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/react/components/ConfirmDialog.js +5 -1
- package/dist/react/components/ConfirmDialog.js.map +1 -1
- package/dist/react/components/ConnectionHealer.d.ts +51 -0
- package/dist/react/components/ConnectionHealer.d.ts.map +1 -0
- package/dist/react/components/ConnectionHealer.js +107 -0
- package/dist/react/components/ConnectionHealer.js.map +1 -0
- package/dist/react/components/CopyButton.d.ts +1 -1
- package/dist/react/components/CopyButton.d.ts.map +1 -1
- package/dist/react/components/CopyButton.js +3 -3
- package/dist/react/components/CopyButton.js.map +1 -1
- package/dist/react/components/CopyableText.d.ts +29 -0
- package/dist/react/components/CopyableText.d.ts.map +1 -0
- package/dist/react/components/CopyableText.js +28 -0
- package/dist/react/components/CopyableText.js.map +1 -0
- package/dist/react/components/DataTable/CardView.d.ts +9 -1
- package/dist/react/components/DataTable/CardView.d.ts.map +1 -1
- package/dist/react/components/DataTable/CardView.js +7 -2
- package/dist/react/components/DataTable/CardView.js.map +1 -1
- package/dist/react/components/DataTable/ColumnChecklist.d.ts +37 -0
- package/dist/react/components/DataTable/ColumnChecklist.d.ts.map +1 -0
- package/dist/react/components/DataTable/ColumnChecklist.js +34 -0
- package/dist/react/components/DataTable/ColumnChecklist.js.map +1 -0
- package/dist/react/components/DataTable/DataTable.d.ts +374 -2
- package/dist/react/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/react/components/DataTable/DataTable.js +561 -36
- package/dist/react/components/DataTable/DataTable.js.map +1 -1
- package/dist/react/components/DataTable/Pagination.d.ts.map +1 -1
- package/dist/react/components/DataTable/Pagination.js +2 -1
- package/dist/react/components/DataTable/Pagination.js.map +1 -1
- package/dist/react/components/DataTable/RowActions.d.ts +10 -5
- package/dist/react/components/DataTable/RowActions.d.ts.map +1 -1
- package/dist/react/components/DataTable/RowActions.js +13 -8
- package/dist/react/components/DataTable/RowActions.js.map +1 -1
- package/dist/react/components/DataTable/SearchBox.d.ts +46 -0
- package/dist/react/components/DataTable/SearchBox.d.ts.map +1 -0
- package/dist/react/components/DataTable/SearchBox.js +67 -0
- package/dist/react/components/DataTable/SearchBox.js.map +1 -0
- package/dist/react/components/DataTable/SortHeader.d.ts +18 -1
- package/dist/react/components/DataTable/SortHeader.d.ts.map +1 -1
- package/dist/react/components/DataTable/SortHeader.js +40 -3
- package/dist/react/components/DataTable/SortHeader.js.map +1 -1
- package/dist/react/components/DataTable/SortStack.d.ts +30 -0
- package/dist/react/components/DataTable/SortStack.d.ts.map +1 -0
- package/dist/react/components/DataTable/SortStack.js +31 -0
- package/dist/react/components/DataTable/SortStack.js.map +1 -0
- package/dist/react/components/DataTable/TableFilterBuilder.d.ts +61 -0
- package/dist/react/components/DataTable/TableFilterBuilder.d.ts.map +1 -0
- package/dist/react/components/DataTable/TableFilterBuilder.js +92 -0
- package/dist/react/components/DataTable/TableFilterBuilder.js.map +1 -0
- package/dist/react/components/DataTable/TableViewToggle.d.ts +22 -0
- package/dist/react/components/DataTable/TableViewToggle.d.ts.map +1 -0
- package/dist/react/components/DataTable/TableViewToggle.js +30 -0
- package/dist/react/components/DataTable/TableViewToggle.js.map +1 -0
- package/dist/react/components/DataTable/Toolbar.d.ts +25 -6
- package/dist/react/components/DataTable/Toolbar.d.ts.map +1 -1
- package/dist/react/components/DataTable/Toolbar.js +33 -9
- package/dist/react/components/DataTable/Toolbar.js.map +1 -1
- package/dist/react/components/DataTable/ViewOptionsMenu.d.ts +14 -3
- package/dist/react/components/DataTable/ViewOptionsMenu.d.ts.map +1 -1
- package/dist/react/components/DataTable/ViewOptionsMenu.js +32 -11
- package/dist/react/components/DataTable/ViewOptionsMenu.js.map +1 -1
- package/dist/react/components/DataTable/cells/CellRenderer.d.ts.map +1 -1
- package/dist/react/components/DataTable/cells/CellRenderer.js +109 -8
- package/dist/react/components/DataTable/cells/CellRenderer.js.map +1 -1
- package/dist/react/components/DataTable/cells/CodeCell.d.ts.map +1 -1
- package/dist/react/components/DataTable/cells/CodeCell.js +2 -1
- package/dist/react/components/DataTable/cells/CodeCell.js.map +1 -1
- package/dist/react/components/DataTable/cells/LinkCell.d.ts +8 -1
- package/dist/react/components/DataTable/cells/LinkCell.d.ts.map +1 -1
- package/dist/react/components/DataTable/cells/LinkCell.js +10 -3
- package/dist/react/components/DataTable/cells/LinkCell.js.map +1 -1
- package/dist/react/components/DataTable/filterQuery.d.ts +104 -0
- package/dist/react/components/DataTable/filterQuery.d.ts.map +1 -0
- package/dist/react/components/DataTable/filterQuery.js +221 -0
- package/dist/react/components/DataTable/filterQuery.js.map +1 -0
- package/dist/react/components/DataTable/index.d.ts +10 -1
- package/dist/react/components/DataTable/index.d.ts.map +1 -1
- package/dist/react/components/DataTable/index.js +21 -1
- package/dist/react/components/DataTable/index.js.map +1 -1
- package/dist/react/components/DataTable/rowDrag.d.ts +83 -0
- package/dist/react/components/DataTable/rowDrag.d.ts.map +1 -0
- package/dist/react/components/DataTable/rowDrag.js +129 -0
- package/dist/react/components/DataTable/rowDrag.js.map +1 -0
- package/dist/react/components/DataTable/types.d.ts +27 -2
- package/dist/react/components/DataTable/types.d.ts.map +1 -1
- package/dist/react/components/DataTable/types.js +34 -1
- package/dist/react/components/DataTable/types.js.map +1 -1
- package/dist/react/components/DataTable/useTableViewMode.d.ts +69 -0
- package/dist/react/components/DataTable/useTableViewMode.d.ts.map +1 -0
- package/dist/react/components/DataTable/useTableViewMode.js +89 -0
- package/dist/react/components/DataTable/useTableViewMode.js.map +1 -0
- package/dist/react/components/DatePicker.d.ts +31 -0
- package/dist/react/components/DatePicker.d.ts.map +1 -0
- package/dist/react/components/DatePicker.js +53 -0
- package/dist/react/components/DatePicker.js.map +1 -0
- package/dist/react/components/DateRangePicker.d.ts +29 -0
- package/dist/react/components/DateRangePicker.d.ts.map +1 -0
- package/dist/react/components/DateRangePicker.js +60 -0
- package/dist/react/components/DateRangePicker.js.map +1 -0
- package/dist/react/components/DateTimeField.d.ts +24 -0
- package/dist/react/components/DateTimeField.d.ts.map +1 -0
- package/dist/react/components/DateTimeField.js +33 -0
- package/dist/react/components/DateTimeField.js.map +1 -0
- package/dist/react/components/DeleteButton.d.ts +41 -0
- package/dist/react/components/DeleteButton.d.ts.map +1 -0
- package/dist/react/components/DeleteButton.js +40 -0
- package/dist/react/components/DeleteButton.js.map +1 -0
- package/dist/react/components/DiscardConfirmDialog.d.ts.map +1 -1
- package/dist/react/components/DiscardConfirmDialog.js +1 -1
- package/dist/react/components/DiscardConfirmDialog.js.map +1 -1
- package/dist/react/components/DisclosureButton.d.ts.map +1 -1
- package/dist/react/components/DisclosureButton.js +4 -1
- package/dist/react/components/DisclosureButton.js.map +1 -1
- package/dist/react/components/DismissButton.d.ts +4 -2
- package/dist/react/components/DismissButton.d.ts.map +1 -1
- package/dist/react/components/DismissButton.js +2 -1
- package/dist/react/components/DismissButton.js.map +1 -1
- package/dist/react/components/DragHandle.d.ts.map +1 -1
- package/dist/react/components/DragHandle.js +7 -1
- package/dist/react/components/DragHandle.js.map +1 -1
- package/dist/react/components/Drawer.d.ts +17 -6
- package/dist/react/components/Drawer.d.ts.map +1 -1
- package/dist/react/components/Drawer.js +25 -6
- package/dist/react/components/Drawer.js.map +1 -1
- package/dist/react/components/DropSlot.d.ts +38 -0
- package/dist/react/components/DropSlot.d.ts.map +1 -0
- package/dist/react/components/DropSlot.js +30 -0
- package/dist/react/components/DropSlot.js.map +1 -0
- package/dist/react/components/DropdownMenu.d.ts +34 -2
- package/dist/react/components/DropdownMenu.d.ts.map +1 -1
- package/dist/react/components/DropdownMenu.js +8 -5
- package/dist/react/components/DropdownMenu.js.map +1 -1
- package/dist/react/components/ElsewhereNotice.d.ts +57 -0
- package/dist/react/components/ElsewhereNotice.d.ts.map +1 -0
- package/dist/react/components/ElsewhereNotice.js +18 -0
- package/dist/react/components/ElsewhereNotice.js.map +1 -0
- package/dist/react/components/EmojiField.d.ts.map +1 -1
- package/dist/react/components/EmojiField.js +5 -1
- package/dist/react/components/EmojiField.js.map +1 -1
- package/dist/react/components/EmptyState.d.ts +23 -5
- package/dist/react/components/EmptyState.d.ts.map +1 -1
- package/dist/react/components/EmptyState.js +13 -4
- package/dist/react/components/EmptyState.js.map +1 -1
- package/dist/react/components/EnvCompare.d.ts +1 -1
- package/dist/react/components/EnvCompare.d.ts.map +1 -1
- package/dist/react/components/EnvCompare.js +2 -2
- package/dist/react/components/EnvCompare.js.map +1 -1
- package/dist/react/components/EnvEditor.d.ts.map +1 -1
- package/dist/react/components/EnvEditor.js +6 -5
- package/dist/react/components/EnvEditor.js.map +1 -1
- package/dist/react/components/ErrorBoundary.d.ts +62 -0
- package/dist/react/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/react/components/ErrorBoundary.js +156 -0
- package/dist/react/components/ErrorBoundary.js.map +1 -0
- package/dist/react/components/ErrorCard.d.ts +46 -0
- package/dist/react/components/ErrorCard.d.ts.map +1 -0
- package/dist/react/components/ErrorCard.js +33 -0
- package/dist/react/components/ErrorCard.js.map +1 -0
- package/dist/react/components/EventTimeline.d.ts +37 -0
- package/dist/react/components/EventTimeline.d.ts.map +1 -0
- package/dist/react/components/EventTimeline.js +30 -0
- package/dist/react/components/EventTimeline.js.map +1 -0
- package/dist/react/components/ExternalLink.d.ts +63 -0
- package/dist/react/components/ExternalLink.d.ts.map +1 -0
- package/dist/react/components/ExternalLink.js +64 -0
- package/dist/react/components/ExternalLink.js.map +1 -0
- package/dist/react/components/Field.d.ts +15 -1
- package/dist/react/components/Field.d.ts.map +1 -1
- package/dist/react/components/Field.js +2 -2
- package/dist/react/components/Field.js.map +1 -1
- package/dist/react/components/FieldInput.d.ts +1 -1
- package/dist/react/components/FieldInput.d.ts.map +1 -1
- package/dist/react/components/FieldInput.js +33 -4
- package/dist/react/components/FieldInput.js.map +1 -1
- package/dist/react/components/FileActions.d.ts +25 -0
- package/dist/react/components/FileActions.d.ts.map +1 -0
- package/dist/react/components/FileActions.js +59 -0
- package/dist/react/components/FileActions.js.map +1 -0
- package/dist/react/components/FileDropZone.d.ts +107 -0
- package/dist/react/components/FileDropZone.d.ts.map +1 -0
- package/dist/react/components/FileDropZone.js +139 -0
- package/dist/react/components/FileDropZone.js.map +1 -0
- package/dist/react/components/FileLocation.d.ts +49 -0
- package/dist/react/components/FileLocation.d.ts.map +1 -0
- package/dist/react/components/FileLocation.js +32 -0
- package/dist/react/components/FileLocation.js.map +1 -0
- package/dist/react/components/FileTypeIcon.d.ts +19 -0
- package/dist/react/components/FileTypeIcon.d.ts.map +1 -0
- package/dist/react/components/FileTypeIcon.js +81 -0
- package/dist/react/components/FileTypeIcon.js.map +1 -0
- package/dist/react/components/FindingsList.d.ts +47 -0
- package/dist/react/components/FindingsList.d.ts.map +1 -0
- package/dist/react/components/FindingsList.js +41 -0
- package/dist/react/components/FindingsList.js.map +1 -0
- package/dist/react/components/HoverCard.d.ts +2 -0
- package/dist/react/components/HoverCard.d.ts.map +1 -1
- package/dist/react/components/HoverCard.js +7 -3
- package/dist/react/components/HoverCard.js.map +1 -1
- package/dist/react/components/HudPill.d.ts +21 -0
- package/dist/react/components/HudPill.d.ts.map +1 -0
- package/dist/react/components/HudPill.js +23 -0
- package/dist/react/components/HudPill.js.map +1 -0
- package/dist/react/components/IconButton.d.ts +22 -7
- package/dist/react/components/IconButton.d.ts.map +1 -1
- package/dist/react/components/IconButton.js +12 -6
- package/dist/react/components/IconButton.js.map +1 -1
- package/dist/react/components/ImpactDialog.d.ts +81 -0
- package/dist/react/components/ImpactDialog.d.ts.map +1 -0
- package/dist/react/components/ImpactDialog.js +80 -0
- package/dist/react/components/ImpactDialog.js.map +1 -0
- package/dist/react/components/InfoHint.d.ts.map +1 -1
- package/dist/react/components/InfoHint.js +22 -2
- package/dist/react/components/InfoHint.js.map +1 -1
- package/dist/react/components/InheritBadge.d.ts +65 -0
- package/dist/react/components/InheritBadge.d.ts.map +1 -0
- package/dist/react/components/InheritBadge.js +70 -0
- package/dist/react/components/InheritBadge.js.map +1 -0
- package/dist/react/components/InlineEditableText.d.ts +14 -1
- package/dist/react/components/InlineEditableText.d.ts.map +1 -1
- package/dist/react/components/InlineEditableText.js +52 -13
- package/dist/react/components/InlineEditableText.js.map +1 -1
- package/dist/react/components/Input.d.ts +14 -7
- package/dist/react/components/Input.d.ts.map +1 -1
- package/dist/react/components/Input.js +13 -9
- package/dist/react/components/Input.js.map +1 -1
- package/dist/react/components/IsolatedFrame.d.ts +59 -0
- package/dist/react/components/IsolatedFrame.d.ts.map +1 -0
- package/dist/react/components/IsolatedFrame.js +54 -0
- package/dist/react/components/IsolatedFrame.js.map +1 -0
- package/dist/react/components/JsonEditor.d.ts +1 -1
- package/dist/react/components/JsonEditor.d.ts.map +1 -1
- package/dist/react/components/JsonEditor.js +10 -3
- package/dist/react/components/JsonEditor.js.map +1 -1
- package/dist/react/components/Lightbox.d.ts.map +1 -1
- package/dist/react/components/Lightbox.js +2 -1
- package/dist/react/components/Lightbox.js.map +1 -1
- package/dist/react/components/LogViewer.d.ts +71 -0
- package/dist/react/components/LogViewer.d.ts.map +1 -0
- package/dist/react/components/LogViewer.js +105 -0
- package/dist/react/components/LogViewer.js.map +1 -0
- package/dist/react/components/MeterList.d.ts +64 -0
- package/dist/react/components/MeterList.d.ts.map +1 -0
- package/dist/react/components/MeterList.js +51 -0
- package/dist/react/components/MeterList.js.map +1 -0
- package/dist/react/components/Modal.d.ts +70 -7
- package/dist/react/components/Modal.d.ts.map +1 -1
- package/dist/react/components/Modal.js +28 -10
- package/dist/react/components/Modal.js.map +1 -1
- package/dist/react/components/MultiSelectField.d.ts +16 -13
- package/dist/react/components/MultiSelectField.d.ts.map +1 -1
- package/dist/react/components/MultiSelectField.js +11 -21
- package/dist/react/components/MultiSelectField.js.map +1 -1
- package/dist/react/components/NativeSelect.d.ts +72 -0
- package/dist/react/components/NativeSelect.d.ts.map +1 -0
- package/dist/react/components/NativeSelect.js +87 -0
- package/dist/react/components/NativeSelect.js.map +1 -0
- package/dist/react/components/OnlineDot.d.ts +13 -0
- package/dist/react/components/OnlineDot.d.ts.map +1 -0
- package/dist/react/components/OnlineDot.js +12 -0
- package/dist/react/components/OnlineDot.js.map +1 -0
- package/dist/react/components/OtpInput.d.ts +34 -0
- package/dist/react/components/OtpInput.d.ts.map +1 -0
- package/dist/react/components/OtpInput.js +84 -0
- package/dist/react/components/OtpInput.js.map +1 -0
- package/dist/react/components/Page.d.ts +44 -5
- package/dist/react/components/Page.d.ts.map +1 -1
- package/dist/react/components/Page.js +31 -6
- package/dist/react/components/Page.js.map +1 -1
- package/dist/react/components/PanelGrid.d.ts +103 -0
- package/dist/react/components/PanelGrid.d.ts.map +1 -0
- package/dist/react/components/PanelGrid.js +77 -0
- package/dist/react/components/PanelGrid.js.map +1 -0
- package/dist/react/components/PanelSeparator.d.ts +35 -0
- package/dist/react/components/PanelSeparator.d.ts.map +1 -0
- package/dist/react/components/PanelSeparator.js +31 -0
- package/dist/react/components/PanelSeparator.js.map +1 -0
- package/dist/react/components/PathText.d.ts +62 -0
- package/dist/react/components/PathText.d.ts.map +1 -0
- package/dist/react/components/PathText.js +37 -0
- package/dist/react/components/PathText.js.map +1 -0
- package/dist/react/components/PluginCard.d.ts +35 -0
- package/dist/react/components/PluginCard.d.ts.map +1 -0
- package/dist/react/components/PluginCard.js +110 -0
- package/dist/react/components/PluginCard.js.map +1 -0
- package/dist/react/components/Popover.d.ts.map +1 -1
- package/dist/react/components/Popover.js +2 -2
- package/dist/react/components/Popover.js.map +1 -1
- package/dist/react/components/Progress.d.ts +46 -0
- package/dist/react/components/Progress.d.ts.map +1 -0
- package/dist/react/components/Progress.js +27 -0
- package/dist/react/components/Progress.js.map +1 -0
- package/dist/react/components/PromptDialog.d.ts +24 -0
- package/dist/react/components/PromptDialog.d.ts.map +1 -0
- package/dist/react/components/PromptDialog.js +31 -0
- package/dist/react/components/PromptDialog.js.map +1 -0
- package/dist/react/components/QueryBoundary.d.ts +8 -1
- package/dist/react/components/QueryBoundary.d.ts.map +1 -1
- package/dist/react/components/QueryBoundary.js +4 -1
- package/dist/react/components/QueryBoundary.js.map +1 -1
- package/dist/react/components/RatingField.d.ts.map +1 -1
- package/dist/react/components/RatingField.js +5 -1
- package/dist/react/components/RatingField.js.map +1 -1
- package/dist/react/components/ReactionBar.d.ts +25 -0
- package/dist/react/components/ReactionBar.d.ts.map +1 -0
- package/dist/react/components/ReactionBar.js +28 -0
- package/dist/react/components/ReactionBar.js.map +1 -0
- package/dist/react/components/ReactionPicker.d.ts +20 -0
- package/dist/react/components/ReactionPicker.d.ts.map +1 -0
- package/dist/react/components/ReactionPicker.js +18 -0
- package/dist/react/components/ReactionPicker.js.map +1 -0
- package/dist/react/components/ResponsiveWorkbench.d.ts +62 -0
- package/dist/react/components/ResponsiveWorkbench.d.ts.map +1 -0
- package/dist/react/components/ResponsiveWorkbench.js +44 -0
- package/dist/react/components/ResponsiveWorkbench.js.map +1 -0
- package/dist/react/components/ScrollArea.d.ts +17 -3
- package/dist/react/components/ScrollArea.d.ts.map +1 -1
- package/dist/react/components/ScrollArea.js +42 -8
- package/dist/react/components/ScrollArea.js.map +1 -1
- package/dist/react/components/ScrollToTopButton.d.ts.map +1 -1
- package/dist/react/components/ScrollToTopButton.js +6 -1
- package/dist/react/components/ScrollToTopButton.js.map +1 -1
- package/dist/react/components/SecretInput.d.ts +32 -2
- package/dist/react/components/SecretInput.d.ts.map +1 -1
- package/dist/react/components/SecretInput.js +25 -5
- package/dist/react/components/SecretInput.js.map +1 -1
- package/dist/react/components/Section.d.ts +18 -2
- package/dist/react/components/Section.d.ts.map +1 -1
- package/dist/react/components/Section.js +6 -3
- package/dist/react/components/Section.js.map +1 -1
- package/dist/react/components/SegmentedControl.d.ts +13 -2
- package/dist/react/components/SegmentedControl.d.ts.map +1 -1
- package/dist/react/components/SegmentedControl.js +12 -3
- package/dist/react/components/SegmentedControl.js.map +1 -1
- package/dist/react/components/SelectField.d.ts +21 -5
- package/dist/react/components/SelectField.d.ts.map +1 -1
- package/dist/react/components/SelectField.js +9 -7
- package/dist/react/components/SelectField.js.map +1 -1
- package/dist/react/components/SelectableRow.d.ts +41 -0
- package/dist/react/components/SelectableRow.d.ts.map +1 -0
- package/dist/react/components/SelectableRow.js +39 -0
- package/dist/react/components/SelectableRow.js.map +1 -0
- package/dist/react/components/Skeleton.d.ts.map +1 -1
- package/dist/react/components/Skeleton.js.map +1 -1
- package/dist/react/components/Slider.d.ts +46 -0
- package/dist/react/components/Slider.d.ts.map +1 -0
- package/dist/react/components/Slider.js +27 -0
- package/dist/react/components/Slider.js.map +1 -0
- package/dist/react/components/SliderField.d.ts +43 -0
- package/dist/react/components/SliderField.d.ts.map +1 -0
- package/dist/react/components/SliderField.js +43 -0
- package/dist/react/components/SliderField.js.map +1 -0
- package/dist/react/components/Sparkline.d.ts +12 -0
- package/dist/react/components/Sparkline.d.ts.map +1 -0
- package/dist/react/components/Sparkline.js +19 -0
- package/dist/react/components/Sparkline.js.map +1 -0
- package/dist/react/components/SplitButton.d.ts +3 -1
- package/dist/react/components/SplitButton.d.ts.map +1 -1
- package/dist/react/components/SplitButton.js +2 -2
- package/dist/react/components/SplitButton.js.map +1 -1
- package/dist/react/components/SplitPane.d.ts +56 -0
- package/dist/react/components/SplitPane.d.ts.map +1 -0
- package/dist/react/components/SplitPane.js +25 -0
- package/dist/react/components/SplitPane.js.map +1 -0
- package/dist/react/components/StarRating.d.ts +63 -0
- package/dist/react/components/StarRating.d.ts.map +1 -0
- package/dist/react/components/StarRating.js +116 -0
- package/dist/react/components/StarRating.js.map +1 -0
- package/dist/react/components/StatStrip.d.ts +47 -0
- package/dist/react/components/StatStrip.d.ts.map +1 -0
- package/dist/react/components/StatStrip.js +59 -0
- package/dist/react/components/StatStrip.js.map +1 -0
- package/dist/react/components/StatTile.d.ts +84 -2
- package/dist/react/components/StatTile.d.ts.map +1 -1
- package/dist/react/components/StatTile.js +63 -16
- package/dist/react/components/StatTile.js.map +1 -1
- package/dist/react/components/StatTileGrid.d.ts +42 -0
- package/dist/react/components/StatTileGrid.d.ts.map +1 -0
- package/dist/react/components/StatTileGrid.js +57 -0
- package/dist/react/components/StatTileGrid.js.map +1 -0
- package/dist/react/components/StatusPill.d.ts +73 -0
- package/dist/react/components/StatusPill.d.ts.map +1 -0
- package/dist/react/components/StatusPill.js +101 -0
- package/dist/react/components/StatusPill.js.map +1 -0
- package/dist/react/components/Surface.d.ts +9 -3
- package/dist/react/components/Surface.d.ts.map +1 -1
- package/dist/react/components/Surface.js +14 -2
- package/dist/react/components/Surface.js.map +1 -1
- package/dist/react/components/SwatchPicker.d.ts +31 -0
- package/dist/react/components/SwatchPicker.d.ts.map +1 -0
- package/dist/react/components/SwatchPicker.js +19 -0
- package/dist/react/components/SwatchPicker.js.map +1 -0
- package/dist/react/components/Switch.d.ts.map +1 -1
- package/dist/react/components/Switch.js +10 -1
- package/dist/react/components/Switch.js.map +1 -1
- package/dist/react/components/Tabs.d.ts +65 -0
- package/dist/react/components/Tabs.d.ts.map +1 -0
- package/dist/react/components/Tabs.js +72 -0
- package/dist/react/components/Tabs.js.map +1 -0
- package/dist/react/components/TagStrip.d.ts +33 -0
- package/dist/react/components/TagStrip.d.ts.map +1 -0
- package/dist/react/components/TagStrip.js +30 -0
- package/dist/react/components/TagStrip.js.map +1 -0
- package/dist/react/components/TagsInput.d.ts +8 -1
- package/dist/react/components/TagsInput.d.ts.map +1 -1
- package/dist/react/components/TagsInput.js +9 -2
- package/dist/react/components/TagsInput.js.map +1 -1
- package/dist/react/components/ThresholdMeter.d.ts +42 -0
- package/dist/react/components/ThresholdMeter.d.ts.map +1 -0
- package/dist/react/components/ThresholdMeter.js +39 -0
- package/dist/react/components/ThresholdMeter.js.map +1 -0
- package/dist/react/components/Tooltip.d.ts +56 -6
- package/dist/react/components/Tooltip.d.ts.map +1 -1
- package/dist/react/components/Tooltip.js +239 -24
- package/dist/react/components/Tooltip.js.map +1 -1
- package/dist/react/components/TooltipImpl.d.ts +23 -0
- package/dist/react/components/TooltipImpl.d.ts.map +1 -0
- package/dist/react/components/TooltipImpl.js +222 -0
- package/dist/react/components/TooltipImpl.js.map +1 -0
- package/dist/react/components/TreeView.d.ts +41 -0
- package/dist/react/components/TreeView.d.ts.map +1 -0
- package/dist/react/components/TreeView.js +339 -0
- package/dist/react/components/TreeView.js.map +1 -0
- package/dist/react/components/TruncatedText.d.ts +53 -0
- package/dist/react/components/TruncatedText.d.ts.map +1 -0
- package/dist/react/components/TruncatedText.js +55 -0
- package/dist/react/components/TruncatedText.js.map +1 -0
- package/dist/react/components/WidgetHeader.d.ts +33 -0
- package/dist/react/components/WidgetHeader.d.ts.map +1 -0
- package/dist/react/components/WidgetHeader.js +26 -0
- package/dist/react/components/WidgetHeader.js.map +1 -0
- package/dist/react/components/Wizard/Stepper.d.ts +22 -4
- package/dist/react/components/Wizard/Stepper.d.ts.map +1 -1
- package/dist/react/components/Wizard/Stepper.js +29 -5
- package/dist/react/components/Wizard/Stepper.js.map +1 -1
- package/dist/react/components/Wizard/Wizard.d.ts.map +1 -1
- package/dist/react/components/Wizard/Wizard.js +2 -1
- package/dist/react/components/Wizard/Wizard.js.map +1 -1
- package/dist/react/components/auth/AuthCard.d.ts +42 -0
- package/dist/react/components/auth/AuthCard.d.ts.map +1 -0
- package/dist/react/components/auth/AuthCard.js +16 -0
- package/dist/react/components/auth/AuthCard.js.map +1 -0
- package/dist/react/components/auth/AuthForm.d.ts +38 -0
- package/dist/react/components/auth/AuthForm.d.ts.map +1 -0
- package/dist/react/components/auth/AuthForm.js +36 -0
- package/dist/react/components/auth/AuthForm.js.map +1 -0
- package/dist/react/components/auth/LoginForm.d.ts +52 -0
- package/dist/react/components/auth/LoginForm.d.ts.map +1 -0
- package/dist/react/components/auth/LoginForm.js +29 -0
- package/dist/react/components/auth/LoginForm.js.map +1 -0
- package/dist/react/components/auth/PasswordResetConfirm.d.ts +24 -0
- package/dist/react/components/auth/PasswordResetConfirm.d.ts.map +1 -0
- package/dist/react/components/auth/PasswordResetConfirm.js +29 -0
- package/dist/react/components/auth/PasswordResetConfirm.js.map +1 -0
- package/dist/react/components/auth/PasswordResetRequest.d.ts +24 -0
- package/dist/react/components/auth/PasswordResetRequest.d.ts.map +1 -0
- package/dist/react/components/auth/PasswordResetRequest.js +32 -0
- package/dist/react/components/auth/PasswordResetRequest.js.map +1 -0
- package/dist/react/components/auth/PasswordSetFields.d.ts +20 -0
- package/dist/react/components/auth/PasswordSetFields.d.ts.map +1 -0
- package/dist/react/components/auth/PasswordSetFields.js +17 -0
- package/dist/react/components/auth/PasswordSetFields.js.map +1 -0
- package/dist/react/components/auth/PasswordStrengthMeter.d.ts +15 -0
- package/dist/react/components/auth/PasswordStrengthMeter.d.ts.map +1 -0
- package/dist/react/components/auth/PasswordStrengthMeter.js +31 -0
- package/dist/react/components/auth/PasswordStrengthMeter.js.map +1 -0
- package/dist/react/components/auth/RegisterForm.d.ts +32 -0
- package/dist/react/components/auth/RegisterForm.d.ts.map +1 -0
- package/dist/react/components/auth/RegisterForm.js +33 -0
- package/dist/react/components/auth/RegisterForm.js.map +1 -0
- package/dist/react/components/auth/SetInitialPassword.d.ts +30 -0
- package/dist/react/components/auth/SetInitialPassword.d.ts.map +1 -0
- package/dist/react/components/auth/SetInitialPassword.js +44 -0
- package/dist/react/components/auth/SetInitialPassword.js.map +1 -0
- package/dist/react/components/auth/SignupForm.d.ts +40 -0
- package/dist/react/components/auth/SignupForm.d.ts.map +1 -0
- package/dist/react/components/auth/SignupForm.js +44 -0
- package/dist/react/components/auth/SignupForm.js.map +1 -0
- package/dist/react/components/auth/TotpEntry.d.ts +30 -0
- package/dist/react/components/auth/TotpEntry.d.ts.map +1 -0
- package/dist/react/components/auth/TotpEntry.js +36 -0
- package/dist/react/components/auth/TotpEntry.js.map +1 -0
- package/dist/react/components/auth/fields.d.ts +35 -0
- package/dist/react/components/auth/fields.d.ts.map +1 -0
- package/dist/react/components/auth/fields.js +25 -0
- package/dist/react/components/auth/fields.js.map +1 -0
- package/dist/react/components/auth/index.d.ts +16 -0
- package/dist/react/components/auth/index.d.ts.map +1 -0
- package/dist/react/components/auth/index.js +15 -0
- package/dist/react/components/auth/index.js.map +1 -0
- package/dist/react/components/auth/mapAuthError.d.ts +12 -0
- package/dist/react/components/auth/mapAuthError.d.ts.map +1 -0
- package/dist/react/components/auth/mapAuthError.js +55 -0
- package/dist/react/components/auth/mapAuthError.js.map +1 -0
- package/dist/react/components/auth/passwordStrength.d.ts +23 -0
- package/dist/react/components/auth/passwordStrength.d.ts.map +1 -0
- package/dist/react/components/auth/passwordStrength.js +31 -0
- package/dist/react/components/auth/passwordStrength.js.map +1 -0
- package/dist/react/components/auth/types.d.ts +38 -0
- package/dist/react/components/auth/types.d.ts.map +1 -0
- package/dist/react/components/auth/types.js +2 -0
- package/dist/react/components/auth/types.js.map +1 -0
- package/dist/react/components/buildFreshness.css +64 -0
- package/dist/react/components/calendar/CalendarLegend.d.ts +25 -0
- package/dist/react/components/calendar/CalendarLegend.d.ts.map +1 -0
- package/dist/react/components/calendar/CalendarLegend.js +20 -0
- package/dist/react/components/calendar/CalendarLegend.js.map +1 -0
- package/dist/react/components/calendar/DayAgenda.d.ts +29 -0
- package/dist/react/components/calendar/DayAgenda.d.ts.map +1 -0
- package/dist/react/components/calendar/DayAgenda.js +27 -0
- package/dist/react/components/calendar/DayAgenda.js.map +1 -0
- package/dist/react/components/calendar/EventChip.d.ts +15 -0
- package/dist/react/components/calendar/EventChip.d.ts.map +1 -0
- package/dist/react/components/calendar/EventChip.js +28 -0
- package/dist/react/components/calendar/EventChip.js.map +1 -0
- package/dist/react/components/calendar/MonthGrid.d.ts +54 -0
- package/dist/react/components/calendar/MonthGrid.d.ts.map +1 -0
- package/dist/react/components/calendar/MonthGrid.js +51 -0
- package/dist/react/components/calendar/MonthGrid.js.map +1 -0
- package/dist/react/components/calendar/WeekView.d.ts +22 -0
- package/dist/react/components/calendar/WeekView.d.ts.map +1 -0
- package/dist/react/components/calendar/WeekView.js +37 -0
- package/dist/react/components/calendar/WeekView.js.map +1 -0
- package/dist/react/components/calendar/colorUtils.d.ts +15 -0
- package/dist/react/components/calendar/colorUtils.d.ts.map +1 -0
- package/dist/react/components/calendar/colorUtils.js +96 -0
- package/dist/react/components/calendar/colorUtils.js.map +1 -0
- package/dist/react/components/calendar/index.d.ts +9 -0
- package/dist/react/components/calendar/index.d.ts.map +1 -0
- package/dist/react/components/calendar/index.js +8 -0
- package/dist/react/components/calendar/index.js.map +1 -0
- package/dist/react/components/calendar/occurrences.d.ts +9 -0
- package/dist/react/components/calendar/occurrences.d.ts.map +1 -0
- package/dist/react/components/calendar/occurrences.js +18 -0
- package/dist/react/components/calendar/occurrences.js.map +1 -0
- package/dist/react/components/calendar/types.d.ts +46 -0
- package/dist/react/components/calendar/types.d.ts.map +1 -0
- package/dist/react/components/calendar/types.js +2 -0
- package/dist/react/components/calendar/types.js.map +1 -0
- package/dist/react/components/revealOnHover.d.ts.map +1 -1
- package/dist/react/components/revealOnHover.js +2 -1
- package/dist/react/components/revealOnHover.js.map +1 -1
- package/dist/react/components/sharing/RecipientAvatar.d.ts +13 -0
- package/dist/react/components/sharing/RecipientAvatar.d.ts.map +1 -0
- package/dist/react/components/sharing/RecipientAvatar.js +31 -0
- package/dist/react/components/sharing/RecipientAvatar.js.map +1 -0
- package/dist/react/components/sharing/RecipientPicker.d.ts +26 -0
- package/dist/react/components/sharing/RecipientPicker.d.ts.map +1 -0
- package/dist/react/components/sharing/RecipientPicker.js +66 -0
- package/dist/react/components/sharing/RecipientPicker.js.map +1 -0
- package/dist/react/components/sharing/ShareControl.d.ts +26 -0
- package/dist/react/components/sharing/ShareControl.d.ts.map +1 -0
- package/dist/react/components/sharing/ShareControl.js +37 -0
- package/dist/react/components/sharing/ShareControl.js.map +1 -0
- package/dist/react/components/sharing/ShareDialog.d.ts +26 -0
- package/dist/react/components/sharing/ShareDialog.d.ts.map +1 -0
- package/dist/react/components/sharing/ShareDialog.js +42 -0
- package/dist/react/components/sharing/ShareDialog.js.map +1 -0
- package/dist/react/components/sharing/ShareEditor.d.ts +31 -0
- package/dist/react/components/sharing/ShareEditor.d.ts.map +1 -0
- package/dist/react/components/sharing/ShareEditor.js +50 -0
- package/dist/react/components/sharing/ShareEditor.js.map +1 -0
- package/dist/react/components/sharing/SharedWithUserDialog.d.ts +34 -0
- package/dist/react/components/sharing/SharedWithUserDialog.d.ts.map +1 -0
- package/dist/react/components/sharing/SharedWithUserDialog.js +28 -0
- package/dist/react/components/sharing/SharedWithUserDialog.js.map +1 -0
- package/dist/react/components/sharing/types.d.ts +84 -0
- package/dist/react/components/sharing/types.d.ts.map +1 -0
- package/dist/react/components/sharing/types.js +43 -0
- package/dist/react/components/sharing/types.js.map +1 -0
- package/dist/react/constants/viewport.d.ts +1 -1
- package/dist/react/constants/viewport.js +1 -1
- package/dist/react/createApiHooks.d.ts +11 -1
- package/dist/react/createApiHooks.d.ts.map +1 -1
- package/dist/react/createApiHooks.js +6 -2
- package/dist/react/createApiHooks.js.map +1 -1
- package/dist/react/dashboard-grid/DashboardGrid.d.ts +77 -0
- package/dist/react/dashboard-grid/DashboardGrid.d.ts.map +1 -0
- package/dist/react/dashboard-grid/DashboardGrid.js +218 -0
- package/dist/react/dashboard-grid/DashboardGrid.js.map +1 -0
- package/dist/react/dashboard-grid/WidgetFrame.d.ts +38 -0
- package/dist/react/dashboard-grid/WidgetFrame.d.ts.map +1 -0
- package/dist/react/dashboard-grid/WidgetFrame.js +36 -0
- package/dist/react/dashboard-grid/WidgetFrame.js.map +1 -0
- package/dist/react/dashboard-grid/index.d.ts +4 -0
- package/dist/react/dashboard-grid/index.d.ts.map +1 -0
- package/dist/react/dashboard-grid/index.js +12 -0
- package/dist/react/dashboard-grid/index.js.map +1 -0
- package/dist/react/dashboard-grid/widgetRegistry.d.ts +62 -0
- package/dist/react/dashboard-grid/widgetRegistry.d.ts.map +1 -0
- package/dist/react/dashboard-grid/widgetRegistry.js +42 -0
- package/dist/react/dashboard-grid/widgetRegistry.js.map +1 -0
- package/dist/react/data/AppErrorOverlay.d.ts +23 -0
- package/dist/react/data/AppErrorOverlay.d.ts.map +1 -0
- package/dist/react/data/AppErrorOverlay.js +78 -0
- package/dist/react/data/AppErrorOverlay.js.map +1 -0
- package/dist/react/data/EngineDataProvider.d.ts +43 -0
- package/dist/react/data/EngineDataProvider.d.ts.map +1 -0
- package/dist/react/data/EngineDataProvider.js +109 -0
- package/dist/react/data/EngineDataProvider.js.map +1 -0
- package/dist/react/data/accountClient.d.ts +137 -0
- package/dist/react/data/accountClient.d.ts.map +1 -0
- package/dist/react/data/accountClient.js +109 -0
- package/dist/react/data/accountClient.js.map +1 -0
- package/dist/react/data/categoryTree.d.ts +17 -0
- package/dist/react/data/categoryTree.d.ts.map +1 -0
- package/dist/react/data/categoryTree.js +17 -0
- package/dist/react/data/categoryTree.js.map +1 -0
- package/dist/react/data/engineClient.d.ts +77 -0
- package/dist/react/data/engineClient.d.ts.map +1 -0
- package/dist/react/data/engineClient.js +93 -0
- package/dist/react/data/engineClient.js.map +1 -0
- package/dist/react/data/engineDataContext.d.ts +26 -0
- package/dist/react/data/engineDataContext.d.ts.map +1 -0
- package/dist/react/data/engineDataContext.js +24 -0
- package/dist/react/data/engineDataContext.js.map +1 -0
- package/dist/react/data/engineOps.d.ts +23 -0
- package/dist/react/data/engineOps.d.ts.map +1 -0
- package/dist/react/data/engineOps.js +5 -0
- package/dist/react/data/engineOps.js.map +1 -0
- package/dist/react/data/engineResources.d.ts +296 -0
- package/dist/react/data/engineResources.d.ts.map +1 -0
- package/dist/react/data/engineResources.js +541 -0
- package/dist/react/data/engineResources.js.map +1 -0
- package/dist/react/data/index.d.ts +8 -0
- package/dist/react/data/index.d.ts.map +1 -0
- package/dist/react/data/index.js +13 -0
- package/dist/react/data/index.js.map +1 -0
- package/dist/react/data/rowSpecs.d.ts +233 -0
- package/dist/react/data/rowSpecs.d.ts.map +1 -0
- package/dist/react/data/rowSpecs.js +222 -0
- package/dist/react/data/rowSpecs.js.map +1 -0
- package/dist/react/data/useEngineResource.d.ts +58 -0
- package/dist/react/data/useEngineResource.d.ts.map +1 -0
- package/dist/react/data/useEngineResource.js +176 -0
- package/dist/react/data/useEngineResource.js.map +1 -0
- package/dist/react/data/wireEnvelope.d.ts +208 -0
- package/dist/react/data/wireEnvelope.d.ts.map +1 -0
- package/dist/react/data/wireEnvelope.js +239 -0
- package/dist/react/data/wireEnvelope.js.map +1 -0
- package/dist/react/deep-link/index.d.ts +4 -0
- package/dist/react/deep-link/index.d.ts.map +1 -0
- package/dist/react/deep-link/index.js +4 -0
- package/dist/react/deep-link/index.js.map +1 -0
- package/dist/react/deep-link/links.d.ts +124 -0
- package/dist/react/deep-link/links.d.ts.map +1 -0
- package/dist/react/deep-link/links.js +222 -0
- package/dist/react/deep-link/links.js.map +1 -0
- package/dist/react/deep-link/resume.d.ts +47 -0
- package/dist/react/deep-link/resume.d.ts.map +1 -0
- package/dist/react/deep-link/resume.js +175 -0
- package/dist/react/deep-link/resume.js.map +1 -0
- package/dist/react/deep-link/useDeepLink.d.ts +81 -0
- package/dist/react/deep-link/useDeepLink.d.ts.map +1 -0
- package/dist/react/deep-link/useDeepLink.js +191 -0
- package/dist/react/deep-link/useDeepLink.js.map +1 -0
- package/dist/react/diff-viewer/DiffViewer.css +43 -0
- package/dist/react/diff-viewer/DiffViewer.d.ts +38 -0
- package/dist/react/diff-viewer/DiffViewer.d.ts.map +1 -0
- package/dist/react/diff-viewer/DiffViewer.js +29 -0
- package/dist/react/diff-viewer/DiffViewer.js.map +1 -0
- package/dist/react/diff-viewer/TextComparePane.d.ts +33 -0
- package/dist/react/diff-viewer/TextComparePane.d.ts.map +1 -0
- package/dist/react/diff-viewer/TextComparePane.js +39 -0
- package/dist/react/diff-viewer/TextComparePane.js.map +1 -0
- package/dist/react/diff-viewer/diff.d.ts +45 -0
- package/dist/react/diff-viewer/diff.d.ts.map +1 -0
- package/dist/react/diff-viewer/diff.js +45 -0
- package/dist/react/diff-viewer/diff.js.map +1 -0
- package/dist/react/diff-viewer/index.d.ts +5 -0
- package/dist/react/diff-viewer/index.d.ts.map +1 -0
- package/dist/react/diff-viewer/index.js +12 -0
- package/dist/react/diff-viewer/index.js.map +1 -0
- package/dist/react/diff-viewer/useDiffTheme.d.ts +6 -0
- package/dist/react/diff-viewer/useDiffTheme.d.ts.map +1 -0
- package/dist/react/diff-viewer/useDiffTheme.js +35 -0
- package/dist/react/diff-viewer/useDiffTheme.js.map +1 -0
- package/dist/react/disk-usage/DiskUsageRulesEditor.d.ts +15 -0
- package/dist/react/disk-usage/DiskUsageRulesEditor.d.ts.map +1 -0
- package/dist/react/disk-usage/DiskUsageRulesEditor.js +25 -0
- package/dist/react/disk-usage/DiskUsageRulesEditor.js.map +1 -0
- package/dist/react/disk-usage/DiskUsageScanControls.d.ts +22 -0
- package/dist/react/disk-usage/DiskUsageScanControls.d.ts.map +1 -0
- package/dist/react/disk-usage/DiskUsageScanControls.js +39 -0
- package/dist/react/disk-usage/DiskUsageScanControls.js.map +1 -0
- package/dist/react/disk-usage/DiskUsageSummaryTiles.d.ts +14 -0
- package/dist/react/disk-usage/DiskUsageSummaryTiles.d.ts.map +1 -0
- package/dist/react/disk-usage/DiskUsageSummaryTiles.js +25 -0
- package/dist/react/disk-usage/DiskUsageSummaryTiles.js.map +1 -0
- package/dist/react/disk-usage/DiskUsageTree.d.ts +26 -0
- package/dist/react/disk-usage/DiskUsageTree.d.ts.map +1 -0
- package/dist/react/disk-usage/DiskUsageTree.js +53 -0
- package/dist/react/disk-usage/DiskUsageTree.js.map +1 -0
- package/dist/react/disk-usage/index.d.ts +5 -0
- package/dist/react/disk-usage/index.d.ts.map +1 -0
- package/dist/react/disk-usage/index.js +5 -0
- package/dist/react/disk-usage/index.js.map +1 -0
- package/dist/react/emoji/EmojiAutocomplete.d.ts.map +1 -1
- package/dist/react/emoji/EmojiAutocomplete.js +14 -2
- package/dist/react/emoji/EmojiAutocomplete.js.map +1 -1
- package/dist/react/emoji/EmojiPicker.d.ts.map +1 -1
- package/dist/react/emoji/EmojiPicker.js +2 -1
- package/dist/react/emoji/EmojiPicker.js.map +1 -1
- package/dist/react/engine-studio/DiagnosticsPanel.d.ts +19 -0
- package/dist/react/engine-studio/DiagnosticsPanel.d.ts.map +1 -0
- package/dist/react/engine-studio/DiagnosticsPanel.js +31 -0
- package/dist/react/engine-studio/DiagnosticsPanel.js.map +1 -0
- package/dist/react/engine-studio/EngineCanvas.d.ts +23 -0
- package/dist/react/engine-studio/EngineCanvas.d.ts.map +1 -0
- package/dist/react/engine-studio/EngineCanvas.js +261 -0
- package/dist/react/engine-studio/EngineCanvas.js.map +1 -0
- package/dist/react/engine-studio/EngineInspector.d.ts +10 -0
- package/dist/react/engine-studio/EngineInspector.d.ts.map +1 -0
- package/dist/react/engine-studio/EngineInspector.js +23 -0
- package/dist/react/engine-studio/EngineInspector.js.map +1 -0
- package/dist/react/engine-studio/EngineStudio.d.ts +51 -0
- package/dist/react/engine-studio/EngineStudio.d.ts.map +1 -0
- package/dist/react/engine-studio/EngineStudio.js +143 -0
- package/dist/react/engine-studio/EngineStudio.js.map +1 -0
- package/dist/react/engine-studio/index.d.ts +10 -0
- package/dist/react/engine-studio/index.d.ts.map +1 -0
- package/dist/react/engine-studio/index.js +10 -0
- package/dist/react/engine-studio/index.js.map +1 -0
- package/dist/react/engine-studio/useStudioSession.d.ts +16 -0
- package/dist/react/engine-studio/useStudioSession.d.ts.map +1 -0
- package/dist/react/engine-studio/useStudioSession.js +47 -0
- package/dist/react/engine-studio/useStudioSession.js.map +1 -0
- package/dist/react/file-tree/FileTree.d.ts +171 -0
- package/dist/react/file-tree/FileTree.d.ts.map +1 -0
- package/dist/react/file-tree/FileTree.js +796 -0
- package/dist/react/file-tree/FileTree.js.map +1 -0
- package/dist/react/file-tree/fileTree.css +711 -0
- package/dist/react/file-tree/index.d.ts +3 -0
- package/dist/react/file-tree/index.d.ts.map +1 -0
- package/dist/react/file-tree/index.js +17 -0
- package/dist/react/file-tree/index.js.map +1 -0
- package/dist/react/filter-rail/FilterRail.d.ts +205 -0
- package/dist/react/filter-rail/FilterRail.d.ts.map +1 -0
- package/dist/react/filter-rail/FilterRail.js +167 -0
- package/dist/react/filter-rail/FilterRail.js.map +1 -0
- package/dist/react/filter-rail/index.d.ts +2 -0
- package/dist/react/filter-rail/index.d.ts.map +1 -0
- package/dist/react/filter-rail/index.js +2 -0
- package/dist/react/filter-rail/index.js.map +1 -0
- package/dist/react/folder-tree/FolderActionsMenu.d.ts +48 -0
- package/dist/react/folder-tree/FolderActionsMenu.d.ts.map +1 -0
- package/dist/react/folder-tree/FolderActionsMenu.js +114 -0
- package/dist/react/folder-tree/FolderActionsMenu.js.map +1 -0
- package/dist/react/folder-tree/FolderBreadcrumb.d.ts +35 -0
- package/dist/react/folder-tree/FolderBreadcrumb.d.ts.map +1 -0
- package/dist/react/folder-tree/FolderBreadcrumb.js +27 -0
- package/dist/react/folder-tree/FolderBreadcrumb.js.map +1 -0
- package/dist/react/folder-tree/FolderPicker.d.ts +27 -0
- package/dist/react/folder-tree/FolderPicker.d.ts.map +1 -0
- package/dist/react/folder-tree/FolderPicker.js +77 -0
- package/dist/react/folder-tree/FolderPicker.js.map +1 -0
- package/dist/react/folder-tree/FolderTreeRail.d.ts +69 -0
- package/dist/react/folder-tree/FolderTreeRail.d.ts.map +1 -0
- package/dist/react/folder-tree/FolderTreeRail.js +148 -0
- package/dist/react/folder-tree/FolderTreeRail.js.map +1 -0
- package/dist/react/folder-tree/NewFolderControl.d.ts +51 -0
- package/dist/react/folder-tree/NewFolderControl.d.ts.map +1 -0
- package/dist/react/folder-tree/NewFolderControl.js +91 -0
- package/dist/react/folder-tree/NewFolderControl.js.map +1 -0
- package/dist/react/folder-tree/index.d.ts +8 -0
- package/dist/react/folder-tree/index.d.ts.map +1 -0
- package/dist/react/folder-tree/index.js +29 -0
- package/dist/react/folder-tree/index.js.map +1 -0
- package/dist/react/hooks/DragHandleIcon.d.ts.map +1 -1
- package/dist/react/hooks/DragHandleIcon.js.map +1 -1
- package/dist/react/hooks/dragShared.d.ts +2 -2
- package/dist/react/hooks/dragShared.d.ts.map +1 -1
- package/dist/react/hooks/keyboardDnd.d.ts +124 -0
- package/dist/react/hooks/keyboardDnd.d.ts.map +1 -0
- package/dist/react/hooks/keyboardDnd.js +130 -0
- package/dist/react/hooks/keyboardDnd.js.map +1 -0
- package/dist/react/hooks/pointerDnd.d.ts +136 -0
- package/dist/react/hooks/pointerDnd.d.ts.map +1 -0
- package/dist/react/hooks/pointerDnd.js +319 -0
- package/dist/react/hooks/pointerDnd.js.map +1 -0
- package/dist/react/hooks/pragmaticDnd.d.ts +118 -0
- package/dist/react/hooks/pragmaticDnd.d.ts.map +1 -0
- package/dist/react/hooks/pragmaticDnd.js +213 -0
- package/dist/react/hooks/pragmaticDnd.js.map +1 -0
- package/dist/react/hooks/useCaretInView.d.ts +1 -1
- package/dist/react/hooks/useCaretInView.js +1 -1
- package/dist/react/hooks/useCheckboxSelection.d.ts +39 -0
- package/dist/react/hooks/useCheckboxSelection.d.ts.map +1 -0
- package/dist/react/hooks/useCheckboxSelection.js +76 -0
- package/dist/react/hooks/useCheckboxSelection.js.map +1 -0
- package/dist/react/hooks/useCrossContainerDrag.d.ts +34 -9
- package/dist/react/hooks/useCrossContainerDrag.d.ts.map +1 -1
- package/dist/react/hooks/useCrossContainerDrag.js +279 -120
- package/dist/react/hooks/useCrossContainerDrag.js.map +1 -1
- package/dist/react/hooks/useDebouncedCallback.d.ts +15 -0
- package/dist/react/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/react/hooks/useDebouncedCallback.js +23 -0
- package/dist/react/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/react/hooks/useDirtyForm.d.ts +95 -0
- package/dist/react/hooks/useDirtyForm.d.ts.map +1 -0
- package/dist/react/hooks/useDirtyForm.js +106 -0
- package/dist/react/hooks/useDirtyForm.js.map +1 -0
- package/dist/react/hooks/useDragReorder.d.ts +30 -12
- package/dist/react/hooks/useDragReorder.d.ts.map +1 -1
- package/dist/react/hooks/useDragReorder.js +272 -66
- package/dist/react/hooks/useDragReorder.js.map +1 -1
- package/dist/react/hooks/useKeySequence.d.ts +22 -0
- package/dist/react/hooks/useKeySequence.d.ts.map +1 -0
- package/dist/react/hooks/useKeySequence.js +44 -0
- package/dist/react/hooks/useKeySequence.js.map +1 -0
- package/dist/react/hooks/useListSelection.d.ts +49 -0
- package/dist/react/hooks/useListSelection.d.ts.map +1 -0
- package/dist/react/hooks/useListSelection.js +73 -0
- package/dist/react/hooks/useListSelection.js.map +1 -0
- package/dist/react/hooks/useModifierKey.d.ts +9 -0
- package/dist/react/hooks/useModifierKey.d.ts.map +1 -0
- package/dist/react/hooks/useModifierKey.js +31 -0
- package/dist/react/hooks/useModifierKey.js.map +1 -0
- package/dist/react/hooks/usePaletteDrag.d.ts +87 -0
- package/dist/react/hooks/usePaletteDrag.d.ts.map +1 -0
- package/dist/react/hooks/usePaletteDrag.js +129 -0
- package/dist/react/hooks/usePaletteDrag.js.map +1 -0
- package/dist/react/hooks/usePointerDrag.d.ts +49 -0
- package/dist/react/hooks/usePointerDrag.d.ts.map +1 -0
- package/dist/react/hooks/usePointerDrag.js +80 -0
- package/dist/react/hooks/usePointerDrag.js.map +1 -0
- package/dist/react/hooks/useResizeObserver.d.ts +18 -0
- package/dist/react/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/react/hooks/useResizeObserver.js +31 -0
- package/dist/react/hooks/useResizeObserver.js.map +1 -0
- package/dist/react/hooks/useScrollEdgeFade.d.ts +40 -0
- package/dist/react/hooks/useScrollEdgeFade.d.ts.map +1 -0
- package/dist/react/hooks/useScrollEdgeFade.js +62 -0
- package/dist/react/hooks/useScrollEdgeFade.js.map +1 -0
- package/dist/react/hooks/useScrollEdges.d.ts +33 -0
- package/dist/react/hooks/useScrollEdges.d.ts.map +1 -0
- package/dist/react/hooks/useScrollEdges.js +85 -0
- package/dist/react/hooks/useScrollEdges.js.map +1 -0
- package/dist/react/hooks/useStableOrder.d.ts +40 -0
- package/dist/react/hooks/useStableOrder.d.ts.map +1 -0
- package/dist/react/hooks/useStableOrder.js +52 -0
- package/dist/react/hooks/useStableOrder.js.map +1 -0
- package/dist/react/hooks/useSwipeToDismiss.d.ts +20 -0
- package/dist/react/hooks/useSwipeToDismiss.d.ts.map +1 -0
- package/dist/react/hooks/useSwipeToDismiss.js +75 -0
- package/dist/react/hooks/useSwipeToDismiss.js.map +1 -0
- package/dist/react/icons.d.ts +98 -0
- package/dist/react/icons.d.ts.map +1 -0
- package/dist/react/icons.js +185 -0
- package/dist/react/icons.js.map +1 -0
- package/dist/react/index.d.ts +143 -8
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +158 -7
- package/dist/react/index.js.map +1 -1
- package/dist/react/keep-awake/KeepAwake.d.ts +20 -0
- package/dist/react/keep-awake/KeepAwake.d.ts.map +1 -0
- package/dist/react/keep-awake/KeepAwake.js +26 -0
- package/dist/react/keep-awake/KeepAwake.js.map +1 -0
- package/dist/react/keep-awake/index.d.ts +5 -0
- package/dist/react/keep-awake/index.d.ts.map +1 -0
- package/dist/react/keep-awake/index.js +5 -0
- package/dist/react/keep-awake/index.js.map +1 -0
- package/dist/react/keep-awake/keepAwakeEngine.d.ts +89 -0
- package/dist/react/keep-awake/keepAwakeEngine.d.ts.map +1 -0
- package/dist/react/keep-awake/keepAwakeEngine.js +262 -0
- package/dist/react/keep-awake/keepAwakeEngine.js.map +1 -0
- package/dist/react/keep-awake/silentClip.d.ts +35 -0
- package/dist/react/keep-awake/silentClip.d.ts.map +1 -0
- package/dist/react/keep-awake/silentClip.js +90 -0
- package/dist/react/keep-awake/silentClip.js.map +1 -0
- package/dist/react/keep-awake/useKeepAwake.d.ts +27 -0
- package/dist/react/keep-awake/useKeepAwake.d.ts.map +1 -0
- package/dist/react/keep-awake/useKeepAwake.js +44 -0
- package/dist/react/keep-awake/useKeepAwake.js.map +1 -0
- package/dist/react/layout/CCResizeBoundary.d.ts +52 -0
- package/dist/react/layout/CCResizeBoundary.d.ts.map +1 -0
- package/dist/react/layout/CCResizeBoundary.js +88 -0
- package/dist/react/layout/CCResizeBoundary.js.map +1 -0
- package/dist/react/layoutEngine/LayoutCanvas.d.ts.map +1 -1
- package/dist/react/layoutEngine/LayoutCanvas.js +146 -64
- package/dist/react/layoutEngine/LayoutCanvas.js.map +1 -1
- package/dist/react/layoutEngine/LayoutConfigDialog.d.ts.map +1 -1
- package/dist/react/layoutEngine/LayoutConfigDialog.js +6 -3
- package/dist/react/layoutEngine/LayoutConfigDialog.js.map +1 -1
- package/dist/react/layoutEngine/LayoutRenderer.d.ts.map +1 -1
- package/dist/react/layoutEngine/LayoutRenderer.js +1 -1
- package/dist/react/layoutEngine/LayoutRenderer.js.map +1 -1
- package/dist/react/layoutEngine/NodeInspector.d.ts.map +1 -1
- package/dist/react/layoutEngine/NodeInspector.js +27 -8
- package/dist/react/layoutEngine/NodeInspector.js.map +1 -1
- package/dist/react/layoutEngine/SuggestPanel.d.ts.map +1 -1
- package/dist/react/layoutEngine/SuggestPanel.js +2 -1
- package/dist/react/layoutEngine/SuggestPanel.js.map +1 -1
- package/dist/react/layoutEngine/index.js +2 -2
- package/dist/react/layoutEngine/index.js.map +1 -1
- package/dist/react/lib/createInstanceStore.d.ts +48 -0
- package/dist/react/lib/createInstanceStore.d.ts.map +1 -0
- package/dist/react/lib/createInstanceStore.js +37 -0
- package/dist/react/lib/createInstanceStore.js.map +1 -0
- package/dist/react/lib/daypicker.d.ts +67 -0
- package/dist/react/lib/daypicker.d.ts.map +1 -0
- package/dist/react/lib/daypicker.js +101 -0
- package/dist/react/lib/daypicker.js.map +1 -0
- package/dist/react/lib/devWarn.d.ts +6 -0
- package/dist/react/lib/devWarn.d.ts.map +1 -0
- package/dist/react/lib/devWarn.js +22 -0
- package/dist/react/lib/devWarn.js.map +1 -0
- package/dist/react/lib/draftPersistence.d.ts +4 -3
- package/dist/react/lib/draftPersistence.d.ts.map +1 -1
- package/dist/react/lib/draftPersistence.js +8 -30
- package/dist/react/lib/draftPersistence.js.map +1 -1
- package/dist/react/lib/field.d.ts +30 -0
- package/dist/react/lib/field.d.ts.map +1 -1
- package/dist/react/lib/field.js +40 -0
- package/dist/react/lib/field.js.map +1 -1
- package/dist/react/lib/floatingStyles.d.ts +23 -2
- package/dist/react/lib/floatingStyles.d.ts.map +1 -1
- package/dist/react/lib/floatingStyles.js +30 -2
- package/dist/react/lib/floatingStyles.js.map +1 -1
- package/dist/react/lib/hoverIntent.d.ts +55 -0
- package/dist/react/lib/hoverIntent.d.ts.map +1 -0
- package/dist/react/lib/hoverIntent.js +55 -0
- package/dist/react/lib/hoverIntent.js.map +1 -0
- package/dist/react/lib/selection.d.ts +55 -0
- package/dist/react/lib/selection.d.ts.map +1 -0
- package/dist/react/lib/selection.js +76 -0
- package/dist/react/lib/selection.js.map +1 -0
- package/dist/react/lib/tabIndent.d.ts +15 -0
- package/dist/react/lib/tabIndent.d.ts.map +1 -0
- package/dist/react/lib/tabIndent.js +30 -0
- package/dist/react/lib/tabIndent.js.map +1 -0
- package/dist/react/lib/tapTarget.d.ts +96 -0
- package/dist/react/lib/tapTarget.d.ts.map +1 -0
- package/dist/react/lib/tapTarget.js +96 -0
- package/dist/react/lib/tapTarget.js.map +1 -0
- package/dist/react/lib/textEntryTarget.d.ts +2 -0
- package/dist/react/lib/textEntryTarget.d.ts.map +1 -0
- package/dist/react/lib/textEntryTarget.js +42 -0
- package/dist/react/lib/textEntryTarget.js.map +1 -0
- package/dist/react/lib/textSelection.d.ts +19 -0
- package/dist/react/lib/textSelection.d.ts.map +1 -0
- package/dist/react/lib/textSelection.js +36 -0
- package/dist/react/lib/textSelection.js.map +1 -0
- package/dist/react/markdown/Markdown.d.ts +19 -0
- package/dist/react/markdown/Markdown.d.ts.map +1 -0
- package/dist/react/markdown/Markdown.js +64 -0
- package/dist/react/markdown/Markdown.js.map +1 -0
- package/dist/react/markdown/MarkdownDoc.d.ts +38 -0
- package/dist/react/markdown/MarkdownDoc.d.ts.map +1 -0
- package/dist/react/markdown/MarkdownDoc.js +150 -0
- package/dist/react/markdown/MarkdownDoc.js.map +1 -0
- package/dist/react/markdown/index.d.ts +3 -0
- package/dist/react/markdown/index.d.ts.map +1 -0
- package/dist/react/markdown/index.js +2 -0
- package/dist/react/markdown/index.js.map +1 -0
- package/dist/react/markdown/markdownDoc.css +169 -0
- package/dist/react/markdown/parse.d.ts +48 -0
- package/dist/react/markdown/parse.d.ts.map +1 -0
- package/dist/react/markdown/parse.js +125 -0
- package/dist/react/markdown/parse.js.map +1 -0
- package/dist/react/master-detail/DetailPane.d.ts +76 -0
- package/dist/react/master-detail/DetailPane.d.ts.map +1 -0
- package/dist/react/master-detail/DetailPane.js +34 -0
- package/dist/react/master-detail/DetailPane.js.map +1 -0
- package/dist/react/master-detail/MasterDetail.d.ts +80 -0
- package/dist/react/master-detail/MasterDetail.d.ts.map +1 -0
- package/dist/react/master-detail/MasterDetail.js +88 -0
- package/dist/react/master-detail/MasterDetail.js.map +1 -0
- package/dist/react/master-detail/index.d.ts +5 -0
- package/dist/react/master-detail/index.d.ts.map +1 -0
- package/dist/react/master-detail/index.js +3 -0
- package/dist/react/master-detail/index.js.map +1 -0
- package/dist/react/master-lock/MasterLockDialog.d.ts +16 -0
- package/dist/react/master-lock/MasterLockDialog.d.ts.map +1 -0
- package/dist/react/master-lock/MasterLockDialog.js +112 -0
- package/dist/react/master-lock/MasterLockDialog.js.map +1 -0
- package/dist/react/master-lock/MasterLockProvider.d.ts +96 -0
- package/dist/react/master-lock/MasterLockProvider.d.ts.map +1 -0
- package/dist/react/master-lock/MasterLockProvider.js +188 -0
- package/dist/react/master-lock/MasterLockProvider.js.map +1 -0
- package/dist/react/master-lock/index.d.ts +10 -0
- package/dist/react/master-lock/index.d.ts.map +1 -0
- package/dist/react/master-lock/index.js +10 -0
- package/dist/react/master-lock/index.js.map +1 -0
- package/dist/react/media/AutoMaskControls.d.ts +1 -1
- package/dist/react/media/AutoMaskControls.d.ts.map +1 -1
- package/dist/react/media/AutoMaskControls.js +2 -2
- package/dist/react/media/AutoMaskControls.js.map +1 -1
- package/dist/react/media/CanvasVideoPlayer.d.ts +13 -0
- package/dist/react/media/CanvasVideoPlayer.d.ts.map +1 -0
- package/dist/react/media/CanvasVideoPlayer.js +205 -0
- package/dist/react/media/CanvasVideoPlayer.js.map +1 -0
- package/dist/react/media/DenseGalleryShell.d.ts +226 -0
- package/dist/react/media/DenseGalleryShell.d.ts.map +1 -0
- package/dist/react/media/DenseGalleryShell.js +219 -0
- package/dist/react/media/DenseGalleryShell.js.map +1 -0
- package/dist/react/media/FocusViewer.d.ts +51 -0
- package/dist/react/media/FocusViewer.d.ts.map +1 -0
- package/dist/react/media/FocusViewer.js +632 -0
- package/dist/react/media/FocusViewer.js.map +1 -0
- package/dist/react/media/FrameGrabber.d.ts +73 -0
- package/dist/react/media/FrameGrabber.d.ts.map +1 -0
- package/dist/react/media/FrameGrabber.js +341 -0
- package/dist/react/media/FrameGrabber.js.map +1 -0
- package/dist/react/media/HoverScrubVideoThumb.d.ts +71 -0
- package/dist/react/media/HoverScrubVideoThumb.d.ts.map +1 -0
- package/dist/react/media/HoverScrubVideoThumb.js +176 -0
- package/dist/react/media/HoverScrubVideoThumb.js.map +1 -0
- package/dist/react/media/MaskPainter.d.ts.map +1 -1
- package/dist/react/media/MaskPainter.js +14 -11
- package/dist/react/media/MaskPainter.js.map +1 -1
- package/dist/react/media/MediaCatalogueViewer.d.ts +1 -1
- package/dist/react/media/MediaCatalogueViewer.d.ts.map +1 -1
- package/dist/react/media/MediaCatalogueViewer.js +5 -4
- package/dist/react/media/MediaCatalogueViewer.js.map +1 -1
- package/dist/react/media/MediaCell.d.ts.map +1 -1
- package/dist/react/media/MediaCell.js +5 -2
- package/dist/react/media/MediaCell.js.map +1 -1
- package/dist/react/media/MediaLightbox.d.ts +1 -1
- package/dist/react/media/MediaLightbox.js +1 -1
- package/dist/react/media/MediaResize.d.ts +104 -0
- package/dist/react/media/MediaResize.d.ts.map +1 -0
- package/dist/react/media/MediaResize.js +143 -0
- package/dist/react/media/MediaResize.js.map +1 -0
- package/dist/react/media/MediaThumb.d.ts +47 -0
- package/dist/react/media/MediaThumb.d.ts.map +1 -0
- package/dist/react/media/MediaThumb.js +93 -0
- package/dist/react/media/MediaThumb.js.map +1 -0
- package/dist/react/media/MediaUploadControl.d.ts +17 -0
- package/dist/react/media/MediaUploadControl.d.ts.map +1 -0
- package/dist/react/media/MediaUploadControl.js +53 -0
- package/dist/react/media/MediaUploadControl.js.map +1 -0
- package/dist/react/media/PictureControls.d.ts +14 -0
- package/dist/react/media/PictureControls.d.ts.map +1 -0
- package/dist/react/media/PictureControls.js +52 -0
- package/dist/react/media/PictureControls.js.map +1 -0
- package/dist/react/media/PictureEditor.d.ts +49 -0
- package/dist/react/media/PictureEditor.d.ts.map +1 -0
- package/dist/react/media/PictureEditor.js +245 -0
- package/dist/react/media/PictureEditor.js.map +1 -0
- package/dist/react/media/PlayerStrip.d.ts +102 -0
- package/dist/react/media/PlayerStrip.d.ts.map +1 -0
- package/dist/react/media/PlayerStrip.js +102 -0
- package/dist/react/media/PlayerStrip.js.map +1 -0
- package/dist/react/media/PrivateIndexView.d.ts +6 -0
- package/dist/react/media/PrivateIndexView.d.ts.map +1 -0
- package/dist/react/media/PrivateIndexView.js +44 -0
- package/dist/react/media/PrivateIndexView.js.map +1 -0
- package/dist/react/media/PrivateModeBadge.d.ts +17 -0
- package/dist/react/media/PrivateModeBadge.d.ts.map +1 -0
- package/dist/react/media/PrivateModeBadge.js +24 -0
- package/dist/react/media/PrivateModeBadge.js.map +1 -0
- package/dist/react/media/TrimRangeSlider.d.ts.map +1 -1
- package/dist/react/media/TrimRangeSlider.js +3 -1
- package/dist/react/media/TrimRangeSlider.js.map +1 -1
- package/dist/react/media/VideoCutEditor.d.ts +82 -0
- package/dist/react/media/VideoCutEditor.d.ts.map +1 -0
- package/dist/react/media/VideoCutEditor.js +128 -0
- package/dist/react/media/VideoCutEditor.js.map +1 -0
- package/dist/react/media/VideoPlayer.d.ts +339 -0
- package/dist/react/media/VideoPlayer.d.ts.map +1 -0
- package/dist/react/media/VideoPlayer.js +413 -0
- package/dist/react/media/VideoPlayer.js.map +1 -0
- package/dist/react/media/VideoTrimmer.d.ts +1 -1
- package/dist/react/media/VideoTrimmer.d.ts.map +1 -1
- package/dist/react/media/VideoTrimmer.js +3 -3
- package/dist/react/media/VideoTrimmer.js.map +1 -1
- package/dist/react/media/VideoTurner.d.ts +42 -0
- package/dist/react/media/VideoTurner.d.ts.map +1 -0
- package/dist/react/media/VideoTurner.js +71 -0
- package/dist/react/media/VideoTurner.js.map +1 -0
- package/dist/react/media/VirtualMediaGrid.d.ts +35 -0
- package/dist/react/media/VirtualMediaGrid.d.ts.map +1 -0
- package/dist/react/media/VirtualMediaGrid.js +32 -0
- package/dist/react/media/VirtualMediaGrid.js.map +1 -0
- package/dist/react/media/VirtualizedRows.d.ts +6 -7
- package/dist/react/media/VirtualizedRows.d.ts.map +1 -1
- package/dist/react/media/VirtualizedRows.js +24 -51
- package/dist/react/media/VirtualizedRows.js.map +1 -1
- package/dist/react/media/WaveformStrip.d.ts +15 -0
- package/dist/react/media/WaveformStrip.d.ts.map +1 -0
- package/dist/react/media/WaveformStrip.js +16 -0
- package/dist/react/media/WaveformStrip.js.map +1 -0
- package/dist/react/media/captureVideoFrame.d.ts +13 -0
- package/dist/react/media/captureVideoFrame.d.ts.map +1 -0
- package/dist/react/media/captureVideoFrame.js +29 -0
- package/dist/react/media/captureVideoFrame.js.map +1 -0
- package/dist/react/media/denseGallery.css +684 -0
- package/dist/react/media/ffmpegWasm.d.ts +51 -0
- package/dist/react/media/ffmpegWasm.d.ts.map +1 -0
- package/dist/react/media/ffmpegWasm.js +162 -0
- package/dist/react/media/ffmpegWasm.js.map +1 -0
- package/dist/react/media/fileUploadClient.d.ts +55 -0
- package/dist/react/media/fileUploadClient.d.ts.map +1 -0
- package/dist/react/media/fileUploadClient.js +111 -0
- package/dist/react/media/fileUploadClient.js.map +1 -0
- package/dist/react/media/focusViewer.css +279 -0
- package/dist/react/media/hlsSource.d.ts +27 -0
- package/dist/react/media/hlsSource.d.ts.map +1 -0
- package/dist/react/media/hlsSource.js +99 -0
- package/dist/react/media/hlsSource.js.map +1 -0
- package/dist/react/media/index.d.ts +33 -0
- package/dist/react/media/index.d.ts.map +1 -1
- package/dist/react/media/index.js +68 -0
- package/dist/react/media/index.js.map +1 -1
- package/dist/react/media/maskGeometry.d.ts.map +1 -1
- package/dist/react/media/maskGeometry.js +3 -2
- package/dist/react/media/maskGeometry.js.map +1 -1
- package/dist/react/media/mediaPhoto.d.ts +3 -2
- package/dist/react/media/mediaPhoto.d.ts.map +1 -1
- package/dist/react/media/mediaPhoto.js +4 -3
- package/dist/react/media/mediaPhoto.js.map +1 -1
- package/dist/react/media/mediaProbe.d.ts +26 -0
- package/dist/react/media/mediaProbe.d.ts.map +1 -0
- package/dist/react/media/mediaProbe.js +81 -0
- package/dist/react/media/mediaProbe.js.map +1 -0
- package/dist/react/media/mediaResize.css +200 -0
- package/dist/react/media/pictureEdit.d.ts +259 -0
- package/dist/react/media/pictureEdit.d.ts.map +1 -0
- package/dist/react/media/pictureEdit.js +350 -0
- package/dist/react/media/pictureEdit.js.map +1 -0
- package/dist/react/media/pictureEditor.css +274 -0
- package/dist/react/media/playerSpaceKey.d.ts +52 -0
- package/dist/react/media/playerSpaceKey.d.ts.map +1 -0
- package/dist/react/media/playerSpaceKey.js +151 -0
- package/dist/react/media/playerSpaceKey.js.map +1 -0
- package/dist/react/media/playerStrip.css +654 -0
- package/dist/react/media/poster.d.ts +22 -0
- package/dist/react/media/poster.d.ts.map +1 -0
- package/dist/react/media/poster.js +22 -0
- package/dist/react/media/poster.js.map +1 -0
- package/dist/react/media/posterFraming.d.ts +162 -0
- package/dist/react/media/posterFraming.d.ts.map +1 -0
- package/dist/react/media/posterFraming.js +249 -0
- package/dist/react/media/posterFraming.js.map +1 -0
- package/dist/react/media/privateClient.d.ts +34 -0
- package/dist/react/media/privateClient.d.ts.map +1 -0
- package/dist/react/media/privateClient.js +36 -0
- package/dist/react/media/privateClient.js.map +1 -0
- package/dist/react/media/stageResize.d.ts +59 -0
- package/dist/react/media/stageResize.d.ts.map +1 -0
- package/dist/react/media/stageResize.js +82 -0
- package/dist/react/media/stageResize.js.map +1 -0
- package/dist/react/media/surfaceGesture.d.ts +67 -0
- package/dist/react/media/surfaceGesture.d.ts.map +1 -0
- package/dist/react/media/surfaceGesture.js +89 -0
- package/dist/react/media/surfaceGesture.js.map +1 -0
- package/dist/react/media/types.d.ts +3 -0
- package/dist/react/media/types.d.ts.map +1 -1
- package/dist/react/media/useAudioPeaks.d.ts +17 -0
- package/dist/react/media/useAudioPeaks.d.ts.map +1 -0
- package/dist/react/media/useAudioPeaks.js +37 -0
- package/dist/react/media/useAudioPeaks.js.map +1 -0
- package/dist/react/media/useObjectUrl.d.ts +7 -0
- package/dist/react/media/useObjectUrl.d.ts.map +1 -0
- package/dist/react/media/useObjectUrl.js +16 -0
- package/dist/react/media/useObjectUrl.js.map +1 -0
- package/dist/react/media/usePrivateUnlock.d.ts +25 -0
- package/dist/react/media/usePrivateUnlock.d.ts.map +1 -0
- package/dist/react/media/usePrivateUnlock.js +68 -0
- package/dist/react/media/usePrivateUnlock.js.map +1 -0
- package/dist/react/media/videoCutEditor.css +212 -0
- package/dist/react/media/videoEnhance.d.ts +85 -0
- package/dist/react/media/videoEnhance.d.ts.map +1 -0
- package/dist/react/media/videoEnhance.js +115 -0
- package/dist/react/media/videoEnhance.js.map +1 -0
- package/dist/react/media/videoPlayer.css +69 -0
- package/dist/react/media/videoPoster.d.ts +70 -0
- package/dist/react/media/videoPoster.d.ts.map +1 -0
- package/dist/react/media/videoPoster.js +243 -0
- package/dist/react/media/videoPoster.js.map +1 -0
- package/dist/react/media/videoRegion.d.ts +176 -0
- package/dist/react/media/videoRegion.d.ts.map +1 -0
- package/dist/react/media/videoRegion.js +240 -0
- package/dist/react/media/videoRegion.js.map +1 -0
- package/dist/react/media-gallery/GalleryTable.d.ts +56 -0
- package/dist/react/media-gallery/GalleryTable.d.ts.map +1 -0
- package/dist/react/media-gallery/GalleryTable.js +203 -0
- package/dist/react/media-gallery/GalleryTable.js.map +1 -0
- package/dist/react/media-gallery/MediaGallery.d.ts +229 -0
- package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -0
- package/dist/react/media-gallery/MediaGallery.js +1126 -0
- package/dist/react/media-gallery/MediaGallery.js.map +1 -0
- package/dist/react/media-gallery/galleryDeepLink.d.ts +29 -0
- package/dist/react/media-gallery/galleryDeepLink.d.ts.map +1 -0
- package/dist/react/media-gallery/galleryDeepLink.js +63 -0
- package/dist/react/media-gallery/galleryDeepLink.js.map +1 -0
- package/dist/react/media-gallery/galleryItemMedia.d.ts +66 -0
- package/dist/react/media-gallery/galleryItemMedia.d.ts.map +1 -0
- package/dist/react/media-gallery/galleryItemMedia.js +103 -0
- package/dist/react/media-gallery/galleryItemMedia.js.map +1 -0
- package/dist/react/media-gallery/index.d.ts +10 -0
- package/dist/react/media-gallery/index.d.ts.map +1 -0
- package/dist/react/media-gallery/index.js +20 -0
- package/dist/react/media-gallery/index.js.map +1 -0
- package/dist/react/media-gallery/mediaGallery.css +784 -0
- package/dist/react/media-gallery/mediaGalleryModel.d.ts +110 -0
- package/dist/react/media-gallery/mediaGalleryModel.d.ts.map +1 -0
- package/dist/react/media-gallery/mediaGalleryModel.js +241 -0
- package/dist/react/media-gallery/mediaGalleryModel.js.map +1 -0
- package/dist/react/media-gallery/playbackPreferences.d.ts +136 -0
- package/dist/react/media-gallery/playbackPreferences.d.ts.map +1 -0
- package/dist/react/media-gallery/playbackPreferences.js +213 -0
- package/dist/react/media-gallery/playbackPreferences.js.map +1 -0
- package/dist/react/media-gallery/playbackRun.d.ts +77 -0
- package/dist/react/media-gallery/playbackRun.d.ts.map +1 -0
- package/dist/react/media-gallery/playbackRun.js +101 -0
- package/dist/react/media-gallery/playbackRun.js.map +1 -0
- package/dist/react/media-gallery/types.d.ts +115 -0
- package/dist/react/media-gallery/types.d.ts.map +1 -0
- package/dist/react/media-gallery/types.js +2 -0
- package/dist/react/media-gallery/types.js.map +1 -0
- package/dist/react/namespace/NamespaceTargetCapsule.d.ts +40 -0
- package/dist/react/namespace/NamespaceTargetCapsule.d.ts.map +1 -0
- package/dist/react/namespace/NamespaceTargetCapsule.js +70 -0
- package/dist/react/namespace/NamespaceTargetCapsule.js.map +1 -0
- package/dist/react/nav/BreadcrumbMenus.d.ts +49 -0
- package/dist/react/nav/BreadcrumbMenus.d.ts.map +1 -0
- package/dist/react/nav/BreadcrumbMenus.js +55 -0
- package/dist/react/nav/BreadcrumbMenus.js.map +1 -0
- package/dist/react/nav/BreadcrumbPivot.d.ts +35 -0
- package/dist/react/nav/BreadcrumbPivot.d.ts.map +1 -0
- package/dist/react/nav/BreadcrumbPivot.js +133 -0
- package/dist/react/nav/BreadcrumbPivot.js.map +1 -0
- package/dist/react/nav/BreadcrumbProvider.d.ts +101 -0
- package/dist/react/nav/BreadcrumbProvider.d.ts.map +1 -0
- package/dist/react/nav/BreadcrumbProvider.js +167 -0
- package/dist/react/nav/BreadcrumbProvider.js.map +1 -0
- package/dist/react/nav/BreadcrumbTrail.d.ts +87 -0
- package/dist/react/nav/BreadcrumbTrail.d.ts.map +1 -0
- package/dist/react/nav/BreadcrumbTrail.js +369 -0
- package/dist/react/nav/BreadcrumbTrail.js.map +1 -0
- package/dist/react/nav/Breadcrumbs.d.ts +40 -7
- package/dist/react/nav/Breadcrumbs.d.ts.map +1 -1
- package/dist/react/nav/Breadcrumbs.js +66 -23
- package/dist/react/nav/Breadcrumbs.js.map +1 -1
- package/dist/react/nav/ColorSwatchGrid.d.ts +3 -3
- package/dist/react/nav/ColorSwatchGrid.d.ts.map +1 -1
- package/dist/react/nav/ColorSwatchGrid.js +14 -9
- package/dist/react/nav/ColorSwatchGrid.js.map +1 -1
- package/dist/react/nav/CommandBar.d.ts +1 -1
- package/dist/react/nav/CommandBar.d.ts.map +1 -1
- package/dist/react/nav/CommandBar.js +8 -1
- package/dist/react/nav/CommandBar.js.map +1 -1
- package/dist/react/nav/HeaderSearch.d.ts +7 -2
- package/dist/react/nav/HeaderSearch.d.ts.map +1 -1
- package/dist/react/nav/HeaderSearch.js +36 -19
- package/dist/react/nav/HeaderSearch.js.map +1 -1
- package/dist/react/nav/HubTileGrid.d.ts.map +1 -1
- package/dist/react/nav/HubTileGrid.js +15 -6
- package/dist/react/nav/HubTileGrid.js.map +1 -1
- package/dist/react/nav/NavColorPicker.d.ts.map +1 -1
- package/dist/react/nav/NavColorPicker.js +2 -1
- package/dist/react/nav/NavColorPicker.js.map +1 -1
- package/dist/react/nav/NavItemMenu.d.ts.map +1 -1
- package/dist/react/nav/NavItemMenu.js +4 -2
- package/dist/react/nav/NavItemMenu.js.map +1 -1
- package/dist/react/nav/PlaceBar.d.ts +21 -7
- package/dist/react/nav/PlaceBar.d.ts.map +1 -1
- package/dist/react/nav/PlaceBar.js +68 -12
- package/dist/react/nav/PlaceBar.js.map +1 -1
- package/dist/react/nav/SearchResults.js +1 -1
- package/dist/react/nav/SearchResults.js.map +1 -1
- package/dist/react/nav/SideNav.d.ts +16 -2
- package/dist/react/nav/SideNav.d.ts.map +1 -1
- package/dist/react/nav/SideNav.js +99 -32
- package/dist/react/nav/SideNav.js.map +1 -1
- package/dist/react/nav/SideNavCustomize.d.ts +29 -0
- package/dist/react/nav/SideNavCustomize.d.ts.map +1 -0
- package/dist/react/nav/SideNavCustomize.js +66 -0
- package/dist/react/nav/SideNavCustomize.js.map +1 -0
- package/dist/react/nav/breadcrumbModel.d.ts +162 -0
- package/dist/react/nav/breadcrumbModel.d.ts.map +1 -0
- package/dist/react/nav/breadcrumbModel.js +112 -0
- package/dist/react/nav/breadcrumbModel.js.map +1 -0
- package/dist/react/nav/breadcrumbStore.d.ts +48 -0
- package/dist/react/nav/breadcrumbStore.d.ts.map +1 -0
- package/dist/react/nav/breadcrumbStore.js +150 -0
- package/dist/react/nav/breadcrumbStore.js.map +1 -0
- package/dist/react/nav/index.d.ts +6 -2
- package/dist/react/nav/index.d.ts.map +1 -1
- package/dist/react/nav/index.js +6 -2
- package/dist/react/nav/index.js.map +1 -1
- package/dist/react/nav/navShared.d.ts +31 -4
- package/dist/react/nav/navShared.d.ts.map +1 -1
- package/dist/react/nav/navShared.js +44 -11
- package/dist/react/nav/navShared.js.map +1 -1
- package/dist/react/notifications/NotificationBell.d.ts +34 -0
- package/dist/react/notifications/NotificationBell.d.ts.map +1 -0
- package/dist/react/notifications/NotificationBell.js +33 -0
- package/dist/react/notifications/NotificationBell.js.map +1 -0
- package/dist/react/notifications/NotificationFeed.d.ts +20 -0
- package/dist/react/notifications/NotificationFeed.d.ts.map +1 -0
- package/dist/react/notifications/NotificationFeed.js +79 -0
- package/dist/react/notifications/NotificationFeed.js.map +1 -0
- package/dist/react/notifications/NotificationInbox.d.ts +31 -0
- package/dist/react/notifications/NotificationInbox.d.ts.map +1 -0
- package/dist/react/notifications/NotificationInbox.js +47 -0
- package/dist/react/notifications/NotificationInbox.js.map +1 -0
- package/dist/react/notifications/binding.d.ts +60 -0
- package/dist/react/notifications/binding.d.ts.map +1 -0
- package/dist/react/notifications/binding.js +50 -0
- package/dist/react/notifications/binding.js.map +1 -0
- package/dist/react/notifications/bridge.d.ts +14 -0
- package/dist/react/notifications/bridge.d.ts.map +1 -0
- package/dist/react/notifications/bridge.js +27 -0
- package/dist/react/notifications/bridge.js.map +1 -0
- package/dist/react/notifications/httpClient.d.ts +80 -0
- package/dist/react/notifications/httpClient.d.ts.map +1 -0
- package/dist/react/notifications/httpClient.js +73 -0
- package/dist/react/notifications/httpClient.js.map +1 -0
- package/dist/react/notifications/index.d.ts +10 -0
- package/dist/react/notifications/index.d.ts.map +1 -0
- package/dist/react/notifications/index.js +10 -0
- package/dist/react/notifications/index.js.map +1 -0
- package/dist/react/notifications/liveTransport.d.ts +38 -0
- package/dist/react/notifications/liveTransport.d.ts.map +1 -0
- package/dist/react/notifications/liveTransport.js +41 -0
- package/dist/react/notifications/liveTransport.js.map +1 -0
- package/dist/react/notifications/notificationStore.d.ts +114 -0
- package/dist/react/notifications/notificationStore.d.ts.map +1 -0
- package/dist/react/notifications/notificationStore.js +111 -0
- package/dist/react/notifications/notificationStore.js.map +1 -0
- package/dist/react/notifications/pollTransport.d.ts +49 -0
- package/dist/react/notifications/pollTransport.d.ts.map +1 -0
- package/dist/react/notifications/pollTransport.js +65 -0
- package/dist/react/notifications/pollTransport.js.map +1 -0
- package/dist/react/palette/CommandPalette.d.ts.map +1 -1
- package/dist/react/palette/CommandPalette.js +14 -12
- package/dist/react/palette/CommandPalette.js.map +1 -1
- package/dist/react/pdf-viewer/PdfPage.d.ts +11 -0
- package/dist/react/pdf-viewer/PdfPage.d.ts.map +1 -0
- package/dist/react/pdf-viewer/PdfPage.js +81 -0
- package/dist/react/pdf-viewer/PdfPage.js.map +1 -0
- package/dist/react/pdf-viewer/PdfViewer.d.ts +21 -0
- package/dist/react/pdf-viewer/PdfViewer.d.ts.map +1 -0
- package/dist/react/pdf-viewer/PdfViewer.js +99 -0
- package/dist/react/pdf-viewer/PdfViewer.js.map +1 -0
- package/dist/react/pdf-viewer/index.d.ts +4 -0
- package/dist/react/pdf-viewer/index.d.ts.map +1 -0
- package/dist/react/pdf-viewer/index.js +11 -0
- package/dist/react/pdf-viewer/index.js.map +1 -0
- package/dist/react/pdf-viewer/pdfDocument.d.ts +22 -0
- package/dist/react/pdf-viewer/pdfDocument.d.ts.map +1 -0
- package/dist/react/pdf-viewer/pdfDocument.js +73 -0
- package/dist/react/pdf-viewer/pdfDocument.js.map +1 -0
- package/dist/react/pdf-viewer/pdfViewer.css +59 -0
- package/dist/react/portal/CCPortalProvider.d.ts +73 -0
- package/dist/react/portal/CCPortalProvider.d.ts.map +1 -0
- package/dist/react/portal/CCPortalProvider.js +155 -0
- package/dist/react/portal/CCPortalProvider.js.map +1 -0
- package/dist/react/problem-detail/ProblemDetailView.d.ts +81 -0
- package/dist/react/problem-detail/ProblemDetailView.d.ts.map +1 -0
- package/dist/react/problem-detail/ProblemDetailView.js +17 -0
- package/dist/react/problem-detail/ProblemDetailView.js.map +1 -0
- package/dist/react/prompt.d.ts +16 -0
- package/dist/react/prompt.d.ts.map +1 -0
- package/dist/react/prompt.js +31 -0
- package/dist/react/prompt.js.map +1 -0
- package/dist/react/rich-text/RichTextEditor.d.ts +33 -0
- package/dist/react/rich-text/RichTextEditor.d.ts.map +1 -0
- package/dist/react/rich-text/RichTextEditor.js +81 -0
- package/dist/react/rich-text/RichTextEditor.js.map +1 -0
- package/dist/react/rich-text/RichTextToolbar.d.ts +8 -0
- package/dist/react/rich-text/RichTextToolbar.d.ts.map +1 -0
- package/dist/react/rich-text/RichTextToolbar.js +100 -0
- package/dist/react/rich-text/RichTextToolbar.js.map +1 -0
- package/dist/react/rich-text/contentRoundTrip.d.ts +16 -0
- package/dist/react/rich-text/contentRoundTrip.d.ts.map +1 -0
- package/dist/react/rich-text/contentRoundTrip.js +57 -0
- package/dist/react/rich-text/contentRoundTrip.js.map +1 -0
- package/dist/react/rich-text/index.d.ts +4 -0
- package/dist/react/rich-text/index.d.ts.map +1 -0
- package/dist/react/rich-text/index.js +8 -0
- package/dist/react/rich-text/index.js.map +1 -0
- package/dist/react/rich-text/prose.css +247 -0
- package/dist/react/router/CCRouteFallback.d.ts +15 -0
- package/dist/react/router/CCRouteFallback.d.ts.map +1 -0
- package/dist/react/router/CCRouteFallback.js +42 -0
- package/dist/react/router/CCRouteFallback.js.map +1 -0
- package/dist/react/router/CCRouterProvider.d.ts +44 -0
- package/dist/react/router/CCRouterProvider.d.ts.map +1 -0
- package/dist/react/router/CCRouterProvider.js +63 -0
- package/dist/react/router/CCRouterProvider.js.map +1 -0
- package/dist/react/schema-fields/SchemaFields.d.ts +60 -0
- package/dist/react/schema-fields/SchemaFields.d.ts.map +1 -0
- package/dist/react/schema-fields/SchemaFields.js +200 -0
- package/dist/react/schema-fields/SchemaFields.js.map +1 -0
- package/dist/react/schema-fields/describeSchema.d.ts +68 -0
- package/dist/react/schema-fields/describeSchema.d.ts.map +1 -0
- package/dist/react/schema-fields/describeSchema.js +210 -0
- package/dist/react/schema-fields/describeSchema.js.map +1 -0
- package/dist/react/schema-fields/types.d.ts +86 -0
- package/dist/react/schema-fields/types.d.ts.map +1 -0
- package/dist/react/schema-fields/types.js +31 -0
- package/dist/react/schema-fields/types.js.map +1 -0
- package/dist/react/session/CCSessionGate.d.ts +19 -0
- package/dist/react/session/CCSessionGate.d.ts.map +1 -0
- package/dist/react/session/CCSessionGate.js +67 -0
- package/dist/react/session/CCSessionGate.js.map +1 -0
- package/dist/react/session/CCSessionProvider.d.ts +43 -0
- package/dist/react/session/CCSessionProvider.d.ts.map +1 -0
- package/dist/react/session/CCSessionProvider.js +118 -0
- package/dist/react/session/CCSessionProvider.js.map +1 -0
- package/dist/react/session/ccSessionStore.d.ts +62 -0
- package/dist/react/session/ccSessionStore.d.ts.map +1 -0
- package/dist/react/session/ccSessionStore.js +113 -0
- package/dist/react/session/ccSessionStore.js.map +1 -0
- package/dist/react/session/index.d.ts +5 -0
- package/dist/react/session/index.d.ts.map +1 -0
- package/dist/react/session/index.js +11 -0
- package/dist/react/session/index.js.map +1 -0
- package/dist/react/session/sessionContext.d.ts +30 -0
- package/dist/react/session/sessionContext.d.ts.map +1 -0
- package/dist/react/session/sessionContext.js +22 -0
- package/dist/react/session/sessionContext.js.map +1 -0
- package/dist/react/sessionAuth.d.ts +12 -0
- package/dist/react/sessionAuth.d.ts.map +1 -0
- package/dist/react/sessionAuth.js +29 -0
- package/dist/react/sessionAuth.js.map +1 -0
- package/dist/react/sharing/SharePanel.d.ts +24 -0
- package/dist/react/sharing/SharePanel.d.ts.map +1 -0
- package/dist/react/sharing/SharePanel.js +81 -0
- package/dist/react/sharing/SharePanel.js.map +1 -0
- package/dist/react/sharing/index.d.ts +8 -0
- package/dist/react/sharing/index.d.ts.map +1 -0
- package/dist/react/sharing/index.js +8 -0
- package/dist/react/sharing/index.js.map +1 -0
- package/dist/react/shell/CCAppShell.d.ts +62 -0
- package/dist/react/shell/CCAppShell.d.ts.map +1 -0
- package/dist/react/shell/CCAppShell.js +82 -0
- package/dist/react/shell/CCAppShell.js.map +1 -0
- package/dist/react/shell/claimsContext.d.ts +18 -0
- package/dist/react/shell/claimsContext.d.ts.map +1 -0
- package/dist/react/shell/claimsContext.js +26 -0
- package/dist/react/shell/claimsContext.js.map +1 -0
- package/dist/react/shell/index.d.ts +3 -0
- package/dist/react/shell/index.d.ts.map +1 -0
- package/dist/react/shell/index.js +5 -0
- package/dist/react/shell/index.js.map +1 -0
- package/dist/react/slots/Slot.d.ts +76 -0
- package/dist/react/slots/Slot.d.ts.map +1 -0
- package/dist/react/slots/Slot.js +82 -0
- package/dist/react/slots/Slot.js.map +1 -0
- package/dist/react/spreadsheet/SpreadsheetGrid.d.ts.map +1 -1
- package/dist/react/spreadsheet/SpreadsheetGrid.js +3 -19
- package/dist/react/spreadsheet/SpreadsheetGrid.js.map +1 -1
- package/dist/react/spreadsheet/useGlideTheme.d.ts +9 -0
- package/dist/react/spreadsheet/useGlideTheme.d.ts.map +1 -1
- package/dist/react/spreadsheet/useGlideTheme.js +42 -0
- package/dist/react/spreadsheet/useGlideTheme.js.map +1 -1
- package/dist/react/studios/AddRow.d.ts +31 -0
- package/dist/react/studios/AddRow.d.ts.map +1 -0
- package/dist/react/studios/AddRow.js +31 -0
- package/dist/react/studios/AddRow.js.map +1 -0
- package/dist/react/studios/AssetDetailShells.d.ts +9 -0
- package/dist/react/studios/AssetDetailShells.d.ts.map +1 -0
- package/dist/react/studios/AssetDetailShells.js +129 -0
- package/dist/react/studios/AssetDetailShells.js.map +1 -0
- package/dist/react/studios/AssetStudioShell.d.ts +10 -0
- package/dist/react/studios/AssetStudioShell.d.ts.map +1 -0
- package/dist/react/studios/AssetStudioShell.js +93 -0
- package/dist/react/studios/AssetStudioShell.js.map +1 -0
- package/dist/react/studios/BoundAssetDetails.d.ts +82 -0
- package/dist/react/studios/BoundAssetDetails.d.ts.map +1 -0
- package/dist/react/studios/BoundAssetDetails.js +234 -0
- package/dist/react/studios/BoundAssetDetails.js.map +1 -0
- package/dist/react/studios/BoundEngineShells.d.ts +12 -0
- package/dist/react/studios/BoundEngineShells.d.ts.map +1 -0
- package/dist/react/studios/BoundEngineShells.js +646 -0
- package/dist/react/studios/BoundEngineShells.js.map +1 -0
- package/dist/react/studios/BoundKnowledgeDetails.d.ts +20 -0
- package/dist/react/studios/BoundKnowledgeDetails.d.ts.map +1 -0
- package/dist/react/studios/BoundKnowledgeDetails.js +145 -0
- package/dist/react/studios/BoundKnowledgeDetails.js.map +1 -0
- package/dist/react/studios/BoundKnowledgeVerticals.d.ts +17 -0
- package/dist/react/studios/BoundKnowledgeVerticals.d.ts.map +1 -0
- package/dist/react/studios/BoundKnowledgeVerticals.js +261 -0
- package/dist/react/studios/BoundKnowledgeVerticals.js.map +1 -0
- package/dist/react/studios/BoundStudios.d.ts +27 -0
- package/dist/react/studios/BoundStudios.d.ts.map +1 -0
- package/dist/react/studios/BoundStudios.js +250 -0
- package/dist/react/studios/BoundStudios.js.map +1 -0
- package/dist/react/studios/DevStudioShell.d.ts +15 -0
- package/dist/react/studios/DevStudioShell.d.ts.map +1 -0
- package/dist/react/studios/DevStudioShell.js +163 -0
- package/dist/react/studios/DevStudioShell.js.map +1 -0
- package/dist/react/studios/EngineFills.d.ts +87 -0
- package/dist/react/studios/EngineFills.d.ts.map +1 -0
- package/dist/react/studios/EngineFills.js +146 -0
- package/dist/react/studios/EngineFills.js.map +1 -0
- package/dist/react/studios/GuardAccountPanels.d.ts +146 -0
- package/dist/react/studios/GuardAccountPanels.d.ts.map +1 -0
- package/dist/react/studios/GuardAccountPanels.js +183 -0
- package/dist/react/studios/GuardAccountPanels.js.map +1 -0
- package/dist/react/studios/GuardEngineShell.d.ts +4 -0
- package/dist/react/studios/GuardEngineShell.d.ts.map +1 -0
- package/dist/react/studios/GuardEngineShell.js +108 -0
- package/dist/react/studios/GuardEngineShell.js.map +1 -0
- package/dist/react/studios/KnowledgeDetailShells.d.ts +6 -0
- package/dist/react/studios/KnowledgeDetailShells.d.ts.map +1 -0
- package/dist/react/studios/KnowledgeDetailShells.js +164 -0
- package/dist/react/studios/KnowledgeDetailShells.js.map +1 -0
- package/dist/react/studios/KnowledgeStudioShell.d.ts +4 -0
- package/dist/react/studios/KnowledgeStudioShell.d.ts.map +1 -0
- package/dist/react/studios/KnowledgeStudioShell.js +83 -0
- package/dist/react/studios/KnowledgeStudioShell.js.map +1 -0
- package/dist/react/studios/KnowledgeVerticalShells.d.ts +25 -0
- package/dist/react/studios/KnowledgeVerticalShells.d.ts.map +1 -0
- package/dist/react/studios/KnowledgeVerticalShells.js +201 -0
- package/dist/react/studios/KnowledgeVerticalShells.js.map +1 -0
- package/dist/react/studios/Stopwatch.d.ts +2 -0
- package/dist/react/studios/Stopwatch.d.ts.map +1 -0
- package/dist/react/studios/Stopwatch.js +56 -0
- package/dist/react/studios/Stopwatch.js.map +1 -0
- package/dist/react/studios/StudioNav.d.ts +11 -0
- package/dist/react/studios/StudioNav.d.ts.map +1 -0
- package/dist/react/studios/StudioNav.js +25 -0
- package/dist/react/studios/StudioNav.js.map +1 -0
- package/dist/react/studios/StudioUnbound.d.ts +15 -0
- package/dist/react/studios/StudioUnbound.d.ts.map +1 -0
- package/dist/react/studios/StudioUnbound.js +6 -0
- package/dist/react/studios/StudioUnbound.js.map +1 -0
- package/dist/react/studios/SystemUtilityShell.d.ts +9 -0
- package/dist/react/studios/SystemUtilityShell.d.ts.map +1 -0
- package/dist/react/studios/SystemUtilityShell.js +209 -0
- package/dist/react/studios/SystemUtilityShell.js.map +1 -0
- package/dist/react/studios/featureGate.d.ts +74 -0
- package/dist/react/studios/featureGate.d.ts.map +1 -0
- package/dist/react/studios/featureGate.js +116 -0
- package/dist/react/studios/featureGate.js.map +1 -0
- package/dist/react/studios/index.d.ts +24 -0
- package/dist/react/studios/index.d.ts.map +1 -0
- package/dist/react/studios/index.js +34 -0
- package/dist/react/studios/index.js.map +1 -0
- package/dist/react/studios/studioRoutes.d.ts +45 -0
- package/dist/react/studios/studioRoutes.d.ts.map +1 -0
- package/dist/react/studios/studioRoutes.js +78 -0
- package/dist/react/studios/studioRoutes.js.map +1 -0
- package/dist/react/studios/types.d.ts +797 -0
- package/dist/react/studios/types.d.ts.map +1 -0
- package/dist/react/studios/types.js +16 -0
- package/dist/react/studios/types.js.map +1 -0
- package/dist/react/studios/useStudioInstance.d.ts +42 -0
- package/dist/react/studios/useStudioInstance.d.ts.map +1 -0
- package/dist/react/studios/useStudioInstance.js +21 -0
- package/dist/react/studios/useStudioInstance.js.map +1 -0
- package/dist/react/studios/viewIds.d.ts +50 -0
- package/dist/react/studios/viewIds.d.ts.map +1 -0
- package/dist/react/studios/viewIds.js +85 -0
- package/dist/react/studios/viewIds.js.map +1 -0
- package/dist/react/testReport/TestReportViewer.d.ts +1 -1
- package/dist/react/testReport/TestReportViewer.d.ts.map +1 -1
- package/dist/react/testReport/TestReportViewer.js +8 -7
- package/dist/react/testReport/TestReportViewer.js.map +1 -1
- package/dist/react/usePagedList.d.ts +49 -0
- package/dist/react/usePagedList.d.ts.map +1 -0
- package/dist/react/usePagedList.js +45 -0
- package/dist/react/usePagedList.js.map +1 -0
- package/dist/react/workbook-viewer/WorkbookViewer.d.ts +24 -0
- package/dist/react/workbook-viewer/WorkbookViewer.d.ts.map +1 -0
- package/dist/react/workbook-viewer/WorkbookViewer.js +157 -0
- package/dist/react/workbook-viewer/WorkbookViewer.js.map +1 -0
- package/dist/react/workbook-viewer/index.d.ts +3 -0
- package/dist/react/workbook-viewer/index.d.ts.map +1 -0
- package/dist/react/workbook-viewer/index.js +11 -0
- package/dist/react/workbook-viewer/index.js.map +1 -0
- package/dist/react/workbook-viewer/parseWorkbook.d.ts +63 -0
- package/dist/react/workbook-viewer/parseWorkbook.d.ts.map +1 -0
- package/dist/react/workbook-viewer/parseWorkbook.js +110 -0
- package/dist/react/workbook-viewer/parseWorkbook.js.map +1 -0
- package/dist/server/activity/index.d.ts +37 -0
- package/dist/server/activity/index.d.ts.map +1 -0
- package/dist/server/activity/index.js +37 -0
- package/dist/server/activity/index.js.map +1 -0
- package/dist/server/activity/migrations.d.ts +22 -0
- package/dist/server/activity/migrations.d.ts.map +1 -0
- package/dist/server/activity/migrations.js +56 -0
- package/dist/server/activity/migrations.js.map +1 -0
- package/dist/server/activity/shareSource.d.ts +12 -0
- package/dist/server/activity/shareSource.d.ts.map +1 -0
- package/dist/server/activity/shareSource.js +46 -0
- package/dist/server/activity/shareSource.js.map +1 -0
- package/dist/server/activity/store.d.ts +124 -0
- package/dist/server/activity/store.d.ts.map +1 -0
- package/dist/server/activity/store.js +179 -0
- package/dist/server/activity/store.js.map +1 -0
- package/dist/server/app.d.ts +18 -3
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +6 -2
- package/dist/server/app.js.map +1 -1
- package/dist/server/audit/index.d.ts +3 -0
- package/dist/server/audit/index.d.ts.map +1 -0
- package/dist/server/audit/index.js +3 -0
- package/dist/server/audit/index.js.map +1 -0
- package/dist/server/audit/migrations.d.ts +3 -0
- package/dist/server/audit/migrations.d.ts.map +1 -0
- package/dist/server/audit/migrations.js +80 -0
- package/dist/server/audit/migrations.js.map +1 -0
- package/dist/server/audit/sqliteSink.d.ts +37 -0
- package/dist/server/audit/sqliteSink.d.ts.map +1 -0
- package/dist/server/audit/sqliteSink.js +96 -0
- package/dist/server/audit/sqliteSink.js.map +1 -0
- package/dist/server/audit/sqliteSink.test.d.ts +2 -0
- package/dist/server/audit/sqliteSink.test.d.ts.map +1 -0
- package/dist/server/audit/sqliteSink.test.js +181 -0
- package/dist/server/audit/sqliteSink.test.js.map +1 -0
- package/dist/server/auth/fileTokenSigner.d.ts +11 -0
- package/dist/server/auth/fileTokenSigner.d.ts.map +1 -0
- package/dist/server/auth/fileTokenSigner.js +23 -0
- package/dist/server/auth/fileTokenSigner.js.map +1 -0
- package/dist/server/auth/index.d.ts +2 -1
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +2 -1
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/auth/loginThrottle.d.ts +113 -28
- package/dist/server/auth/loginThrottle.d.ts.map +1 -1
- package/dist/server/auth/loginThrottle.js +192 -50
- package/dist/server/auth/loginThrottle.js.map +1 -1
- package/dist/server/ctgr.d.ts +2 -1
- package/dist/server/ctgr.d.ts.map +1 -1
- package/dist/server/ctgr.js +13 -4
- package/dist/server/ctgr.js.map +1 -1
- package/dist/server/drivers/bullmqQueueAdapter.d.ts +57 -0
- package/dist/server/drivers/bullmqQueueAdapter.d.ts.map +1 -0
- package/dist/server/drivers/bullmqQueueAdapter.js +108 -0
- package/dist/server/drivers/bullmqQueueAdapter.js.map +1 -0
- package/dist/server/drivers/cognitiveGateway.d.ts +206 -0
- package/dist/server/drivers/cognitiveGateway.d.ts.map +1 -0
- package/dist/server/drivers/cognitiveGateway.js +247 -0
- package/dist/server/drivers/cognitiveGateway.js.map +1 -0
- package/dist/server/drivers/executionDriver.d.ts +216 -0
- package/dist/server/drivers/executionDriver.d.ts.map +1 -0
- package/dist/server/drivers/executionDriver.js +382 -0
- package/dist/server/drivers/executionDriver.js.map +1 -0
- package/dist/server/drivers/index.d.ts +21 -0
- package/dist/server/drivers/index.d.ts.map +1 -0
- package/dist/server/drivers/index.js +42 -0
- package/dist/server/drivers/index.js.map +1 -0
- package/dist/server/drivers/jobBroker.d.ts +133 -0
- package/dist/server/drivers/jobBroker.d.ts.map +1 -0
- package/dist/server/drivers/jobBroker.js +211 -0
- package/dist/server/drivers/jobBroker.js.map +1 -0
- package/dist/server/drivers/jobResults.d.ts +158 -0
- package/dist/server/drivers/jobResults.d.ts.map +1 -0
- package/dist/server/drivers/jobResults.js +328 -0
- package/dist/server/drivers/jobResults.js.map +1 -0
- package/dist/server/drivers/pooledControlStores.d.ts +94 -0
- package/dist/server/drivers/pooledControlStores.d.ts.map +1 -0
- package/dist/server/drivers/pooledControlStores.js +171 -0
- package/dist/server/drivers/pooledControlStores.js.map +1 -0
- package/dist/server/drivers/pooledControlStores.pg.test.d.ts +2 -0
- package/dist/server/drivers/pooledControlStores.pg.test.d.ts.map +1 -0
- package/dist/server/drivers/pooledControlStores.pg.test.js +136 -0
- package/dist/server/drivers/pooledControlStores.pg.test.js.map +1 -0
- package/dist/server/drivers/pooledIdentityStore.d.ts +89 -0
- package/dist/server/drivers/pooledIdentityStore.d.ts.map +1 -0
- package/dist/server/drivers/pooledIdentityStore.js +154 -0
- package/dist/server/drivers/pooledIdentityStore.js.map +1 -0
- package/dist/server/drivers/pooledIdentityStore.pg.test.d.ts +2 -0
- package/dist/server/drivers/pooledIdentityStore.pg.test.d.ts.map +1 -0
- package/dist/server/drivers/pooledIdentityStore.pg.test.js +193 -0
- package/dist/server/drivers/pooledIdentityStore.pg.test.js.map +1 -0
- package/dist/server/drivers/providers/anthropicDriver.d.ts +29 -0
- package/dist/server/drivers/providers/anthropicDriver.d.ts.map +1 -0
- package/dist/server/drivers/providers/anthropicDriver.js +89 -0
- package/dist/server/drivers/providers/anthropicDriver.js.map +1 -0
- package/dist/server/drivers/providers/comfyuiDriver.d.ts +61 -0
- package/dist/server/drivers/providers/comfyuiDriver.d.ts.map +1 -0
- package/dist/server/drivers/providers/comfyuiDriver.js +130 -0
- package/dist/server/drivers/providers/comfyuiDriver.js.map +1 -0
- package/dist/server/drivers/providers/index.d.ts +54 -0
- package/dist/server/drivers/providers/index.d.ts.map +1 -0
- package/dist/server/drivers/providers/index.js +71 -0
- package/dist/server/drivers/providers/index.js.map +1 -0
- package/dist/server/drivers/providers/ollamaDriver.d.ts +58 -0
- package/dist/server/drivers/providers/ollamaDriver.d.ts.map +1 -0
- package/dist/server/drivers/providers/ollamaDriver.js +108 -0
- package/dist/server/drivers/providers/ollamaDriver.js.map +1 -0
- package/dist/server/drivers/providers/openaiDriver.d.ts +36 -0
- package/dist/server/drivers/providers/openaiDriver.d.ts.map +1 -0
- package/dist/server/drivers/providers/openaiDriver.js +58 -0
- package/dist/server/drivers/providers/openaiDriver.js.map +1 -0
- package/dist/server/drivers/providers/openclawDriver.d.ts +36 -0
- package/dist/server/drivers/providers/openclawDriver.d.ts.map +1 -0
- package/dist/server/drivers/providers/openclawDriver.js +78 -0
- package/dist/server/drivers/providers/openclawDriver.js.map +1 -0
- package/dist/server/drivers/providers/transport.d.ts +115 -0
- package/dist/server/drivers/providers/transport.d.ts.map +1 -0
- package/dist/server/drivers/providers/transport.js +167 -0
- package/dist/server/drivers/providers/transport.js.map +1 -0
- package/dist/server/drivers/retentionPolicy.d.ts +146 -0
- package/dist/server/drivers/retentionPolicy.d.ts.map +1 -0
- package/dist/server/drivers/retentionPolicy.js +135 -0
- package/dist/server/drivers/retentionPolicy.js.map +1 -0
- package/dist/server/drivers/retentionPolicy.pg.test.d.ts +2 -0
- package/dist/server/drivers/retentionPolicy.pg.test.d.ts.map +1 -0
- package/dist/server/drivers/retentionPolicy.pg.test.js +89 -0
- package/dist/server/drivers/retentionPolicy.pg.test.js.map +1 -0
- package/dist/server/drivers/saasJobBroker.d.ts +96 -0
- package/dist/server/drivers/saasJobBroker.d.ts.map +1 -0
- package/dist/server/drivers/saasJobBroker.js +101 -0
- package/dist/server/drivers/saasJobBroker.js.map +1 -0
- package/dist/server/drivers/saasJobWorker.d.ts +39 -0
- package/dist/server/drivers/saasJobWorker.d.ts.map +1 -0
- package/dist/server/drivers/saasJobWorker.js +200 -0
- package/dist/server/drivers/saasJobWorker.js.map +1 -0
- package/dist/server/drivers/siteCopy.d.ts +57 -0
- package/dist/server/drivers/siteCopy.d.ts.map +1 -0
- package/dist/server/drivers/siteCopy.js +161 -0
- package/dist/server/drivers/siteCopy.js.map +1 -0
- package/dist/server/dropzone/duplicates.d.ts +83 -0
- package/dist/server/dropzone/duplicates.d.ts.map +1 -0
- package/dist/server/dropzone/duplicates.js +91 -0
- package/dist/server/dropzone/duplicates.js.map +1 -0
- package/dist/server/dropzone/index.d.ts +14 -0
- package/dist/server/dropzone/index.d.ts.map +1 -0
- package/dist/server/dropzone/index.js +14 -0
- package/dist/server/dropzone/index.js.map +1 -0
- package/dist/server/dropzone/scan.d.ts +167 -0
- package/dist/server/dropzone/scan.d.ts.map +1 -0
- package/dist/server/dropzone/scan.js +273 -0
- package/dist/server/dropzone/scan.js.map +1 -0
- package/dist/server/errors.d.ts +5 -49
- package/dist/server/errors.d.ts.map +1 -1
- package/dist/server/errors.js +5 -49
- package/dist/server/errors.js.map +1 -1
- package/dist/server/guard/argon2Binding.d.ts +98 -0
- package/dist/server/guard/argon2Binding.d.ts.map +1 -0
- package/dist/server/guard/argon2Binding.js +139 -0
- package/dist/server/guard/argon2Binding.js.map +1 -0
- package/dist/server/guard/index.d.ts +4 -0
- package/dist/server/guard/index.d.ts.map +1 -0
- package/dist/server/guard/index.js +6 -0
- package/dist/server/guard/index.js.map +1 -0
- package/dist/server/guard/kdfWorker.d.ts +102 -0
- package/dist/server/guard/kdfWorker.d.ts.map +1 -0
- package/dist/server/guard/kdfWorker.js +302 -0
- package/dist/server/guard/kdfWorker.js.map +1 -0
- package/dist/server/guard/kdfWorkerEntry.d.ts +2 -0
- package/dist/server/guard/kdfWorkerEntry.d.ts.map +1 -0
- package/dist/server/guard/kdfWorkerEntry.js +16 -0
- package/dist/server/guard/kdfWorkerEntry.js.map +1 -0
- package/dist/server/guard/passwordVerifier.d.ts +66 -0
- package/dist/server/guard/passwordVerifier.d.ts.map +1 -0
- package/dist/server/guard/passwordVerifier.js +123 -0
- package/dist/server/guard/passwordVerifier.js.map +1 -0
- package/dist/server/guard/revocationStore.d.ts +133 -0
- package/dist/server/guard/revocationStore.d.ts.map +1 -0
- package/dist/server/guard/revocationStore.js +212 -0
- package/dist/server/guard/revocationStore.js.map +1 -0
- package/dist/server/guard/sessionSigner.d.ts +133 -0
- package/dist/server/guard/sessionSigner.d.ts.map +1 -0
- package/dist/server/guard/sessionSigner.js +304 -0
- package/dist/server/guard/sessionSigner.js.map +1 -0
- package/dist/server/incidents/channels.d.ts +162 -0
- package/dist/server/incidents/channels.d.ts.map +1 -0
- package/dist/server/incidents/channels.js +358 -0
- package/dist/server/incidents/channels.js.map +1 -0
- package/dist/server/incidents/checks.d.ts +62 -0
- package/dist/server/incidents/checks.d.ts.map +1 -0
- package/dist/server/incidents/checks.js +56 -0
- package/dist/server/incidents/checks.js.map +1 -0
- package/dist/server/incidents/index.d.ts +52 -0
- package/dist/server/incidents/index.d.ts.map +1 -0
- package/dist/server/incidents/index.js +52 -0
- package/dist/server/incidents/index.js.map +1 -0
- package/dist/server/incidents/migrations.d.ts +21 -0
- package/dist/server/incidents/migrations.d.ts.map +1 -0
- package/dist/server/incidents/migrations.js +59 -0
- package/dist/server/incidents/migrations.js.map +1 -0
- package/dist/server/incidents/notifier.d.ts +80 -0
- package/dist/server/incidents/notifier.d.ts.map +1 -0
- package/dist/server/incidents/notifier.js +142 -0
- package/dist/server/incidents/notifier.js.map +1 -0
- package/dist/server/incidents/reporter.d.ts +61 -0
- package/dist/server/incidents/reporter.d.ts.map +1 -0
- package/dist/server/incidents/reporter.js +50 -0
- package/dist/server/incidents/reporter.js.map +1 -0
- package/dist/server/incidents/routes.d.ts +92 -0
- package/dist/server/incidents/routes.d.ts.map +1 -0
- package/dist/server/incidents/routes.js +203 -0
- package/dist/server/incidents/routes.js.map +1 -0
- package/dist/server/incidents/store.d.ts +76 -0
- package/dist/server/incidents/store.d.ts.map +1 -0
- package/dist/server/incidents/store.js +177 -0
- package/dist/server/incidents/store.js.map +1 -0
- package/dist/server/incidents/types.d.ts +108 -0
- package/dist/server/incidents/types.d.ts.map +1 -0
- package/dist/server/incidents/types.js +33 -0
- package/dist/server/incidents/types.js.map +1 -0
- package/dist/server/index.d.ts +8 -5
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +14 -6
- package/dist/server/index.js.map +1 -1
- package/dist/server/jobs/index.d.ts +1 -1
- package/dist/server/jobs/index.d.ts.map +1 -1
- package/dist/server/jobs/index.js +1 -1
- package/dist/server/jobs/index.js.map +1 -1
- package/dist/server/jobs/polling.d.ts.map +1 -1
- package/dist/server/jobs/polling.js +18 -1
- package/dist/server/jobs/polling.js.map +1 -1
- package/dist/server/jobs/runner.d.ts +6 -0
- package/dist/server/jobs/runner.d.ts.map +1 -1
- package/dist/server/jobs/runner.js +48 -3
- package/dist/server/jobs/runner.js.map +1 -1
- package/dist/server/jobs/types.d.ts +28 -1
- package/dist/server/jobs/types.d.ts.map +1 -1
- package/dist/server/jobs/types.js +8 -0
- package/dist/server/jobs/types.js.map +1 -1
- package/dist/server/master-lock/guard.d.ts +54 -0
- package/dist/server/master-lock/guard.d.ts.map +1 -0
- package/dist/server/master-lock/guard.js +206 -0
- package/dist/server/master-lock/guard.js.map +1 -0
- package/dist/server/master-lock/index.d.ts +22 -0
- package/dist/server/master-lock/index.d.ts.map +1 -0
- package/dist/server/master-lock/index.js +22 -0
- package/dist/server/master-lock/index.js.map +1 -0
- package/dist/server/master-lock/lockPage.d.ts +35 -0
- package/dist/server/master-lock/lockPage.d.ts.map +1 -0
- package/dist/server/master-lock/lockPage.js +282 -0
- package/dist/server/master-lock/lockPage.js.map +1 -0
- package/dist/server/master-lock/masterLock.d.ts +295 -0
- package/dist/server/master-lock/masterLock.d.ts.map +1 -0
- package/dist/server/master-lock/masterLock.js +524 -0
- package/dist/server/master-lock/masterLock.js.map +1 -0
- package/dist/server/master-lock/principals.d.ts +77 -0
- package/dist/server/master-lock/principals.d.ts.map +1 -0
- package/dist/server/master-lock/principals.js +158 -0
- package/dist/server/master-lock/principals.js.map +1 -0
- package/dist/server/master-lock/seed.d.ts +48 -0
- package/dist/server/master-lock/seed.d.ts.map +1 -0
- package/dist/server/master-lock/seed.js +94 -0
- package/dist/server/master-lock/seed.js.map +1 -0
- package/dist/server/master-lock/store.d.ts +20 -0
- package/dist/server/master-lock/store.d.ts.map +1 -0
- package/dist/server/master-lock/store.js +21 -0
- package/dist/server/master-lock/store.js.map +1 -0
- package/dist/server/media-bun/index.d.ts +3 -2
- package/dist/server/media-bun/index.d.ts.map +1 -1
- package/dist/server/media-bun/index.js +6 -3
- package/dist/server/media-bun/index.js.map +1 -1
- package/dist/server/media-bun/streaming.d.ts +87 -0
- package/dist/server/media-bun/streaming.d.ts.map +1 -0
- package/dist/server/media-bun/streaming.js +238 -0
- package/dist/server/media-bun/streaming.js.map +1 -0
- package/dist/server/media-bun/video.d.ts +20 -1
- package/dist/server/media-bun/video.d.ts.map +1 -1
- package/dist/server/media-bun/video.js +83 -1
- package/dist/server/media-bun/video.js.map +1 -1
- package/dist/server/middleware/corsAllowlist.d.ts +39 -0
- package/dist/server/middleware/corsAllowlist.d.ts.map +1 -0
- package/dist/server/middleware/corsAllowlist.js +38 -0
- package/dist/server/middleware/corsAllowlist.js.map +1 -0
- package/dist/server/middleware/errorEnvelope.d.ts +11 -7
- package/dist/server/middleware/errorEnvelope.d.ts.map +1 -1
- package/dist/server/middleware/errorEnvelope.js +22 -19
- package/dist/server/middleware/errorEnvelope.js.map +1 -1
- package/dist/server/middleware/index.d.ts +4 -1
- package/dist/server/middleware/index.d.ts.map +1 -1
- package/dist/server/middleware/index.js +4 -1
- package/dist/server/middleware/index.js.map +1 -1
- package/dist/server/middleware/localOrigin.d.ts +72 -0
- package/dist/server/middleware/localOrigin.d.ts.map +1 -0
- package/dist/server/middleware/localOrigin.js +120 -0
- package/dist/server/middleware/localOrigin.js.map +1 -0
- package/dist/server/middleware/rateLimit.d.ts +36 -7
- package/dist/server/middleware/rateLimit.d.ts.map +1 -1
- package/dist/server/middleware/rateLimit.js +36 -14
- package/dist/server/middleware/rateLimit.js.map +1 -1
- package/dist/server/middleware/zValidator.d.ts +1 -19
- package/dist/server/middleware/zValidator.d.ts.map +1 -1
- package/dist/server/middleware/zValidator.js +3 -21
- package/dist/server/middleware/zValidator.js.map +1 -1
- package/dist/server/migration/runner.d.ts +11 -11
- package/dist/server/migration/runner.d.ts.map +1 -1
- package/dist/server/migration/runner.js +20 -5
- package/dist/server/migration/runner.js.map +1 -1
- package/dist/server/mixins/asset.mixin.d.ts +13 -0
- package/dist/server/mixins/asset.mixin.d.ts.map +1 -0
- package/dist/server/mixins/asset.mixin.js +419 -0
- package/dist/server/mixins/asset.mixin.js.map +1 -0
- package/dist/server/mixins/billing.mixin.d.ts +49 -0
- package/dist/server/mixins/billing.mixin.d.ts.map +1 -0
- package/dist/server/mixins/billing.mixin.js +36 -0
- package/dist/server/mixins/billing.mixin.js.map +1 -0
- package/dist/server/mixins/core.mixin.d.ts +14 -0
- package/dist/server/mixins/core.mixin.d.ts.map +1 -0
- package/dist/server/mixins/core.mixin.js +180 -0
- package/dist/server/mixins/core.mixin.js.map +1 -0
- package/dist/server/mixins/dev.mixin.d.ts +4 -0
- package/dist/server/mixins/dev.mixin.d.ts.map +1 -0
- package/dist/server/mixins/dev.mixin.js +164 -0
- package/dist/server/mixins/dev.mixin.js.map +1 -0
- package/dist/server/mixins/enforcement.d.ts +73 -0
- package/dist/server/mixins/enforcement.d.ts.map +1 -0
- package/dist/server/mixins/enforcement.js +53 -0
- package/dist/server/mixins/enforcement.js.map +1 -0
- package/dist/server/mixins/guard.mixin.d.ts +6 -0
- package/dist/server/mixins/guard.mixin.d.ts.map +1 -0
- package/dist/server/mixins/guard.mixin.js +506 -0
- package/dist/server/mixins/guard.mixin.js.map +1 -0
- package/dist/server/mixins/index.d.ts +68 -0
- package/dist/server/mixins/index.d.ts.map +1 -0
- package/dist/server/mixins/index.js +164 -0
- package/dist/server/mixins/index.js.map +1 -0
- package/dist/server/mixins/instance.mixin.d.ts +21 -0
- package/dist/server/mixins/instance.mixin.d.ts.map +1 -0
- package/dist/server/mixins/instance.mixin.js +139 -0
- package/dist/server/mixins/instance.mixin.js.map +1 -0
- package/dist/server/mixins/knowledge.mixin.d.ts +4 -0
- package/dist/server/mixins/knowledge.mixin.d.ts.map +1 -0
- package/dist/server/mixins/knowledge.mixin.js +629 -0
- package/dist/server/mixins/knowledge.mixin.js.map +1 -0
- package/dist/server/mixins/requestClaims.d.ts +18 -0
- package/dist/server/mixins/requestClaims.d.ts.map +1 -0
- package/dist/server/mixins/requestClaims.js +53 -0
- package/dist/server/mixins/requestClaims.js.map +1 -0
- package/dist/server/mixins/security.d.ts +80 -0
- package/dist/server/mixins/security.d.ts.map +1 -0
- package/dist/server/mixins/security.js +129 -0
- package/dist/server/mixins/security.js.map +1 -0
- package/dist/server/mixins/services.d.ts +1317 -0
- package/dist/server/mixins/services.d.ts.map +1 -0
- package/dist/server/mixins/services.js +2 -0
- package/dist/server/mixins/services.js.map +1 -0
- package/dist/server/mixins/system.mixin.d.ts +4 -0
- package/dist/server/mixins/system.mixin.d.ts.map +1 -0
- package/dist/server/mixins/system.mixin.js +385 -0
- package/dist/server/mixins/system.mixin.js.map +1 -0
- package/dist/server/mixins/types.d.ts +153 -0
- package/dist/server/mixins/types.d.ts.map +1 -0
- package/dist/server/mixins/types.js +13 -0
- package/dist/server/mixins/types.js.map +1 -0
- package/dist/server/net/outboundGuard.d.ts +31 -0
- package/dist/server/net/outboundGuard.d.ts.map +1 -0
- package/dist/server/net/outboundGuard.js +200 -0
- package/dist/server/net/outboundGuard.js.map +1 -0
- package/dist/server/notifications/hub.d.ts +68 -0
- package/dist/server/notifications/hub.d.ts.map +1 -0
- package/dist/server/notifications/hub.js +188 -0
- package/dist/server/notifications/hub.js.map +1 -0
- package/dist/server/notifications/index.d.ts +48 -0
- package/dist/server/notifications/index.d.ts.map +1 -0
- package/dist/server/notifications/index.js +47 -0
- package/dist/server/notifications/index.js.map +1 -0
- package/dist/server/notifications/migrations.d.ts +14 -0
- package/dist/server/notifications/migrations.d.ts.map +1 -0
- package/dist/server/notifications/migrations.js +21 -0
- package/dist/server/notifications/migrations.js.map +1 -0
- package/dist/server/notifications/routes.d.ts +59 -0
- package/dist/server/notifications/routes.d.ts.map +1 -0
- package/dist/server/notifications/routes.js +114 -0
- package/dist/server/notifications/routes.js.map +1 -0
- package/dist/server/notifications/service.d.ts +59 -0
- package/dist/server/notifications/service.d.ts.map +1 -0
- package/dist/server/notifications/service.js +42 -0
- package/dist/server/notifications/service.js.map +1 -0
- package/dist/server/ops/engineOps.d.ts +42 -0
- package/dist/server/ops/engineOps.d.ts.map +1 -0
- package/dist/server/ops/engineOps.js +373 -0
- package/dist/server/ops/engineOps.js.map +1 -0
- package/dist/server/ops/index.d.ts +2 -0
- package/dist/server/ops/index.d.ts.map +1 -0
- package/dist/server/ops/index.js +5 -0
- package/dist/server/ops/index.js.map +1 -0
- package/dist/server/paths/appDataHome.d.ts +20 -0
- package/dist/server/paths/appDataHome.d.ts.map +1 -0
- package/dist/server/paths/appDataHome.js +69 -0
- package/dist/server/paths/appDataHome.js.map +1 -0
- package/dist/server/private-media/crypto.d.ts +38 -0
- package/dist/server/private-media/crypto.d.ts.map +1 -0
- package/dist/server/private-media/crypto.js +112 -0
- package/dist/server/private-media/crypto.js.map +1 -0
- package/dist/server/private-media/index-store.d.ts +32 -0
- package/dist/server/private-media/index-store.d.ts.map +1 -0
- package/dist/server/private-media/index-store.js +37 -0
- package/dist/server/private-media/index-store.js.map +1 -0
- package/dist/server/private-media/mountPrivateRoutes.d.ts +27 -0
- package/dist/server/private-media/mountPrivateRoutes.d.ts.map +1 -0
- package/dist/server/private-media/mountPrivateRoutes.js +220 -0
- package/dist/server/private-media/mountPrivateRoutes.js.map +1 -0
- package/dist/server/private-media/pipeline.d.ts +38 -0
- package/dist/server/private-media/pipeline.d.ts.map +1 -0
- package/dist/server/private-media/pipeline.js +98 -0
- package/dist/server/private-media/pipeline.js.map +1 -0
- package/dist/server/private-media/unlock.d.ts +53 -0
- package/dist/server/private-media/unlock.d.ts.map +1 -0
- package/dist/server/private-media/unlock.js +51 -0
- package/dist/server/private-media/unlock.js.map +1 -0
- package/dist/server/resume/index.d.ts +3 -0
- package/dist/server/resume/index.d.ts.map +1 -0
- package/dist/server/resume/index.js +3 -0
- package/dist/server/resume/index.js.map +1 -0
- package/dist/server/resume/routes.d.ts +42 -0
- package/dist/server/resume/routes.d.ts.map +1 -0
- package/dist/server/resume/routes.js +51 -0
- package/dist/server/resume/routes.js.map +1 -0
- package/dist/server/resume/store.d.ts +38 -0
- package/dist/server/resume/store.d.ts.map +1 -0
- package/dist/server/resume/store.js +39 -0
- package/dist/server/resume/store.js.map +1 -0
- package/dist/server/retention/archive.d.ts +79 -0
- package/dist/server/retention/archive.d.ts.map +1 -0
- package/dist/server/retention/archive.js +285 -0
- package/dist/server/retention/archive.js.map +1 -0
- package/dist/server/retention/fleet.d.ts +51 -0
- package/dist/server/retention/fleet.d.ts.map +1 -0
- package/dist/server/retention/fleet.js +67 -0
- package/dist/server/retention/fleet.js.map +1 -0
- package/dist/server/retention/index.d.ts +39 -0
- package/dist/server/retention/index.d.ts.map +1 -0
- package/dist/server/retention/index.js +39 -0
- package/dist/server/retention/index.js.map +1 -0
- package/dist/server/retention/policy.d.ts +264 -0
- package/dist/server/retention/policy.d.ts.map +1 -0
- package/dist/server/retention/policy.js +265 -0
- package/dist/server/retention/policy.js.map +1 -0
- package/dist/server/retention/store.d.ts +102 -0
- package/dist/server/retention/store.d.ts.map +1 -0
- package/dist/server/retention/store.js +252 -0
- package/dist/server/retention/store.js.map +1 -0
- package/dist/server/retention/sweeper.d.ts +70 -0
- package/dist/server/retention/sweeper.d.ts.map +1 -0
- package/dist/server/retention/sweeper.js +290 -0
- package/dist/server/retention/sweeper.js.map +1 -0
- package/dist/server/retention/target.d.ts +144 -0
- package/dist/server/retention/target.d.ts.map +1 -0
- package/dist/server/retention/target.js +439 -0
- package/dist/server/retention/target.js.map +1 -0
- package/dist/server/runtime/bootManifest.d.ts +61 -0
- package/dist/server/runtime/bootManifest.d.ts.map +1 -0
- package/dist/server/runtime/bootManifest.js +109 -0
- package/dist/server/runtime/bootManifest.js.map +1 -0
- package/dist/server/runtime/createCcRuntime.d.ts +91 -0
- package/dist/server/runtime/createCcRuntime.d.ts.map +1 -0
- package/dist/server/runtime/createCcRuntime.js +143 -0
- package/dist/server/runtime/createCcRuntime.js.map +1 -0
- package/dist/server/runtime/governance.d.ts +173 -0
- package/dist/server/runtime/governance.d.ts.map +1 -0
- package/dist/server/runtime/governance.js +168 -0
- package/dist/server/runtime/governance.js.map +1 -0
- package/dist/server/runtime/hostCapabilities.d.ts +60 -0
- package/dist/server/runtime/hostCapabilities.d.ts.map +1 -0
- package/dist/server/runtime/hostCapabilities.js +45 -0
- package/dist/server/runtime/hostCapabilities.js.map +1 -0
- package/dist/server/runtime/index.d.ts +14 -0
- package/dist/server/runtime/index.d.ts.map +1 -0
- package/dist/server/runtime/index.js +37 -0
- package/dist/server/runtime/index.js.map +1 -0
- package/dist/server/runtime/localHost.d.ts +271 -0
- package/dist/server/runtime/localHost.d.ts.map +1 -0
- package/dist/server/runtime/localHost.js +372 -0
- package/dist/server/runtime/localHost.js.map +1 -0
- package/dist/server/runtime/meterRollup.pg.test.d.ts +2 -0
- package/dist/server/runtime/meterRollup.pg.test.d.ts.map +1 -0
- package/dist/server/runtime/meterRollup.pg.test.js +197 -0
- package/dist/server/runtime/meterRollup.pg.test.js.map +1 -0
- package/dist/server/runtime/recipe.d.ts +662 -0
- package/dist/server/runtime/recipe.d.ts.map +1 -0
- package/dist/server/runtime/recipe.js +722 -0
- package/dist/server/runtime/recipe.js.map +1 -0
- package/dist/server/runtime/retentionJob.d.ts +137 -0
- package/dist/server/runtime/retentionJob.d.ts.map +1 -0
- package/dist/server/runtime/retentionJob.js +162 -0
- package/dist/server/runtime/retentionJob.js.map +1 -0
- package/dist/server/runtime/retentionJob.pg.test.d.ts +2 -0
- package/dist/server/runtime/retentionJob.pg.test.d.ts.map +1 -0
- package/dist/server/runtime/retentionJob.pg.test.js +126 -0
- package/dist/server/runtime/retentionJob.pg.test.js.map +1 -0
- package/dist/server/runtime/saasHost.d.ts +242 -0
- package/dist/server/runtime/saasHost.d.ts.map +1 -0
- package/dist/server/runtime/saasHost.js +227 -0
- package/dist/server/runtime/saasHost.js.map +1 -0
- package/dist/server/runtime/serveCcApp.d.ts +48 -0
- package/dist/server/runtime/serveCcApp.d.ts.map +1 -0
- package/dist/server/runtime/serveCcApp.js +28 -0
- package/dist/server/runtime/serveCcApp.js.map +1 -0
- package/dist/server/runtime/staticAssets.d.ts +88 -0
- package/dist/server/runtime/staticAssets.d.ts.map +1 -0
- package/dist/server/runtime/staticAssets.js +160 -0
- package/dist/server/runtime/staticAssets.js.map +1 -0
- package/dist/server/search/index.d.ts +3 -0
- package/dist/server/search/index.d.ts.map +1 -0
- package/dist/server/search/index.js +7 -0
- package/dist/server/search/index.js.map +1 -0
- package/dist/server/search/pgSearchProvider.d.ts +92 -0
- package/dist/server/search/pgSearchProvider.d.ts.map +1 -0
- package/dist/server/search/pgSearchProvider.js +331 -0
- package/dist/server/search/pgSearchProvider.js.map +1 -0
- package/dist/server/search/pgSearchProvider.pg.test.d.ts +2 -0
- package/dist/server/search/pgSearchProvider.pg.test.d.ts.map +1 -0
- package/dist/server/search/pgSearchProvider.pg.test.js +339 -0
- package/dist/server/search/pgSearchProvider.pg.test.js.map +1 -0
- package/dist/server/search/pgSearchSchema.d.ts +82 -0
- package/dist/server/search/pgSearchSchema.d.ts.map +1 -0
- package/dist/server/search/pgSearchSchema.js +90 -0
- package/dist/server/search/pgSearchSchema.js.map +1 -0
- package/dist/server/services/accountService.d.ts +73 -0
- package/dist/server/services/accountService.d.ts.map +1 -0
- package/dist/server/services/accountService.js +647 -0
- package/dist/server/services/accountService.js.map +1 -0
- package/dist/server/services/assetJobs.d.ts +28 -0
- package/dist/server/services/assetJobs.d.ts.map +1 -0
- package/dist/server/services/assetJobs.js +220 -0
- package/dist/server/services/assetJobs.js.map +1 -0
- package/dist/server/services/assetService.d.ts +99 -0
- package/dist/server/services/assetService.d.ts.map +1 -0
- package/dist/server/services/assetService.js +571 -0
- package/dist/server/services/assetService.js.map +1 -0
- package/dist/server/services/assetSources.d.ts +95 -0
- package/dist/server/services/assetSources.d.ts.map +1 -0
- package/dist/server/services/assetSources.js +131 -0
- package/dist/server/services/assetSources.js.map +1 -0
- package/dist/server/services/billingService.d.ts +106 -0
- package/dist/server/services/billingService.d.ts.map +1 -0
- package/dist/server/services/billingService.js +89 -0
- package/dist/server/services/billingService.js.map +1 -0
- package/dist/server/services/devJobs.d.ts +93 -0
- package/dist/server/services/devJobs.d.ts.map +1 -0
- package/dist/server/services/devJobs.js +115 -0
- package/dist/server/services/devJobs.js.map +1 -0
- package/dist/server/services/devService.d.ts +81 -0
- package/dist/server/services/devService.d.ts.map +1 -0
- package/dist/server/services/devService.js +312 -0
- package/dist/server/services/devService.js.map +1 -0
- package/dist/server/services/guardService.d.ts +47 -0
- package/dist/server/services/guardService.d.ts.map +1 -0
- package/dist/server/services/guardService.js +137 -0
- package/dist/server/services/guardService.js.map +1 -0
- package/dist/server/services/index.d.ts +26 -0
- package/dist/server/services/index.d.ts.map +1 -0
- package/dist/server/services/index.js +26 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/knowledgeJobs.d.ts +29 -0
- package/dist/server/services/knowledgeJobs.d.ts.map +1 -0
- package/dist/server/services/knowledgeJobs.js +89 -0
- package/dist/server/services/knowledgeJobs.js.map +1 -0
- package/dist/server/services/knowledgeService.d.ts +42 -0
- package/dist/server/services/knowledgeService.d.ts.map +1 -0
- package/dist/server/services/knowledgeService.js +495 -0
- package/dist/server/services/knowledgeService.js.map +1 -0
- package/dist/server/services/patch.d.ts +15 -0
- package/dist/server/services/patch.d.ts.map +1 -0
- package/dist/server/services/patch.js +21 -0
- package/dist/server/services/patch.js.map +1 -0
- package/dist/server/services/searchJobs.d.ts +97 -0
- package/dist/server/services/searchJobs.d.ts.map +1 -0
- package/dist/server/services/searchJobs.js +161 -0
- package/dist/server/services/searchJobs.js.map +1 -0
- package/dist/server/services/systemService.d.ts +17 -0
- package/dist/server/services/systemService.d.ts.map +1 -0
- package/dist/server/services/systemService.js +403 -0
- package/dist/server/services/systemService.js.map +1 -0
- package/dist/server/services/vaultReaper.d.ts +61 -0
- package/dist/server/services/vaultReaper.d.ts.map +1 -0
- package/dist/server/services/vaultReaper.js +69 -0
- package/dist/server/services/vaultReaper.js.map +1 -0
- package/dist/server/sharing/index.d.ts +19 -0
- package/dist/server/sharing/index.d.ts.map +1 -0
- package/dist/server/sharing/index.js +17 -0
- package/dist/server/sharing/index.js.map +1 -0
- package/dist/server/sharing/migrations.d.ts +7 -0
- package/dist/server/sharing/migrations.d.ts.map +1 -0
- package/dist/server/sharing/migrations.js +80 -0
- package/dist/server/sharing/migrations.js.map +1 -0
- package/dist/server/sharing/router.d.ts +112 -0
- package/dist/server/sharing/router.d.ts.map +1 -0
- package/dist/server/sharing/router.js +94 -0
- package/dist/server/sharing/router.js.map +1 -0
- package/dist/server/sharing/sql.d.ts +68 -0
- package/dist/server/sharing/sql.d.ts.map +1 -0
- package/dist/server/sharing/sql.js +89 -0
- package/dist/server/sharing/sql.js.map +1 -0
- package/dist/server/sharing/store.d.ts +174 -0
- package/dist/server/sharing/store.d.ts.map +1 -0
- package/dist/server/sharing/store.js +485 -0
- package/dist/server/sharing/store.js.map +1 -0
- package/dist/server/sqlite/backup.d.ts +14 -1
- package/dist/server/sqlite/backup.d.ts.map +1 -1
- package/dist/server/sqlite/backup.js +23 -0
- package/dist/server/sqlite/backup.js.map +1 -1
- package/dist/server/sqlite/browse.d.ts +43 -0
- package/dist/server/sqlite/browse.d.ts.map +1 -0
- package/dist/server/sqlite/browse.js +85 -0
- package/dist/server/sqlite/browse.js.map +1 -0
- package/dist/server/sqlite/export.d.ts +33 -0
- package/dist/server/sqlite/export.d.ts.map +1 -0
- package/dist/server/sqlite/export.js +43 -0
- package/dist/server/sqlite/export.js.map +1 -0
- package/dist/server/sqlite/fts5.d.ts +3 -1
- package/dist/server/sqlite/fts5.d.ts.map +1 -1
- package/dist/server/sqlite/fts5.js +6 -2
- package/dist/server/sqlite/fts5.js.map +1 -1
- package/dist/server/sqlite/import.d.ts +37 -0
- package/dist/server/sqlite/import.d.ts.map +1 -0
- package/dist/server/sqlite/import.js +109 -0
- package/dist/server/sqlite/import.js.map +1 -0
- package/dist/server/sqlite/index.d.ts +5 -1
- package/dist/server/sqlite/index.d.ts.map +1 -1
- package/dist/server/sqlite/index.js +9 -3
- package/dist/server/sqlite/index.js.map +1 -1
- package/dist/server/sqlite/stats.d.ts +23 -0
- package/dist/server/sqlite/stats.d.ts.map +1 -0
- package/dist/server/sqlite/stats.js +33 -0
- package/dist/server/sqlite/stats.js.map +1 -0
- package/dist/server/sqlite/viewer.d.ts +14 -0
- package/dist/server/sqlite/viewer.d.ts.map +1 -1
- package/dist/server/sqlite/viewer.js +27 -62
- package/dist/server/sqlite/viewer.js.map +1 -1
- package/dist/server/storage/binaryServerProcessing.d.ts +24 -0
- package/dist/server/storage/binaryServerProcessing.d.ts.map +1 -0
- package/dist/server/storage/binaryServerProcessing.js +82 -0
- package/dist/server/storage/binaryServerProcessing.js.map +1 -0
- package/dist/server/storage/binaryServerStore.d.ts +44 -0
- package/dist/server/storage/binaryServerStore.d.ts.map +1 -0
- package/dist/server/storage/binaryServerStore.js +88 -0
- package/dist/server/storage/binaryServerStore.js.map +1 -0
- package/dist/server/storage/diskStore.d.ts +3 -0
- package/dist/server/storage/diskStore.d.ts.map +1 -0
- package/dist/server/storage/diskStore.js +89 -0
- package/dist/server/storage/diskStore.js.map +1 -0
- package/dist/server/storage/files/adapter.d.ts +34 -0
- package/dist/server/storage/files/adapter.d.ts.map +1 -0
- package/dist/server/storage/files/adapter.js +204 -0
- package/dist/server/storage/files/adapter.js.map +1 -0
- package/dist/server/storage/files/catalogue.d.ts +73 -0
- package/dist/server/storage/files/catalogue.d.ts.map +1 -0
- package/dist/server/storage/files/catalogue.js +1034 -0
- package/dist/server/storage/files/catalogue.js.map +1 -0
- package/dist/server/storage/files/chunkedUpload.d.ts +57 -0
- package/dist/server/storage/files/chunkedUpload.d.ts.map +1 -0
- package/dist/server/storage/files/chunkedUpload.js +71 -0
- package/dist/server/storage/files/chunkedUpload.js.map +1 -0
- package/dist/server/storage/files/fileRoutes.d.ts +52 -0
- package/dist/server/storage/files/fileRoutes.d.ts.map +1 -0
- package/dist/server/storage/files/fileRoutes.js +406 -0
- package/dist/server/storage/files/fileRoutes.js.map +1 -0
- package/dist/server/storage/files/index.d.ts +10 -0
- package/dist/server/storage/files/index.d.ts.map +1 -0
- package/dist/server/storage/files/index.js +12 -0
- package/dist/server/storage/files/index.js.map +1 -0
- package/dist/server/storage/files/migrations.d.ts +3 -0
- package/dist/server/storage/files/migrations.d.ts.map +1 -0
- package/dist/server/storage/files/migrations.js +164 -0
- package/dist/server/storage/files/migrations.js.map +1 -0
- package/dist/server/storage/files/mimeByExt.d.ts +2 -0
- package/dist/server/storage/files/mimeByExt.d.ts.map +1 -0
- package/dist/server/storage/files/mimeByExt.js +14 -0
- package/dist/server/storage/files/mimeByExt.js.map +1 -0
- package/dist/server/storage/files/stack.d.ts +137 -0
- package/dist/server/storage/files/stack.d.ts.map +1 -0
- package/dist/server/storage/files/stack.js +133 -0
- package/dist/server/storage/files/stack.js.map +1 -0
- package/dist/server/storage/files/storageOps.d.ts +55 -0
- package/dist/server/storage/files/storageOps.d.ts.map +1 -0
- package/dist/server/storage/files/storageOps.js +111 -0
- package/dist/server/storage/files/storageOps.js.map +1 -0
- package/dist/server/storage/files/types.d.ts +262 -0
- package/dist/server/storage/files/types.d.ts.map +1 -0
- package/dist/server/storage/files/types.js +23 -0
- package/dist/server/storage/files/types.js.map +1 -0
- package/dist/server/storage/imageThumbnail.d.ts +4 -0
- package/dist/server/storage/imageThumbnail.d.ts.map +1 -0
- package/dist/server/storage/imageThumbnail.js +51 -0
- package/dist/server/storage/imageThumbnail.js.map +1 -0
- package/dist/server/storage/index.d.ts +16 -0
- package/dist/server/storage/index.d.ts.map +1 -0
- package/dist/server/storage/index.js +28 -0
- package/dist/server/storage/index.js.map +1 -0
- package/dist/server/storage/mountMediaRoutes.d.ts +29 -0
- package/dist/server/storage/mountMediaRoutes.d.ts.map +1 -0
- package/dist/server/storage/mountMediaRoutes.js +142 -0
- package/dist/server/storage/mountMediaRoutes.js.map +1 -0
- package/dist/server/storage/objectStoreMediaStore.d.ts +5 -0
- package/dist/server/storage/objectStoreMediaStore.d.ts.map +1 -0
- package/dist/server/storage/objectStoreMediaStore.js +58 -0
- package/dist/server/storage/objectStoreMediaStore.js.map +1 -0
- package/dist/server/storage/s3ObjectStore.d.ts +64 -0
- package/dist/server/storage/s3ObjectStore.d.ts.map +1 -0
- package/dist/server/storage/s3ObjectStore.js +188 -0
- package/dist/server/storage/s3ObjectStore.js.map +1 -0
- package/dist/server/storage/sources.d.ts +48 -0
- package/dist/server/storage/sources.d.ts.map +1 -0
- package/dist/server/storage/sources.js +149 -0
- package/dist/server/storage/sources.js.map +1 -0
- package/dist/server/storage/streamRange.d.ts +20 -0
- package/dist/server/storage/streamRange.d.ts.map +1 -0
- package/dist/server/storage/streamRange.js +70 -0
- package/dist/server/storage/streamRange.js.map +1 -0
- package/dist/server/storage/streamToken.d.ts +17 -0
- package/dist/server/storage/streamToken.d.ts.map +1 -0
- package/dist/server/storage/streamToken.js +48 -0
- package/dist/server/storage/streamToken.js.map +1 -0
- package/dist/server/storage/transcodeJobs.d.ts +66 -0
- package/dist/server/storage/transcodeJobs.d.ts.map +1 -0
- package/dist/server/storage/transcodeJobs.js +105 -0
- package/dist/server/storage/transcodeJobs.js.map +1 -0
- package/dist/server/storage/types.d.ts +153 -0
- package/dist/server/storage/types.d.ts.map +1 -0
- package/dist/server/storage/types.js +31 -0
- package/dist/server/storage/types.js.map +1 -0
- package/dist/server/storage/videoDerivativeKeys.d.ts +128 -0
- package/dist/server/storage/videoDerivativeKeys.d.ts.map +1 -0
- package/dist/server/storage/videoDerivativeKeys.js +150 -0
- package/dist/server/storage/videoDerivativeKeys.js.map +1 -0
- package/dist/server/storage/videoProcessor.d.ts +31 -0
- package/dist/server/storage/videoProcessor.d.ts.map +1 -0
- package/dist/server/storage/videoProcessor.js +149 -0
- package/dist/server/storage/videoProcessor.js.map +1 -0
- package/dist/server/stream/cdcBridge.d.ts +68 -0
- package/dist/server/stream/cdcBridge.d.ts.map +1 -0
- package/dist/server/stream/cdcBridge.js +82 -0
- package/dist/server/stream/cdcBridge.js.map +1 -0
- package/dist/server/stream/index.d.ts +4 -0
- package/dist/server/stream/index.d.ts.map +1 -0
- package/dist/server/stream/index.js +6 -0
- package/dist/server/stream/index.js.map +1 -0
- package/dist/server/stream/searchBridge.d.ts +29 -0
- package/dist/server/stream/searchBridge.d.ts.map +1 -0
- package/dist/server/stream/searchBridge.js +50 -0
- package/dist/server/stream/searchBridge.js.map +1 -0
- package/dist/server/stream/serverPush.d.ts +146 -0
- package/dist/server/stream/serverPush.d.ts.map +1 -0
- package/dist/server/stream/serverPush.js +225 -0
- package/dist/server/stream/serverPush.js.map +1 -0
- package/dist/shared/errors.d.ts +102 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +100 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/studio/document.d.ts +218 -0
- package/dist/studio/document.d.ts.map +1 -0
- package/dist/studio/document.js +150 -0
- package/dist/studio/document.js.map +1 -0
- package/dist/studio/index.d.ts +18 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.js +18 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/inspector.d.ts +53 -0
- package/dist/studio/inspector.d.ts.map +1 -0
- package/dist/studio/inspector.js +91 -0
- package/dist/studio/inspector.js.map +1 -0
- package/dist/studio/interview.d.ts +171 -0
- package/dist/studio/interview.d.ts.map +1 -0
- package/dist/studio/interview.js +303 -0
- package/dist/studio/interview.js.map +1 -0
- package/dist/studio/operations.d.ts +173 -0
- package/dist/studio/operations.d.ts.map +1 -0
- package/dist/studio/operations.js +332 -0
- package/dist/studio/operations.js.map +1 -0
- package/dist/studio/session.d.ts +59 -0
- package/dist/studio/session.d.ts.map +1 -0
- package/dist/studio/session.js +216 -0
- package/dist/studio/session.js.map +1 -0
- package/dist/studio/verification.d.ts +84 -0
- package/dist/studio/verification.d.ts.map +1 -0
- package/dist/studio/verification.js +155 -0
- package/dist/studio/verification.js.map +1 -0
- package/dist/studio/wiring.d.ts +53 -0
- package/dist/studio/wiring.d.ts.map +1 -0
- package/dist/studio/wiring.js +81 -0
- package/dist/studio/wiring.js.map +1 -0
- package/dist/styles-static.css +391 -0
- package/dist/styles.css +393 -0
- package/dist/testing/bytes.d.ts +33 -0
- package/dist/testing/bytes.d.ts.map +1 -0
- package/dist/testing/bytes.js +34 -0
- package/dist/testing/bytes.js.map +1 -0
- package/dist/testing/domInspect.d.ts +60 -0
- package/dist/testing/domInspect.d.ts.map +1 -0
- package/dist/testing/domInspect.js +116 -0
- package/dist/testing/domInspect.js.map +1 -0
- package/dist/testing/fakeFetch.d.ts +24 -0
- package/dist/testing/fakeFetch.d.ts.map +1 -0
- package/dist/testing/fakeFetch.js +22 -0
- package/dist/testing/fakeFetch.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +13 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/tooltip.d.ts +11 -0
- package/dist/testing/tooltip.d.ts.map +1 -0
- package/dist/testing/tooltip.js +64 -0
- package/dist/testing/tooltip.js.map +1 -0
- package/dist/theme.css +998 -0
- package/dist/verify/context.d.ts +57 -0
- package/dist/verify/context.d.ts.map +1 -0
- package/dist/verify/context.js +16 -0
- package/dist/verify/context.js.map +1 -0
- package/dist/verify/diagnostics.d.ts +29 -0
- package/dist/verify/diagnostics.d.ts.map +1 -0
- package/dist/verify/diagnostics.js +45 -0
- package/dist/verify/diagnostics.js.map +1 -0
- package/dist/verify/engines.d.ts +26 -0
- package/dist/verify/engines.d.ts.map +1 -0
- package/dist/verify/engines.js +488 -0
- package/dist/verify/engines.js.map +1 -0
- package/dist/verify/fixtures/ai-prompt-injection-guard/app-config.json +20 -0
- package/dist/verify/fixtures/ai-prompt-injection-guard/expected.json +7 -0
- package/dist/verify/fixtures/av-baseline/app-config.json +27 -0
- package/dist/verify/fixtures/av-baseline/expected.json +1 -0
- package/dist/verify/fixtures/av-cycle-editor/app-config.json +41 -0
- package/dist/verify/fixtures/av-cycle-editor/expected.json +7 -0
- package/dist/verify/fixtures/av-cycle-editor-off/app-config.json +41 -0
- package/dist/verify/fixtures/av-cycle-editor-off/expected.json +30 -0
- package/dist/verify/fixtures/av-cycle-unmarked/app-config.json +39 -0
- package/dist/verify/fixtures/av-cycle-unmarked/expected.json +7 -0
- package/dist/verify/fixtures/av-cycle-unversioned/app-config.json +41 -0
- package/dist/verify/fixtures/av-cycle-unversioned/expected.json +9 -0
- package/dist/verify/fixtures/av-export-target-branch/app-config.json +33 -0
- package/dist/verify/fixtures/av-export-target-branch/expected.json +1 -0
- package/dist/verify/fixtures/av-export-target-unspecified/app-config.json +27 -0
- package/dist/verify/fixtures/av-export-target-unspecified/expected.json +7 -0
- package/dist/verify/fixtures/av-hls-off-inbound-videos/app-config.json +27 -0
- package/dist/verify/fixtures/av-hls-off-inbound-videos/expected.json +8 -0
- package/dist/verify/fixtures/av-hls-on-no-ffmpeg/app-config.json +27 -0
- package/dist/verify/fixtures/av-hls-on-no-ffmpeg/expected.json +8 -0
- package/dist/verify/fixtures/av-two-instances-divergent/app-config.json +35 -0
- package/dist/verify/fixtures/av-two-instances-divergent/expected.json +8 -0
- package/dist/verify/fixtures/av-video-off-wired/app-config.json +27 -0
- package/dist/verify/fixtures/av-video-off-wired/expected.json +9 -0
- package/dist/verify/fixtures/config-drift/app-config.json +20 -0
- package/dist/verify/fixtures/config-drift/expected.json +7 -0
- package/dist/verify/fixtures/config-version-unknown/app-config.json +17 -0
- package/dist/verify/fixtures/config-version-unknown/expected.json +7 -0
- package/dist/verify/fixtures/cross-engine-oral-history/app-config.json +19 -0
- package/dist/verify/fixtures/cross-engine-oral-history/expected.json +8 -0
- package/dist/verify/fixtures/cross-engine-private-media/app-config.json +19 -0
- package/dist/verify/fixtures/cross-engine-private-media/expected.json +8 -0
- package/dist/verify/fixtures/cross-engine-saas-rbac/app-config.json +28 -0
- package/dist/verify/fixtures/cross-engine-saas-rbac/expected.json +8 -0
- package/dist/verify/fixtures/css-isolation-missing/app-config.json +21 -0
- package/dist/verify/fixtures/css-isolation-missing/expected.json +8 -0
- package/dist/verify/fixtures/deep-link-ambiguous/app-config.json +40 -0
- package/dist/verify/fixtures/deep-link-ambiguous/expected.json +7 -0
- package/dist/verify/fixtures/deep-link-cross-tenant/app-config.json +17 -0
- package/dist/verify/fixtures/deep-link-cross-tenant/expected.json +1 -0
- package/dist/verify/fixtures/deep-link-fallback/app-config.json +15 -0
- package/dist/verify/fixtures/deep-link-fallback/expected.json +3 -0
- package/dist/verify/fixtures/demo-source-export/app-config.json +26 -0
- package/dist/verify/fixtures/demo-source-export/expected.json +12 -0
- package/dist/verify/fixtures/demo-source-studio/app-config.json +26 -0
- package/dist/verify/fixtures/demo-source-studio/expected.json +7 -0
- package/dist/verify/fixtures/editor-unwired/app-config.json +21 -0
- package/dist/verify/fixtures/editor-unwired/expected.json +8 -0
- package/dist/verify/fixtures/eventbus-depth-bomb/app-config.json +19 -0
- package/dist/verify/fixtures/eventbus-depth-bomb/expected.json +7 -0
- package/dist/verify/fixtures/eventbus-depth-guarded/app-config.json +19 -0
- package/dist/verify/fixtures/eventbus-depth-guarded/expected.json +1 -0
- package/dist/verify/fixtures/execution-sandbox-jail/app-config.json +19 -0
- package/dist/verify/fixtures/execution-sandbox-jail/expected.json +12 -0
- package/dist/verify/fixtures/guard-legacy-vault/app-config.json +25 -0
- package/dist/verify/fixtures/guard-legacy-vault/expected.json +12 -0
- package/dist/verify/fixtures/index.d.ts +39 -0
- package/dist/verify/fixtures/index.d.ts.map +1 -0
- package/dist/verify/fixtures/index.js +789 -0
- package/dist/verify/fixtures/index.js.map +1 -0
- package/dist/verify/fixtures/infra-privilege-gate/app-config.json +20 -0
- package/dist/verify/fixtures/infra-privilege-gate/expected.json +1 -0
- package/dist/verify/fixtures/infra-privilege-unclaimed/app-config.json +19 -0
- package/dist/verify/fixtures/infra-privilege-unclaimed/expected.json +8 -0
- package/dist/verify/fixtures/layout-resize-observer/app-config.json +20 -0
- package/dist/verify/fixtures/layout-resize-observer/expected.json +8 -0
- package/dist/verify/fixtures/legacy-design-ids/app-config.json +26 -0
- package/dist/verify/fixtures/legacy-design-ids/expected.json +7 -0
- package/dist/verify/fixtures/lifecycle-abort/app-config.json +13 -0
- package/dist/verify/fixtures/lifecycle-abort/expected.json +1 -0
- package/dist/verify/fixtures/marshaller-missing/app-config.json +25 -0
- package/dist/verify/fixtures/marshaller-missing/expected.json +7 -0
- package/dist/verify/fixtures/marshaller-ok/app-config.json +25 -0
- package/dist/verify/fixtures/marshaller-ok/expected.json +1 -0
- package/dist/verify/fixtures/marshaller-unbounded/app-config.json +25 -0
- package/dist/verify/fixtures/marshaller-unbounded/expected.json +7 -0
- package/dist/verify/fixtures/marshaller-worker-offload-missing/app-config.json +25 -0
- package/dist/verify/fixtures/marshaller-worker-offload-missing/expected.json +7 -0
- package/dist/verify/fixtures/meter-spill-durability/app-config.json +19 -0
- package/dist/verify/fixtures/meter-spill-durability/expected.json +12 -0
- package/dist/verify/fixtures/mixin-surface-lock/app-config.json +8 -0
- package/dist/verify/fixtures/mixin-surface-lock/expected.json +1 -0
- package/dist/verify/fixtures/promotion-offline-lock/app-config.json +19 -0
- package/dist/verify/fixtures/promotion-offline-lock/expected.json +7 -0
- package/dist/verify/fixtures/rbac-viewer-403/app-config.json +10 -0
- package/dist/verify/fixtures/rbac-viewer-403/expected.json +1 -0
- package/dist/verify/fixtures/refresh-scoped-fanin/app-config.json +56 -0
- package/dist/verify/fixtures/refresh-scoped-fanin/expected.json +1 -0
- package/dist/verify/fixtures/refresh-unscoped-fanin/app-config.json +56 -0
- package/dist/verify/fixtures/refresh-unscoped-fanin/expected.json +14 -0
- package/dist/verify/fixtures/registry-port-toctou/app-config.json +19 -0
- package/dist/verify/fixtures/registry-port-toctou/expected.json +7 -0
- package/dist/verify/fixtures/route-collision/app-config.json +38 -0
- package/dist/verify/fixtures/route-collision/expected.json +7 -0
- package/dist/verify/fixtures/saas-connection-pooling/app-config.json +28 -0
- package/dist/verify/fixtures/saas-connection-pooling/expected.json +7 -0
- package/dist/verify/fixtures/saas-rls-policy-missing/app-config.json +28 -0
- package/dist/verify/fixtures/saas-rls-policy-missing/expected.json +7 -0
- package/dist/verify/fixtures/security-csp-headers/app-config.json +9 -0
- package/dist/verify/fixtures/security-csp-headers/expected.json +1 -0
- package/dist/verify/fixtures/sse-jitter-reconnect/app-config.json +13 -0
- package/dist/verify/fixtures/sse-jitter-reconnect/expected.json +1 -0
- package/dist/verify/fixtures/staging-collision/plugin-badtokens/collide.token-extension.d.ts +3 -0
- package/dist/verify/fixtures/staging-collision/plugin-badtokens/collide.token-extension.d.ts.map +1 -0
- package/dist/verify/fixtures/staging-collision/plugin-badtokens/collide.token-extension.js +22 -0
- package/dist/verify/fixtures/staging-collision/plugin-badtokens/collide.token-extension.js.map +1 -0
- package/dist/verify/fixtures/staging-export-leak/app-config.json +32 -0
- package/dist/verify/fixtures/staging-export-leak/expected.json +16 -0
- package/dist/verify/fixtures/staging-habits/plugin-habits/habits.token-extension.d.ts +3 -0
- package/dist/verify/fixtures/staging-habits/plugin-habits/habits.token-extension.d.ts.map +1 -0
- package/dist/verify/fixtures/staging-habits/plugin-habits/habits.token-extension.js +33 -0
- package/dist/verify/fixtures/staging-habits/plugin-habits/habits.token-extension.js.map +1 -0
- package/dist/verify/fixtures/staging-token-collision/app-config.json +19 -0
- package/dist/verify/fixtures/staging-token-collision/expected.json +10 -0
- package/dist/verify/fixtures/staging-token-extension/app-config.json +32 -0
- package/dist/verify/fixtures/staging-token-extension/expected.json +6 -0
- package/dist/verify/fixtures/staging-token-extension-locked/app-config.json +32 -0
- package/dist/verify/fixtures/staging-token-extension-locked/expected.json +6 -0
- package/dist/verify/fixtures/storage-contract/app-config.json +19 -0
- package/dist/verify/fixtures/storage-contract/expected.json +17 -0
- package/dist/verify/fixtures/storage-row-integrity/app-config.json +19 -0
- package/dist/verify/fixtures/storage-row-integrity/expected.json +7 -0
- package/dist/verify/fixtures/storage-wal-checkpoint/app-config.json +19 -0
- package/dist/verify/fixtures/storage-wal-checkpoint/expected.json +7 -0
- package/dist/verify/fixtures/token-deprecated/app-config.json +17 -0
- package/dist/verify/fixtures/token-deprecated/expected.json +8 -0
- package/dist/verify/fixtures/token-schema-drift/app-config.json +34 -0
- package/dist/verify/fixtures/token-schema-drift/expected.json +7 -0
- package/dist/verify/fixtures/token-schema-extended/app-config.json +34 -0
- package/dist/verify/fixtures/token-schema-extended/expected.json +7 -0
- package/dist/verify/fixtures/unknown-key/app-config.json +20 -0
- package/dist/verify/fixtures/unknown-key/expected.json +8 -0
- package/dist/verify/frozenManifest.d.ts +43 -0
- package/dist/verify/frozenManifest.d.ts.map +1 -0
- package/dist/verify/frozenManifest.js +78 -0
- package/dist/verify/frozenManifest.js.map +1 -0
- package/dist/verify/index.d.ts +20 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +21 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/interceptorGraph.d.ts +52 -0
- package/dist/verify/interceptorGraph.d.ts.map +1 -0
- package/dist/verify/interceptorGraph.js +30 -0
- package/dist/verify/interceptorGraph.js.map +1 -0
- package/dist/verify/legacyDesigns.d.ts +70 -0
- package/dist/verify/legacyDesigns.d.ts.map +1 -0
- package/dist/verify/legacyDesigns.js +214 -0
- package/dist/verify/legacyDesigns.js.map +1 -0
- package/dist/verify/pipeline.d.ts +29 -0
- package/dist/verify/pipeline.d.ts.map +1 -0
- package/dist/verify/pipeline.js +132 -0
- package/dist/verify/pipeline.js.map +1 -0
- package/dist/verify/pluginLoader.d.ts +35 -0
- package/dist/verify/pluginLoader.d.ts.map +1 -0
- package/dist/verify/pluginLoader.js +54 -0
- package/dist/verify/pluginLoader.js.map +1 -0
- package/dist/verify/promotion/bin/ccPromote.d.ts +3 -0
- package/dist/verify/promotion/bin/ccPromote.d.ts.map +1 -0
- package/dist/verify/promotion/bin/ccPromote.js +134 -0
- package/dist/verify/promotion/bin/ccPromote.js.map +1 -0
- package/dist/verify/promotion/index.d.ts +3 -0
- package/dist/verify/promotion/index.d.ts.map +1 -0
- package/dist/verify/promotion/index.js +4 -0
- package/dist/verify/promotion/index.js.map +1 -0
- package/dist/verify/promotion/nodePromotionFs.d.ts +3 -0
- package/dist/verify/promotion/nodePromotionFs.d.ts.map +1 -0
- package/dist/verify/promotion/nodePromotionFs.js +48 -0
- package/dist/verify/promotion/nodePromotionFs.js.map +1 -0
- package/dist/verify/promotion/promote.d.ts +115 -0
- package/dist/verify/promotion/promote.d.ts.map +1 -0
- package/dist/verify/promotion/promote.js +113 -0
- package/dist/verify/promotion/promote.js.map +1 -0
- package/dist/verify/runtime/bin/ccVerify.d.ts +3 -0
- package/dist/verify/runtime/bin/ccVerify.d.ts.map +1 -0
- package/dist/verify/runtime/bin/ccVerify.js +13 -0
- package/dist/verify/runtime/bin/ccVerify.js.map +1 -0
- package/dist/verify/runtime/cli.d.ts +29 -0
- package/dist/verify/runtime/cli.d.ts.map +1 -0
- package/dist/verify/runtime/cli.js +135 -0
- package/dist/verify/runtime/cli.js.map +1 -0
- package/dist/verify/runtime/hostCapabilities.d.ts +17 -0
- package/dist/verify/runtime/hostCapabilities.d.ts.map +1 -0
- package/dist/verify/runtime/hostCapabilities.js +24 -0
- package/dist/verify/runtime/hostCapabilities.js.map +1 -0
- package/dist/verify/runtime/probes.d.ts +34 -0
- package/dist/verify/runtime/probes.d.ts.map +1 -0
- package/dist/verify/runtime/probes.js +809 -0
- package/dist/verify/runtime/probes.js.map +1 -0
- package/dist/verify/runtime/processJail.d.ts +48 -0
- package/dist/verify/runtime/processJail.d.ts.map +1 -0
- package/dist/verify/runtime/processJail.js +130 -0
- package/dist/verify/runtime/processJail.js.map +1 -0
- package/dist/verify/runtime/runner.d.ts +23 -0
- package/dist/verify/runtime/runner.d.ts.map +1 -0
- package/dist/verify/runtime/runner.js +71 -0
- package/dist/verify/runtime/runner.js.map +1 -0
- package/dist/verify/runtime/verifyContext.d.ts +82 -0
- package/dist/verify/runtime/verifyContext.d.ts.map +1 -0
- package/dist/verify/runtime/verifyContext.js +269 -0
- package/dist/verify/runtime/verifyContext.js.map +1 -0
- package/dist/verify/runtime/verifyServer.d.ts +104 -0
- package/dist/verify/runtime/verifyServer.d.ts.map +1 -0
- package/dist/verify/runtime/verifyServer.js +166 -0
- package/dist/verify/runtime/verifyServer.js.map +1 -0
- package/dist/verify/runtime/verifyServices.d.ts +23 -0
- package/dist/verify/runtime/verifyServices.d.ts.map +1 -0
- package/dist/verify/runtime/verifyServices.js +652 -0
- package/dist/verify/runtime/verifyServices.js.map +1 -0
- package/dist/verify/stages/v0Parse.d.ts +4 -0
- package/dist/verify/stages/v0Parse.d.ts.map +1 -0
- package/dist/verify/stages/v0Parse.js +110 -0
- package/dist/verify/stages/v0Parse.js.map +1 -0
- package/dist/verify/stages/v1References.d.ts +4 -0
- package/dist/verify/stages/v1References.d.ts.map +1 -0
- package/dist/verify/stages/v1References.js +201 -0
- package/dist/verify/stages/v1References.js.map +1 -0
- package/dist/verify/stages/v2Capabilities.d.ts +6 -0
- package/dist/verify/stages/v2Capabilities.d.ts.map +1 -0
- package/dist/verify/stages/v2Capabilities.js +180 -0
- package/dist/verify/stages/v2Capabilities.js.map +1 -0
- package/dist/verify/stages/v3Tokens.d.ts +4 -0
- package/dist/verify/stages/v3Tokens.d.ts.map +1 -0
- package/dist/verify/stages/v3Tokens.js +148 -0
- package/dist/verify/stages/v3Tokens.js.map +1 -0
- package/dist/verify/stages/v4Graph.d.ts +26 -0
- package/dist/verify/stages/v4Graph.d.ts.map +1 -0
- package/dist/verify/stages/v4Graph.js +186 -0
- package/dist/verify/stages/v4Graph.js.map +1 -0
- package/dist/verify/stages/v5Export.d.ts +5 -0
- package/dist/verify/stages/v5Export.d.ts.map +1 -0
- package/dist/verify/stages/v5Export.js +121 -0
- package/dist/verify/stages/v5Export.js.map +1 -0
- package/dist/verify/stages/v6Storage.d.ts +4 -0
- package/dist/verify/stages/v6Storage.d.ts.map +1 -0
- package/dist/verify/stages/v6Storage.js +148 -0
- package/dist/verify/stages/v6Storage.js.map +1 -0
- package/dist/verify/staging/harvest.d.ts +52 -0
- package/dist/verify/staging/harvest.d.ts.map +1 -0
- package/dist/verify/staging/harvest.js +186 -0
- package/dist/verify/staging/harvest.js.map +1 -0
- package/dist/verify/types.d.ts +395 -0
- package/dist/verify/types.d.ts.map +1 -0
- package/dist/verify/types.js +136 -0
- package/dist/verify/types.js.map +1 -0
- package/dist/workspace.css +146 -0
- package/package.json +874 -239
- package/scripts/copyDistAssets.ts +30 -0
- package/scripts/generateStaticStyles.ts +122 -0
- package/scripts/guardrails-baseline.json +27 -0
- package/scripts/guardrailsEnforce.spec.ts +804 -0
- package/scripts/guardrailsEnforce.ts +1741 -0
- package/scripts/publicSurface.ts +455 -0
- package/scripts/testPg.ts +107 -0
- package/scripts/testTmpRoot.ts +111 -0
- package/src/appManifest.spec.ts +5 -0
- package/src/buildIsStaged.spec.ts +77 -0
- package/src/client/contextSyncBroker.ts +130 -0
- package/src/client/convertRequest.ts +117 -0
- package/src/client/ctgrConfig.ts +29 -0
- package/src/client/ctgrGuard.ts +85 -0
- package/src/client/index.ts +114 -0
- package/src/client/router/ccRouter.ts +197 -0
- package/src/client/router/clientRoutesModule.spec.ts +114 -0
- package/src/client/router/index.ts +45 -0
- package/src/client/router/locator.ts +181 -0
- package/src/client/router/routeTable.ts +207 -0
- package/src/client/router/router.spec.ts +293 -0
- package/src/client/stream/appStream.spec.ts +300 -0
- package/src/client/stream/appStream.ts +296 -0
- package/src/client/stream/ccEventSource.ts +247 -0
- package/src/client/stream/index.ts +6 -0
- package/src/client/stream/instanceStream.ts +214 -0
- package/src/client/stream/stream.spec.ts +396 -0
- package/src/client/ws.spec.ts +71 -0
- package/src/client/ws.ts +58 -0
- package/src/client/wsWire.ts +83 -0
- package/src/config/appConfig.spec.ts +158 -0
- package/src/config/appConfig.ts +372 -0
- package/src/core/activity/index.ts +21 -0
- package/src/core/activity/model.ts +160 -0
- package/src/core/analytics/index.ts +18 -0
- package/src/core/analytics/range.spec.ts +280 -0
- package/src/core/analytics/range.ts +383 -0
- package/src/core/analytics/schedule.spec.ts +311 -0
- package/src/core/analytics/schedule.ts +624 -0
- package/src/core/category/category.spec.ts +144 -0
- package/src/core/category/index.ts +19 -0
- package/src/core/category/memoryStore.ts +104 -0
- package/src/core/category/tree.ts +118 -0
- package/src/core/category/types.ts +59 -0
- package/src/core/color.spec.ts +35 -0
- package/src/core/color.ts +35 -0
- package/src/core/colorScheme/colorScheme.spec.ts +127 -0
- package/src/core/colorScheme/colorSchemeStore.ts +184 -0
- package/src/core/colorScheme/index.ts +23 -0
- package/src/core/domainOwners.ts +32 -0
- package/src/core/download.spec.ts +38 -0
- package/src/core/download.ts +35 -0
- package/src/core/events/ccEventBus.spec.ts +90 -0
- package/src/core/events/ccEventBus.ts +120 -0
- package/src/core/file-tree/fileTreeModel.spec.ts +462 -0
- package/src/core/file-tree/fileTreeModel.ts +511 -0
- package/src/core/folder-tree/actions.spec.ts +103 -0
- package/src/core/folder-tree/actions.ts +153 -0
- package/src/core/folder-tree/index.ts +46 -0
- package/src/core/folder-tree/path.spec.ts +113 -0
- package/src/core/folder-tree/path.ts +148 -0
- package/src/core/folder-tree/tree.spec.ts +157 -0
- package/src/core/folder-tree/tree.ts +244 -0
- package/src/core/layout/index.ts +7 -0
- package/src/core/master-lock/index.ts +50 -0
- package/src/core/master-lock/kdf.spec.ts +95 -0
- package/src/core/master-lock/kdf.ts +145 -0
- package/src/core/master-lock/policy.ts +55 -0
- package/src/core/master-lock/presence.spec.ts +73 -0
- package/src/core/master-lock/presence.ts +71 -0
- package/src/core/master-lock/wire.ts +155 -0
- package/src/core/media/bgRemoval.spec.ts +120 -0
- package/src/core/media/bgRemoval.ts +123 -0
- package/src/core/media/ffmpeg.spec.ts +135 -0
- package/src/core/media/ffmpeg.ts +162 -0
- package/src/core/media/format.spec.ts +41 -0
- package/src/core/media/format.ts +58 -0
- package/src/core/media/index.ts +105 -0
- package/src/core/media/mediaItem.spec.ts +46 -0
- package/src/core/media/mediaItem.ts +40 -0
- package/src/core/media/renderPlan.spec.ts +140 -0
- package/src/core/media/renderPlan.ts +318 -0
- package/src/core/media/segment.spec.ts +159 -0
- package/src/core/media/segment.ts +352 -0
- package/src/core/media/size.spec.ts +19 -0
- package/src/core/media/size.ts +3 -0
- package/src/core/media/trim.spec.ts +75 -0
- package/src/core/media/trim.ts +60 -0
- package/src/core/media/types.ts +147 -0
- package/src/core/media/uploadLimits.ts +18 -0
- package/src/core/media/validate.spec.ts +106 -0
- package/src/core/media/validate.ts +131 -0
- package/src/core/media/videoCuts.spec.ts +327 -0
- package/src/core/media/videoCuts.ts +355 -0
- package/src/core/navigation/breadcrumbCompat.ts +44 -0
- package/src/core/navigation/coverageTest.ts +54 -0
- package/src/core/navigation/index.ts +50 -0
- package/src/core/navigation/migrateNavPreferences.ts +119 -0
- package/src/core/navigation/navigation.spec.ts +388 -0
- package/src/core/navigation/navigationModel.ts +185 -0
- package/src/core/navigation/navigationSelectors.ts +206 -0
- package/src/core/navigation/searchCatalogue.ts +89 -0
- package/src/core/net/reconnectSchedule.spec.ts +49 -0
- package/src/core/net/reconnectSchedule.ts +78 -0
- package/src/core/palette/ShortcutRegistry.ts +69 -0
- package/src/core/palette/fuzzyRank.ts +78 -0
- package/src/core/palette/hotkeys.ts +132 -0
- package/src/core/palette/index.ts +22 -0
- package/src/core/palette/palette.spec.ts +160 -0
- package/src/core/schema/projection.spec.ts +122 -0
- package/src/core/schema/projection.ts +225 -0
- package/src/core/session/claims.ts +181 -0
- package/src/core/sharing/index.ts +33 -0
- package/src/core/sharing/model.spec.ts +104 -0
- package/src/core/sharing/model.ts +296 -0
- package/src/core/site/siteCopy.ts +115 -0
- package/src/core/slots.ts +38 -0
- package/src/core/styles/constructableSheet.ts +86 -0
- package/src/core/tokens/registry.spec.ts +160 -0
- package/src/core/tokens/registry.ts +536 -0
- package/src/core/uiScale/index.ts +32 -0
- package/src/core/uiScale/scale.ts +63 -0
- package/src/core/uiScale/uiScale.spec.ts +77 -0
- package/src/core/uiScale/uiScaleStore.ts +100 -0
- package/src/core/wire/__fixtures__/rowsMarshalWorker.ts +24 -0
- package/src/core/wire/index.ts +56 -0
- package/src/core/wire/ingress.spec.ts +276 -0
- package/src/core/wire/ingress.ts +182 -0
- package/src/core/wire/marshalWorker.spec.ts +196 -0
- package/src/core/wire/marshalWorker.ts +361 -0
- package/src/core/wire/marshalling.spec.ts +139 -0
- package/src/core/wire/marshalling.ts +238 -0
- package/src/core/wire/wireHub.spec.ts +137 -0
- package/src/core/wire/wireHub.ts +213 -0
- package/src/css.d.ts +6 -0
- package/src/ctgr/base64url.ts +44 -0
- package/src/ctgr/chunkAccumulator.ts +403 -0
- package/src/ctgr/chunkStore.spec.ts +101 -0
- package/src/ctgr/chunkStore.ts +168 -0
- package/src/ctgr/codec.spec.ts +208 -0
- package/src/ctgr/codec.ts +202 -0
- package/src/ctgr/compress.ts +21 -0
- package/src/ctgr/crc32.ts +23 -0
- package/src/ctgr/digest.ts +14 -0
- package/src/ctgr/index.ts +39 -0
- package/src/ctgr/types.ts +80 -0
- package/src/ctgr/v0compat.spec.ts +73 -0
- package/src/ctgr/v0compat.ts +156 -0
- package/src/declaredDepsAreImported.spec.ts +87 -0
- package/src/demoFixture.spec.ts +133 -0
- package/src/index.ts +120 -0
- package/src/lockfileIsTracked.spec.ts +50 -0
- package/src/namedSubpathsResolve.spec.ts +119 -0
- package/src/noPathDeps.spec.ts +24 -0
- package/src/publicSurface.spec.ts +72 -0
- package/src/publishShape.spec.ts +89 -0
- package/src/react/AuthGate.tsx +105 -0
- package/src/react/Toast.spec.tsx +18 -0
- package/src/react/Toast.tsx +42 -0
- package/src/react/VirtualCardGrid.spec.tsx +338 -0
- package/src/react/VirtualCardGrid.tsx +531 -0
- package/src/react/VirtualList.spec.tsx +153 -0
- package/src/react/VirtualList.tsx +298 -0
- package/src/react/activity-bar/ActivityBar.spec.tsx +127 -0
- package/src/react/activity-bar/ActivityBar.tsx +205 -0
- package/src/react/activity-bar/activityBar.css +164 -0
- package/src/react/activity-bar/index.ts +8 -0
- package/src/react/analytics/AnalyticsPanel.tsx +88 -0
- package/src/react/analytics/MetricDrilldown.tsx +143 -0
- package/src/react/analytics/RangeTabs.tsx +140 -0
- package/src/react/analytics/index.ts +80 -0
- package/src/react/authSignal.ts +37 -0
- package/src/react/charts/AreaChart.tsx +121 -0
- package/src/react/charts/BarChart.tsx +126 -0
- package/src/react/charts/ChartFrame.tsx +32 -0
- package/src/react/charts/ChartLegend.tsx +45 -0
- package/src/react/charts/ChartTooltip.tsx +93 -0
- package/src/react/charts/HeatmapChart.spec.ts +33 -0
- package/src/react/charts/HeatmapChart.tsx +253 -0
- package/src/react/charts/IntervalTimeline.color.spec.tsx +81 -0
- package/src/react/charts/IntervalTimeline.spec.ts +45 -0
- package/src/react/charts/IntervalTimeline.tsx +306 -0
- package/src/react/charts/LineChart.tsx +96 -0
- package/src/react/charts/PieChart.spec.ts +27 -0
- package/src/react/charts/PieChart.tsx +106 -0
- package/src/react/charts/RadialBarChart.tsx +78 -0
- package/src/react/charts/Sparkline.tsx +69 -0
- package/src/react/charts/TimeSeriesChart.tsx +225 -0
- package/src/react/charts/Treemap.tsx +186 -0
- package/src/react/charts/capacityFormat.spec.ts +85 -0
- package/src/react/charts/categorical.spec.ts +131 -0
- package/src/react/charts/categorical.ts +133 -0
- package/src/react/charts/format.ts +159 -0
- package/src/react/charts/index.ts +66 -0
- package/src/react/charts/shared.ts +31 -0
- package/src/react/charts/tokens.spec.ts +103 -0
- package/src/react/charts/tokens.ts +170 -0
- package/src/react/chat/Bubble.tsx +299 -0
- package/src/react/chat/DateMarker.tsx +49 -0
- package/src/react/chat/MessageComposer.tsx +196 -0
- package/src/react/chat/MessageRow.tsx +120 -0
- package/src/react/chat/MessageScroller.tsx +191 -0
- package/src/react/chat/MessageThread.spec.tsx +307 -0
- package/src/react/chat/MessageThread.tsx +186 -0
- package/src/react/chat/PresenceRoster.tsx +87 -0
- package/src/react/chat/StatusMarker.tsx +33 -0
- package/src/react/chat/index.ts +15 -0
- package/src/react/chat/types.ts +62 -0
- package/src/react/clipboard/copyRich.spec.ts +113 -0
- package/src/react/clipboard/copyRich.ts +70 -0
- package/src/react/clipboard/domToMarkdown.spec.tsx +187 -0
- package/src/react/clipboard/domToMarkdown.ts +224 -0
- package/src/react/clipboard/index.ts +16 -0
- package/src/react/clipboard/useSelectionMarkdown.spec.tsx +96 -0
- package/src/react/clipboard/useSelectionMarkdown.ts +68 -0
- package/src/react/code-editor/CodeEditor.spec.tsx +138 -0
- package/src/react/code-editor/CodeEditor.tsx +192 -0
- package/src/react/code-editor/CodeViewer.tsx +43 -0
- package/src/react/code-editor/index.ts +14 -0
- package/src/react/code-editor/languages.spec.ts +139 -0
- package/src/react/code-editor/languages.ts +360 -0
- package/src/react/code-editor/theme.ts +198 -0
- package/src/react/colorScheme/ThemeToggle.spec.tsx +36 -0
- package/src/react/colorScheme/ThemeToggle.tsx +37 -0
- package/src/react/colorScheme/useColorScheme.ts +43 -0
- package/src/react/companion-link/CompanionLinkBar.tsx +34 -0
- package/src/react/companion-link/CompanionLinkStatus.spec.tsx +81 -0
- package/src/react/companion-link/CompanionLinkStatus.tsx +144 -0
- package/src/react/companion-link/StaleMirrorBanner.tsx +30 -0
- package/src/react/companion-link/index.ts +22 -0
- package/src/react/companion-link/logic.spec.ts +132 -0
- package/src/react/companion-link/logic.ts +135 -0
- package/src/react/companion-link/store.spec.ts +83 -0
- package/src/react/companion-link/store.ts +91 -0
- package/src/react/companion-link/types.ts +98 -0
- package/src/react/companion-link/useCompanionLink.ts +98 -0
- package/src/react/compat.ts +36 -0
- package/src/react/components/Accordion.spec.tsx +69 -0
- package/src/react/components/Accordion.tsx +84 -0
- package/src/react/components/ActionBar.spec.tsx +171 -0
- package/src/react/components/ActionBar.tsx +155 -0
- package/src/react/components/ActionGroup.spec.tsx +77 -0
- package/src/react/components/ActionGroup.tsx +91 -0
- package/src/react/components/AddItemsMenu.tsx +132 -0
- package/src/react/components/Alert.spec.tsx +55 -0
- package/src/react/components/Alert.tsx +84 -0
- package/src/react/components/AmbientBackdrop.spec.tsx +162 -0
- package/src/react/components/AmbientBackdrop.tsx +88 -0
- package/src/react/components/AppShell.spec.tsx +148 -0
- package/src/react/components/AppShell.tsx +354 -0
- package/src/react/components/AsyncPanel.spec.tsx +68 -0
- package/src/react/components/AsyncPanel.tsx +80 -0
- package/src/react/components/AutoGrowTextarea.spec.tsx +83 -0
- package/src/react/components/AutoGrowTextarea.tsx +98 -0
- package/src/react/components/Autocomplete.spec.tsx +82 -0
- package/src/react/components/Autocomplete.tsx +172 -0
- package/src/react/components/Avatar.spec.tsx +53 -0
- package/src/react/components/Avatar.tsx +63 -0
- package/src/react/components/AvatarStack.spec.tsx +47 -0
- package/src/react/components/AvatarStack.tsx +56 -0
- package/src/react/components/Badge.spec.tsx +82 -0
- package/src/react/components/Badge.tsx +99 -0
- package/src/react/components/BuildFreshness.spec.tsx +98 -0
- package/src/react/components/BuildFreshness.tsx +205 -0
- package/src/react/components/Button.spec.tsx +216 -0
- package/src/react/components/Button.tsx +255 -0
- package/src/react/components/ButtonGroup.tsx +42 -0
- package/src/react/components/ButtonLink.tsx +46 -0
- package/src/react/components/CardTapTarget.spec.tsx +58 -0
- package/src/react/components/CardTapTarget.tsx +76 -0
- package/src/react/components/ChartTablePanel.tsx +208 -0
- package/src/react/components/Checkbox.spec.tsx +84 -0
- package/src/react/components/Checkbox.tsx +95 -0
- package/src/react/components/ChipFilterStrip.spec.tsx +178 -0
- package/src/react/components/ChipFilterStrip.tsx +138 -0
- package/src/react/components/ChoiceMenu.spec.tsx +161 -0
- package/src/react/components/ChoiceMenu.tsx +186 -0
- package/src/react/components/CodeArea.spec.tsx +110 -0
- package/src/react/components/CodeArea.tsx +165 -0
- package/src/react/components/CodeChip.spec.tsx +82 -0
- package/src/react/components/CodeChip.tsx +74 -0
- package/src/react/components/CodeFieldInput.tsx +88 -0
- package/src/react/components/Collapsible.spec.tsx +44 -0
- package/src/react/components/Collapsible.tsx +72 -0
- package/src/react/components/ColorField.tsx +84 -0
- package/src/react/components/ComboboxField.spec.tsx +145 -0
- package/src/react/components/ComboboxField.tsx +311 -0
- package/src/react/components/CommentThread.spec.tsx +123 -0
- package/src/react/components/CommentThread.tsx +343 -0
- package/src/react/components/ConfirmDialog.tsx +104 -0
- package/src/react/components/ConnectionHealer.spec.tsx +134 -0
- package/src/react/components/ConnectionHealer.tsx +166 -0
- package/src/react/components/ControlHeightScale.spec.tsx +121 -0
- package/src/react/components/CopyButton.spec.tsx +51 -0
- package/src/react/components/CopyButton.tsx +104 -0
- package/src/react/components/CopyableText.spec.tsx +33 -0
- package/src/react/components/CopyableText.tsx +72 -0
- package/src/react/components/DataTable/CardView.tsx +96 -0
- package/src/react/components/DataTable/ColumnChecklist.tsx +120 -0
- package/src/react/components/DataTable/DataTable.spec.tsx +516 -0
- package/src/react/components/DataTable/DataTable.tsx +1506 -0
- package/src/react/components/DataTable/Pagination.tsx +85 -0
- package/src/react/components/DataTable/RowActions.tsx +69 -0
- package/src/react/components/DataTable/SearchBox.tsx +140 -0
- package/src/react/components/DataTable/SortHeader.tsx +111 -0
- package/src/react/components/DataTable/SortStack.tsx +109 -0
- package/src/react/components/DataTable/TableFilterBuilder.tsx +280 -0
- package/src/react/components/DataTable/TableViewToggle.tsx +55 -0
- package/src/react/components/DataTable/Toolbar.tsx +146 -0
- package/src/react/components/DataTable/ViewOptionsMenu.tsx +81 -0
- package/src/react/components/DataTable/cells/CellRenderer.spec.tsx +119 -0
- package/src/react/components/DataTable/cells/CellRenderer.tsx +349 -0
- package/src/react/components/DataTable/cells/CodeCell.tsx +25 -0
- package/src/react/components/DataTable/cells/LinkCell.tsx +31 -0
- package/src/react/components/DataTable/cells/PasswordCell.tsx +35 -0
- package/src/react/components/DataTable/filterQuery.spec.ts +195 -0
- package/src/react/components/DataTable/filterQuery.ts +275 -0
- package/src/react/components/DataTable/index.ts +79 -0
- package/src/react/components/DataTable/rowDrag.ts +139 -0
- package/src/react/components/DataTable/tableSystem.spec.tsx +424 -0
- package/src/react/components/DataTable/types.ts +98 -0
- package/src/react/components/DataTable/useTableViewMode.ts +123 -0
- package/src/react/components/DataTable/virtualize.spec.tsx +110 -0
- package/src/react/components/DatePicker.spec.tsx +133 -0
- package/src/react/components/DatePicker.tsx +149 -0
- package/src/react/components/DateRangePicker.tsx +154 -0
- package/src/react/components/DateTimeField.tsx +90 -0
- package/src/react/components/DeleteButton.spec.tsx +85 -0
- package/src/react/components/DeleteButton.tsx +83 -0
- package/src/react/components/DiscardConfirmDialog.spec.tsx +54 -0
- package/src/react/components/DiscardConfirmDialog.tsx +105 -0
- package/src/react/components/DisclosureButton.tsx +60 -0
- package/src/react/components/DismissButton.tsx +28 -0
- package/src/react/components/DragHandle.tsx +48 -0
- package/src/react/components/Drawer.tsx +168 -0
- package/src/react/components/DropIndicator.tsx +27 -0
- package/src/react/components/DropSlot.spec.tsx +68 -0
- package/src/react/components/DropSlot.tsx +71 -0
- package/src/react/components/DropdownMenu.tsx +192 -0
- package/src/react/components/ElsewhereNotice.spec.tsx +73 -0
- package/src/react/components/ElsewhereNotice.tsx +106 -0
- package/src/react/components/EmojiField.tsx +59 -0
- package/src/react/components/EmptyState.spec.tsx +86 -0
- package/src/react/components/EmptyState.tsx +88 -0
- package/src/react/components/EnvCompare.tsx +144 -0
- package/src/react/components/EnvEditor.tsx +200 -0
- package/src/react/components/ErrorBoundary.spec.tsx +73 -0
- package/src/react/components/ErrorBoundary.tsx +234 -0
- package/src/react/components/ErrorCard.tsx +129 -0
- package/src/react/components/EventTimeline.spec.tsx +55 -0
- package/src/react/components/EventTimeline.tsx +105 -0
- package/src/react/components/ExternalLink.spec.tsx +75 -0
- package/src/react/components/ExternalLink.tsx +112 -0
- package/src/react/components/Field.spec.tsx +215 -0
- package/src/react/components/Field.tsx +146 -0
- package/src/react/components/FieldInput.spec.tsx +157 -0
- package/src/react/components/FieldInput.tsx +511 -0
- package/src/react/components/FieldLabel.tsx +60 -0
- package/src/react/components/FileActions.tsx +77 -0
- package/src/react/components/FileDropZone.spec.tsx +175 -0
- package/src/react/components/FileDropZone.tsx +254 -0
- package/src/react/components/FileLocation.spec.tsx +59 -0
- package/src/react/components/FileLocation.tsx +110 -0
- package/src/react/components/FileTypeIcon.spec.tsx +77 -0
- package/src/react/components/FileTypeIcon.tsx +122 -0
- package/src/react/components/FindingsList.spec.tsx +82 -0
- package/src/react/components/FindingsList.tsx +124 -0
- package/src/react/components/Grid.tsx +35 -0
- package/src/react/components/HoverCard.tsx +65 -0
- package/src/react/components/HudPill.spec.tsx +36 -0
- package/src/react/components/HudPill.tsx +35 -0
- package/src/react/components/IconButton.tsx +56 -0
- package/src/react/components/ImpactDialog.spec.tsx +108 -0
- package/src/react/components/ImpactDialog.tsx +221 -0
- package/src/react/components/InfoHint.tsx +119 -0
- package/src/react/components/InheritBadge.spec.tsx +93 -0
- package/src/react/components/InheritBadge.tsx +148 -0
- package/src/react/components/InlineEditableText.spec.tsx +57 -0
- package/src/react/components/InlineEditableText.tsx +199 -0
- package/src/react/components/Input.tsx +54 -0
- package/src/react/components/IsolatedFrame.spec.tsx +83 -0
- package/src/react/components/IsolatedFrame.tsx +159 -0
- package/src/react/components/JsonEditor.tsx +186 -0
- package/src/react/components/Lightbox.tsx +55 -0
- package/src/react/components/LogViewer.spec.tsx +105 -0
- package/src/react/components/LogViewer.tsx +307 -0
- package/src/react/components/MeterList.spec.tsx +44 -0
- package/src/react/components/MeterList.tsx +152 -0
- package/src/react/components/Modal.spec.tsx +428 -0
- package/src/react/components/Modal.tsx +255 -0
- package/src/react/components/MultiSelectField.spec.tsx +51 -0
- package/src/react/components/MultiSelectField.tsx +60 -0
- package/src/react/components/NativeSelect.spec.tsx +144 -0
- package/src/react/components/NativeSelect.tsx +163 -0
- package/src/react/components/OnlineDot.spec.tsx +39 -0
- package/src/react/components/OnlineDot.tsx +31 -0
- package/src/react/components/OtpInput.spec.tsx +77 -0
- package/src/react/components/OtpInput.tsx +163 -0
- package/src/react/components/Page.spec.tsx +22 -0
- package/src/react/components/Page.tsx +125 -0
- package/src/react/components/PanelGrid.spec.tsx +177 -0
- package/src/react/components/PanelGrid.tsx +316 -0
- package/src/react/components/PanelSeparator.tsx +92 -0
- package/src/react/components/PathText.spec.tsx +33 -0
- package/src/react/components/PathText.tsx +144 -0
- package/src/react/components/PluginCard.spec.tsx +104 -0
- package/src/react/components/PluginCard.tsx +179 -0
- package/src/react/components/Popover.tsx +61 -0
- package/src/react/components/Progress.spec.tsx +64 -0
- package/src/react/components/Progress.tsx +140 -0
- package/src/react/components/PromptDialog.spec.tsx +118 -0
- package/src/react/components/PromptDialog.tsx +108 -0
- package/src/react/components/QueryBoundary.tsx +80 -0
- package/src/react/components/RatingField.spec.tsx +48 -0
- package/src/react/components/RatingField.tsx +86 -0
- package/src/react/components/ReactionBar.spec.tsx +60 -0
- package/src/react/components/ReactionBar.tsx +63 -0
- package/src/react/components/ReactionPicker.spec.tsx +29 -0
- package/src/react/components/ReactionPicker.tsx +43 -0
- package/src/react/components/RenderField.tsx +51 -0
- package/src/react/components/ResponsiveWorkbench.spec.tsx +171 -0
- package/src/react/components/ResponsiveWorkbench.tsx +192 -0
- package/src/react/components/ScrollArea.spec.tsx +113 -0
- package/src/react/components/ScrollArea.tsx +164 -0
- package/src/react/components/ScrollToTopButton.tsx +83 -0
- package/src/react/components/SecretInput.spec.tsx +67 -0
- package/src/react/components/SecretInput.tsx +237 -0
- package/src/react/components/Section.spec.tsx +64 -0
- package/src/react/components/Section.tsx +84 -0
- package/src/react/components/SegmentedControl.spec.tsx +64 -0
- package/src/react/components/SegmentedControl.tsx +104 -0
- package/src/react/components/SelectField.tsx +183 -0
- package/src/react/components/SelectableRow.spec.tsx +41 -0
- package/src/react/components/SelectableRow.tsx +76 -0
- package/src/react/components/Skeleton.spec.tsx +40 -0
- package/src/react/components/Skeleton.tsx +67 -0
- package/src/react/components/Slider.spec.tsx +74 -0
- package/src/react/components/Slider.tsx +122 -0
- package/src/react/components/SliderField.spec.ts +29 -0
- package/src/react/components/SliderField.tsx +127 -0
- package/src/react/components/Sparkline.tsx +38 -0
- package/src/react/components/Spinner.spec.tsx +27 -0
- package/src/react/components/Spinner.tsx +21 -0
- package/src/react/components/SplitButton.tsx +94 -0
- package/src/react/components/SplitPane.spec.tsx +119 -0
- package/src/react/components/SplitPane.tsx +86 -0
- package/src/react/components/StaleDeployHealer.spec.tsx +107 -0
- package/src/react/components/StarRating.spec.tsx +241 -0
- package/src/react/components/StarRating.tsx +281 -0
- package/src/react/components/StatStrip.tsx +157 -0
- package/src/react/components/StatTile.tsx +296 -0
- package/src/react/components/StatTileDelta.spec.tsx +60 -0
- package/src/react/components/StatTileGrid.spec.tsx +88 -0
- package/src/react/components/StatTileGrid.tsx +111 -0
- package/src/react/components/StatTileSelection.spec.tsx +117 -0
- package/src/react/components/StatusPill.spec.tsx +47 -0
- package/src/react/components/StatusPill.tsx +150 -0
- package/src/react/components/Surface.tsx +85 -0
- package/src/react/components/SwatchPicker.tsx +76 -0
- package/src/react/components/Switch.spec.tsx +25 -0
- package/src/react/components/Switch.tsx +43 -0
- package/src/react/components/Tabs.spec.tsx +123 -0
- package/src/react/components/Tabs.tsx +192 -0
- package/src/react/components/TagStrip.spec.tsx +56 -0
- package/src/react/components/TagStrip.tsx +85 -0
- package/src/react/components/TagsInput.spec.tsx +73 -0
- package/src/react/components/TagsInput.tsx +146 -0
- package/src/react/components/ThresholdMeter.spec.tsx +63 -0
- package/src/react/components/ThresholdMeter.tsx +98 -0
- package/src/react/components/Tooltip.spec.tsx +378 -0
- package/src/react/components/Tooltip.tsx +305 -0
- package/src/react/components/TooltipImpl.tsx +337 -0
- package/src/react/components/TreeView.spec.tsx +306 -0
- package/src/react/components/TreeView.tsx +622 -0
- package/src/react/components/TruncatedText.tsx +116 -0
- package/src/react/components/WidgetHeader.spec.tsx +70 -0
- package/src/react/components/WidgetHeader.tsx +115 -0
- package/src/react/components/Wizard/ReviewStep.tsx +74 -0
- package/src/react/components/Wizard/Stepper.spec.tsx +47 -0
- package/src/react/components/Wizard/Stepper.tsx +138 -0
- package/src/react/components/Wizard/Wizard.spec.tsx +341 -0
- package/src/react/components/Wizard/Wizard.tsx +232 -0
- package/src/react/components/Wizard/types.ts +73 -0
- package/src/react/components/auth/AuthCard.spec.tsx +34 -0
- package/src/react/components/auth/AuthCard.tsx +97 -0
- package/src/react/components/auth/AuthForm.tsx +110 -0
- package/src/react/components/auth/LoginForm.spec.tsx +70 -0
- package/src/react/components/auth/LoginForm.tsx +139 -0
- package/src/react/components/auth/PasswordReset.spec.tsx +58 -0
- package/src/react/components/auth/PasswordResetConfirm.tsx +78 -0
- package/src/react/components/auth/PasswordResetRequest.tsx +97 -0
- package/src/react/components/auth/PasswordSetFields.tsx +55 -0
- package/src/react/components/auth/PasswordStrengthMeter.tsx +66 -0
- package/src/react/components/auth/RegisterForm.spec.tsx +63 -0
- package/src/react/components/auth/RegisterForm.tsx +99 -0
- package/src/react/components/auth/SetInitialPassword.spec.tsx +59 -0
- package/src/react/components/auth/SetInitialPassword.tsx +120 -0
- package/src/react/components/auth/SignupForm.spec.tsx +69 -0
- package/src/react/components/auth/SignupForm.tsx +156 -0
- package/src/react/components/auth/TotpEntry.spec.tsx +41 -0
- package/src/react/components/auth/TotpEntry.tsx +156 -0
- package/src/react/components/auth/fields.tsx +113 -0
- package/src/react/components/auth/index.ts +36 -0
- package/src/react/components/auth/mapAuthError.spec.ts +33 -0
- package/src/react/components/auth/mapAuthError.ts +52 -0
- package/src/react/components/auth/passwordStrength.spec.ts +39 -0
- package/src/react/components/auth/passwordStrength.ts +40 -0
- package/src/react/components/auth/types.ts +41 -0
- package/src/react/components/buildFreshness.css +64 -0
- package/src/react/components/calendar/CalendarLegend.spec.tsx +45 -0
- package/src/react/components/calendar/CalendarLegend.tsx +68 -0
- package/src/react/components/calendar/DayAgenda.spec.tsx +85 -0
- package/src/react/components/calendar/DayAgenda.tsx +162 -0
- package/src/react/components/calendar/EventChip.spec.tsx +82 -0
- package/src/react/components/calendar/EventChip.tsx +60 -0
- package/src/react/components/calendar/MonthGrid.spec.tsx +150 -0
- package/src/react/components/calendar/MonthGrid.tsx +168 -0
- package/src/react/components/calendar/WeekView.tsx +138 -0
- package/src/react/components/calendar/colorUtils.ts +105 -0
- package/src/react/components/calendar/index.ts +22 -0
- package/src/react/components/calendar/occurrences.ts +22 -0
- package/src/react/components/calendar/types.ts +62 -0
- package/src/react/components/dialog.tsx +68 -0
- package/src/react/components/layout.spec.tsx +138 -0
- package/src/react/components/layout.tsx +93 -0
- package/src/react/components/revealOnHover.ts +4 -0
- package/src/react/components/sharing/RecipientAvatar.tsx +59 -0
- package/src/react/components/sharing/RecipientPicker.spec.tsx +73 -0
- package/src/react/components/sharing/RecipientPicker.tsx +161 -0
- package/src/react/components/sharing/ShareControl.spec.tsx +88 -0
- package/src/react/components/sharing/ShareControl.tsx +107 -0
- package/src/react/components/sharing/ShareDialog.spec.tsx +48 -0
- package/src/react/components/sharing/ShareDialog.tsx +114 -0
- package/src/react/components/sharing/ShareEditor.spec.tsx +91 -0
- package/src/react/components/sharing/ShareEditor.tsx +180 -0
- package/src/react/components/sharing/SharedWithUserDialog.spec.tsx +78 -0
- package/src/react/components/sharing/SharedWithUserDialog.tsx +169 -0
- package/src/react/components/sharing/types.ts +104 -0
- package/src/react/confirm.tsx +55 -0
- package/src/react/constants/viewport.ts +16 -0
- package/src/react/createApiHooks.ts +211 -0
- package/src/react/dashboard-grid/DashboardGrid.spec.tsx +296 -0
- package/src/react/dashboard-grid/DashboardGrid.tsx +403 -0
- package/src/react/dashboard-grid/WidgetFrame.tsx +106 -0
- package/src/react/dashboard-grid/index.ts +24 -0
- package/src/react/dashboard-grid/widgetRegistry.ts +110 -0
- package/src/react/data/AppErrorOverlay.tsx +181 -0
- package/src/react/data/EngineDataProvider.tsx +153 -0
- package/src/react/data/accountClient.spec.ts +148 -0
- package/src/react/data/accountClient.ts +269 -0
- package/src/react/data/appErrorOverlay.spec.tsx +179 -0
- package/src/react/data/categoryTree.ts +32 -0
- package/src/react/data/engineClient.ts +155 -0
- package/src/react/data/engineDataContext.ts +43 -0
- package/src/react/data/engineOps.ts +33 -0
- package/src/react/data/engineResources.spec.ts +129 -0
- package/src/react/data/engineResources.ts +801 -0
- package/src/react/data/index.ts +78 -0
- package/src/react/data/rowSpecs.spec.ts +59 -0
- package/src/react/data/rowSpecs.ts +359 -0
- package/src/react/data/unauthorizedSignal.spec.tsx +83 -0
- package/src/react/data/useEngineResource.spec.tsx +227 -0
- package/src/react/data/useEngineResource.ts +236 -0
- package/src/react/data/wireEnvelope.spec.ts +264 -0
- package/src/react/data/wireEnvelope.ts +345 -0
- package/src/react/deep-link/index.ts +26 -0
- package/src/react/deep-link/links.spec.ts +123 -0
- package/src/react/deep-link/links.ts +305 -0
- package/src/react/deep-link/resume.spec.tsx +240 -0
- package/src/react/deep-link/resume.ts +219 -0
- package/src/react/deep-link/useDeepLink.spec.tsx +224 -0
- package/src/react/deep-link/useDeepLink.tsx +266 -0
- package/src/react/diff-viewer/DiffViewer.css +43 -0
- package/src/react/diff-viewer/DiffViewer.spec.tsx +98 -0
- package/src/react/diff-viewer/DiffViewer.tsx +102 -0
- package/src/react/diff-viewer/TextComparePane.spec.tsx +95 -0
- package/src/react/diff-viewer/TextComparePane.tsx +163 -0
- package/src/react/diff-viewer/diff.spec.ts +82 -0
- package/src/react/diff-viewer/diff.ts +81 -0
- package/src/react/diff-viewer/index.ts +18 -0
- package/src/react/diff-viewer/useDiffTheme.ts +36 -0
- package/src/react/disk-usage/DiskUsage.spec.tsx +165 -0
- package/src/react/disk-usage/DiskUsageRulesEditor.tsx +77 -0
- package/src/react/disk-usage/DiskUsageScanControls.tsx +142 -0
- package/src/react/disk-usage/DiskUsageSummaryTiles.tsx +51 -0
- package/src/react/disk-usage/DiskUsageTree.tsx +160 -0
- package/src/react/disk-usage/index.ts +4 -0
- package/src/react/emoji/EmojiAutocomplete.tsx +152 -0
- package/src/react/emoji/EmojiPicker.tsx +127 -0
- package/src/react/emoji/emojiSearch.ts +66 -0
- package/src/react/emoji/index.ts +3 -0
- package/src/react/engine-studio/DiagnosticsPanel.tsx +100 -0
- package/src/react/engine-studio/EngineCanvas.tsx +532 -0
- package/src/react/engine-studio/EngineInspector.tsx +77 -0
- package/src/react/engine-studio/EngineStudio.tsx +317 -0
- package/src/react/engine-studio/engineStudio.spec.tsx +355 -0
- package/src/react/engine-studio/index.ts +14 -0
- package/src/react/engine-studio/useStudioSession.ts +71 -0
- package/src/react/file-tree/FileTree.spec.tsx +820 -0
- package/src/react/file-tree/FileTree.tsx +1375 -0
- package/src/react/file-tree/fileTree.css +711 -0
- package/src/react/file-tree/fileTreeGeometry.fixture.json +151 -0
- package/src/react/file-tree/fileTreeGeometry.spec.ts +269 -0
- package/src/react/file-tree/index.ts +31 -0
- package/src/react/filter-rail/FilterRail.spec.tsx +549 -0
- package/src/react/filter-rail/FilterRail.tsx +536 -0
- package/src/react/filter-rail/index.ts +6 -0
- package/src/react/folder-tree/FolderActionsMenu.spec.tsx +124 -0
- package/src/react/folder-tree/FolderActionsMenu.tsx +219 -0
- package/src/react/folder-tree/FolderBreadcrumb.tsx +76 -0
- package/src/react/folder-tree/FolderPicker.spec.tsx +51 -0
- package/src/react/folder-tree/FolderPicker.tsx +230 -0
- package/src/react/folder-tree/FolderTreeRail.spec.tsx +97 -0
- package/src/react/folder-tree/FolderTreeRail.tsx +257 -0
- package/src/react/folder-tree/NewFolderControl.spec.tsx +95 -0
- package/src/react/folder-tree/NewFolderControl.tsx +170 -0
- package/src/react/folder-tree/index.ts +53 -0
- package/src/react/hooks/DragHandleIcon.tsx +23 -0
- package/src/react/hooks/dragShared.ts +21 -0
- package/src/react/hooks/keyboardDnd.spec.tsx +179 -0
- package/src/react/hooks/keyboardDnd.tsx +243 -0
- package/src/react/hooks/pointerDnd.spec.ts +311 -0
- package/src/react/hooks/pointerDnd.ts +419 -0
- package/src/react/hooks/pragmaticDnd.ts +310 -0
- package/src/react/hooks/useCaretInView.spec.ts +73 -0
- package/src/react/hooks/useCaretInView.ts +32 -0
- package/src/react/hooks/useCheckboxSelection.spec.ts +120 -0
- package/src/react/hooks/useCheckboxSelection.ts +155 -0
- package/src/react/hooks/useCopyToClipboard.ts +47 -0
- package/src/react/hooks/useCrossContainerDrag.render.spec.tsx +191 -0
- package/src/react/hooks/useCrossContainerDrag.spec.ts +149 -0
- package/src/react/hooks/useCrossContainerDrag.tsx +544 -0
- package/src/react/hooks/useDebouncedCallback.ts +32 -0
- package/src/react/hooks/useDebouncedValue.ts +15 -0
- package/src/react/hooks/useDirtyForm.spec.ts +177 -0
- package/src/react/hooks/useDirtyForm.ts +171 -0
- package/src/react/hooks/useDiscardGuard.tsx +87 -0
- package/src/react/hooks/useDismissibleItems.ts +85 -0
- package/src/react/hooks/useDragReorder.render.spec.tsx +157 -0
- package/src/react/hooks/useDragReorder.spec.ts +88 -0
- package/src/react/hooks/useDragReorder.tsx +517 -0
- package/src/react/hooks/useEscapeKey.ts +13 -0
- package/src/react/hooks/useHasHover.ts +36 -0
- package/src/react/hooks/useKeyDown.ts +56 -0
- package/src/react/hooks/useKeySequence.spec.ts +163 -0
- package/src/react/hooks/useKeySequence.ts +76 -0
- package/src/react/hooks/useKeyboardInset.ts +32 -0
- package/src/react/hooks/useListSelection.spec.ts +152 -0
- package/src/react/hooks/useListSelection.ts +155 -0
- package/src/react/hooks/useMediaQuery.ts +17 -0
- package/src/react/hooks/useModifierKey.ts +33 -0
- package/src/react/hooks/useOnlineStatus.spec.ts +39 -0
- package/src/react/hooks/useOnlineStatus.ts +29 -0
- package/src/react/hooks/usePaletteDrag.tsx +221 -0
- package/src/react/hooks/usePointerDrag.ts +139 -0
- package/src/react/hooks/useResizeObserver.ts +47 -0
- package/src/react/hooks/useScrollEdgeFade.spec.tsx +91 -0
- package/src/react/hooks/useScrollEdgeFade.ts +81 -0
- package/src/react/hooks/useScrollEdges.spec.ts +60 -0
- package/src/react/hooks/useScrollEdges.ts +107 -0
- package/src/react/hooks/useStableOrder.spec.tsx +79 -0
- package/src/react/hooks/useStableOrder.ts +71 -0
- package/src/react/hooks/useSwipeToDismiss.ts +87 -0
- package/src/react/hooks/useTableSort.ts +79 -0
- package/src/react/hooks/useWindowResize.ts +37 -0
- package/src/react/icons.spec.ts +44 -0
- package/src/react/icons.tsx +275 -0
- package/src/react/index.ts +888 -0
- package/src/react/keep-awake/KeepAwake.tsx +32 -0
- package/src/react/keep-awake/index.ts +11 -0
- package/src/react/keep-awake/keepAwakeEngine.spec.ts +311 -0
- package/src/react/keep-awake/keepAwakeEngine.ts +357 -0
- package/src/react/keep-awake/silentClip.ts +90 -0
- package/src/react/keep-awake/useKeepAwake.spec.tsx +71 -0
- package/src/react/keep-awake/useKeepAwake.ts +66 -0
- package/src/react/layout/CCResizeBoundary.spec.tsx +57 -0
- package/src/react/layout/CCResizeBoundary.tsx +115 -0
- package/src/react/layoutEngine/LayoutCanvas.tsx +490 -0
- package/src/react/layoutEngine/LayoutConfigDialog.tsx +312 -0
- package/src/react/layoutEngine/LayoutRenderer.spec.tsx +152 -0
- package/src/react/layoutEngine/LayoutRenderer.tsx +173 -0
- package/src/react/layoutEngine/NodeInspector.spec.tsx +119 -0
- package/src/react/layoutEngine/NodeInspector.tsx +451 -0
- package/src/react/layoutEngine/SuggestPanel.spec.tsx +60 -0
- package/src/react/layoutEngine/SuggestPanel.tsx +71 -0
- package/src/react/layoutEngine/index.ts +14 -0
- package/src/react/layoutEngine/registry.spec.ts +90 -0
- package/src/react/layoutEngine/registry.ts +77 -0
- package/src/react/layoutEngine/types.ts +98 -0
- package/src/react/layoutEngine/useLayoutEditor.spec.tsx +70 -0
- package/src/react/layoutEngine/useLayoutEditor.ts +163 -0
- package/src/react/lib/cn.spec.ts +22 -0
- package/src/react/lib/cn.ts +7 -0
- package/src/react/lib/createInstanceStore.spec.ts +73 -0
- package/src/react/lib/createInstanceStore.ts +93 -0
- package/src/react/lib/daypicker.tsx +140 -0
- package/src/react/lib/devWarn.ts +28 -0
- package/src/react/lib/draftPersistence.spec.ts +34 -0
- package/src/react/lib/draftPersistence.ts +31 -0
- package/src/react/lib/field.ts +66 -0
- package/src/react/lib/floatingStyles.spec.ts +58 -0
- package/src/react/lib/floatingStyles.ts +59 -0
- package/src/react/lib/form.spec.ts +35 -0
- package/src/react/lib/form.ts +41 -0
- package/src/react/lib/hoverIntent.ts +55 -0
- package/src/react/lib/selection.ts +74 -0
- package/src/react/lib/store.ts +14 -0
- package/src/react/lib/tabIndent.ts +35 -0
- package/src/react/lib/tapTarget.ts +100 -0
- package/src/react/lib/textEntryTarget.spec.ts +33 -0
- package/src/react/lib/textEntryTarget.ts +40 -0
- package/src/react/lib/textSelection.ts +31 -0
- package/src/react/markdown/Markdown.spec.tsx +31 -0
- package/src/react/markdown/Markdown.tsx +122 -0
- package/src/react/markdown/MarkdownDoc.spec.tsx +126 -0
- package/src/react/markdown/MarkdownDoc.tsx +277 -0
- package/src/react/markdown/index.ts +2 -0
- package/src/react/markdown/markdownDoc.css +169 -0
- package/src/react/markdown/parse.spec.ts +100 -0
- package/src/react/markdown/parse.ts +146 -0
- package/src/react/master-detail/DetailPane.tsx +176 -0
- package/src/react/master-detail/MasterDetail.spec.tsx +61 -0
- package/src/react/master-detail/MasterDetail.tsx +305 -0
- package/src/react/master-detail/index.ts +16 -0
- package/src/react/master-lock/MasterLockDialog.tsx +269 -0
- package/src/react/master-lock/MasterLockProvider.spec.tsx +89 -0
- package/src/react/master-lock/MasterLockProvider.tsx +281 -0
- package/src/react/master-lock/index.ts +15 -0
- package/src/react/media/AutoMaskControls.tsx +142 -0
- package/src/react/media/BrushSizeSlider.tsx +94 -0
- package/src/react/media/CanvasVideoPlayer.tsx +331 -0
- package/src/react/media/DenseGalleryShell.spec.tsx +237 -0
- package/src/react/media/DenseGalleryShell.tsx +705 -0
- package/src/react/media/FocusViewer.tsx +990 -0
- package/src/react/media/FrameGrabber.tsx +612 -0
- package/src/react/media/HoverScrubVideoThumb.spec.tsx +93 -0
- package/src/react/media/HoverScrubVideoThumb.tsx +327 -0
- package/src/react/media/ImageEditor.tsx +115 -0
- package/src/react/media/MaskPainter.spec.tsx +194 -0
- package/src/react/media/MaskPainter.tsx +929 -0
- package/src/react/media/MediaCatalogueViewer.tsx +135 -0
- package/src/react/media/MediaCell.tsx +105 -0
- package/src/react/media/MediaLightbox.tsx +45 -0
- package/src/react/media/MediaResize.spec.tsx +232 -0
- package/src/react/media/MediaResize.tsx +284 -0
- package/src/react/media/MediaThumb.spec.tsx +112 -0
- package/src/react/media/MediaThumb.tsx +151 -0
- package/src/react/media/MediaUploadControl.tsx +153 -0
- package/src/react/media/PictureControls.tsx +108 -0
- package/src/react/media/PictureEditor.tsx +597 -0
- package/src/react/media/PlayerStrip.tsx +475 -0
- package/src/react/media/PrivateIndexView.tsx +113 -0
- package/src/react/media/PrivateModeBadge.tsx +50 -0
- package/src/react/media/TrimRangeSlider.tsx +188 -0
- package/src/react/media/VideoCutEditor.spec.tsx +126 -0
- package/src/react/media/VideoCutEditor.tsx +414 -0
- package/src/react/media/VideoPlayer.spec.tsx +461 -0
- package/src/react/media/VideoPlayer.tsx +663 -0
- package/src/react/media/VideoSlideContent.tsx +52 -0
- package/src/react/media/VideoTrimmer.tsx +237 -0
- package/src/react/media/VideoTurner.spec.tsx +70 -0
- package/src/react/media/VideoTurner.tsx +214 -0
- package/src/react/media/VirtualMediaGrid.tsx +44 -0
- package/src/react/media/VirtualizedRows.tsx +94 -0
- package/src/react/media/WaveformStrip.spec.tsx +20 -0
- package/src/react/media/WaveformStrip.tsx +43 -0
- package/src/react/media/captureVideoFrame.ts +38 -0
- package/src/react/media/denseGallery.css +684 -0
- package/src/react/media/denseGallery.layout.spec.ts +182 -0
- package/src/react/media/ffmpegWasm.ts +235 -0
- package/src/react/media/fileUploadClient.spec.ts +132 -0
- package/src/react/media/fileUploadClient.ts +193 -0
- package/src/react/media/focusViewer.css +279 -0
- package/src/react/media/focusViewer.css.spec.ts +74 -0
- package/src/react/media/hlsSource.spec.ts +77 -0
- package/src/react/media/hlsSource.ts +109 -0
- package/src/react/media/imageEditorSpec.spec.ts +79 -0
- package/src/react/media/imageEditorSpec.ts +145 -0
- package/src/react/media/index.ts +266 -0
- package/src/react/media/maskGeometry.spec.ts +100 -0
- package/src/react/media/maskGeometry.ts +100 -0
- package/src/react/media/maskModel.spec.ts +106 -0
- package/src/react/media/maskModel.ts +121 -0
- package/src/react/media/maskRaster.spec.ts +178 -0
- package/src/react/media/maskRaster.ts +158 -0
- package/src/react/media/mediaPhoto.spec.ts +69 -0
- package/src/react/media/mediaPhoto.ts +83 -0
- package/src/react/media/mediaProbe.ts +98 -0
- package/src/react/media/mediaResize.css +200 -0
- package/src/react/media/pictureEdit.spec.ts +282 -0
- package/src/react/media/pictureEdit.ts +493 -0
- package/src/react/media/pictureEditor.css +274 -0
- package/src/react/media/playerSpaceKey.spec.ts +103 -0
- package/src/react/media/playerSpaceKey.ts +179 -0
- package/src/react/media/playerStrip.css +654 -0
- package/src/react/media/playerStrip.spec.tsx +299 -0
- package/src/react/media/poster.ts +45 -0
- package/src/react/media/posterFraming.spec.ts +206 -0
- package/src/react/media/posterFraming.ts +297 -0
- package/src/react/media/privateClient.spec.ts +113 -0
- package/src/react/media/privateClient.ts +82 -0
- package/src/react/media/stageResize.spec.ts +88 -0
- package/src/react/media/stageResize.ts +89 -0
- package/src/react/media/surfaceGesture.spec.ts +164 -0
- package/src/react/media/surfaceGesture.ts +89 -0
- package/src/react/media/types.ts +158 -0
- package/src/react/media/useAudioPeaks.ts +49 -0
- package/src/react/media/useIntersectionObserver.ts +47 -0
- package/src/react/media/useObjectUrl.ts +15 -0
- package/src/react/media/usePrivateUnlock.ts +132 -0
- package/src/react/media/videoCutEditor.css +212 -0
- package/src/react/media/videoEnhance.spec.ts +118 -0
- package/src/react/media/videoEnhance.ts +134 -0
- package/src/react/media/videoPlayer.css +69 -0
- package/src/react/media/videoPoster.spec.ts +102 -0
- package/src/react/media/videoPoster.ts +297 -0
- package/src/react/media/videoRegion.spec.ts +312 -0
- package/src/react/media/videoRegion.ts +278 -0
- package/src/react/media/videoThumbnailer.ts +126 -0
- package/src/react/media-gallery/GalleryTable.tsx +497 -0
- package/src/react/media-gallery/MediaGallery.spec.tsx +1302 -0
- package/src/react/media-gallery/MediaGallery.tsx +2431 -0
- package/src/react/media-gallery/galleryDeepLink.spec.tsx +150 -0
- package/src/react/media-gallery/galleryDeepLink.ts +89 -0
- package/src/react/media-gallery/galleryItemMedia.tsx +127 -0
- package/src/react/media-gallery/galleryTable.spec.ts +58 -0
- package/src/react/media-gallery/index.ts +64 -0
- package/src/react/media-gallery/mediaGallery.css +784 -0
- package/src/react/media-gallery/mediaGalleryModel.spec.ts +182 -0
- package/src/react/media-gallery/mediaGalleryModel.ts +266 -0
- package/src/react/media-gallery/playbackPreferences.ts +259 -0
- package/src/react/media-gallery/playbackRun.spec.ts +190 -0
- package/src/react/media-gallery/playbackRun.ts +129 -0
- package/src/react/media-gallery/types.ts +119 -0
- package/src/react/namespace/NamespaceTargetCapsule.spec.tsx +84 -0
- package/src/react/namespace/NamespaceTargetCapsule.tsx +131 -0
- package/src/react/nav/BreadcrumbMenus.tsx +143 -0
- package/src/react/nav/BreadcrumbPivot.tsx +271 -0
- package/src/react/nav/BreadcrumbProvider.tsx +235 -0
- package/src/react/nav/BreadcrumbTrail.tsx +752 -0
- package/src/react/nav/Breadcrumbs.tsx +212 -0
- package/src/react/nav/ColorSwatchGrid.tsx +73 -0
- package/src/react/nav/CommandBar.spec.tsx +54 -0
- package/src/react/nav/CommandBar.tsx +109 -0
- package/src/react/nav/HeaderSearch.tsx +242 -0
- package/src/react/nav/HubTileGrid.tsx +304 -0
- package/src/react/nav/NavColorPicker.tsx +54 -0
- package/src/react/nav/NavItemMenu.tsx +93 -0
- package/src/react/nav/PlaceBar.spec.tsx +178 -0
- package/src/react/nav/PlaceBar.tsx +335 -0
- package/src/react/nav/SearchResults.tsx +130 -0
- package/src/react/nav/SideNav.tsx +433 -0
- package/src/react/nav/SideNavCustomize.tsx +169 -0
- package/src/react/nav/breadcrumbModel.spec.ts +155 -0
- package/src/react/nav/breadcrumbModel.ts +231 -0
- package/src/react/nav/breadcrumbStore.ts +178 -0
- package/src/react/nav/breadcrumbSystem.spec.tsx +448 -0
- package/src/react/nav/colors.ts +31 -0
- package/src/react/nav/hostLimit.spec.tsx +49 -0
- package/src/react/nav/index.ts +73 -0
- package/src/react/nav/nav.spec.tsx +298 -0
- package/src/react/nav/navShared.tsx +206 -0
- package/src/react/notifications/NotificationBell.tsx +106 -0
- package/src/react/notifications/NotificationCenter.spec.tsx +297 -0
- package/src/react/notifications/NotificationFeed.tsx +297 -0
- package/src/react/notifications/NotificationInbox.spec.tsx +169 -0
- package/src/react/notifications/NotificationInbox.tsx +260 -0
- package/src/react/notifications/binding.spec.ts +223 -0
- package/src/react/notifications/binding.ts +99 -0
- package/src/react/notifications/bridge.ts +34 -0
- package/src/react/notifications/httpClient.spec.ts +88 -0
- package/src/react/notifications/httpClient.ts +143 -0
- package/src/react/notifications/index.ts +42 -0
- package/src/react/notifications/liveTransport.ts +87 -0
- package/src/react/notifications/notificationStore.ts +236 -0
- package/src/react/notifications/pollTransport.spec.ts +145 -0
- package/src/react/notifications/pollTransport.ts +98 -0
- package/src/react/palette/Command.tsx +128 -0
- package/src/react/palette/CommandPalette.spec.tsx +371 -0
- package/src/react/palette/CommandPalette.tsx +635 -0
- package/src/react/palette/index.ts +27 -0
- package/src/react/palette/useCommandPalette.ts +36 -0
- package/src/react/palette/useHotkeys.ts +46 -0
- package/src/react/palette/useShortcutRegistry.ts +19 -0
- package/src/react/pdf-viewer/PdfPage.tsx +116 -0
- package/src/react/pdf-viewer/PdfViewer.spec.tsx +31 -0
- package/src/react/pdf-viewer/PdfViewer.tsx +238 -0
- package/src/react/pdf-viewer/index.ts +11 -0
- package/src/react/pdf-viewer/pdfDocument.ts +90 -0
- package/src/react/pdf-viewer/pdfViewer.css +59 -0
- package/src/react/portal/CCPortalProvider.spec.tsx +139 -0
- package/src/react/portal/CCPortalProvider.tsx +218 -0
- package/src/react/problem-detail/ProblemDetailView.spec.tsx +87 -0
- package/src/react/problem-detail/ProblemDetailView.tsx +304 -0
- package/src/react/prompt.tsx +41 -0
- package/src/react/rich-text/RichTextEditor.spec.tsx +203 -0
- package/src/react/rich-text/RichTextEditor.tsx +167 -0
- package/src/react/rich-text/RichTextToolbar.tsx +384 -0
- package/src/react/rich-text/contentRoundTrip.spec.ts +46 -0
- package/src/react/rich-text/contentRoundTrip.ts +69 -0
- package/src/react/rich-text/index.ts +16 -0
- package/src/react/rich-text/prose.css +247 -0
- package/src/react/router/CCRouteFallback.tsx +97 -0
- package/src/react/router/CCRouterProvider.tsx +120 -0
- package/src/react/schema-fields/SchemaFields.spec.tsx +248 -0
- package/src/react/schema-fields/SchemaFields.tsx +437 -0
- package/src/react/schema-fields/describeSchema.spec.ts +145 -0
- package/src/react/schema-fields/describeSchema.ts +284 -0
- package/src/react/schema-fields/types.ts +150 -0
- package/src/react/session/CCSessionGate.tsx +113 -0
- package/src/react/session/CCSessionProvider.tsx +167 -0
- package/src/react/session/ccSessionGate.spec.tsx +64 -0
- package/src/react/session/ccSessionStore.spec.ts +111 -0
- package/src/react/session/ccSessionStore.ts +141 -0
- package/src/react/session/index.ts +16 -0
- package/src/react/session/sessionContext.ts +48 -0
- package/src/react/sessionAuth.ts +30 -0
- package/src/react/sharing/SharePanel.spec.tsx +166 -0
- package/src/react/sharing/SharePanel.tsx +255 -0
- package/src/react/sharing/index.ts +24 -0
- package/src/react/shell/CCAppShell.spec.tsx +183 -0
- package/src/react/shell/CCAppShell.tsx +155 -0
- package/src/react/shell/claimsContext.ts +31 -0
- package/src/react/shell/index.ts +4 -0
- package/src/react/slots/Slot.spec.tsx +159 -0
- package/src/react/slots/Slot.tsx +148 -0
- package/src/react/spreadsheet/GridCopyPaste.spec.ts +119 -0
- package/src/react/spreadsheet/GridCopyPaste.ts +92 -0
- package/src/react/spreadsheet/SpreadsheetGrid.tsx +137 -0
- package/src/react/spreadsheet/index.ts +29 -0
- package/src/react/spreadsheet/useGlideTheme.ts +173 -0
- package/src/react/spreadsheet/useGridSelection.ts +58 -0
- package/src/react/studios/AddRow.tsx +60 -0
- package/src/react/studios/AssetDetailShells.tsx +382 -0
- package/src/react/studios/AssetStudioShell.tsx +271 -0
- package/src/react/studios/BoundAssetDetails.tsx +311 -0
- package/src/react/studios/BoundEngineShells.tsx +844 -0
- package/src/react/studios/BoundKnowledgeDetails.tsx +206 -0
- package/src/react/studios/BoundKnowledgeVerticals.tsx +437 -0
- package/src/react/studios/BoundStudios.tsx +368 -0
- package/src/react/studios/DevStudioShell.tsx +737 -0
- package/src/react/studios/EngineFills.tsx +292 -0
- package/src/react/studios/GuardAccountPanels.tsx +705 -0
- package/src/react/studios/GuardEngineShell.tsx +344 -0
- package/src/react/studios/KnowledgeDetailShells.tsx +416 -0
- package/src/react/studios/KnowledgeStudioShell.tsx +207 -0
- package/src/react/studios/KnowledgeVerticalShells.tsx +851 -0
- package/src/react/studios/Stopwatch.tsx +70 -0
- package/src/react/studios/StudioNav.tsx +57 -0
- package/src/react/studios/StudioUnbound.tsx +23 -0
- package/src/react/studios/SystemUtilityShell.tsx +788 -0
- package/src/react/studios/assetUpload.spec.tsx +275 -0
- package/src/react/studios/boundStudios.spec.tsx +156 -0
- package/src/react/studios/detailSurfaces.spec.tsx +558 -0
- package/src/react/studios/devSurfaces.spec.tsx +285 -0
- package/src/react/studios/engineFills.spec.tsx +245 -0
- package/src/react/studios/engineShells.spec.tsx +200 -0
- package/src/react/studios/featureGate.spec.ts +70 -0
- package/src/react/studios/featureGate.ts +178 -0
- package/src/react/studios/guardAccount.spec.tsx +285 -0
- package/src/react/studios/index.ts +151 -0
- package/src/react/studios/knowledgeVerticals.spec.tsx +379 -0
- package/src/react/studios/legacyClientBoundary.spec.ts +70 -0
- package/src/react/studios/siteCopyPanel.spec.tsx +141 -0
- package/src/react/studios/studioRoutes.spec.ts +156 -0
- package/src/react/studios/studioRoutes.ts +99 -0
- package/src/react/studios/systemDataSurfaces.spec.tsx +213 -0
- package/src/react/studios/types.ts +792 -0
- package/src/react/studios/useStudioInstance.ts +59 -0
- package/src/react/studios/viewIds.ts +88 -0
- package/src/react/styling.ts +100 -0
- package/src/react/testReport/TestReportViewer.tsx +460 -0
- package/src/react/testReport/index.ts +1 -0
- package/src/react/uiScale/UiScaleControl.tsx +55 -0
- package/src/react/uiScale/useUiScale.ts +57 -0
- package/src/react/usePagedList.spec.tsx +57 -0
- package/src/react/usePagedList.ts +109 -0
- package/src/react/virtualizerMeasure.spec.ts +77 -0
- package/src/react/workbook-viewer/WorkbookViewer.spec.tsx +89 -0
- package/src/react/workbook-viewer/WorkbookViewer.tsx +304 -0
- package/src/react/workbook-viewer/index.ts +22 -0
- package/src/react/workbook-viewer/parseWorkbook.spec.ts +158 -0
- package/src/react/workbook-viewer/parseWorkbook.ts +176 -0
- package/src/server/activity/index.ts +59 -0
- package/src/server/activity/migrations.ts +67 -0
- package/src/server/activity/shareSource.ts +57 -0
- package/src/server/activity/store.spec.ts +255 -0
- package/src/server/activity/store.ts +368 -0
- package/src/server/app.spec.ts +243 -0
- package/src/server/app.ts +89 -0
- package/src/server/audit/index.ts +2 -0
- package/src/server/audit/migrations.ts +88 -0
- package/src/server/audit/sqliteSink.test.ts +200 -0
- package/src/server/audit/sqliteSink.ts +162 -0
- package/src/server/auth/cookie.spec.ts +46 -0
- package/src/server/auth/cookie.ts +42 -0
- package/src/server/auth/csrf.spec.ts +81 -0
- package/src/server/auth/csrf.ts +83 -0
- package/src/server/auth/fileTokenSigner.ts +40 -0
- package/src/server/auth/getOnly.spec.ts +53 -0
- package/src/server/auth/getOnly.ts +32 -0
- package/src/server/auth/index.ts +51 -0
- package/src/server/auth/jwt.spec.ts +106 -0
- package/src/server/auth/jwt.ts +75 -0
- package/src/server/auth/loginThrottle.spec.ts +213 -0
- package/src/server/auth/loginThrottle.ts +261 -0
- package/src/server/auth/middleware.spec.ts +148 -0
- package/src/server/auth/middleware.ts +56 -0
- package/src/server/auth/password.spec.ts +48 -0
- package/src/server/auth/password.ts +71 -0
- package/src/server/auth/sessionStore.spec.ts +189 -0
- package/src/server/auth/sessionStore.ts +261 -0
- package/src/server/auth/totp.spec.ts +73 -0
- package/src/server/auth/totp.ts +92 -0
- package/src/server/auth/types.ts +146 -0
- package/src/server/auth/vault.spec.ts +51 -0
- package/src/server/auth/vault.ts +71 -0
- package/src/server/context.ts +37 -0
- package/src/server/ctgr.spec.ts +138 -0
- package/src/server/ctgr.ts +108 -0
- package/src/server/db/kysely.spec.ts +62 -0
- package/src/server/db/kysely.ts +21 -0
- package/src/server/db/plumbingTypes.ts +126 -0
- package/src/server/drivers/bullmqQueueAdapter.spec.ts +193 -0
- package/src/server/drivers/bullmqQueueAdapter.ts +176 -0
- package/src/server/drivers/cognitiveGateway.ts +485 -0
- package/src/server/drivers/drivers.spec.ts +397 -0
- package/src/server/drivers/executionDriver.ts +579 -0
- package/src/server/drivers/index.ts +225 -0
- package/src/server/drivers/jobBroker.spec.ts +92 -0
- package/src/server/drivers/jobBroker.ts +357 -0
- package/src/server/drivers/jobResults.spec.ts +424 -0
- package/src/server/drivers/jobResults.ts +445 -0
- package/src/server/drivers/pooledControlStores.pg.test.ts +162 -0
- package/src/server/drivers/pooledControlStores.ts +197 -0
- package/src/server/drivers/pooledIdentityStore.pg.test.ts +218 -0
- package/src/server/drivers/pooledIdentityStore.ts +184 -0
- package/src/server/drivers/providers/anthropicDriver.ts +144 -0
- package/src/server/drivers/providers/comfyuiDriver.ts +194 -0
- package/src/server/drivers/providers/driverContract.spec.ts +474 -0
- package/src/server/drivers/providers/index.ts +166 -0
- package/src/server/drivers/providers/ollamaDriver.ts +182 -0
- package/src/server/drivers/providers/openaiDriver.ts +105 -0
- package/src/server/drivers/providers/openclawDriver.ts +134 -0
- package/src/server/drivers/providers/transport.ts +215 -0
- package/src/server/drivers/retentionPolicy.pg.test.ts +103 -0
- package/src/server/drivers/retentionPolicy.spec.ts +110 -0
- package/src/server/drivers/retentionPolicy.ts +242 -0
- package/src/server/drivers/saasJobBroker.ts +221 -0
- package/src/server/drivers/saasJobWorker.spec.ts +411 -0
- package/src/server/drivers/saasJobWorker.ts +241 -0
- package/src/server/drivers/siteCopy.spec.ts +121 -0
- package/src/server/drivers/siteCopy.ts +199 -0
- package/src/server/dropzone/duplicates.ts +121 -0
- package/src/server/dropzone/index.ts +30 -0
- package/src/server/dropzone/scan.spec.ts +255 -0
- package/src/server/dropzone/scan.ts +342 -0
- package/src/server/errors.spec.ts +76 -0
- package/src/server/errors.ts +22 -0
- package/src/server/guard/argon2Binding.spec.ts +117 -0
- package/src/server/guard/argon2Binding.ts +195 -0
- package/src/server/guard/argon2Kat.spec.ts +250 -0
- package/src/server/guard/guard.spec.ts +390 -0
- package/src/server/guard/index.ts +5 -0
- package/src/server/guard/kdfWorker.spec.ts +283 -0
- package/src/server/guard/kdfWorker.ts +367 -0
- package/src/server/guard/kdfWorkerEntry.ts +16 -0
- package/src/server/guard/passwordVerifier.spec.ts +71 -0
- package/src/server/guard/passwordVerifier.ts +175 -0
- package/src/server/guard/revocationStore.spec.ts +135 -0
- package/src/server/guard/revocationStore.ts +291 -0
- package/src/server/guard/sessionSigner.ts +425 -0
- package/src/server/incidents/channels.ts +487 -0
- package/src/server/incidents/checks.ts +120 -0
- package/src/server/incidents/incidents.spec.ts +463 -0
- package/src/server/incidents/index.ts +96 -0
- package/src/server/incidents/migrations.ts +66 -0
- package/src/server/incidents/notifier.ts +215 -0
- package/src/server/incidents/reporter.ts +110 -0
- package/src/server/incidents/routes.ts +314 -0
- package/src/server/incidents/store.ts +329 -0
- package/src/server/incidents/types.ts +116 -0
- package/src/server/index.ts +248 -0
- package/src/server/jobs/fireQueue.spec.ts +85 -0
- package/src/server/jobs/fireQueue.ts +37 -0
- package/src/server/jobs/index.ts +26 -0
- package/src/server/jobs/logger.ts +16 -0
- package/src/server/jobs/plainjobAdapter.spec.ts +34 -0
- package/src/server/jobs/plainjobAdapter.ts +54 -0
- package/src/server/jobs/polling.spec.ts +219 -0
- package/src/server/jobs/polling.ts +81 -0
- package/src/server/jobs/runner.spec.ts +213 -0
- package/src/server/jobs/runner.ts +213 -0
- package/src/server/jobs/timeout.spec.ts +35 -0
- package/src/server/jobs/timeout.ts +53 -0
- package/src/server/jobs/types.ts +188 -0
- package/src/server/master-lock/guard.spec.ts +347 -0
- package/src/server/master-lock/guard.ts +290 -0
- package/src/server/master-lock/index.ts +44 -0
- package/src/server/master-lock/lockPage.spec.ts +88 -0
- package/src/server/master-lock/lockPage.ts +313 -0
- package/src/server/master-lock/masterLock.spec.ts +338 -0
- package/src/server/master-lock/masterLock.ts +627 -0
- package/src/server/master-lock/principals.spec.ts +378 -0
- package/src/server/master-lock/principals.ts +175 -0
- package/src/server/master-lock/seed.spec.ts +69 -0
- package/src/server/master-lock/seed.ts +112 -0
- package/src/server/master-lock/store.ts +35 -0
- package/src/server/media-bun/image.spec.ts +115 -0
- package/src/server/media-bun/image.ts +134 -0
- package/src/server/media-bun/index.ts +52 -0
- package/src/server/media-bun/streaming.spec.ts +134 -0
- package/src/server/media-bun/streaming.ts +347 -0
- package/src/server/media-bun/video.spec.ts +115 -0
- package/src/server/media-bun/video.ts +232 -0
- package/src/server/metrics/metricsBuffer.ts +92 -0
- package/src/server/metrics/normalizeRoute.spec.ts +51 -0
- package/src/server/metrics/normalizeRoute.ts +63 -0
- package/src/server/middleware/correlationId.ts +24 -0
- package/src/server/middleware/corsAllowlist.spec.ts +118 -0
- package/src/server/middleware/corsAllowlist.ts +69 -0
- package/src/server/middleware/errorEnvelope.ts +38 -0
- package/src/server/middleware/index.ts +19 -0
- package/src/server/middleware/localOrigin.spec.ts +168 -0
- package/src/server/middleware/localOrigin.ts +139 -0
- package/src/server/middleware/rateLimit.spec.ts +72 -0
- package/src/server/middleware/rateLimit.ts +125 -0
- package/src/server/middleware/requestLogger.ts +95 -0
- package/src/server/middleware/securityHeaders.ts +78 -0
- package/src/server/middleware/zValidator.spec.ts +251 -0
- package/src/server/middleware/zValidator.ts +114 -0
- package/src/server/migration/runner.spec.ts +88 -0
- package/src/server/migration/runner.ts +87 -0
- package/src/server/migration/types.ts +17 -0
- package/src/server/mixins/asset.mixin.ts +450 -0
- package/src/server/mixins/billing.mixin.ts +64 -0
- package/src/server/mixins/composeServer.spec.ts +270 -0
- package/src/server/mixins/core.mixin.ts +197 -0
- package/src/server/mixins/dev.mixin.ts +189 -0
- package/src/server/mixins/domainVerticals.spec.ts +1232 -0
- package/src/server/mixins/enforcement.spec.ts +177 -0
- package/src/server/mixins/enforcement.ts +106 -0
- package/src/server/mixins/guard.mixin.ts +593 -0
- package/src/server/mixins/guardPlanAssignment.spec.ts +221 -0
- package/src/server/mixins/guardSiteCopy.spec.ts +284 -0
- package/src/server/mixins/index.ts +248 -0
- package/src/server/mixins/instance.mixin.ts +174 -0
- package/src/server/mixins/knowledge.mixin.ts +689 -0
- package/src/server/mixins/pipelineOpsSmoke.spec.ts +140 -0
- package/src/server/mixins/requestClaims.spec.ts +96 -0
- package/src/server/mixins/requestClaims.ts +57 -0
- package/src/server/mixins/security.ts +173 -0
- package/src/server/mixins/services.ts +1314 -0
- package/src/server/mixins/storedObjects.spec.ts +117 -0
- package/src/server/mixins/system.mixin.ts +430 -0
- package/src/server/mixins/types.ts +173 -0
- package/src/server/net/outboundGuard.spec.ts +90 -0
- package/src/server/net/outboundGuard.ts +205 -0
- package/src/server/notifications/hub.ts +245 -0
- package/src/server/notifications/index.ts +77 -0
- package/src/server/notifications/migrations.ts +39 -0
- package/src/server/notifications/routes.ts +177 -0
- package/src/server/notifications/service.spec.ts +305 -0
- package/src/server/notifications/service.ts +112 -0
- package/src/server/ops/engineOps.ts +443 -0
- package/src/server/ops/engineOpsCatalog.spec.ts +141 -0
- package/src/server/ops/index.ts +4 -0
- package/src/server/paths/appDataHome.spec.ts +87 -0
- package/src/server/paths/appDataHome.ts +84 -0
- package/src/server/private-media/blobRoute.spec.ts +165 -0
- package/src/server/private-media/crypto.spec.ts +81 -0
- package/src/server/private-media/crypto.ts +155 -0
- package/src/server/private-media/gatePolicy.spec.ts +98 -0
- package/src/server/private-media/index-store.ts +83 -0
- package/src/server/private-media/mountPrivateRoutes.ts +265 -0
- package/src/server/private-media/pipeline.spec.ts +111 -0
- package/src/server/private-media/pipeline.ts +170 -0
- package/src/server/private-media/routes.spec.ts +265 -0
- package/src/server/private-media/unlock.ts +107 -0
- package/src/server/resume/index.ts +8 -0
- package/src/server/resume/resume.spec.ts +118 -0
- package/src/server/resume/routes.ts +92 -0
- package/src/server/resume/store.ts +82 -0
- package/src/server/retention/archive.spec.ts +181 -0
- package/src/server/retention/archive.ts +353 -0
- package/src/server/retention/fleet.ts +104 -0
- package/src/server/retention/index.ts +101 -0
- package/src/server/retention/policy.spec.ts +132 -0
- package/src/server/retention/policy.ts +392 -0
- package/src/server/retention/store.spec.ts +236 -0
- package/src/server/retention/store.ts +338 -0
- package/src/server/retention/sweeper.spec.ts +321 -0
- package/src/server/retention/sweeper.ts +367 -0
- package/src/server/retention/target.spec.ts +592 -0
- package/src/server/retention/target.ts +613 -0
- package/src/server/runtime/bootManifest.spec.ts +161 -0
- package/src/server/runtime/bootManifest.ts +172 -0
- package/src/server/runtime/createCcRuntime.ts +241 -0
- package/src/server/runtime/governance.spec.ts +650 -0
- package/src/server/runtime/governance.ts +268 -0
- package/src/server/runtime/hostCapabilities.ts +99 -0
- package/src/server/runtime/index.ts +117 -0
- package/src/server/runtime/localHost.spec.ts +242 -0
- package/src/server/runtime/localHost.ts +530 -0
- package/src/server/runtime/meterReconciliation.spec.ts +364 -0
- package/src/server/runtime/meterRollup.pg.test.ts +240 -0
- package/src/server/runtime/meterSharing.spec.ts +334 -0
- package/src/server/runtime/meterSpillDrain.spec.ts +173 -0
- package/src/server/runtime/objectStoreRoundTrip.spec.ts +277 -0
- package/src/server/runtime/recipe.spec.ts +1478 -0
- package/src/server/runtime/recipe.ts +1527 -0
- package/src/server/runtime/retentionJob.pg.test.ts +151 -0
- package/src/server/runtime/retentionJob.spec.ts +187 -0
- package/src/server/runtime/retentionJob.ts +237 -0
- package/src/server/runtime/runtime.spec.ts +404 -0
- package/src/server/runtime/saasHost.spec.ts +316 -0
- package/src/server/runtime/saasHost.ts +432 -0
- package/src/server/runtime/searchReindexConverges.spec.ts +358 -0
- package/src/server/runtime/serveCcApp.ts +77 -0
- package/src/server/runtime/staticAssets.ts +205 -0
- package/src/server/runtime/staticCache.spec.ts +161 -0
- package/src/server/search/index.ts +12 -0
- package/src/server/search/pgSearchProvider.pg.test.ts +392 -0
- package/src/server/search/pgSearchProvider.ts +421 -0
- package/src/server/search/pgSearchSchema.ts +147 -0
- package/src/server/services/accountService.spec.ts +721 -0
- package/src/server/services/accountService.ts +817 -0
- package/src/server/services/assetJobs.spec.ts +260 -0
- package/src/server/services/assetJobs.ts +287 -0
- package/src/server/services/assetService.ts +734 -0
- package/src/server/services/assetSources.ts +198 -0
- package/src/server/services/billingService.spec.ts +154 -0
- package/src/server/services/billingService.ts +185 -0
- package/src/server/services/devJobs.spec.ts +226 -0
- package/src/server/services/devJobs.ts +214 -0
- package/src/server/services/devService.spec.ts +388 -0
- package/src/server/services/devService.ts +453 -0
- package/src/server/services/guardService.spec.ts +98 -0
- package/src/server/services/guardService.ts +194 -0
- package/src/server/services/index.ts +89 -0
- package/src/server/services/knowledgeJobs.ts +119 -0
- package/src/server/services/knowledgeService.ts +610 -0
- package/src/server/services/patch.ts +18 -0
- package/src/server/services/searchJobs.spec.ts +160 -0
- package/src/server/services/searchJobs.ts +230 -0
- package/src/server/services/services.spec.ts +726 -0
- package/src/server/services/systemService.ts +484 -0
- package/src/server/services/vaultReaper.ts +126 -0
- package/src/server/sharing/index.ts +65 -0
- package/src/server/sharing/migrations.ts +128 -0
- package/src/server/sharing/router.spec.ts +167 -0
- package/src/server/sharing/router.ts +194 -0
- package/src/server/sharing/sql.ts +109 -0
- package/src/server/sharing/store.spec.ts +408 -0
- package/src/server/sharing/store.ts +737 -0
- package/src/server/sqlite/backup.spec.ts +114 -0
- package/src/server/sqlite/backup.ts +154 -0
- package/src/server/sqlite/browse.spec.ts +70 -0
- package/src/server/sqlite/browse.ts +120 -0
- package/src/server/sqlite/export.spec.ts +43 -0
- package/src/server/sqlite/export.ts +74 -0
- package/src/server/sqlite/fts5.spec.ts +175 -0
- package/src/server/sqlite/fts5.ts +255 -0
- package/src/server/sqlite/health.spec.ts +79 -0
- package/src/server/sqlite/health.ts +105 -0
- package/src/server/sqlite/import.spec.ts +75 -0
- package/src/server/sqlite/import.ts +141 -0
- package/src/server/sqlite/index.ts +64 -0
- package/src/server/sqlite/readonlySql.spec.ts +58 -0
- package/src/server/sqlite/readonlySql.ts +67 -0
- package/src/server/sqlite/stats.spec.ts +21 -0
- package/src/server/sqlite/stats.ts +61 -0
- package/src/server/sqlite/viewer.spec.ts +127 -0
- package/src/server/sqlite/viewer.ts +72 -0
- package/src/server/storage/binaryServerProcessing.integration.spec.ts +222 -0
- package/src/server/storage/binaryServerProcessing.spec.ts +150 -0
- package/src/server/storage/binaryServerProcessing.ts +127 -0
- package/src/server/storage/binaryServerStore.ts +141 -0
- package/src/server/storage/chunked.integration.spec.ts +185 -0
- package/src/server/storage/diskStore.ts +83 -0
- package/src/server/storage/fileUploadClient-chunked.integration.spec.ts +177 -0
- package/src/server/storage/files/adapter.photo.display.spec.ts +169 -0
- package/src/server/storage/files/adapter.photo.spec.ts +128 -0
- package/src/server/storage/files/adapter.spec.ts +121 -0
- package/src/server/storage/files/adapter.ts +255 -0
- package/src/server/storage/files/catalogue.media-host.spec.ts +184 -0
- package/src/server/storage/files/catalogue.orderings.spec.ts +157 -0
- package/src/server/storage/files/catalogue.private.spec.ts +106 -0
- package/src/server/storage/files/catalogue.recover.spec.ts +131 -0
- package/src/server/storage/files/catalogue.sort.spec.ts +154 -0
- package/src/server/storage/files/catalogue.spec.ts +133 -0
- package/src/server/storage/files/catalogue.trash-import.spec.ts +125 -0
- package/src/server/storage/files/catalogue.ts +1326 -0
- package/src/server/storage/files/chunkedUpload.spec.ts +111 -0
- package/src/server/storage/files/chunkedUpload.ts +146 -0
- package/src/server/storage/files/collections.spec.ts +294 -0
- package/src/server/storage/files/fileRoutes.replace.spec.ts +88 -0
- package/src/server/storage/files/fileRoutes.spec.ts +327 -0
- package/src/server/storage/files/fileRoutes.ts +462 -0
- package/src/server/storage/files/index.ts +66 -0
- package/src/server/storage/files/migrations.ts +187 -0
- package/src/server/storage/files/mimeByExt.ts +14 -0
- package/src/server/storage/files/stack.spec.ts +258 -0
- package/src/server/storage/files/stack.ts +284 -0
- package/src/server/storage/files/storageOps.spec.ts +126 -0
- package/src/server/storage/files/storageOps.ts +213 -0
- package/src/server/storage/files/types.ts +285 -0
- package/src/server/storage/imageThumbnail.spec.ts +81 -0
- package/src/server/storage/imageThumbnail.ts +60 -0
- package/src/server/storage/index.ts +122 -0
- package/src/server/storage/mountMediaRoutes.ts +231 -0
- package/src/server/storage/objectStore.spec.ts +272 -0
- package/src/server/storage/objectStoreMediaStore.ts +63 -0
- package/src/server/storage/s3ObjectStore.ts +239 -0
- package/src/server/storage/sources.ts +245 -0
- package/src/server/storage/storage.spec.ts +219 -0
- package/src/server/storage/streamRange.ts +92 -0
- package/src/server/storage/streamToken.ts +69 -0
- package/src/server/storage/transcode.integration.spec.ts +134 -0
- package/src/server/storage/transcodeJobs.spec.ts +152 -0
- package/src/server/storage/transcodeJobs.ts +171 -0
- package/src/server/storage/types.ts +169 -0
- package/src/server/storage/videoDerivativeKeys.spec.ts +112 -0
- package/src/server/storage/videoDerivativeKeys.ts +172 -0
- package/src/server/storage/videoProcessor.posterOnly.spec.ts +106 -0
- package/src/server/storage/videoProcessor.ts +229 -0
- package/src/server/stream/cdcBridge.ts +144 -0
- package/src/server/stream/index.ts +5 -0
- package/src/server/stream/searchBridge.ts +98 -0
- package/src/server/stream/serverPush.spec.ts +289 -0
- package/src/server/stream/serverPush.ts +325 -0
- package/src/server/ws/eventBus.spec.ts +67 -0
- package/src/server/ws/eventBus.ts +46 -0
- package/src/server/ws/hub.integration.spec.ts +93 -0
- package/src/server/ws/hub.spec.ts +282 -0
- package/src/server/ws/hub.ts +168 -0
- package/src/server/ws/index.ts +20 -0
- package/src/server/ws/presence.spec.ts +27 -0
- package/src/server/ws/presence.ts +26 -0
- package/src/server/ws/room.spec.ts +36 -0
- package/src/server/ws/room.ts +29 -0
- package/src/server/ws/types.ts +134 -0
- package/src/shared/errors.ts +153 -0
- package/src/skippedTestsAreAnswered.spec.ts +215 -0
- package/src/specTypecheckRatchet.spec.ts +75 -0
- package/src/studio/document.ts +251 -0
- package/src/studio/index.ts +82 -0
- package/src/studio/inspector.ts +127 -0
- package/src/studio/interview.spec.ts +211 -0
- package/src/studio/interview.ts +368 -0
- package/src/studio/operations.ts +423 -0
- package/src/studio/session.ts +291 -0
- package/src/studio/studio.spec.ts +886 -0
- package/src/studio/verification.ts +236 -0
- package/src/studio/wiring.ts +123 -0
- package/src/styles-static.css +391 -0
- package/src/styles.css +349 -8
- package/src/stylesStaticMatches.spec.ts +134 -0
- package/src/tapTargetStylesheet.spec.ts +150 -0
- package/src/testTmpRoot.spec.ts +102 -0
- package/src/testing/bytes.ts +38 -0
- package/src/testing/domInspect.spec.ts +79 -0
- package/src/testing/domInspect.ts +127 -0
- package/src/testing/fakeFetch.ts +26 -0
- package/src/testing/index.ts +12 -0
- package/src/testing/tooltip.ts +62 -0
- package/src/theme.css +827 -68
- package/src/verify/context.ts +78 -0
- package/src/verify/diagnostics.ts +76 -0
- package/src/verify/engines.ts +514 -0
- package/src/verify/fixtures/ai-prompt-injection-guard/app-config.json +20 -0
- package/src/verify/fixtures/ai-prompt-injection-guard/expected.json +7 -0
- package/src/verify/fixtures/av-baseline/app-config.json +27 -0
- package/src/verify/fixtures/av-baseline/expected.json +1 -0
- package/src/verify/fixtures/av-cycle-editor/app-config.json +41 -0
- package/src/verify/fixtures/av-cycle-editor/expected.json +7 -0
- package/src/verify/fixtures/av-cycle-editor-off/app-config.json +41 -0
- package/src/verify/fixtures/av-cycle-editor-off/expected.json +30 -0
- package/src/verify/fixtures/av-cycle-unmarked/app-config.json +39 -0
- package/src/verify/fixtures/av-cycle-unmarked/expected.json +7 -0
- package/src/verify/fixtures/av-cycle-unversioned/app-config.json +41 -0
- package/src/verify/fixtures/av-cycle-unversioned/expected.json +9 -0
- package/src/verify/fixtures/av-export-target-branch/app-config.json +33 -0
- package/src/verify/fixtures/av-export-target-branch/expected.json +1 -0
- package/src/verify/fixtures/av-export-target-unspecified/app-config.json +27 -0
- package/src/verify/fixtures/av-export-target-unspecified/expected.json +7 -0
- package/src/verify/fixtures/av-hls-off-inbound-videos/app-config.json +27 -0
- package/src/verify/fixtures/av-hls-off-inbound-videos/expected.json +8 -0
- package/src/verify/fixtures/av-hls-on-no-ffmpeg/app-config.json +27 -0
- package/src/verify/fixtures/av-hls-on-no-ffmpeg/expected.json +8 -0
- package/src/verify/fixtures/av-two-instances-divergent/app-config.json +35 -0
- package/src/verify/fixtures/av-two-instances-divergent/expected.json +8 -0
- package/src/verify/fixtures/av-video-off-wired/app-config.json +27 -0
- package/src/verify/fixtures/av-video-off-wired/expected.json +9 -0
- package/src/verify/fixtures/config-drift/app-config.json +20 -0
- package/src/verify/fixtures/config-drift/expected.json +7 -0
- package/src/verify/fixtures/config-version-unknown/app-config.json +17 -0
- package/src/verify/fixtures/config-version-unknown/expected.json +7 -0
- package/src/verify/fixtures/corpus.spec.ts +112 -0
- package/src/verify/fixtures/cross-engine-oral-history/app-config.json +19 -0
- package/src/verify/fixtures/cross-engine-oral-history/expected.json +8 -0
- package/src/verify/fixtures/cross-engine-private-media/app-config.json +19 -0
- package/src/verify/fixtures/cross-engine-private-media/expected.json +8 -0
- package/src/verify/fixtures/cross-engine-saas-rbac/app-config.json +28 -0
- package/src/verify/fixtures/cross-engine-saas-rbac/expected.json +8 -0
- package/src/verify/fixtures/css-isolation-missing/app-config.json +21 -0
- package/src/verify/fixtures/css-isolation-missing/expected.json +8 -0
- package/src/verify/fixtures/deep-link-ambiguous/app-config.json +40 -0
- package/src/verify/fixtures/deep-link-ambiguous/expected.json +7 -0
- package/src/verify/fixtures/deep-link-cross-tenant/app-config.json +17 -0
- package/src/verify/fixtures/deep-link-cross-tenant/expected.json +1 -0
- package/src/verify/fixtures/deep-link-fallback/app-config.json +15 -0
- package/src/verify/fixtures/deep-link-fallback/expected.json +3 -0
- package/src/verify/fixtures/demo-source-export/app-config.json +26 -0
- package/src/verify/fixtures/demo-source-export/expected.json +12 -0
- package/src/verify/fixtures/demo-source-studio/app-config.json +26 -0
- package/src/verify/fixtures/demo-source-studio/expected.json +7 -0
- package/src/verify/fixtures/editor-unwired/app-config.json +21 -0
- package/src/verify/fixtures/editor-unwired/expected.json +8 -0
- package/src/verify/fixtures/eventbus-depth-bomb/app-config.json +19 -0
- package/src/verify/fixtures/eventbus-depth-bomb/expected.json +7 -0
- package/src/verify/fixtures/eventbus-depth-guarded/app-config.json +19 -0
- package/src/verify/fixtures/eventbus-depth-guarded/expected.json +1 -0
- package/src/verify/fixtures/execution-sandbox-jail/app-config.json +19 -0
- package/src/verify/fixtures/execution-sandbox-jail/expected.json +12 -0
- package/src/verify/fixtures/guard-legacy-vault/app-config.json +25 -0
- package/src/verify/fixtures/guard-legacy-vault/expected.json +12 -0
- package/src/verify/fixtures/index.ts +885 -0
- package/src/verify/fixtures/infra-privilege-gate/app-config.json +20 -0
- package/src/verify/fixtures/infra-privilege-gate/expected.json +1 -0
- package/src/verify/fixtures/infra-privilege-unclaimed/app-config.json +19 -0
- package/src/verify/fixtures/infra-privilege-unclaimed/expected.json +8 -0
- package/src/verify/fixtures/layout-resize-observer/app-config.json +20 -0
- package/src/verify/fixtures/layout-resize-observer/expected.json +8 -0
- package/src/verify/fixtures/legacy-design-ids/app-config.json +26 -0
- package/src/verify/fixtures/legacy-design-ids/expected.json +7 -0
- package/src/verify/fixtures/lifecycle-abort/app-config.json +13 -0
- package/src/verify/fixtures/lifecycle-abort/expected.json +1 -0
- package/src/verify/fixtures/marshaller-missing/app-config.json +25 -0
- package/src/verify/fixtures/marshaller-missing/expected.json +7 -0
- package/src/verify/fixtures/marshaller-ok/app-config.json +25 -0
- package/src/verify/fixtures/marshaller-ok/expected.json +1 -0
- package/src/verify/fixtures/marshaller-unbounded/app-config.json +25 -0
- package/src/verify/fixtures/marshaller-unbounded/expected.json +7 -0
- package/src/verify/fixtures/marshaller-worker-offload-missing/app-config.json +25 -0
- package/src/verify/fixtures/marshaller-worker-offload-missing/expected.json +7 -0
- package/src/verify/fixtures/meter-spill-durability/app-config.json +19 -0
- package/src/verify/fixtures/meter-spill-durability/expected.json +12 -0
- package/src/verify/fixtures/mixin-surface-lock/app-config.json +8 -0
- package/src/verify/fixtures/mixin-surface-lock/expected.json +1 -0
- package/src/verify/fixtures/promotion-offline-lock/app-config.json +19 -0
- package/src/verify/fixtures/promotion-offline-lock/expected.json +7 -0
- package/src/verify/fixtures/rbac-viewer-403/app-config.json +10 -0
- package/src/verify/fixtures/rbac-viewer-403/expected.json +1 -0
- package/src/verify/fixtures/refresh-scoped-fanin/app-config.json +56 -0
- package/src/verify/fixtures/refresh-scoped-fanin/expected.json +1 -0
- package/src/verify/fixtures/refresh-unscoped-fanin/app-config.json +56 -0
- package/src/verify/fixtures/refresh-unscoped-fanin/expected.json +14 -0
- package/src/verify/fixtures/registry-port-toctou/app-config.json +19 -0
- package/src/verify/fixtures/registry-port-toctou/expected.json +7 -0
- package/src/verify/fixtures/route-collision/app-config.json +38 -0
- package/src/verify/fixtures/route-collision/expected.json +7 -0
- package/src/verify/fixtures/saas-connection-pooling/app-config.json +28 -0
- package/src/verify/fixtures/saas-connection-pooling/expected.json +7 -0
- package/src/verify/fixtures/saas-rls-policy-missing/app-config.json +28 -0
- package/src/verify/fixtures/saas-rls-policy-missing/expected.json +7 -0
- package/src/verify/fixtures/security-csp-headers/app-config.json +9 -0
- package/src/verify/fixtures/security-csp-headers/expected.json +1 -0
- package/src/verify/fixtures/sse-jitter-reconnect/app-config.json +13 -0
- package/src/verify/fixtures/sse-jitter-reconnect/expected.json +1 -0
- package/src/verify/fixtures/staging-collision/plugin-badtokens/collide.token-extension.ts +22 -0
- package/src/verify/fixtures/staging-export-leak/app-config.json +32 -0
- package/src/verify/fixtures/staging-export-leak/expected.json +16 -0
- package/src/verify/fixtures/staging-habits/plugin-habits/habits.token-extension.ts +33 -0
- package/src/verify/fixtures/staging-token-collision/app-config.json +19 -0
- package/src/verify/fixtures/staging-token-collision/expected.json +10 -0
- package/src/verify/fixtures/staging-token-extension/app-config.json +32 -0
- package/src/verify/fixtures/staging-token-extension/expected.json +6 -0
- package/src/verify/fixtures/staging-token-extension-locked/app-config.json +32 -0
- package/src/verify/fixtures/staging-token-extension-locked/expected.json +6 -0
- package/src/verify/fixtures/storage-contract/app-config.json +19 -0
- package/src/verify/fixtures/storage-contract/expected.json +17 -0
- package/src/verify/fixtures/storage-row-integrity/app-config.json +19 -0
- package/src/verify/fixtures/storage-row-integrity/expected.json +7 -0
- package/src/verify/fixtures/storage-wal-checkpoint/app-config.json +19 -0
- package/src/verify/fixtures/storage-wal-checkpoint/expected.json +7 -0
- package/src/verify/fixtures/token-deprecated/app-config.json +17 -0
- package/src/verify/fixtures/token-deprecated/expected.json +8 -0
- package/src/verify/fixtures/token-schema-drift/app-config.json +34 -0
- package/src/verify/fixtures/token-schema-drift/expected.json +7 -0
- package/src/verify/fixtures/token-schema-extended/app-config.json +34 -0
- package/src/verify/fixtures/token-schema-extended/expected.json +7 -0
- package/src/verify/fixtures/unknown-key/app-config.json +20 -0
- package/src/verify/fixtures/unknown-key/expected.json +8 -0
- package/src/verify/frozenManifest.spec.ts +91 -0
- package/src/verify/frozenManifest.ts +158 -0
- package/src/verify/index.ts +56 -0
- package/src/verify/interceptorGraph.spec.ts +113 -0
- package/src/verify/interceptorGraph.ts +62 -0
- package/src/verify/legacyDesigns.ts +272 -0
- package/src/verify/manifestFidelity.spec.ts +67 -0
- package/src/verify/pipeline.spec.ts +142 -0
- package/src/verify/pipeline.ts +149 -0
- package/src/verify/pluginLoader.spec.ts +78 -0
- package/src/verify/pluginLoader.ts +67 -0
- package/src/verify/promotion/bin/ccPromote.ts +147 -0
- package/src/verify/promotion/index.ts +14 -0
- package/src/verify/promotion/nodePromotionFs.ts +52 -0
- package/src/verify/promotion/promote.spec.ts +177 -0
- package/src/verify/promotion/promote.ts +238 -0
- package/src/verify/runtime/billingEnforcement.spec.ts +176 -0
- package/src/verify/runtime/bin/ccVerify.ts +12 -0
- package/src/verify/runtime/cli.spec.ts +111 -0
- package/src/verify/runtime/cli.ts +165 -0
- package/src/verify/runtime/hostCapabilities.ts +40 -0
- package/src/verify/runtime/probes.spec.ts +474 -0
- package/src/verify/runtime/probes.ts +1513 -0
- package/src/verify/runtime/processJail.ts +162 -0
- package/src/verify/runtime/runner.ts +126 -0
- package/src/verify/runtime/verifyContext.ts +351 -0
- package/src/verify/runtime/verifyServer.ts +288 -0
- package/src/verify/runtime/verifyServices.ts +706 -0
- package/src/verify/stages/v0Parse.ts +170 -0
- package/src/verify/stages/v1References.ts +356 -0
- package/src/verify/stages/v2Capabilities.ts +232 -0
- package/src/verify/stages/v3Tokens.ts +270 -0
- package/src/verify/stages/v4Graph.ts +324 -0
- package/src/verify/stages/v5Export.ts +199 -0
- package/src/verify/stages/v6Storage.ts +348 -0
- package/src/verify/staging/harvest.spec.ts +102 -0
- package/src/verify/staging/harvest.ts +241 -0
- package/src/verify/types.ts +517 -0
- package/src/workspace.css +146 -0
- package/README.md +0 -80
- package/dist/core/csv.d.ts +0 -65
- package/dist/core/csv.d.ts.map +0 -1
- package/dist/core/csv.js +0 -55
- package/dist/core/csv.js.map +0 -1
- package/dist/core/ctgr.d.ts +0 -6
- package/dist/core/ctgr.d.ts.map +0 -1
- package/dist/core/ctgr.js +0 -58
- package/dist/core/ctgr.js.map +0 -1
- package/dist/core/layout/aggregate.d.ts +0 -8
- package/dist/core/layout/aggregate.d.ts.map +0 -1
- package/dist/core/layout/aggregate.js +0 -77
- package/dist/core/layout/aggregate.js.map +0 -1
- package/dist/core/layout/field.d.ts +0 -14
- package/dist/core/layout/field.d.ts.map +0 -1
- package/dist/core/layout/field.js +0 -2
- package/dist/core/layout/field.js.map +0 -1
- package/dist/core/layout/grid.d.ts +0 -7
- package/dist/core/layout/grid.d.ts.map +0 -1
- package/dist/core/layout/grid.js +0 -152
- package/dist/core/layout/grid.js.map +0 -1
- package/dist/core/layout/migrate.d.ts +0 -4
- package/dist/core/layout/migrate.d.ts.map +0 -1
- package/dist/core/layout/migrate.js +0 -170
- package/dist/core/layout/migrate.js.map +0 -1
- package/dist/core/layout/resolve.d.ts +0 -23
- package/dist/core/layout/resolve.d.ts.map +0 -1
- package/dist/core/layout/resolve.js +0 -27
- package/dist/core/layout/resolve.js.map +0 -1
- package/dist/core/layout/treeOps.d.ts +0 -11
- package/dist/core/layout/treeOps.d.ts.map +0 -1
- package/dist/core/layout/treeOps.js +0 -68
- package/dist/core/layout/treeOps.js.map +0 -1
- package/dist/core/layout/types.d.ts +0 -97
- package/dist/core/layout/types.d.ts.map +0 -1
- package/dist/core/layout/types.js +0 -21
- package/dist/core/layout/types.js.map +0 -1
- package/dist/core/layout/undoHistory.d.ts +0 -34
- package/dist/core/layout/undoHistory.d.ts.map +0 -1
- package/dist/core/layout/undoHistory.js +0 -53
- package/dist/core/layout/undoHistory.js.map +0 -1
- package/dist/core/layout/version.d.ts +0 -8
- package/dist/core/layout/version.d.ts.map +0 -1
- package/dist/core/layout/version.js +0 -8
- package/dist/core/layout/version.js.map +0 -1
- package/dist/data/env/index.d.ts +0 -75
- package/dist/data/env/index.d.ts.map +0 -1
- package/dist/data/env/index.js +0 -149
- package/dist/data/env/index.js.map +0 -1
- package/dist/data/json/index.d.ts +0 -61
- package/dist/data/json/index.d.ts.map +0 -1
- package/dist/data/json/index.js +0 -488
- package/dist/data/json/index.js.map +0 -1
- package/dist/game/core/DisposeRegistry.d.ts +0 -42
- package/dist/game/core/DisposeRegistry.d.ts.map +0 -1
- package/dist/game/core/DisposeRegistry.js +0 -67
- package/dist/game/core/DisposeRegistry.js.map +0 -1
- package/dist/game/core/drawBudget.d.ts +0 -26
- package/dist/game/core/drawBudget.d.ts.map +0 -1
- package/dist/game/core/drawBudget.js +0 -55
- package/dist/game/core/drawBudget.js.map +0 -1
- package/dist/game/core/fixedTimestep.d.ts +0 -38
- package/dist/game/core/fixedTimestep.d.ts.map +0 -1
- package/dist/game/core/fixedTimestep.js +0 -47
- package/dist/game/core/fixedTimestep.js.map +0 -1
- package/dist/game/core/index.d.ts +0 -9
- package/dist/game/core/index.d.ts.map +0 -1
- package/dist/game/core/index.js +0 -8
- package/dist/game/core/index.js.map +0 -1
- package/dist/game/core/inputCollector.d.ts +0 -82
- package/dist/game/core/inputCollector.d.ts.map +0 -1
- package/dist/game/core/inputCollector.js +0 -176
- package/dist/game/core/inputCollector.js.map +0 -1
- package/dist/game/core/resizeCanvas.d.ts +0 -19
- package/dist/game/core/resizeCanvas.d.ts.map +0 -1
- package/dist/game/core/resizeCanvas.js +0 -29
- package/dist/game/core/resizeCanvas.js.map +0 -1
- package/dist/game/react/index.d.ts +0 -3
- package/dist/game/react/index.d.ts.map +0 -1
- package/dist/game/react/index.js +0 -5
- package/dist/game/react/index.js.map +0 -1
- package/dist/game/react/useGameEngine.d.ts +0 -64
- package/dist/game/react/useGameEngine.d.ts.map +0 -1
- package/dist/game/react/useGameEngine.js +0 -77
- package/dist/game/react/useGameEngine.js.map +0 -1
- package/dist/ops/test-report/types.d.ts +0 -81
- package/dist/ops/test-report/types.d.ts.map +0 -1
- package/dist/ops/test-report/types.js +0 -13
- package/dist/ops/test-report/types.js.map +0 -1
- package/dist/react/charts/CategoryBars.d.ts +0 -17
- package/dist/react/charts/CategoryBars.d.ts.map +0 -1
- package/dist/react/charts/CategoryBars.js +0 -28
- package/dist/react/charts/CategoryBars.js.map +0 -1
- package/dist/react/charts/CategoryDonut.d.ts +0 -16
- package/dist/react/charts/CategoryDonut.d.ts.map +0 -1
- package/dist/react/charts/CategoryDonut.js +0 -17
- package/dist/react/charts/CategoryDonut.js.map +0 -1
- package/dist/react/charts/DivergingBars.d.ts +0 -16
- package/dist/react/charts/DivergingBars.d.ts.map +0 -1
- package/dist/react/charts/DivergingBars.js +0 -14
- package/dist/react/charts/DivergingBars.js.map +0 -1
- package/dist/react/charts/DonutChart.d.ts +0 -10
- package/dist/react/charts/DonutChart.d.ts.map +0 -1
- package/dist/react/charts/DonutChart.js +0 -16
- package/dist/react/charts/DonutChart.js.map +0 -1
- package/dist/react/charts/LabeledSeriesChart.d.ts +0 -25
- package/dist/react/charts/LabeledSeriesChart.d.ts.map +0 -1
- package/dist/react/charts/LabeledSeriesChart.js +0 -29
- package/dist/react/charts/LabeledSeriesChart.js.map +0 -1
- package/dist/react/charts/MiniBarChart.d.ts +0 -14
- package/dist/react/charts/MiniBarChart.d.ts.map +0 -1
- package/dist/react/charts/MiniBarChart.js +0 -14
- package/dist/react/charts/MiniBarChart.js.map +0 -1
- package/dist/react/charts/StackedBars.d.ts +0 -18
- package/dist/react/charts/StackedBars.d.ts.map +0 -1
- package/dist/react/charts/StackedBars.js +0 -15
- package/dist/react/charts/StackedBars.js.map +0 -1
- package/dist/react/charts/StatusDonut.d.ts +0 -7
- package/dist/react/charts/StatusDonut.d.ts.map +0 -1
- package/dist/react/charts/StatusDonut.js +0 -22
- package/dist/react/charts/StatusDonut.js.map +0 -1
- package/dist/react/charts/chartTheme.d.ts +0 -21
- package/dist/react/charts/chartTheme.d.ts.map +0 -1
- package/dist/react/charts/chartTheme.js +0 -55
- package/dist/react/charts/chartTheme.js.map +0 -1
- package/dist/react/components/Card.d.ts +0 -27
- package/dist/react/components/Card.d.ts.map +0 -1
- package/dist/react/components/Card.js +0 -29
- package/dist/react/components/Card.js.map +0 -1
- package/dist/react/components/DataTable.d.ts +0 -16
- package/dist/react/components/DataTable.d.ts.map +0 -1
- package/dist/react/components/DataTable.js +0 -25
- package/dist/react/components/DataTable.js.map +0 -1
- package/dist/react/components/DiscardConfirmOverlay.d.ts +0 -14
- package/dist/react/components/DiscardConfirmOverlay.d.ts.map +0 -1
- package/dist/react/components/DiscardConfirmOverlay.js +0 -7
- package/dist/react/components/DiscardConfirmOverlay.js.map +0 -1
- package/dist/react/components/Dropdown.d.ts +0 -64
- package/dist/react/components/Dropdown.d.ts.map +0 -1
- package/dist/react/components/Dropdown.js +0 -144
- package/dist/react/components/Dropdown.js.map +0 -1
- package/dist/react/components/ModalShell.d.ts +0 -39
- package/dist/react/components/ModalShell.d.ts.map +0 -1
- package/dist/react/components/ModalShell.js +0 -63
- package/dist/react/components/ModalShell.js.map +0 -1
- package/dist/react/components/PageBottom.d.ts +0 -62
- package/dist/react/components/PageBottom.d.ts.map +0 -1
- package/dist/react/components/PageBottom.js +0 -87
- package/dist/react/components/PageBottom.js.map +0 -1
- package/dist/react/components/PageContainer.d.ts +0 -8
- package/dist/react/components/PageContainer.d.ts.map +0 -1
- package/dist/react/components/PageContainer.js +0 -12
- package/dist/react/components/PageContainer.js.map +0 -1
- package/dist/react/components/Pagination.d.ts +0 -24
- package/dist/react/components/Pagination.d.ts.map +0 -1
- package/dist/react/components/Pagination.js +0 -48
- package/dist/react/components/Pagination.js.map +0 -1
- package/dist/react/components/SectionHeading.d.ts +0 -12
- package/dist/react/components/SectionHeading.d.ts.map +0 -1
- package/dist/react/components/SectionHeading.js +0 -5
- package/dist/react/components/SectionHeading.js.map +0 -1
- package/dist/react/components/Select.d.ts +0 -5
- package/dist/react/components/Select.d.ts.map +0 -1
- package/dist/react/components/Select.js +0 -8
- package/dist/react/components/Select.js.map +0 -1
- package/dist/react/components/TextArea.d.ts +0 -10
- package/dist/react/components/TextArea.d.ts.map +0 -1
- package/dist/react/components/TextArea.js +0 -14
- package/dist/react/components/TextArea.js.map +0 -1
- package/dist/react/components/popoverPlacement.d.ts +0 -40
- package/dist/react/components/popoverPlacement.d.ts.map +0 -1
- package/dist/react/components/popoverPlacement.js +0 -25
- package/dist/react/components/popoverPlacement.js.map +0 -1
- package/dist/react/hooks/useAutoSizeTextarea.d.ts +0 -19
- package/dist/react/hooks/useAutoSizeTextarea.d.ts.map +0 -1
- package/dist/react/hooks/useAutoSizeTextarea.js +0 -44
- package/dist/react/hooks/useAutoSizeTextarea.js.map +0 -1
- package/dist/react/hooks/useDndSensors.d.ts +0 -21
- package/dist/react/hooks/useDndSensors.d.ts.map +0 -1
- package/dist/react/hooks/useDndSensors.js +0 -23
- package/dist/react/hooks/useDndSensors.js.map +0 -1
- package/dist/react/hooks/useDragToMove.d.ts +0 -65
- package/dist/react/hooks/useDragToMove.d.ts.map +0 -1
- package/dist/react/hooks/useDragToMove.js +0 -76
- package/dist/react/hooks/useDragToMove.js.map +0 -1
- package/dist/react/hooks/usePagination.d.ts +0 -49
- package/dist/react/hooks/usePagination.d.ts.map +0 -1
- package/dist/react/hooks/usePagination.js +0 -50
- package/dist/react/hooks/usePagination.js.map +0 -1
- package/dist/react/nav/SideNavItem.d.ts +0 -28
- package/dist/react/nav/SideNavItem.d.ts.map +0 -1
- package/dist/react/nav/SideNavItem.js +0 -38
- package/dist/react/nav/SideNavItem.js.map +0 -1
- package/dist/react/nav/filterNavSearch.d.ts +0 -15
- package/dist/react/nav/filterNavSearch.d.ts.map +0 -1
- package/dist/react/nav/filterNavSearch.js +0 -65
- package/dist/react/nav/filterNavSearch.js.map +0 -1
- package/dist/react/nav/navMenuPlacement.d.ts +0 -58
- package/dist/react/nav/navMenuPlacement.d.ts.map +0 -1
- package/dist/react/nav/navMenuPlacement.js +0 -36
- package/dist/react/nav/navMenuPlacement.js.map +0 -1
- package/dist/react/nav/navSearch.d.ts +0 -31
- package/dist/react/nav/navSearch.d.ts.map +0 -1
- package/dist/react/nav/navSearch.js +0 -37
- package/dist/react/nav/navSearch.js.map +0 -1
- package/dist/react/nav/partitionAndOrder.d.ts +0 -19
- package/dist/react/nav/partitionAndOrder.d.ts.map +0 -1
- package/dist/react/nav/partitionAndOrder.js +0 -25
- package/dist/react/nav/partitionAndOrder.js.map +0 -1
- package/dist/react/nav/types.d.ts +0 -65
- package/dist/react/nav/types.d.ts.map +0 -1
- package/dist/react/nav/types.js.map +0 -1
- package/dist/react/search/HeaderSearch.d.ts +0 -55
- package/dist/react/search/HeaderSearch.d.ts.map +0 -1
- package/dist/react/search/HeaderSearch.js +0 -107
- package/dist/react/search/HeaderSearch.js.map +0 -1
- package/dist/react/search/SearchResults.d.ts +0 -45
- package/dist/react/search/SearchResults.d.ts.map +0 -1
- package/dist/react/search/SearchResults.js +0 -25
- package/dist/react/search/SearchResults.js.map +0 -1
- package/dist/react/search/index.d.ts +0 -3
- package/dist/react/search/index.d.ts.map +0 -1
- package/dist/react/search/index.js +0 -8
- package/dist/react/search/index.js.map +0 -1
- package/dist/react/spreadsheet/types.d.ts +0 -42
- package/dist/react/spreadsheet/types.d.ts.map +0 -1
- package/dist/react/spreadsheet/types.js +0 -5
- package/dist/react/spreadsheet/types.js.map +0 -1
- package/dist/react/toastStore.d.ts +0 -34
- package/dist/react/toastStore.d.ts.map +0 -1
- package/dist/react/toastStore.js +0 -70
- package/dist/react/toastStore.js.map +0 -1
- package/dist/react/uiScale/scale.d.ts +0 -37
- package/dist/react/uiScale/scale.d.ts.map +0 -1
- package/dist/react/uiScale/scale.js +0 -48
- package/dist/react/uiScale/scale.js.map +0 -1
- package/dist/react/uiScale/uiScaleStore.d.ts +0 -48
- package/dist/react/uiScale/uiScaleStore.d.ts.map +0 -1
- package/dist/react/uiScale/uiScaleStore.js +0 -64
- package/dist/react/uiScale/uiScaleStore.js.map +0 -1
- package/dist/react/useToasts.d.ts +0 -21
- package/dist/react/useToasts.d.ts.map +0 -1
- package/dist/react/useToasts.js +0 -28
- package/dist/react/useToasts.js.map +0 -1
- package/dist/server/auth.d.ts +0 -20
- package/dist/server/auth.d.ts.map +0 -1
- package/dist/server/auth.js +0 -20
- package/dist/server/auth.js.map +0 -1
- package/dist/server/media-bun/ffmpeg.d.ts +0 -58
- package/dist/server/media-bun/ffmpeg.d.ts.map +0 -1
- package/dist/server/media-bun/ffmpeg.js +0 -126
- package/dist/server/media-bun/ffmpeg.js.map +0 -1
- package/dist/server/sqlite.d.ts +0 -31
- package/dist/server/sqlite.d.ts.map +0 -1
- package/dist/server/sqlite.js +0 -46
- package/dist/server/sqlite.js.map +0 -1
- /package/dist/react/{nav → chat}/types.js +0 -0
|
@@ -0,0 +1,1741 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
// fu-guardrails-enforce: mechanical STANDARDS.md rules checked by script instead of by
|
|
3
|
+
// review. `cursedbelt/STANDARDS.md` §4/§4a documents several rules (`no-raw-overflow`,
|
|
4
|
+
// `no-raw-inputs`, `no-hardcoded-colors`, `no-raw-action-button`) as "rules today,
|
|
5
|
+
// automated by fu-guardrails-enforce" — this script IS that enforcement. Biome has no
|
|
6
|
+
// custom-rule/plugin wired up for these yet, so a standalone scan is the pragmatic
|
|
7
|
+
// mechanism (same pattern as `cursedshell/scripts/buildCheck.ts`: a small Bun script
|
|
8
|
+
// invoked from each package's `lint`/`done` script, exiting non-zero on violation).
|
|
9
|
+
//
|
|
10
|
+
// Usage:
|
|
11
|
+
// bun run ../cursedbelt/scripts/guardrailsEnforce.ts <rule>[,<rule>...] [--scope <name>]
|
|
12
|
+
// [--reimplements <Name,Name,…>] [root...]
|
|
13
|
+
//
|
|
14
|
+
// `--scope <name>` selects the ratchet baseline row (see "Ratchet baseline" below) for
|
|
15
|
+
// the calling package — `cursedbelt` and `cursedshell` each pass their own scope name
|
|
16
|
+
// from their `lint` script. Omitting `--scope` defaults every rule's baseline to 0.
|
|
17
|
+
//
|
|
18
|
+
// Currently implemented rules:
|
|
19
|
+
// no-raw-action-button — STANDARDS.md §4a: "a plugin or generated app must not render
|
|
20
|
+
// a raw <button> for an action (a raw <button> is acceptable only for a purely
|
|
21
|
+
// presentational toggle/tab that carries no destructive or data-mutating intent)."
|
|
22
|
+
// no-raw-overflow — STANDARDS.md §4: don't hand-write `overflow(-x|-y): auto|scroll`
|
|
23
|
+
// (inline style or Tailwind `overflow(-x|-y)-auto|scroll` className) on a scroll
|
|
24
|
+
// container; use the cursedbelt `ScrollArea` primitive.
|
|
25
|
+
// no-raw-inputs — STANDARDS.md §4: don't drop a bare <input>/<select>/<textarea> into a
|
|
26
|
+
// page; use the cursedbelt `Field` layer / specialized inputs.
|
|
27
|
+
// no-hardcoded-colors — STANDARDS.md §4: don't write a hex or literal-argument
|
|
28
|
+
// rgb()/rgba()/hsl()/hsla() color in component source; use the theme tokens in
|
|
29
|
+
// `cursedbelt/theme.css` (`var(--token)`, or `color-mix(in srgb, var(--token) NN%,
|
|
30
|
+
// transparent)` for alpha).
|
|
31
|
+
// no-raw-modal-footer — STANDARDS.md §4: a `Modal`/`Drawer`'s `footer` prop must be an
|
|
32
|
+
// `ActionBar` — their footer slot is unpadded by design, ActionBar owns footer chrome
|
|
33
|
+
// (padding, border-t, mobile keyboard/safe-area). Scoped to `<Modal`/`<Drawer` tags
|
|
34
|
+
// only — other components with an unrelated `footer` prop (AuthCard, VirtualList, …)
|
|
35
|
+
// are not this convention and are not scanned.
|
|
36
|
+
// control-height-tokens — STANDARDS.md task cbux-41: a control-class primitive's
|
|
37
|
+
// footprint comes from the `--control-h-*` token (theme.css), never a literal
|
|
38
|
+
// Tailwind height step (`h-8`/`h-9`/`h-10`/`h-11`/`h-12` — the exact hardcoded
|
|
39
|
+
// pixel-scale steps the token replaced) or an arbitrary literal pixel height
|
|
40
|
+
// (`h-[42px]`), and padding is horizontal-only — never a raw `py-*` on the same
|
|
41
|
+
// line as a field-style marker (`rounded-field`/`border-field-border`/
|
|
42
|
+
// `bg-field-bg`/`--control-h-`). Scoped to a small, explicit list of cursedbelt's
|
|
43
|
+
// own control-class component files (see `CONTROL_HEIGHT_FILES` below) — NOT the
|
|
44
|
+
// whole `src/react` tree — so an unrelated element (a sparkline `<svg
|
|
45
|
+
// className="h-8">`, a Progress bar's `h-1.5` track) in some other file never
|
|
46
|
+
// false-positives.
|
|
47
|
+
//
|
|
48
|
+
// no-raw-data-table — all-apps-tables.md (owner, 2026-08-14): no hand-rolled `<table>` —
|
|
49
|
+
// use `cursedbelt/react/data-table`'s `DataTable`, which carries sorting, a global
|
|
50
|
+
// filter, column visibility, pagination and the phone card tier. The rule is on the
|
|
51
|
+
// ELEMENT rather than on "did it remember to sort", because a scanner cannot decide the
|
|
52
|
+
// latter and a rule that guesses is one people route around. cursedbelt's own DataTable
|
|
53
|
+
// subtree, the markdown/rich-text/spreadsheet renderers and `*.spec|test.*` fixtures are
|
|
54
|
+
// exempt by construction; a genuine exception (a diff, an editable grid) takes an
|
|
55
|
+
// opt-out with a reason, which is checked over the whole contiguous comment block above.
|
|
56
|
+
//
|
|
57
|
+
// no-tailwind-palette — DESIGN.md §3 / UX_STANDARDS.md §6.6: no raw Tailwind palette
|
|
58
|
+
// class (`bg-slate-800`, `hover:text-red-500`, `dark:border-zinc-700/40`). Those are
|
|
59
|
+
// Tailwind's own colours, not the theme's tokens: they do not move when the theme
|
|
60
|
+
// moves, so an app painted in them has silently opted out of every future design fix.
|
|
61
|
+
// `no-hardcoded-colors` catches the hex/rgb half of this; this catches the half a
|
|
62
|
+
// Tailwind codebase actually writes. Semantic classes (`bg-card`,
|
|
63
|
+
// `text-muted-foreground`), arbitrary token values (`bg-[var(--surface-2)]`) and
|
|
64
|
+
// `white`/`black`/`transparent`/`current` are not matched.
|
|
65
|
+
//
|
|
66
|
+
// no-raw-title-attr — DESIGN.md §4 ("Help Context Disclosing"): no native `title=""`
|
|
67
|
+
// on a DOM element. It does not exist on a touch device, waits ~500ms, cannot be
|
|
68
|
+
// themed, and reads inconsistently to a screen reader. Use cursedbelt's `Tooltip`,
|
|
69
|
+
// or `InfoHint` for the `(i)` beside a heading. Only LOWERCASE (DOM) tags are
|
|
70
|
+
// scanned — `title` on a component is that component's own prop, `<title>`
|
|
71
|
+
// inside an SVG is the correct accessible name for a graphic, and `title` on an
|
|
72
|
+
// `<iframe>` is the frame's required accessible name (WCAG 4.1.2), not a hint.
|
|
73
|
+
//
|
|
74
|
+
// micro-typography-floor — DESIGN.md §4: no explicit text size below 12px
|
|
75
|
+
// (`text-[11px]`, `fontSize: 10`, `font-size: 0.625rem`). The theme scale already
|
|
76
|
+
// carries the floor; what it cannot carry is how easy the literal is to write.
|
|
77
|
+
// Semantic classes are never matched — `text-xs` IS 12px. A non-text glyph takes
|
|
78
|
+
// the per-line opt-out.
|
|
79
|
+
//
|
|
80
|
+
// no-native-dialog — DESIGN.md core mandate: no `window.confirm` / `window.prompt` /
|
|
81
|
+
// `window.alert`. The browser draws them outside the page, so no stylesheet reaches
|
|
82
|
+
// them; they block the main thread; a browser can SUPPRESS a repeat dialog, after
|
|
83
|
+
// which the guard returns false and a destructive action is silently refused (or a
|
|
84
|
+
// `prompt` returns null and the rename quietly does nothing); and a smoke cannot
|
|
85
|
+
// assert one, because it never enters the DOM. cursedbelt has shipped the styled,
|
|
86
|
+
// awaitable replacements the whole time — `confirm`, `guardWithConfirm`, `prompt`,
|
|
87
|
+
// or `ConfirmDialog` in-tree. A bare `confirm(` in a file that IMPORTS the belt one
|
|
88
|
+
// is the belt one and is not matched; `*.spec|test.tsx` fixtures and cursedbelt's
|
|
89
|
+
// own `react/confirm.tsx` / `react/prompt.tsx` are exempt by construction.
|
|
90
|
+
//
|
|
91
|
+
// no-fast-tooltip — owner, 2026-09-08: a hover-only hint must REST before it opens.
|
|
92
|
+
// Flags a hover delay written as a numeric literal below 500ms (`delayDuration={120}`,
|
|
93
|
+
// `openDelay={300}`, `delay: { open: 0 }`) and a direct `@radix-ui/react-tooltip` /
|
|
94
|
+
// `react-hover-card` import outside cursedbelt's own wrappers. Import
|
|
95
|
+
// `HOVER_HINT_DELAY_MS` (or `HOVER_HINT_INSTANT_MS` for a tap-to-open disclosure,
|
|
96
|
+
// which is a request rather than an accident) instead of a literal. The WHY is
|
|
97
|
+
// `src/react/lib/hoverIntent.ts`.
|
|
98
|
+
//
|
|
99
|
+
// no-local-reimplementation — all-apps-ux.md (owner, 2026-08-13): an app must not
|
|
100
|
+
// declare its own component under a name cursedbelt already exports. A local
|
|
101
|
+
// `EmptyState`/`Modal`/`Badge` compiles, typechecks and looks approximately right,
|
|
102
|
+
// so nothing reports it — and it is precisely why a fix that landed in the design
|
|
103
|
+
// system never reached the screen. The name list is passed in with
|
|
104
|
+
// `--reimplements <Name,…>` from `fleet/standards/CURSEDBELT_INVENTORY.md`; with no
|
|
105
|
+
// list the rule is inert rather than guessing.
|
|
106
|
+
//
|
|
107
|
+
// Opt-out (mirrors this repo's existing `biome-ignore lint/<rule>: <reason>` convention —
|
|
108
|
+
// see e.g. packages/cursedbelt/src/react/components/ButtonGroup.tsx): put a same-shaped
|
|
109
|
+
// line comment as the FIRST thing inside the tag's attribute list (for `no-raw-action-button`
|
|
110
|
+
// and `no-raw-inputs`) or on the line immediately above/on the offending value (for
|
|
111
|
+
// `no-raw-overflow`, `no-hardcoded-colors`, and `no-raw-modal-footer`, which flag values
|
|
112
|
+
// rather than whole tags):
|
|
113
|
+
//
|
|
114
|
+
// <button
|
|
115
|
+
// // guardrails-ignore no-raw-action-button: presentational view switcher, not an action
|
|
116
|
+
// type="button"
|
|
117
|
+
// ...
|
|
118
|
+
//
|
|
119
|
+
// // guardrails-ignore no-hardcoded-colors: SVG data-URI icon, not a themeable surface
|
|
120
|
+
// const icon = "data:image/svg+xml,...#ff0000...";
|
|
121
|
+
//
|
|
122
|
+
// A recognized presentational ARIA role/attribute on the tag (role="tab" | "switch" |
|
|
123
|
+
// "radio" | "menuitemradio" | "presentation", or aria-selected) also counts as an
|
|
124
|
+
// opt-out for `no-raw-action-button` — these are the standard markers for a
|
|
125
|
+
// presentational toggle/tab widget.
|
|
126
|
+
//
|
|
127
|
+
// File-scoped opt-out — `guardrails-file-allow <rule>[,<rule>...]: <category> — <reason>`:
|
|
128
|
+
// A handful of files legitimately violate several of these rules PERVASIVELY, not at a
|
|
129
|
+
// few spots, because the rule's premise (this is ordinary themeable layout/form UI built
|
|
130
|
+
// from cursedbelt primitives) simply doesn't hold for them — e.g. a WebGL/canvas art
|
|
131
|
+
// surface with bespoke on-canvas controls and generative colors, or an intentionally
|
|
132
|
+
// design-system-agnostic embeddable component that CANNOT import cursedbelt (barrel
|
|
133
|
+
// breaks a consumer's bundler; no per-component subpath export exists). For those,
|
|
134
|
+
// sprinkling dozens of per-line `guardrails-ignore`s is pure noise. Such a file may
|
|
135
|
+
// declare ONE header directive instead:
|
|
136
|
+
//
|
|
137
|
+
// // guardrails-file-allow no-raw-inputs,no-raw-action-button,no-hardcoded-colors:
|
|
138
|
+
// // embeddable-primitive — dependency-free canvas studio, cannot import cursedbelt
|
|
139
|
+
//
|
|
140
|
+
// It is honored ONLY when it is (a) within the first 40 lines (a deliberate, reviewable
|
|
141
|
+
// declaration, not buried), (b) naming known rules explicitly (never a wildcard), and
|
|
142
|
+
// (c) tagged with a RECOGNIZED category — `canvas-art` (a <canvas>/WebGL rendering surface
|
|
143
|
+
// whose pixels + on-surface controls are not themeable chrome) or `embeddable-primitive`
|
|
144
|
+
// (a framework/design-system-agnostic component meant to drop into non-cursedbelt hosts).
|
|
145
|
+
// Ordinary layout/form UI fits NEITHER category, so misuse is self-evident in review. And
|
|
146
|
+
// crucially it is NOT silent: every honored file-allow is printed as an audit line each
|
|
147
|
+
// run, so these stay few and visible. A malformed/unrecognized-category directive is
|
|
148
|
+
// ignored (its violations still fire) and a warning is printed.
|
|
149
|
+
|
|
150
|
+
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
|
|
151
|
+
import { basename, extname, join, relative } from "node:path";
|
|
152
|
+
|
|
153
|
+
const IGNORE_DIR_NAMES = new Set(["node_modules", "dist", "dist-deploy", ".git", "build", "coverage"]);
|
|
154
|
+
const SOURCE_EXTENSIONS = new Set([".tsx", ".jsx", ".css"]);
|
|
155
|
+
|
|
156
|
+
/** UI authored in a plain `.ts` file (via `React.createElement`) is still UI — it must
|
|
157
|
+
* not evade the scanner just by dodging the `.tsx` extension (the studio component
|
|
158
|
+
* palette shipped hardcoded hex exactly this way). A `.ts` file counts as a UI source
|
|
159
|
+
* when it actually creates elements; pure logic modules stay unscanned. */
|
|
160
|
+
const isCreateElementUi = (file: string): boolean => {
|
|
161
|
+
if (extname(file) !== ".ts") return false;
|
|
162
|
+
try {
|
|
163
|
+
return /\bcreateElement\s*\(/.test(readFileSync(file, "utf8"));
|
|
164
|
+
} catch {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
interface Violation {
|
|
170
|
+
file: string;
|
|
171
|
+
line: number;
|
|
172
|
+
snippet: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
interface Rule {
|
|
176
|
+
name: string;
|
|
177
|
+
description: string;
|
|
178
|
+
check: (filePath: string, source: string) => Violation[];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export function walk(dir: string, out: string[] = []): string[] {
|
|
182
|
+
let entries: ReturnType<typeof readdirSync>;
|
|
183
|
+
try {
|
|
184
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
185
|
+
} catch {
|
|
186
|
+
return out;
|
|
187
|
+
}
|
|
188
|
+
for (const entry of entries) {
|
|
189
|
+
if (IGNORE_DIR_NAMES.has(entry.name)) continue;
|
|
190
|
+
// Throwaway/private-by-convention paths (see ~/.claude/CLAUDE.md): "___*" scratch
|
|
191
|
+
// dirs/files and "*.ignore.*" files are gitignored and often hold generated build
|
|
192
|
+
// output (e.g. a demo app's Tailwind CSS build) that shouldn't be lint-scanned.
|
|
193
|
+
if (entry.name.startsWith("___") || entry.name.includes(".ignore.")) continue;
|
|
194
|
+
const full = join(dir, entry.name);
|
|
195
|
+
if (entry.isDirectory()) {
|
|
196
|
+
walk(full, out);
|
|
197
|
+
} else if (SOURCE_EXTENSIONS.has(extname(entry.name)) || isCreateElementUi(full)) {
|
|
198
|
+
out.push(full);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return out;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/** Slice from a `<button` (or similar) match to the end of its opening tag, tolerating
|
|
205
|
+
* `{...}` JS expressions in attribute values that may themselves contain `>`. */
|
|
206
|
+
function extractOpeningTag(source: string, startIndex: number): string {
|
|
207
|
+
let i = startIndex;
|
|
208
|
+
let braceDepth = 0;
|
|
209
|
+
while (i < source.length) {
|
|
210
|
+
const ch = source[i];
|
|
211
|
+
if (ch === "{") braceDepth++;
|
|
212
|
+
else if (ch === "}") braceDepth--;
|
|
213
|
+
else if (ch === ">" && braceDepth <= 0) {
|
|
214
|
+
i++;
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
i++;
|
|
218
|
+
}
|
|
219
|
+
return source.slice(startIndex, i);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
function lineOf(source: string, index: number): number {
|
|
223
|
+
return source.slice(0, index).split("\n").length;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// Blank out line and block comment bodies (keep newlines/length so indices/line numbers
|
|
227
|
+
// stay valid) so a rule can't false-positive on a <button> mentioned only in prose inside
|
|
228
|
+
// a comment. Deliberately naive about strings containing comment-like sequences — same
|
|
229
|
+
// pragmatic tradeoff as the rest of this regex-based scan.
|
|
230
|
+
function blankComments(source: string): string {
|
|
231
|
+
let out = "";
|
|
232
|
+
let i = 0;
|
|
233
|
+
while (i < source.length) {
|
|
234
|
+
const two = source.slice(i, i + 2);
|
|
235
|
+
if (two === "//") {
|
|
236
|
+
const end = source.indexOf("\n", i);
|
|
237
|
+
const stop = end === -1 ? source.length : end;
|
|
238
|
+
out += " ".repeat(stop - i);
|
|
239
|
+
i = stop;
|
|
240
|
+
} else if (two === "/*") {
|
|
241
|
+
const end = source.indexOf("*/", i + 2);
|
|
242
|
+
const stop = end === -1 ? source.length : end + 2;
|
|
243
|
+
out += source
|
|
244
|
+
.slice(i, stop)
|
|
245
|
+
.replace(/[^\n]/g, " ");
|
|
246
|
+
i = stop;
|
|
247
|
+
} else {
|
|
248
|
+
out += source[i];
|
|
249
|
+
i++;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return out;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/** Last non-whitespace char emitted so far determines whether a `/` starts a regex
|
|
256
|
+
* literal (vs. division) — the standard "preceded by an operator/keyword, not a
|
|
257
|
+
* value" heuristic used by lightweight tokenizers. */
|
|
258
|
+
function isRegexStart(outSoFar: string): boolean {
|
|
259
|
+
let k = outSoFar.length - 1;
|
|
260
|
+
while (k >= 0 && /\s/.test(outSoFar[k])) k--;
|
|
261
|
+
if (k < 0) return true;
|
|
262
|
+
const c = outSoFar[k];
|
|
263
|
+
if ("([{,;:=&|!?+-*%^~<>".includes(c)) return true;
|
|
264
|
+
const word = outSoFar.slice(0, k + 1).match(/([A-Za-z_$][A-Za-z0-9_$]*)$/);
|
|
265
|
+
if (word) {
|
|
266
|
+
return [
|
|
267
|
+
"return", "typeof", "instanceof", "in", "of", "new", "void", "delete",
|
|
268
|
+
"throw", "case", "yield", "do", "else",
|
|
269
|
+
].includes(word[1]);
|
|
270
|
+
}
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// Extends blankComments to also blank string/template-literal/regex-literal bodies, so a
|
|
275
|
+
// tag-matching rule (no-raw-action-button, no-raw-inputs) can't false-positive on a
|
|
276
|
+
// JSX-like substring that only exists inside a test-description string or a regex
|
|
277
|
+
// assertion — e.g. `it('never a <button>', ...)`, `expect(x).toMatch(/^<button/)`. A real
|
|
278
|
+
// JSX element is never written as string/regex-literal content, so this can't hide an
|
|
279
|
+
// actual violation for these two rules. NOT used by the value-matching rules
|
|
280
|
+
// (no-raw-overflow, no-hardcoded-colors) — those legitimately need to see inside
|
|
281
|
+
// string/template literals, since that's where Tailwind classNames and inline style
|
|
282
|
+
// values actually live.
|
|
283
|
+
function blankNonMarkupText(source: string): string {
|
|
284
|
+
const noComments = blankComments(source);
|
|
285
|
+
let out = "";
|
|
286
|
+
let i = 0;
|
|
287
|
+
while (i < noComments.length) {
|
|
288
|
+
const ch = noComments[i];
|
|
289
|
+
if (ch === "'" || ch === '"') {
|
|
290
|
+
let j = i + 1;
|
|
291
|
+
while (j < noComments.length && noComments[j] !== ch && noComments[j] !== "\n") {
|
|
292
|
+
j += noComments[j] === "\\" ? 2 : 1;
|
|
293
|
+
}
|
|
294
|
+
const stop = Math.min(j + 1, noComments.length);
|
|
295
|
+
out += noComments.slice(i, stop).replace(/[^\n]/g, " ");
|
|
296
|
+
i = stop;
|
|
297
|
+
} else if (ch === "`") {
|
|
298
|
+
let j = i + 1;
|
|
299
|
+
let depth = 0;
|
|
300
|
+
while (j < noComments.length) {
|
|
301
|
+
if (noComments[j] === "\\") {
|
|
302
|
+
j += 2;
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
if (depth === 0 && noComments[j] === "`") {
|
|
306
|
+
j++;
|
|
307
|
+
break;
|
|
308
|
+
}
|
|
309
|
+
if (noComments.slice(j, j + 2) === "${") {
|
|
310
|
+
depth++;
|
|
311
|
+
j += 2;
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
if (depth > 0 && noComments[j] === "}") {
|
|
315
|
+
depth--;
|
|
316
|
+
j++;
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
j++;
|
|
320
|
+
}
|
|
321
|
+
out += noComments.slice(i, j).replace(/[^\n]/g, " ");
|
|
322
|
+
i = j;
|
|
323
|
+
} else if (ch === "/" && isRegexStart(out)) {
|
|
324
|
+
let j = i + 1;
|
|
325
|
+
let inClass = false;
|
|
326
|
+
while (j < noComments.length) {
|
|
327
|
+
const c = noComments[j];
|
|
328
|
+
if (c === "\\") {
|
|
329
|
+
j += 2;
|
|
330
|
+
continue;
|
|
331
|
+
}
|
|
332
|
+
if (c === "\n") break; // unterminated on this line — bail, don't over-blank
|
|
333
|
+
if (c === "[") inClass = true;
|
|
334
|
+
else if (c === "]") inClass = false;
|
|
335
|
+
else if (c === "/" && !inClass) {
|
|
336
|
+
j++;
|
|
337
|
+
break;
|
|
338
|
+
}
|
|
339
|
+
j++;
|
|
340
|
+
}
|
|
341
|
+
while (j < noComments.length && /[a-z]/i.test(noComments[j])) j++;
|
|
342
|
+
out += noComments.slice(i, j).replace(/[^\n]/g, " ");
|
|
343
|
+
i = j;
|
|
344
|
+
} else {
|
|
345
|
+
out += ch;
|
|
346
|
+
i++;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
return out;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
const RAW_BUTTON_RE = /<button\b/g;
|
|
353
|
+
const IGNORE_COMMENT_RE = /guardrails-ignore\s+no-raw-action-button\s*:/;
|
|
354
|
+
const PRESENTATIONAL_MARKER_RE =
|
|
355
|
+
/role\s*=\s*["'](tab|switch|radio|menuitemradio|presentation)["']|aria-selected\s*=/;
|
|
356
|
+
|
|
357
|
+
const noRawActionButton: Rule = {
|
|
358
|
+
name: "no-raw-action-button",
|
|
359
|
+
description:
|
|
360
|
+
'STANDARDS.md §4a: no hand-rolled <button> for actions — use the cursedbelt Button family.',
|
|
361
|
+
check(filePath, source) {
|
|
362
|
+
const violations: Violation[] = [];
|
|
363
|
+
const scannable = blankNonMarkupText(source);
|
|
364
|
+
RAW_BUTTON_RE.lastIndex = 0;
|
|
365
|
+
for (const match of scannable.matchAll(RAW_BUTTON_RE)) {
|
|
366
|
+
// Re-extract the tag from the ORIGINAL source so opt-out comments (which were
|
|
367
|
+
// just blanked out of `scannable`) are still visible to the ignore checks.
|
|
368
|
+
const tag = extractOpeningTag(source, match.index);
|
|
369
|
+
if (IGNORE_COMMENT_RE.test(tag) || PRESENTATIONAL_MARKER_RE.test(tag)) continue;
|
|
370
|
+
const line = lineOf(source, match.index);
|
|
371
|
+
violations.push({
|
|
372
|
+
file: filePath,
|
|
373
|
+
line,
|
|
374
|
+
snippet: source.split("\n")[line - 1]?.trim() ?? "",
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
return violations;
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
/** Build a violation-scan for a value-based (non-tag) rule: a regex that matches the
|
|
382
|
+
* offending value, an opt-out comment recognized on the match's own line or either of
|
|
383
|
+
* the two lines immediately above it (covers both an inline trailing comment and a
|
|
384
|
+
* comment placed on its own line before the offending statement). */
|
|
385
|
+
function makeValueRule(name: string, description: string, valueRe: RegExp): Rule {
|
|
386
|
+
const ignoreRe = new RegExp(`guardrails-ignore\\s+${name}\\s*:`);
|
|
387
|
+
return {
|
|
388
|
+
name,
|
|
389
|
+
description,
|
|
390
|
+
check(filePath, source) {
|
|
391
|
+
const violations: Violation[] = [];
|
|
392
|
+
const scannable = blankComments(source);
|
|
393
|
+
const lines = source.split("\n");
|
|
394
|
+
const re = new RegExp(valueRe.source, valueRe.flags.includes("g") ? valueRe.flags : `${valueRe.flags}g`);
|
|
395
|
+
re.lastIndex = 0;
|
|
396
|
+
for (const match of scannable.matchAll(re)) {
|
|
397
|
+
const line = lineOf(source, match.index ?? 0);
|
|
398
|
+
const windowStart = Math.max(0, line - 3);
|
|
399
|
+
const context = lines.slice(windowStart, line).join("\n");
|
|
400
|
+
if (ignoreRe.test(context)) continue;
|
|
401
|
+
violations.push({
|
|
402
|
+
file: filePath,
|
|
403
|
+
line,
|
|
404
|
+
snippet: lines[line - 1]?.trim() ?? "",
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
return violations;
|
|
408
|
+
},
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
const OVERFLOW_VALUE_RE =
|
|
413
|
+
/overflow(?:-?[xy])?\s*:\s*['"`]?\s*(?:auto|scroll)\b|\boverflow(?:-[xy])?-(?:auto|scroll)\b/gi;
|
|
414
|
+
|
|
415
|
+
const noRawOverflow: Rule = makeValueRule(
|
|
416
|
+
"no-raw-overflow",
|
|
417
|
+
"STANDARDS.md §4: no hand-written overflow:auto|scroll (inline style or Tailwind utility) — use the cursedbelt ScrollArea primitive.",
|
|
418
|
+
OVERFLOW_VALUE_RE,
|
|
419
|
+
);
|
|
420
|
+
|
|
421
|
+
const RAW_INPUT_RE = /<input\b|<select\b|<textarea\b/g;
|
|
422
|
+
const noRawInputs: Rule = {
|
|
423
|
+
name: "no-raw-inputs",
|
|
424
|
+
description:
|
|
425
|
+
"STANDARDS.md §4: no bare <input>/<select>/<textarea> — use the cursedbelt Field layer / specialized inputs.",
|
|
426
|
+
check(filePath, source) {
|
|
427
|
+
const violations: Violation[] = [];
|
|
428
|
+
const scannable = blankNonMarkupText(source);
|
|
429
|
+
RAW_INPUT_RE.lastIndex = 0;
|
|
430
|
+
for (const match of scannable.matchAll(RAW_INPUT_RE)) {
|
|
431
|
+
const tag = extractOpeningTag(source, match.index);
|
|
432
|
+
const ignoreRe = /guardrails-ignore\s+no-raw-inputs\s*:/;
|
|
433
|
+
if (ignoreRe.test(tag)) continue;
|
|
434
|
+
const line = lineOf(source, match.index);
|
|
435
|
+
violations.push({
|
|
436
|
+
file: filePath,
|
|
437
|
+
line,
|
|
438
|
+
snippet: source.split("\n")[line - 1]?.trim() ?? "",
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
return violations;
|
|
442
|
+
},
|
|
443
|
+
};
|
|
444
|
+
|
|
445
|
+
// Hex colors, and literal-numeric-argument rgb()/rgba()/hsl()/hsla() (a leading digit
|
|
446
|
+
// after the paren excludes the compliant `rgba(var(--token), 0.5)` pattern, whose first
|
|
447
|
+
// argument is a CSS variable, not a literal channel value).
|
|
448
|
+
const HARDCODED_COLOR_RE = /#[0-9a-fA-F]{3,8}\b|\b(?:rgb|rgba|hsl|hsla)\(\s*\d/g;
|
|
449
|
+
|
|
450
|
+
const noHardcodedColors: Rule = makeValueRule(
|
|
451
|
+
"no-hardcoded-colors",
|
|
452
|
+
"STANDARDS.md §4: no hardcoded hex/rgb()/rgba()/hsl()/hsla() color — use the cursedbelt theme tokens (theme.css).",
|
|
453
|
+
HARDCODED_COLOR_RE,
|
|
454
|
+
);
|
|
455
|
+
|
|
456
|
+
const MODAL_OR_DRAWER_OPEN_RE = /<(?:Modal|Drawer)\b/g;
|
|
457
|
+
const FOOTER_PROP_RE = /\bfooter\s*=\s*\{/g;
|
|
458
|
+
const ACTIONBAR_FIRST_RE = /^\s*\(?\s*<ActionBar\b/;
|
|
459
|
+
const MODAL_FOOTER_IGNORE_RE = /guardrails-ignore\s+no-raw-modal-footer\s*:/;
|
|
460
|
+
|
|
461
|
+
/** Whether `footerIndex` (the start of a `footer={` match) sits inside the still-open
|
|
462
|
+
* attribute list of the nearest preceding `<Modal`/`<Drawer` tag — i.e. no top-level
|
|
463
|
+
* (brace-depth-0) `>` closes that tag before we reach the footer prop. */
|
|
464
|
+
function isInsideModalOrDrawerTag(source: string, footerIndex: number): boolean {
|
|
465
|
+
MODAL_OR_DRAWER_OPEN_RE.lastIndex = 0;
|
|
466
|
+
let tagStart = -1;
|
|
467
|
+
for (const m of source.matchAll(MODAL_OR_DRAWER_OPEN_RE)) {
|
|
468
|
+
if (m.index >= footerIndex) break;
|
|
469
|
+
tagStart = m.index;
|
|
470
|
+
}
|
|
471
|
+
if (tagStart === -1) return false;
|
|
472
|
+
let braceDepth = 0;
|
|
473
|
+
for (let i = tagStart; i < footerIndex; i++) {
|
|
474
|
+
const ch = source[i];
|
|
475
|
+
if (ch === "{") braceDepth++;
|
|
476
|
+
else if (ch === "}") braceDepth--;
|
|
477
|
+
else if (ch === ">" && braceDepth <= 0) return false;
|
|
478
|
+
}
|
|
479
|
+
return true;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/** Extract the balanced `{...}` expression starting at `openBraceIndex` (the `{`
|
|
483
|
+
* immediately after `footer=`), tolerating nested braces (style objects, etc.). */
|
|
484
|
+
function extractBraceValue(source: string, openBraceIndex: number): string {
|
|
485
|
+
let depth = 0;
|
|
486
|
+
let i = openBraceIndex;
|
|
487
|
+
for (; i < source.length; i++) {
|
|
488
|
+
if (source[i] === "{") depth++;
|
|
489
|
+
else if (source[i] === "}") {
|
|
490
|
+
depth--;
|
|
491
|
+
if (depth === 0) {
|
|
492
|
+
i++;
|
|
493
|
+
break;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
return source.slice(openBraceIndex + 1, i - 1);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
const noRawModalFooter: Rule = {
|
|
501
|
+
name: "no-raw-modal-footer",
|
|
502
|
+
description:
|
|
503
|
+
"STANDARDS.md §4: a Modal/Drawer's footer must be an ActionBar — their footer slot is unpadded by design, ActionBar owns footer chrome.",
|
|
504
|
+
check(filePath, source) {
|
|
505
|
+
const violations: Violation[] = [];
|
|
506
|
+
const scannable = blankComments(source);
|
|
507
|
+
FOOTER_PROP_RE.lastIndex = 0;
|
|
508
|
+
for (const match of scannable.matchAll(FOOTER_PROP_RE)) {
|
|
509
|
+
const footerIndex = match.index;
|
|
510
|
+
if (!isInsideModalOrDrawerTag(scannable, footerIndex)) continue;
|
|
511
|
+
const openBraceIndex = footerIndex + match[0].length - 1;
|
|
512
|
+
const value = extractBraceValue(source, openBraceIndex);
|
|
513
|
+
if (ACTIONBAR_FIRST_RE.test(value)) continue;
|
|
514
|
+
const line = lineOf(source, footerIndex);
|
|
515
|
+
const lines = source.split("\n");
|
|
516
|
+
const windowStart = Math.max(0, line - 3);
|
|
517
|
+
const context = lines.slice(windowStart, line).join("\n");
|
|
518
|
+
if (MODAL_FOOTER_IGNORE_RE.test(context) || MODAL_FOOTER_IGNORE_RE.test(value)) continue;
|
|
519
|
+
violations.push({
|
|
520
|
+
file: filePath,
|
|
521
|
+
line,
|
|
522
|
+
snippet: lines[line - 1]?.trim() ?? "",
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
return violations;
|
|
526
|
+
},
|
|
527
|
+
};
|
|
528
|
+
|
|
529
|
+
// ── control-height-tokens (task cbux-41) ────────────────────────────────────────
|
|
530
|
+
// The exact, explicit, reviewable list of cursedbelt's own control-class component
|
|
531
|
+
// files this rule scans (matched by basename, wherever they live under the scan
|
|
532
|
+
// root) — every primitive named in task cbux-41's spec that renders a fixed-height
|
|
533
|
+
// interactive control row. Deliberately NOT the whole `src/react` tree: an
|
|
534
|
+
// unrelated component's own `h-*`/`py-*` (a sparkline, a progress track, a modal's
|
|
535
|
+
// header padding) is not this convention and must never be scanned. `lib/field.ts`
|
|
536
|
+
// (the token/class SOURCE of truth — `fieldControlClass`, `CONTROL_HEIGHT_CLASS`)
|
|
537
|
+
// is intentionally excluded, same reasoning theme.css exempts itself from
|
|
538
|
+
// `no-hardcoded-colors`.
|
|
539
|
+
const CONTROL_HEIGHT_FILES = new Set([
|
|
540
|
+
"Button.tsx",
|
|
541
|
+
"IconButton.tsx",
|
|
542
|
+
"Input.tsx",
|
|
543
|
+
"SelectField.tsx",
|
|
544
|
+
"ComboboxField.tsx",
|
|
545
|
+
"Autocomplete.tsx",
|
|
546
|
+
"TagsInput.tsx",
|
|
547
|
+
"DatePicker.tsx",
|
|
548
|
+
"DateRangePicker.tsx",
|
|
549
|
+
"DateTimeField.tsx",
|
|
550
|
+
"SecretInput.tsx",
|
|
551
|
+
"SegmentedControl.tsx",
|
|
552
|
+
"ColorField.tsx",
|
|
553
|
+
"MultiSelectField.tsx",
|
|
554
|
+
// cbux-42: the widget/card header row locks its height to --control-h-lg — a
|
|
555
|
+
// reintroduced literal h-10/h-[40px] here would silently detach every card
|
|
556
|
+
// header from the shared scale.
|
|
557
|
+
"WidgetHeader.tsx",
|
|
558
|
+
]);
|
|
559
|
+
|
|
560
|
+
// The deprecated literal Tailwind height steps the `--control-h-*` token scale
|
|
561
|
+
// replaced (32/36/40/44/48px) — never preceded by a `min-`/`max-` prefix (the
|
|
562
|
+
// negative lookbehind excludes `min-h-11`/`max-h-64`, which are unrelated bounds,
|
|
563
|
+
// not a control's own locked footprint).
|
|
564
|
+
const BANNED_HEIGHT_STEP_RE = /(?<![\w-])h-(?:8|9|10|11|12)\b/g;
|
|
565
|
+
// An arbitrary literal pixel height (`h-[42px]`) — the token form is always
|
|
566
|
+
// `h-[var(--control-h-*)]`, which never ends in `px]`.
|
|
567
|
+
const BANNED_HEIGHT_PX_RE = /(?<![\w-])h-\[[0-9.]+px\]/g;
|
|
568
|
+
// Marks a line as a field-style control's OWN row (not unrelated dropdown/list
|
|
569
|
+
// padding elsewhere in the same file — e.g. a Select's portal menu item keeps its
|
|
570
|
+
// own legitimate `py-*` and is never marked with any of these).
|
|
571
|
+
const FIELD_MARKER_RE = /rounded-field|border-field-border|bg-field-bg|--control-h-/;
|
|
572
|
+
const RAW_PY_RE = /(?<![\w-])py-[a-z0-9.[\]/]+/gi;
|
|
573
|
+
const CONTROL_HEIGHT_IGNORE_RE = /guardrails-ignore\s+control-height-tokens\s*:/;
|
|
574
|
+
|
|
575
|
+
const controlHeightTokens: Rule = {
|
|
576
|
+
name: "control-height-tokens",
|
|
577
|
+
description:
|
|
578
|
+
"STANDARDS.md task cbux-41: a control-class primitive's footprint comes from the --control-h-* token, never a literal h-8/h-9/h-10/h-11/h-12 or h-[Npx] height, and padding is horizontal-only — never raw py-* on the same line as a field-style marker.",
|
|
579
|
+
check(filePath, source) {
|
|
580
|
+
if (!CONTROL_HEIGHT_FILES.has(basename(filePath))) return [];
|
|
581
|
+
const violations: Violation[] = [];
|
|
582
|
+
const scannable = blankComments(source);
|
|
583
|
+
const lines = source.split("\n");
|
|
584
|
+
|
|
585
|
+
const flag = (index: number) => {
|
|
586
|
+
const line = lineOf(source, index);
|
|
587
|
+
const windowStart = Math.max(0, line - 3);
|
|
588
|
+
const context = lines.slice(windowStart, line).join("\n");
|
|
589
|
+
if (CONTROL_HEIGHT_IGNORE_RE.test(context)) return;
|
|
590
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
591
|
+
};
|
|
592
|
+
|
|
593
|
+
for (const re of [BANNED_HEIGHT_STEP_RE, BANNED_HEIGHT_PX_RE]) {
|
|
594
|
+
re.lastIndex = 0;
|
|
595
|
+
for (const m of scannable.matchAll(re)) flag(m.index ?? 0);
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
RAW_PY_RE.lastIndex = 0;
|
|
599
|
+
for (const m of scannable.matchAll(RAW_PY_RE)) {
|
|
600
|
+
const idx = m.index ?? 0;
|
|
601
|
+
const lineNum = lineOf(source, idx);
|
|
602
|
+
const lineText = lines[lineNum - 1] ?? "";
|
|
603
|
+
if (!FIELD_MARKER_RE.test(lineText)) continue;
|
|
604
|
+
flag(idx);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
return violations;
|
|
608
|
+
},
|
|
609
|
+
};
|
|
610
|
+
|
|
611
|
+
// ── no-raw-zindex (02 §6.2 / 06 §1) ─────────────────────────────────────────
|
|
612
|
+
// The six z-bands live in `core/slots.ts` (`Z_BANDS`, the JS source of truth)
|
|
613
|
+
// and `theme.css` (`--z-*`, its CSS mirror); `portal/CCPortalProvider.tsx`
|
|
614
|
+
// assigns `bandBase + stackDepth` within a band. A raw numeric z-index ANYWHERE
|
|
615
|
+
// else is banned — a stray high z that paints over the `critical` band buries
|
|
616
|
+
// the GuardEngine lock screen, a private-mode reveal bypass through CSS, not a
|
|
617
|
+
// style nit (02 §6.2 already declared this "a lint error"; this rule is that
|
|
618
|
+
// lint). Reach for `Z_BANDS.<band>` (TSX inline style) or `var(--z-<band>)`
|
|
619
|
+
// (component CSS) instead.
|
|
620
|
+
//
|
|
621
|
+
// Matches `zIndex:`/`z-index:` immediately followed by a numeric literal (a
|
|
622
|
+
// leading digit, optionally quoted). `zIndex: Z_BANDS.popover`, `z-index:
|
|
623
|
+
// var(--z-sticky)`, and the CSS token definitions `--z-content: 0` all begin
|
|
624
|
+
// with a letter, so none of them match.
|
|
625
|
+
const RAW_ZINDEX_RE = /(?:zIndex|z-index)\s*:\s*['"`]?\d/g;
|
|
626
|
+
// The band-definition sources are exempt — they necessarily hold the literals.
|
|
627
|
+
// Matched by path suffix so they stay exempt wherever the scan root is set.
|
|
628
|
+
const ZINDEX_EXEMPT_SUFFIXES = ["core/slots.ts", "react/portal/CCPortalProvider.tsx", "theme.css"];
|
|
629
|
+
const ZINDEX_IGNORE_RE = /guardrails-ignore\s+no-raw-zindex\s*:/;
|
|
630
|
+
|
|
631
|
+
const noRawZindex: Rule = {
|
|
632
|
+
name: "no-raw-zindex",
|
|
633
|
+
description:
|
|
634
|
+
"02 §6.2 / 06 §1: no raw numeric z-index — use the fixed bands (Z_BANDS.<band> in TSX inline styles, var(--z-<band>) in component CSS). The band-definition sources (core/slots.ts, portal/CCPortalProvider.tsx, theme.css) are exempt.",
|
|
635
|
+
check(filePath, source) {
|
|
636
|
+
const normalized = filePath.replace(/\\/g, "/");
|
|
637
|
+
if (ZINDEX_EXEMPT_SUFFIXES.some((suffix) => normalized.endsWith(suffix))) return [];
|
|
638
|
+
const violations: Violation[] = [];
|
|
639
|
+
const scannable = blankComments(source);
|
|
640
|
+
const lines = source.split("\n");
|
|
641
|
+
RAW_ZINDEX_RE.lastIndex = 0;
|
|
642
|
+
for (const match of scannable.matchAll(RAW_ZINDEX_RE)) {
|
|
643
|
+
const line = lineOf(source, match.index ?? 0);
|
|
644
|
+
const windowStart = Math.max(0, line - 3);
|
|
645
|
+
const context = lines.slice(windowStart, line).join("\n");
|
|
646
|
+
if (ZINDEX_IGNORE_RE.test(context)) continue;
|
|
647
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
648
|
+
}
|
|
649
|
+
return violations;
|
|
650
|
+
},
|
|
651
|
+
};
|
|
652
|
+
|
|
653
|
+
// ── no-raw-data-table ───────────────────────────────────────────────────────
|
|
654
|
+
// The owner, 2026-08-14 (___Unsent-Todos/all-apps-tables.md):
|
|
655
|
+
//
|
|
656
|
+
// *"find tables of data that are not using standardized cb filters and sorting and make
|
|
657
|
+
// them use it. I want filters and sorting on all tables in all apps and a single
|
|
658
|
+
// standardized table in cb for it that allows custom theming if ever needed but makes it
|
|
659
|
+
// IMPOSSIBLE to have tables that forgot to add sorting and filtering and bug fixes that
|
|
660
|
+
// we standardize in cb."*
|
|
661
|
+
//
|
|
662
|
+
// The single standardized table exists — `cursedbelt/react/data-table`'s `DataTable`, which
|
|
663
|
+
// carries sorting, a global filter, column visibility, pagination, row menus, a card tier
|
|
664
|
+
// for phones and a sticky header. The thing that did not exist is the "impossible" half: a
|
|
665
|
+
// raw `<table>` is four keystrokes and every one of them ships a grid with no sort and no
|
|
666
|
+
// filter, which is how twenty-one of them accumulated across ten apps.
|
|
667
|
+
//
|
|
668
|
+
// So the rule is on the ELEMENT, not on the feature: a `<table>` in app source is a
|
|
669
|
+
// violation. That is deliberately blunt — "did this hand-rolled table remember to sort?" is
|
|
670
|
+
// not decidable by a scanner, and a rule that guesses is a rule people learn to route
|
|
671
|
+
// around. `<table>` also has no non-data uses left worth protecting: layout tables died with
|
|
672
|
+
// the 90s, and the genuine exceptions (rendering a markdown document that CONTAINS a table,
|
|
673
|
+
// a CSV import preview whose whole job is to look like the file) take an opt-out with a
|
|
674
|
+
// reason, which is a sentence someone had to think about.
|
|
675
|
+
//
|
|
676
|
+
// Exempt by construction: cursedbelt's own DataTable subtree, which necessarily emits the
|
|
677
|
+
// element, and any `.md`/markdown renderer path.
|
|
678
|
+
const RAW_TABLE_RE = /<table\b/g;
|
|
679
|
+
const RAW_TABLE_IGNORE_RE = /guardrails-ignore\s+no-raw-data-table\s*:/;
|
|
680
|
+
// Matched by path suffix so they stay exempt wherever the scan root is set.
|
|
681
|
+
const RAW_TABLE_EXEMPT_FRAGMENTS = [
|
|
682
|
+
"react/components/DataTable/",
|
|
683
|
+
"react/markdown/",
|
|
684
|
+
"react/rich-text/",
|
|
685
|
+
"react/spreadsheet/",
|
|
686
|
+
"react/workbook-viewer/",
|
|
687
|
+
];
|
|
688
|
+
|
|
689
|
+
const noRawDataTable: Rule = {
|
|
690
|
+
name: "no-raw-data-table",
|
|
691
|
+
description:
|
|
692
|
+
"all-apps-tables.md: no hand-rolled <table> — use cursedbelt's DataTable (cursedbelt/react/data-table), which carries sorting, filtering, column visibility and the phone card tier. A hand-rolled table is how a grid ships with no sort and no filter.",
|
|
693
|
+
check(filePath, source) {
|
|
694
|
+
const normalized = filePath.replace(/\\/g, "/");
|
|
695
|
+
if (RAW_TABLE_EXEMPT_FRAGMENTS.some((fragment) => normalized.includes(fragment))) return [];
|
|
696
|
+
// A spec's `<table>` is a FIXTURE, not a shipped grid — `<table />` handed to a
|
|
697
|
+
// component under test, or a markup string fed to an HTML→markdown converter. Sorting
|
|
698
|
+
// and filtering are meaningless there, and flagging them teaches people that this rule
|
|
699
|
+
// fires on things it should not, which is how a rule gets deleted.
|
|
700
|
+
if (/\.(?:spec|test)\.[tj]sx?$/.test(normalized)) return [];
|
|
701
|
+
const violations: Violation[] = [];
|
|
702
|
+
const scannable = blankComments(source);
|
|
703
|
+
const lines = source.split("\n");
|
|
704
|
+
RAW_TABLE_RE.lastIndex = 0;
|
|
705
|
+
for (const match of scannable.matchAll(RAW_TABLE_RE)) {
|
|
706
|
+
const line = lineOf(source, match.index ?? 0);
|
|
707
|
+
// The CONTIGUOUS non-blank block above, not a fixed window. Every real opt-out for
|
|
708
|
+
// this rule is a JSX comment explaining why a hand-rolled table is right here, and
|
|
709
|
+
// those run to four or five lines — a fixed 3-line window silently ignores the
|
|
710
|
+
// marker on the block's FIRST line, which is where a reader writes it. Same reason
|
|
711
|
+
// no-unguarded-editing-modal scans a block.
|
|
712
|
+
const block: string[] = [];
|
|
713
|
+
for (let i = line - 2; i >= 0 && block.length < 12; i--) {
|
|
714
|
+
const raw = lines[i] ?? "";
|
|
715
|
+
if (raw.trim() === "") break;
|
|
716
|
+
block.push(raw);
|
|
717
|
+
}
|
|
718
|
+
if (RAW_TABLE_IGNORE_RE.test(block.join("\n"))) continue;
|
|
719
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
720
|
+
}
|
|
721
|
+
return violations;
|
|
722
|
+
},
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
// ── no-unguarded-editing-modal ──────────────────────────────────────────────
|
|
726
|
+
// The owner lost a half-typed password by clicking outside an editing modal,
|
|
727
|
+
// which dismissed it and threw the form away with no confirmation. `Modal`/
|
|
728
|
+
// `Drawer` + `isDirty` + `useDiscardGuard` fix that — but only for the modals
|
|
729
|
+
// that actually opt in, and a rule nobody enforces is re-broken by the next new
|
|
730
|
+
// modal without anyone noticing. This is that enforcement, in two halves:
|
|
731
|
+
//
|
|
732
|
+
// (a) A `<Modal>`/`<Drawer>` whose body holds an EDITING control (a cursedbelt
|
|
733
|
+
// Field/Input/Textarea/Select/Checkbox/Switch/RichText/CodeEditor, or a raw
|
|
734
|
+
// <input>/<textarea>/<select>) must pass `isDirty`. Read-only and
|
|
735
|
+
// confirmation-only dialogs hold no such control, are not matched, and keep
|
|
736
|
+
// dismissing freely — the guard is about UNSAVED INPUT, not about modals in
|
|
737
|
+
// general, and prompting on an untouched dialog is the surest way to get the
|
|
738
|
+
// feature turned off.
|
|
739
|
+
//
|
|
740
|
+
// (b) A HAND-ROLLED dialog — `role="dialog"` on an element in app source, or a
|
|
741
|
+
// Radix `<DialogContent>` outside cursedbelt's own dialog implementation —
|
|
742
|
+
// is flagged regardless of what it contains, because it bypasses the guard
|
|
743
|
+
// entirely. `apps/hobbies`' `ModalShell` was exactly this (that app was
|
|
744
|
+
// RETIRED 2026-08-25 — kept as the case that produced the rule): a backdrop
|
|
745
|
+
// `<button onClick={onClose}>` behind six dialogs, three of them forms.
|
|
746
|
+
//
|
|
747
|
+
// Opt-out, same shape as the other rules — on or within 3 lines above the offense:
|
|
748
|
+
// // guardrails-ignore no-unguarded-editing-modal: read-only preview, no form state
|
|
749
|
+
const MODAL_TAG_OPEN_RE = /<(Modal|Drawer)\b/g;
|
|
750
|
+
/** Editing controls. A dialog containing one of these can hold unsaved input. */
|
|
751
|
+
const EDITING_CONTROL_RE =
|
|
752
|
+
/<(?:Field|Input|TextInput|PasswordInput|NumberInput|Textarea|TextArea|Select|MultiSelect|Combobox|Checkbox|Switch|Toggle|RadioGroup|Slider|DatePicker|ColorPicker|RichTextEditor|CodeEditor|TagInput|input|textarea|select)\b/;
|
|
753
|
+
const ISDIRTY_PROP_RE = /\bisDirty\s*=/;
|
|
754
|
+
/**
|
|
755
|
+
* A hand-rolled dialog: the ARIA role as a JSX ATTRIBUTE, or Radix's content
|
|
756
|
+
* primitive. The `(?<!\[)` matters — `body().querySelector('[role="dialog"]')`
|
|
757
|
+
* contains the same characters and is a test READING a dialog, not declaring one;
|
|
758
|
+
* without it every dialog spec in the fleet is a violation.
|
|
759
|
+
*/
|
|
760
|
+
const HANDROLLED_DIALOG_RE =
|
|
761
|
+
/(?<!\[)\brole\s*=\s*(?:['"]dialog['"]|\{\s*['"]dialog['"]\s*\})|<DialogContent\b/g;
|
|
762
|
+
const EDITING_MODAL_IGNORE_RE = /guardrails-ignore\s+no-unguarded-editing-modal\s*:/;
|
|
763
|
+
/**
|
|
764
|
+
* Part (b) — "don't hand-roll a dialog" — is a rule about CONSUMERS. Two trees are
|
|
765
|
+
* exempt from it, for opposite reasons:
|
|
766
|
+
*
|
|
767
|
+
* - cursedbelt's own `src/react` IS the dialog implementation. Modal, Drawer,
|
|
768
|
+
* Lightbox, LayoutConfigDialog and the rich-text popovers are supposed to carry
|
|
769
|
+
* `role="dialog"` and `<DialogContent>`; that is the primitive the rule points
|
|
770
|
+
* everyone else at. (Part (a) still applies here — a cursedbelt component that
|
|
771
|
+
* renders a Modal full of fields must pass `isDirty` like anyone else.)
|
|
772
|
+
* - a spec/test file renders and inspects dialogs by definition, including
|
|
773
|
+
* deliberately-bad ones written to prove the guard fires.
|
|
774
|
+
*/
|
|
775
|
+
const isDialogLibrarySource = (path: string): boolean =>
|
|
776
|
+
/(^|\/)packages\/cursedbelt\/src\/react\//.test(path) ||
|
|
777
|
+
/(^|\/)src\/react\/(components|layoutEngine|rich-text|portal)\//.test(path);
|
|
778
|
+
const isTestSource = (path: string): boolean => /\.(spec|test)\.[jt]sx?$/.test(path);
|
|
779
|
+
|
|
780
|
+
/** The source span of one `<Modal …>…</Modal>` element, open tag included. Depth-counted
|
|
781
|
+
* so a Modal nested inside another Modal's body does not swallow its parent's close tag. */
|
|
782
|
+
function modalElementSpan(source: string, tagStart: number, tag: string): string {
|
|
783
|
+
const openRe = new RegExp(`<${tag}\\b`, "g");
|
|
784
|
+
const closeRe = new RegExp(`</${tag}\\s*>`, "g");
|
|
785
|
+
closeRe.lastIndex = tagStart;
|
|
786
|
+
let depth = 0;
|
|
787
|
+
let cursor = tagStart;
|
|
788
|
+
while (cursor < source.length) {
|
|
789
|
+
openRe.lastIndex = cursor + 1;
|
|
790
|
+
closeRe.lastIndex = cursor + 1;
|
|
791
|
+
const nextOpen = openRe.exec(source);
|
|
792
|
+
const nextClose = closeRe.exec(source);
|
|
793
|
+
if (!nextClose) return source.slice(tagStart);
|
|
794
|
+
if (nextOpen && nextOpen.index < nextClose.index) {
|
|
795
|
+
depth++;
|
|
796
|
+
cursor = nextOpen.index;
|
|
797
|
+
continue;
|
|
798
|
+
}
|
|
799
|
+
if (depth === 0) return source.slice(tagStart, nextClose.index + nextClose[0].length);
|
|
800
|
+
depth--;
|
|
801
|
+
cursor = nextClose.index;
|
|
802
|
+
}
|
|
803
|
+
return source.slice(tagStart);
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/** The open tag's own attribute list — where `isDirty` must appear. Brace-aware so a
|
|
807
|
+
* `>` inside an expression prop (`render={(a) => …}`) does not end the tag early. */
|
|
808
|
+
function openTagOf(source: string, tagStart: number): string {
|
|
809
|
+
let braceDepth = 0;
|
|
810
|
+
for (let i = tagStart; i < source.length; i++) {
|
|
811
|
+
const ch = source[i];
|
|
812
|
+
if (ch === "{") braceDepth++;
|
|
813
|
+
else if (ch === "}") braceDepth--;
|
|
814
|
+
else if (ch === ">" && braceDepth <= 0) return source.slice(tagStart, i + 1);
|
|
815
|
+
}
|
|
816
|
+
return source.slice(tagStart);
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
const noUnguardedEditingModal: Rule = {
|
|
820
|
+
name: "no-unguarded-editing-modal",
|
|
821
|
+
description:
|
|
822
|
+
"a dialog that can hold unsaved input must be a cursedbelt Modal/Drawer AND pass isDirty — otherwise a backdrop click throws the user's edits away with no confirmation. Read-only dialogs (no editing control) are not matched.",
|
|
823
|
+
check(filePath, source) {
|
|
824
|
+
const normalized = filePath.replace(/\\/g, "/");
|
|
825
|
+
const isDialogImpl = isDialogLibrarySource(normalized) || isTestSource(normalized);
|
|
826
|
+
const violations: Violation[] = [];
|
|
827
|
+
const scannable = blankComments(source);
|
|
828
|
+
const lines = source.split("\n");
|
|
829
|
+
const scannableLines = scannable.split("\n");
|
|
830
|
+
/**
|
|
831
|
+
* Honor the marker anywhere in the CONTIGUOUS COMMENT BLOCK immediately above
|
|
832
|
+
* the offense, rather than in a fixed 3-line window.
|
|
833
|
+
*
|
|
834
|
+
* The other rules use a 3-line window, which is fine for their one-line
|
|
835
|
+
* reasons. This rule's opt-outs are the hard cases — "this dialog cannot use
|
|
836
|
+
* the primitive, and here is the design decision why" — so the reason runs to
|
|
837
|
+
* four or five lines, and a fixed window silently ignores a marker on the
|
|
838
|
+
* block's first line. Every real opt-out written for this rule hit that.
|
|
839
|
+
*
|
|
840
|
+
* A comment line is identified structurally: `blankComments` preserves line
|
|
841
|
+
* structure, so a line that is non-blank in the source and blank in the
|
|
842
|
+
* scannable copy is comment text — which covers `//`, `/* *\/` and JSX
|
|
843
|
+
* `{/* *\/}` blocks without a second comment parser.
|
|
844
|
+
*/
|
|
845
|
+
const ignoredAt = (index: number): boolean => {
|
|
846
|
+
const line = lineOf(source, index); // 1-based
|
|
847
|
+
const block: string[] = [];
|
|
848
|
+
for (let i = line - 2; i >= 0; i--) {
|
|
849
|
+
const raw = lines[i] ?? "";
|
|
850
|
+
const blanked = scannableLines[i] ?? "";
|
|
851
|
+
if (raw.trim() === "") break; // a blank line ends the block
|
|
852
|
+
// Something was blanked on this line ⇒ it carries comment text, and what
|
|
853
|
+
// survives is only JSX-comment punctuation. The `{`/`}` allowance is what
|
|
854
|
+
// makes `{/* … */}` a comment line: braces are not comment characters, so
|
|
855
|
+
// `blankComments` leaves them behind. A bare `}` closing real code is
|
|
856
|
+
// unchanged by blanking, so it still ends the block — which is what stops
|
|
857
|
+
// an unrelated marker further up from exempting anything.
|
|
858
|
+
if (raw === blanked) break;
|
|
859
|
+
if (blanked.replaceAll(/[{}\s]/g, "") !== "") break;
|
|
860
|
+
block.push(raw);
|
|
861
|
+
}
|
|
862
|
+
return EDITING_MODAL_IGNORE_RE.test(block.join("\n"));
|
|
863
|
+
};
|
|
864
|
+
|
|
865
|
+
// (a) a Modal/Drawer holding an editing control, with no isDirty.
|
|
866
|
+
MODAL_TAG_OPEN_RE.lastIndex = 0;
|
|
867
|
+
for (const match of scannable.matchAll(MODAL_TAG_OPEN_RE)) {
|
|
868
|
+
const tagStart = match.index ?? 0;
|
|
869
|
+
const openTag = openTagOf(scannable, tagStart);
|
|
870
|
+
if (ISDIRTY_PROP_RE.test(openTag)) continue;
|
|
871
|
+
const element = modalElementSpan(scannable, tagStart, match[1] ?? "Modal");
|
|
872
|
+
if (!EDITING_CONTROL_RE.test(element)) continue;
|
|
873
|
+
if (ignoredAt(tagStart)) continue;
|
|
874
|
+
const line = lineOf(source, tagStart);
|
|
875
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
// (b) a hand-rolled dialog anywhere but cursedbelt's own dialog implementation.
|
|
879
|
+
if (!isDialogImpl) {
|
|
880
|
+
HANDROLLED_DIALOG_RE.lastIndex = 0;
|
|
881
|
+
for (const match of scannable.matchAll(HANDROLLED_DIALOG_RE)) {
|
|
882
|
+
const index = match.index ?? 0;
|
|
883
|
+
if (ignoredAt(index)) continue;
|
|
884
|
+
const line = lineOf(source, index);
|
|
885
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
return violations;
|
|
890
|
+
},
|
|
891
|
+
};
|
|
892
|
+
|
|
893
|
+
// ── no-tailwind-palette (DESIGN.md §3 / UX_STANDARDS.md §6.6) ───────────────
|
|
894
|
+
// `no-hardcoded-colors` already bans a hex or a literal `rgb()`. It cannot see the
|
|
895
|
+
// OTHER way a colour gets hardcoded, which in a Tailwind codebase is the common one:
|
|
896
|
+
// `bg-slate-800`, `text-red-500`, `border-zinc-700`. Those are not tokens. They are
|
|
897
|
+
// Tailwind's own palette, they do not move when the theme moves, and they are why
|
|
898
|
+
// "one fix per component type" fails — an app painted in `slate-800` has opted out of
|
|
899
|
+
// every future change to `--surface-2`, silently, and nothing anywhere is wrong.
|
|
900
|
+
//
|
|
901
|
+
// UX_STANDARDS.md §6.6 states the law ("One theme system: cursedbelt's tokens. An app
|
|
902
|
+
// that hardcodes a colour has opted out of every future fix") and DESIGN.md §3 states
|
|
903
|
+
// its visible consequence (badges must clear 4.5:1 in DARK mode — a palette step
|
|
904
|
+
// chosen against a light mock cannot). This rule is that law, checked.
|
|
905
|
+
//
|
|
906
|
+
// What it matches: a Tailwind colour utility carrying a PALETTE family and a numeric
|
|
907
|
+
// step, with any variant/opacity decoration around it —
|
|
908
|
+
// bg-slate-800 hover:text-red-500 dark:border-zinc-700/40 md:from-sky-300
|
|
909
|
+
// What it deliberately does NOT match: the semantic aliases the theme defines
|
|
910
|
+
// (`bg-card`, `text-muted-foreground`, `border-field-border`), arbitrary token values
|
|
911
|
+
// (`bg-[var(--surface-2)]`), and `white`/`black`/`transparent`/`current`/`inherit`,
|
|
912
|
+
// which carry no palette step and are frequently correct (an overlay scrim, an icon
|
|
913
|
+
// mask). Fix by reaching for the token — `bg-[var(--surface-2)]`, `text-foreground`,
|
|
914
|
+
// `border-[var(--border-subtle)]` — or, for a genuinely non-themeable surface (a
|
|
915
|
+
// vendor logo, a fixed brand mark), take the per-line opt-out with the reason.
|
|
916
|
+
const TAILWIND_PALETTE_FAMILIES = [
|
|
917
|
+
"slate", "gray", "zinc", "neutral", "stone",
|
|
918
|
+
"red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal",
|
|
919
|
+
"cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose",
|
|
920
|
+
];
|
|
921
|
+
const TAILWIND_COLOR_UTILITIES = [
|
|
922
|
+
"bg", "text", "border", "ring", "outline", "shadow", "fill", "stroke",
|
|
923
|
+
"from", "via", "to", "divide", "placeholder", "caret", "accent", "decoration",
|
|
924
|
+
];
|
|
925
|
+
// `(?<![\w-])` stops `--my-bg-slate-500` and `not-text-red-500` matching; the trailing
|
|
926
|
+
// boundary stops `bg-red-5000`. Variants (`hover:`, `dark:`, `group-hover:`) sit BEFORE
|
|
927
|
+
// the utility and are excluded by the same lookbehind only if they end in a word char —
|
|
928
|
+
// they end in `:`, which is not `[\w-]`, so they pass through and the utility matches.
|
|
929
|
+
const TAILWIND_PALETTE_RE = new RegExp(
|
|
930
|
+
`(?<![\\w-])(?:${TAILWIND_COLOR_UTILITIES.join("|")})-(?:${TAILWIND_PALETTE_FAMILIES.join("|")})-(?:50|100|200|300|400|500|600|700|800|900|950)\\b`,
|
|
931
|
+
"g",
|
|
932
|
+
);
|
|
933
|
+
|
|
934
|
+
const noTailwindPalette: Rule = makeValueRule(
|
|
935
|
+
"no-tailwind-palette",
|
|
936
|
+
"DESIGN.md §3 / UX_STANDARDS.md §6.6: no raw Tailwind palette class (bg-slate-800, text-red-500, …) — those are not tokens and do not move when the theme moves. Use the theme's semantic classes or bg-[var(--token)].",
|
|
937
|
+
TAILWIND_PALETTE_RE,
|
|
938
|
+
);
|
|
939
|
+
|
|
940
|
+
// ── no-raw-title-attr (DESIGN.md §4 "Help Context Disclosing") ──────────────
|
|
941
|
+
// A native `title=""` is the cheapest possible tooltip and it is four separate
|
|
942
|
+
// failures at once: it does not exist on a touch device (there is no hover), it
|
|
943
|
+
// waits ~500ms before appearing, it cannot be styled or themed, and a screen reader
|
|
944
|
+
// may read it, ignore it, or double it up with the accessible name depending on the
|
|
945
|
+
// element. DESIGN.md §4 asks for explanatory text "behind interactive hover info icon
|
|
946
|
+
// tooltips (i)"; UX_STANDARDS.md §5.1 states the phone half ("a control that only
|
|
947
|
+
// exists on hover does not exist on a phone").
|
|
948
|
+
//
|
|
949
|
+
// cursedbelt has both halves already: `Tooltip` (hover + focus + touch long-press,
|
|
950
|
+
// themed, portalled into the right z-band) and `InfoHint` (the literal `(i)` affordance
|
|
951
|
+
// beside a section header). So this is a rule about REACHING for them.
|
|
952
|
+
//
|
|
953
|
+
// Scoped to a LOWERCASE JSX tag — a DOM element. `title` on a component
|
|
954
|
+
// (`<Modal title=…>`, `<PageHeader title=…>`, `<WidgetHeader title=…>`) is that
|
|
955
|
+
// component's own prop and is nothing to do with this; so is `<title>` inside an SVG,
|
|
956
|
+
// which is the accessible NAME of the graphic and is the correct markup there.
|
|
957
|
+
const LOWERCASE_TAG_RE = /<([a-z][a-zA-Z0-9-]*)\b/g;
|
|
958
|
+
const TITLE_ATTR_RE = /(?:^|[\s{])title\s*=/;
|
|
959
|
+
const TITLE_ATTR_IGNORE_RE = /guardrails-ignore\s+no-raw-title-attr\s*:/;
|
|
960
|
+
|
|
961
|
+
const noRawTitleAttr: Rule = {
|
|
962
|
+
name: "no-raw-title-attr",
|
|
963
|
+
description:
|
|
964
|
+
'DESIGN.md §4: no native title="" on a DOM element — it does not exist on touch, waits half a second, cannot be themed and reads inconsistently to a screen reader. Use cursedbelt\'s Tooltip, or InfoHint for the (i) affordance beside a heading.',
|
|
965
|
+
check(filePath, source) {
|
|
966
|
+
if (/\.(?:spec|test)\.[tj]sx?$/.test(filePath.replace(/\\/g, "/"))) return [];
|
|
967
|
+
const violations: Violation[] = [];
|
|
968
|
+
const scannable = blankNonMarkupText(source);
|
|
969
|
+
const lines = source.split("\n");
|
|
970
|
+
LOWERCASE_TAG_RE.lastIndex = 0;
|
|
971
|
+
for (const match of scannable.matchAll(LOWERCASE_TAG_RE)) {
|
|
972
|
+
// `<title>` is the SVG/`<head>` element, not a title ATTRIBUTE.
|
|
973
|
+
if (match[1] === "title") continue;
|
|
974
|
+
// `<iframe title>` is the frame's ACCESSIBLE NAME, not a hover hint — the
|
|
975
|
+
// same argument that exempts an SVG `<title>` above. WCAG 4.1.2 requires it
|
|
976
|
+
// and there is no Tooltip equivalent, so flagging it would only teach people
|
|
977
|
+
// to delete an a11y requirement. (unit 11)
|
|
978
|
+
if (match[1] === "iframe") continue;
|
|
979
|
+
const index = match.index ?? 0;
|
|
980
|
+
const tag = extractOpeningTag(source, index);
|
|
981
|
+
if (!TITLE_ATTR_RE.test(tag)) continue;
|
|
982
|
+
if (TITLE_ATTR_IGNORE_RE.test(tag)) continue;
|
|
983
|
+
const line = lineOf(source, index);
|
|
984
|
+
const windowStart = Math.max(0, line - 3);
|
|
985
|
+
if (TITLE_ATTR_IGNORE_RE.test(lines.slice(windowStart, line).join("\n"))) continue;
|
|
986
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
987
|
+
}
|
|
988
|
+
return violations;
|
|
989
|
+
},
|
|
990
|
+
};
|
|
991
|
+
|
|
992
|
+
// ── no-local-reimplementation (the reason the Optimized-Tasks queue exists) ─
|
|
993
|
+
// The owner, 2026-08-13 (___Todo-Ready/all-apps-ux.md):
|
|
994
|
+
//
|
|
995
|
+
// *"apply the quality SaaS product enhancement recommendations everywhere in all the
|
|
996
|
+
// apps because these patterns were everywhere and we need ONE FIX FOR EACH COMPONENT
|
|
997
|
+
// TYPE instead of asking for judgments on every one individually."*
|
|
998
|
+
//
|
|
999
|
+
// One fix per component type is impossible while an app ships its own `EmptyState`,
|
|
1000
|
+
// its own `Modal`, its own `Badge`. The fix lands in cursedbelt and the app keeps
|
|
1001
|
+
// rendering its copy — and because the copy compiles, typechecks, tests green and
|
|
1002
|
+
// looks approximately right, nothing anywhere reports it. The only symptom is that
|
|
1003
|
+
// the design pass "did not take", months later, on a screen nobody re-reviewed.
|
|
1004
|
+
//
|
|
1005
|
+
// The signal is mechanical and it is the NAME: a component declared in app source
|
|
1006
|
+
// under a name cursedbelt already exports is either a duplicate (delete it, import the
|
|
1007
|
+
// real one) or a name collision that will mislead every future reader of that file
|
|
1008
|
+
// (rename it). Both are worth a line of a person's attention, and neither is
|
|
1009
|
+
// detectable any other way — an import cursedbelt does not have is not an error.
|
|
1010
|
+
//
|
|
1011
|
+
// The inventory that feeds this list is `fleet/standards/CURSEDBELT_INVENTORY.md`;
|
|
1012
|
+
// `--reimplements <Name,Name>` passes it in, so the list lives with the inventory and
|
|
1013
|
+
// not buried in this file. With no list passed the rule is inert rather than guessing.
|
|
1014
|
+
const REIMPL_IGNORE_RE = /guardrails-ignore\s+no-local-reimplementation\s*:/;
|
|
1015
|
+
/** Set by `--reimplements` (CLI) or `setReimplementedNames()` (library use). */
|
|
1016
|
+
let REIMPLEMENTED_NAMES: string[] = [];
|
|
1017
|
+
export function setReimplementedNames(names: readonly string[]): void {
|
|
1018
|
+
REIMPLEMENTED_NAMES = [...names];
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
const noLocalReimplementation: Rule = {
|
|
1022
|
+
name: "no-local-reimplementation",
|
|
1023
|
+
description:
|
|
1024
|
+
"all-apps-ux.md: an app must not declare its own component under a name cursedbelt already exports — a local copy is why a fix that landed in the design system did not reach the screen. Import the shared one, or rename the local thing so it stops claiming to be it.",
|
|
1025
|
+
check(filePath, source) {
|
|
1026
|
+
if (REIMPLEMENTED_NAMES.length === 0) return [];
|
|
1027
|
+
const normalized = filePath.replace(/\\/g, "/");
|
|
1028
|
+
if (/\.(?:spec|test)\.[tj]sx?$/.test(normalized)) return [];
|
|
1029
|
+
// cursedbelt IS the implementation of these names.
|
|
1030
|
+
if (/(^|\/)packages\/cursedbelt\/src\//.test(normalized)) return [];
|
|
1031
|
+
const violations: Violation[] = [];
|
|
1032
|
+
const scannable = blankComments(source);
|
|
1033
|
+
const lines = source.split("\n");
|
|
1034
|
+
for (const name of REIMPLEMENTED_NAMES) {
|
|
1035
|
+
const re = new RegExp(`(?:export\\s+)?(?:function|class)\\s+${name}\\b|(?:export\\s+)?const\\s+${name}\\s*[:=]`, "g");
|
|
1036
|
+
for (const match of scannable.matchAll(re)) {
|
|
1037
|
+
const index = match.index ?? 0;
|
|
1038
|
+
const line = lineOf(source, index);
|
|
1039
|
+
const windowStart = Math.max(0, line - 3);
|
|
1040
|
+
if (REIMPL_IGNORE_RE.test(lines.slice(windowStart, line).join("\n"))) continue;
|
|
1041
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
return violations;
|
|
1045
|
+
},
|
|
1046
|
+
};
|
|
1047
|
+
|
|
1048
|
+
// ── micro-typography-floor ──────────────────────────────────────────────────────
|
|
1049
|
+
// DESIGN.md §4: *"Secondary metadata variables, text placeholders, and descriptions
|
|
1050
|
+
// must maintain a minimum body scale of 12px–13px. Lighten dark gray text values to
|
|
1051
|
+
// maintain clean scannability against pure black background layers."*
|
|
1052
|
+
//
|
|
1053
|
+
// The theme scale already carries the floor (`--text-caption` 12px, `--text-data`
|
|
1054
|
+
// 13px, and `--text-meta` was raised from 11px to 12px in unit 11 for exactly this
|
|
1055
|
+
// reason). What it could not carry is the four keystrokes it takes to write
|
|
1056
|
+
// `text-[11px]` instead — and nothing reported those, because a font size is not
|
|
1057
|
+
// wrong to any compiler. This is the report.
|
|
1058
|
+
//
|
|
1059
|
+
// It matches an explicit sub-12px size wherever one can be written: a Tailwind
|
|
1060
|
+
// arbitrary value (`text-[11px]`, `text-[0.6875rem]`), an inline style
|
|
1061
|
+
// (`fontSize: 10`, `fontSize: '11px'`), or a CSS declaration (`font-size: 11px`).
|
|
1062
|
+
// It does NOT guess at semantic classes — `text-xs` is 12px and legal, and a rule
|
|
1063
|
+
// that flagged it would be arguing with the scale rather than enforcing it.
|
|
1064
|
+
//
|
|
1065
|
+
// 🔴 A genuine exception exists and is not rare: a NON-TEXT glyph (a superscript
|
|
1066
|
+
// marker, a badge counter inside a 16px dot, an axis tick on a sparkline) is not
|
|
1067
|
+
// "secondary metadata" and the clause does not reach it. Take the per-line
|
|
1068
|
+
// `guardrails-ignore micro-typography-floor: <reason>` opt-out there — a sentence
|
|
1069
|
+
// somebody had to think about — rather than raising a baseline.
|
|
1070
|
+
const MIN_TEXT_PX = 12;
|
|
1071
|
+
const MICRO_TYPE_IGNORE_RE = /guardrails-ignore\s+micro-typography-floor\s*:/;
|
|
1072
|
+
// text-[11px] | text-[0.6875rem] | fontSize: 11 | fontSize: '11px' | font-size: 11px
|
|
1073
|
+
const MICRO_TYPE_RE =
|
|
1074
|
+
/(?:text-\[(\d*\.?\d+)(px|rem|em)\]|fontSize\s*:\s*['"]?(\d*\.?\d+)(px|rem|em)?['"]?|font-size\s*:\s*(\d*\.?\d+)(px|rem|em))/g;
|
|
1075
|
+
|
|
1076
|
+
function toPx(value: number, unit: string | undefined): number {
|
|
1077
|
+
if (unit === "rem" || unit === "em") return value * 16;
|
|
1078
|
+
return value;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
const microTypographyFloor: Rule = {
|
|
1082
|
+
name: "micro-typography-floor",
|
|
1083
|
+
description: `DESIGN.md §4: secondary text may not sit below ${MIN_TEXT_PX}px. Use the theme scale (text-caption 12px / text-data 13px / text-meta 12px) — or take the per-line guardrails-ignore for a non-text glyph.`,
|
|
1084
|
+
check(filePath, source) {
|
|
1085
|
+
if (/\.(?:spec|test)\.[tj]sx?$/.test(filePath.replace(/\\/g, "/"))) return [];
|
|
1086
|
+
const violations: Violation[] = [];
|
|
1087
|
+
const lines = source.split("\n");
|
|
1088
|
+
MICRO_TYPE_RE.lastIndex = 0;
|
|
1089
|
+
for (const match of source.matchAll(MICRO_TYPE_RE)) {
|
|
1090
|
+
const raw = match[1] ?? match[3] ?? match[5];
|
|
1091
|
+
const unit = match[2] ?? match[4] ?? match[6];
|
|
1092
|
+
if (raw === undefined) continue;
|
|
1093
|
+
// A bare `fontSize: 12` in JS means px; a bare number with no unit in CSS is
|
|
1094
|
+
// invalid and never reaches a browser, so treating both as px is right.
|
|
1095
|
+
const px = toPx(Number(raw), unit);
|
|
1096
|
+
if (!Number.isFinite(px) || px >= MIN_TEXT_PX) continue;
|
|
1097
|
+
const line = lineOf(source, match.index ?? 0);
|
|
1098
|
+
const windowStart = Math.max(0, line - 3);
|
|
1099
|
+
if (MICRO_TYPE_IGNORE_RE.test(lines.slice(windowStart, line).join("\n"))) continue;
|
|
1100
|
+
if (MICRO_TYPE_IGNORE_RE.test(lines[line - 1] ?? "")) continue;
|
|
1101
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
1102
|
+
}
|
|
1103
|
+
return violations;
|
|
1104
|
+
},
|
|
1105
|
+
};
|
|
1106
|
+
|
|
1107
|
+
// ── choice-needs-empty-state / no-select-as-action-menu ─────────────────────────
|
|
1108
|
+
// The owner, 2026-08-21, on music's `File under…` control:
|
|
1109
|
+
//
|
|
1110
|
+
// *"I checked a track and clicked the File under… dropdown and there were no choices
|
|
1111
|
+
// in it. I don't know what the purpose of it is … if it's empty because I don't have
|
|
1112
|
+
// whatever it should link the track to then there should be a create option for
|
|
1113
|
+
// whatever goes in there … All dropdowns should be checked for these types of UX
|
|
1114
|
+
// issues now."*
|
|
1115
|
+
//
|
|
1116
|
+
// "Should be checked" is the ask these two rules answer. Checking every dropdown once,
|
|
1117
|
+
// by reading, is a sweep that decays the day it finishes; there were 80 data-driven
|
|
1118
|
+
// choice controls across 13 apps when this was written, and the next one is written
|
|
1119
|
+
// tomorrow. So the check runs on every gate instead.
|
|
1120
|
+
//
|
|
1121
|
+
// `choice-needs-empty-state` — a choice control whose options come from DATA must say
|
|
1122
|
+
// what belongs in it when there is none. A list built from a CONSTANT is exempt by
|
|
1123
|
+
// construction: `SORTS.map(…)` cannot be empty, and flagging it would teach people the
|
|
1124
|
+
// rule fires on things it should not, which is how a rule gets deleted. So "from data"
|
|
1125
|
+
// means: mapped from something that is neither a SCREAMING_SNAKE constant nor a
|
|
1126
|
+
// module-level array literal in the same file.
|
|
1127
|
+
//
|
|
1128
|
+
// `no-select-as-action-menu` — a select pinned to `value=""` is not a form field. It is
|
|
1129
|
+
// an action menu, and it was built from the one control whose popup the page CANNOT
|
|
1130
|
+
// style (the browser draws a native `<select>`'s list outside the document; see
|
|
1131
|
+
// `NativeSelect`'s header for the Windows/Chrome incident). That is the whole of the
|
|
1132
|
+
// owner's *"the dropdowns open with a gray bland styling"* — nothing was misstyled.
|
|
1133
|
+
// `ChoiceMenu` is the right control: Radix all the way down, a create row first, and an
|
|
1134
|
+
// empty state that is a way forward rather than a blank popup.
|
|
1135
|
+
const CHOICE_COMPONENTS = ["NativeSelect", "SelectField", "MultiSelectField", "ComboboxField"];
|
|
1136
|
+
const CHOICE_EMPTY_IGNORE_RE = /guardrails-ignore\s+choice-needs-empty-state\s*:/;
|
|
1137
|
+
const ACTION_MENU_IGNORE_RE = /guardrails-ignore\s+no-select-as-action-menu\s*:/;
|
|
1138
|
+
|
|
1139
|
+
interface JsxSpan {
|
|
1140
|
+
/** The opening tag only — where the props are. */
|
|
1141
|
+
open: string;
|
|
1142
|
+
/** Opening tag plus children, for a container element. */
|
|
1143
|
+
whole: string;
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
/**
|
|
1147
|
+
* The source span of one JSX element, without a parser.
|
|
1148
|
+
*
|
|
1149
|
+
* The naive "take the next 2 KB" reads a sibling's `.map()` as this element's, and
|
|
1150
|
+
* `seg.split('>')[0]` — the other obvious shortcut — truncates the opening tag at the
|
|
1151
|
+
* first `>` inside an arrow function, which every `onChange={(e) => …}` has. So this
|
|
1152
|
+
* walks the opening tag tracking brace depth and quotes, then matches the closing tag
|
|
1153
|
+
* counting nested same-name elements.
|
|
1154
|
+
*/
|
|
1155
|
+
function jsxElementSpan(source: string, start: number, name: string): JsxSpan | null {
|
|
1156
|
+
let depth = 0;
|
|
1157
|
+
let quote: string | null = null;
|
|
1158
|
+
let i = source.indexOf(name, start) + name.length;
|
|
1159
|
+
for (; i < source.length; i++) {
|
|
1160
|
+
const ch = source[i] as string;
|
|
1161
|
+
if (quote) {
|
|
1162
|
+
if (ch === quote && source[i - 1] !== "\\") quote = null;
|
|
1163
|
+
continue;
|
|
1164
|
+
}
|
|
1165
|
+
if (ch === '"' || ch === "'" || ch === "`") {
|
|
1166
|
+
quote = ch;
|
|
1167
|
+
continue;
|
|
1168
|
+
}
|
|
1169
|
+
if (ch === "{") depth++;
|
|
1170
|
+
else if (ch === "}") depth--;
|
|
1171
|
+
else if (ch === ">" && depth === 0) break;
|
|
1172
|
+
}
|
|
1173
|
+
if (i >= source.length) return null;
|
|
1174
|
+
const open = source.slice(start, i + 1);
|
|
1175
|
+
if (source[i - 1] === "/") return { open, whole: open };
|
|
1176
|
+
const closeTag = `</${name}>`;
|
|
1177
|
+
const openTag = `<${name}`;
|
|
1178
|
+
let cursor = i + 1;
|
|
1179
|
+
let nested = 0;
|
|
1180
|
+
for (;;) {
|
|
1181
|
+
const nextClose = source.indexOf(closeTag, cursor);
|
|
1182
|
+
if (nextClose === -1) return { open, whole: source.slice(start) };
|
|
1183
|
+
const nextOpen = source.indexOf(openTag, cursor);
|
|
1184
|
+
if (nextOpen !== -1 && nextOpen < nextClose) {
|
|
1185
|
+
nested++;
|
|
1186
|
+
cursor = nextOpen + openTag.length;
|
|
1187
|
+
continue;
|
|
1188
|
+
}
|
|
1189
|
+
if (nested === 0) return { open, whole: source.slice(start, nextClose) };
|
|
1190
|
+
nested--;
|
|
1191
|
+
cursor = nextClose + closeTag.length;
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
const MAP_SOURCE_RE = /([A-Za-z_$][\w$]*(?:\??\.[A-Za-z_$][\w$]*)*)\s*\.map\(/g;
|
|
1196
|
+
const OPTIONS_PROP_RE = /\boptions=\{([A-Za-z_$][\w$]*(?:\??\.[A-Za-z_$][\w$]*)*)\}/g;
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* Is this expression's list something the CALL SITE owns, or something handed to it?
|
|
1200
|
+
*
|
|
1201
|
+
* Three exemptions, and each one is a class of false positive rather than a let-off:
|
|
1202
|
+
*
|
|
1203
|
+
* - **A constant** — `SORTS.map(…)`, or a module-level array literal in this file.
|
|
1204
|
+
* It cannot be empty at runtime, so an empty state would be dead code.
|
|
1205
|
+
* - **A pass-through prop** — a BARE identifier this file never declares (`options`,
|
|
1206
|
+
* `pageSizeOptions`) is destructured from props, and a generic component cannot
|
|
1207
|
+
* write the empty state: it does not know whether it is showing categories or
|
|
1208
|
+
* countries. Its job is to FORWARD `emptyLabel`, which is why the belt's controls
|
|
1209
|
+
* take one. The rule follows the data to the screen that owns it.
|
|
1210
|
+
* - A member expression is never exempt on those grounds. `summary?.categories`,
|
|
1211
|
+
* `data.lists`, `tracker.statuses` — that is fetched state, and the file reading it
|
|
1212
|
+
* knows exactly what belongs in the list. This is the shape of the owner's own
|
|
1213
|
+
* report, so exempting it would exempt the bug.
|
|
1214
|
+
*/
|
|
1215
|
+
function isExemptChoiceSource(expression: string, source: string): boolean {
|
|
1216
|
+
const base = expression.split(/[.?[]/)[0] ?? expression;
|
|
1217
|
+
if (/^[A-Z0-9_]+$/.test(base)) return true;
|
|
1218
|
+
if (new RegExp(`^(?:export\\s+)?const\\s+${base}\\b[^\\n=]*=\\s*(?:\\[|Object\\.)`, "m").test(source)) {
|
|
1219
|
+
return true;
|
|
1220
|
+
}
|
|
1221
|
+
if (expression !== base) return false;
|
|
1222
|
+
// A name pinned to a constant list is still a constant list — `const options =
|
|
1223
|
+
// ROLES.map(…)` cannot be empty either. One level of indirection only: past that
|
|
1224
|
+
// it is a data pipeline and the answer stops being obvious from the file.
|
|
1225
|
+
const alias = new RegExp(`(?:const|let)\\s+${base}\\b[^\\n=]*=\\s*([A-Za-z_$][\\w$]*)`, "m").exec(source);
|
|
1226
|
+
if (alias?.[1] && /^[A-Z0-9_]+$/.test(alias[1])) return true;
|
|
1227
|
+
const declared = new RegExp(
|
|
1228
|
+
`(?:const|let|var)\\s+${base}\\b|(?:const|let|var)\\s*\\[\\s*${base}\\b|function\\s+${base}\\b|import[^;]*\\b${base}\\b`,
|
|
1229
|
+
);
|
|
1230
|
+
return !declared.test(source);
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
/** The dynamic sources this element's choices come from, if any. */
|
|
1234
|
+
function dynamicChoiceSources(span: JsxSpan, source: string): string[] {
|
|
1235
|
+
const found: string[] = [];
|
|
1236
|
+
for (const re of [MAP_SOURCE_RE, OPTIONS_PROP_RE]) {
|
|
1237
|
+
const haystack = re === OPTIONS_PROP_RE ? span.open : span.whole;
|
|
1238
|
+
re.lastIndex = 0;
|
|
1239
|
+
for (const match of haystack.matchAll(re)) {
|
|
1240
|
+
const expression = match[1];
|
|
1241
|
+
if (!expression || isExemptChoiceSource(expression, source)) continue;
|
|
1242
|
+
if (!found.includes(expression)) found.push(expression);
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
return found;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
/** The contiguous non-blank block above a line — where a reader writes the opt-out. */
|
|
1249
|
+
function blockAbove(lines: string[], line: number): string {
|
|
1250
|
+
const block: string[] = [];
|
|
1251
|
+
for (let i = line - 2; i >= 0 && block.length < 12; i--) {
|
|
1252
|
+
const raw = lines[i] ?? "";
|
|
1253
|
+
if (raw.trim() === "") break;
|
|
1254
|
+
block.push(raw);
|
|
1255
|
+
}
|
|
1256
|
+
return block.join("\n");
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
function eachChoiceControl(
|
|
1260
|
+
filePath: string,
|
|
1261
|
+
source: string,
|
|
1262
|
+
visit: (span: JsxSpan, line: number) => boolean,
|
|
1263
|
+
): Violation[] {
|
|
1264
|
+
const normalized = filePath.replace(/\\/g, "/");
|
|
1265
|
+
if (/\.(?:spec|test)\.[tj]sx?$/.test(normalized)) return [];
|
|
1266
|
+
const violations: Violation[] = [];
|
|
1267
|
+
const scannable = blankComments(source);
|
|
1268
|
+
const lines = source.split("\n");
|
|
1269
|
+
for (const name of CHOICE_COMPONENTS) {
|
|
1270
|
+
const re = new RegExp(`<${name}\\b`, "g");
|
|
1271
|
+
for (const match of scannable.matchAll(re)) {
|
|
1272
|
+
const start = match.index ?? 0;
|
|
1273
|
+
const span = jsxElementSpan(scannable, start, name);
|
|
1274
|
+
if (!span) continue;
|
|
1275
|
+
const line = lineOf(source, start);
|
|
1276
|
+
if (!visit(span, line)) continue;
|
|
1277
|
+
violations.push({ file: filePath, line, snippet: lines[line - 1]?.trim() ?? "" });
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
return violations;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
const choiceNeedsEmptyState: Rule = {
|
|
1284
|
+
name: "choice-needs-empty-state",
|
|
1285
|
+
description:
|
|
1286
|
+
"music-app-clicking-favorite-refreshes.md: a choice control whose options come from DATA must pass `emptyLabel` — an empty popup is a dead end that reads as a broken control. Say what belongs in the list, and use ChoiceMenu where making one is possible (it puts 'New <thing>…' first). A list built from a constant is exempt automatically.",
|
|
1287
|
+
check(filePath, source) {
|
|
1288
|
+
if (/(^|\/)packages\/cursedbelt\/src\/react\/components\//.test(filePath.replace(/\\/g, "/"))) {
|
|
1289
|
+
return [];
|
|
1290
|
+
}
|
|
1291
|
+
const lines = source.split("\n");
|
|
1292
|
+
return eachChoiceControl(filePath, source, (span, line) => {
|
|
1293
|
+
if (/\bemptyLabel[=:]/.test(span.open)) return false;
|
|
1294
|
+
if (dynamicChoiceSources(span, source).length === 0) return false;
|
|
1295
|
+
return !CHOICE_EMPTY_IGNORE_RE.test(blockAbove(lines, line));
|
|
1296
|
+
});
|
|
1297
|
+
},
|
|
1298
|
+
};
|
|
1299
|
+
|
|
1300
|
+
const noSelectAsActionMenu: Rule = {
|
|
1301
|
+
name: "no-select-as-action-menu",
|
|
1302
|
+
description:
|
|
1303
|
+
"music-app-clicking-favorite-refreshes.md: a select pinned to value=\"\" is an ACTION MENU wearing a form control — and a native <select>'s popup is drawn by the browser outside the page, where no stylesheet reaches it ('the dropdowns open with a gray bland styling'). Use ChoiceMenu: styled, a create row first, and a real empty state.",
|
|
1304
|
+
check(filePath, source) {
|
|
1305
|
+
if (/(^|\/)packages\/cursedbelt\/src\/react\/components\//.test(filePath.replace(/\\/g, "/"))) {
|
|
1306
|
+
return [];
|
|
1307
|
+
}
|
|
1308
|
+
const lines = source.split("\n");
|
|
1309
|
+
return eachChoiceControl(filePath, source, (span, line) => {
|
|
1310
|
+
if (!/\bvalue=(?:""|\{""\}|\{''\})/.test(span.open)) return false;
|
|
1311
|
+
return !ACTION_MENU_IGNORE_RE.test(blockAbove(lines, line));
|
|
1312
|
+
});
|
|
1313
|
+
},
|
|
1314
|
+
};
|
|
1315
|
+
|
|
1316
|
+
// ── no-native-dialog ────────────────────────────────────────────────────────
|
|
1317
|
+
// `window.confirm` / `window.prompt` / `window.alert` — and their bare global
|
|
1318
|
+
// forms — are the browser's own chrome, and cursedbelt has shipped styled,
|
|
1319
|
+
// awaitable replacements the whole time (`confirm`, `guardWithConfirm`,
|
|
1320
|
+
// `prompt` from `cursedbelt/react`, or `ConfirmDialog` rendered in-tree).
|
|
1321
|
+
//
|
|
1322
|
+
// Six call sites across four satellite apps were still on the native ones in
|
|
1323
|
+
// 2026-08-24, beside three apps that had already migrated — which is the shape
|
|
1324
|
+
// of drift STANDARDS §2 describes: the primitive exists, nothing requires it,
|
|
1325
|
+
// so adoption is a coin toss decided by which day the code was written.
|
|
1326
|
+
//
|
|
1327
|
+
// It is not a cosmetic rule. A native dialog:
|
|
1328
|
+
// · is drawn by the browser outside the page, so NO stylesheet reaches it —
|
|
1329
|
+
// the same defect `no-select-as-action-menu` exists for, and a direct
|
|
1330
|
+
// violation of the DESIGN.md mandate against unstyled chrome;
|
|
1331
|
+
// · blocks the main thread, freezing animations and in-flight React work;
|
|
1332
|
+
// · is suppressible — a browser hides repeat dialogs from a page behind
|
|
1333
|
+
// "don't show me again", after which the guard silently returns false and
|
|
1334
|
+
// a destructive action is REFUSED with no explanation, or a `prompt`
|
|
1335
|
+
// returns null and the rename quietly does nothing;
|
|
1336
|
+
// · cannot be asserted by a smoke, because it never enters the DOM.
|
|
1337
|
+
//
|
|
1338
|
+
// The check is on the CALL, which makes it decidable. `globalThis.confirm`,
|
|
1339
|
+
// `self.confirm`, `window.confirm` and a bare `confirm(` all match; an import of
|
|
1340
|
+
// cursedbelt's own `confirm`/`prompt` is exempt by construction (the file's
|
|
1341
|
+
// import list is read first), as are cursedbelt's own dialog internals and any
|
|
1342
|
+
// non-DOM code, since the rule only scans `.tsx`.
|
|
1343
|
+
const NATIVE_DIALOG_IGNORE_RE = /guardrails-ignore\s+no-native-dialog\s*:/;
|
|
1344
|
+
const NATIVE_DIALOG_RE =
|
|
1345
|
+
/(?:^|[^\w.$])(?:(?:window|globalThis|self|globalThis\?)\s*\??\.\s*)?(confirm|prompt|alert)\s*\(/;
|
|
1346
|
+
|
|
1347
|
+
/** True when this file gets `confirm`/`prompt` from cursedbelt — then a bare
|
|
1348
|
+
* `confirm(` IS the belt primitive and must not be reported.
|
|
1349
|
+
*
|
|
1350
|
+
* THREE spellings count, and each one was found by a false positive:
|
|
1351
|
+
* · `import { confirm } from 'cursedbelt/react'` — the ordinary consumer form.
|
|
1352
|
+
* · `import { confirm } from '../confirm'` — cursedbelt's own components
|
|
1353
|
+
* reaching their sibling wrapper. Missing it reported every in-belt caller
|
|
1354
|
+
* of the belt's own primitive, `DeleteButton` among them.
|
|
1355
|
+
* · `const { prompt } = await import('cursedbelt/react/prompt')` — a DYNAMIC
|
|
1356
|
+
* import, which apps/music uses deliberately: `prompt` is the only other
|
|
1357
|
+
* thing on that screen pulling `Modal` (and `react-dom/client`'s
|
|
1358
|
+
* `createRoot` with it), and importing it statically put music's entry
|
|
1359
|
+
* chunk at 555 KB against a 520 KB budget. Reporting that is telling an app
|
|
1360
|
+
* to break its own byte-budget gate to satisfy this one. */
|
|
1361
|
+
function importsBeltDialog(source: string, fn: string): boolean {
|
|
1362
|
+
const spec = `['"]cursedbelt(?:/[^'"]*)?['"]`;
|
|
1363
|
+
const named = `\\{[^}]*\\b${fn}\\b[^}]*\\}`;
|
|
1364
|
+
return (
|
|
1365
|
+
// static, from the package
|
|
1366
|
+
new RegExp(`import\\s*${named}\\s*from\\s*${spec}`, "s").test(source) ||
|
|
1367
|
+
// static, from a sibling inside cursedbelt itself
|
|
1368
|
+
new RegExp(`import\\s*${named}\\s*from\\s*['"][./]+(?:react/)?${fn}['"]`, "s").test(source) ||
|
|
1369
|
+
// dynamic — `const { prompt } = await import('cursedbelt/react/prompt')`
|
|
1370
|
+
new RegExp(`${named}\\s*=\\s*(?:await\\s+)?import\\(\\s*${spec}`, "s").test(source) ||
|
|
1371
|
+
// and its type-only companion, `typeof import('…').prompt`
|
|
1372
|
+
new RegExp(`typeof\\s+import\\(\\s*${spec}\\s*\\)\\.${fn}\\b`, "s").test(source)
|
|
1373
|
+
);
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
const noNativeDialog: Rule = {
|
|
1377
|
+
name: "no-native-dialog",
|
|
1378
|
+
description:
|
|
1379
|
+
"DESIGN.md core mandate: no `window.confirm` / `window.prompt` / `window.alert`. The browser draws them outside the page (no stylesheet reaches them), they block the main thread, a browser can SUPPRESS a repeat dialog — after which the guard returns false and the action is silently refused — and a smoke cannot assert one. Use `confirm` / `guardWithConfirm` / `prompt` from `cursedbelt/react`, or render `ConfirmDialog` in-tree.",
|
|
1380
|
+
check(filePath, source) {
|
|
1381
|
+
const unix = filePath.replace(/\\/g, "/");
|
|
1382
|
+
// cursedbelt's own imperative wrappers are the replacement; they must be
|
|
1383
|
+
// able to name the thing they replace.
|
|
1384
|
+
if (/(^|\/)src\/react\/(confirm|prompt)\.tsx$/.test(unix)) return [];
|
|
1385
|
+
// A spec is not a shipped surface: its sources are fixtures (an XSS payload
|
|
1386
|
+
// string, a `describe('confirm() imperative')`), and the belt's own dialog
|
|
1387
|
+
// specs necessarily call the thing they test. Same carve-out `no-raw-data-table`
|
|
1388
|
+
// makes for test fixtures.
|
|
1389
|
+
if (/\.(spec|test)\.tsx?$/.test(unix)) return [];
|
|
1390
|
+
const raws = source.split("\n");
|
|
1391
|
+
// Scan the copy with comments AND string/template literals blanked: prose
|
|
1392
|
+
// above a call is not a call, and neither is `'<script>alert(1)</script>'`
|
|
1393
|
+
// inside a sanitiser's fixture. `raws` keeps the real text for the snippet
|
|
1394
|
+
// and the same-line opt-out.
|
|
1395
|
+
const scan = blankNonMarkupText(source).split("\n");
|
|
1396
|
+
const out: Violation[] = [];
|
|
1397
|
+
for (const [i, line] of scan.entries()) {
|
|
1398
|
+
const match = NATIVE_DIALOG_RE.exec(line);
|
|
1399
|
+
if (!match) continue;
|
|
1400
|
+
const fn = match[1] as string;
|
|
1401
|
+
// A bare `confirm(`/`prompt(` in a file that imports cursedbelt's is the
|
|
1402
|
+
// belt one — that is the whole point of the migration.
|
|
1403
|
+
const qualified = /(?:window|globalThis|self)\s*\??\.\s*$/.test(
|
|
1404
|
+
line.slice(0, match.index + match[0].length - fn.length - 1),
|
|
1405
|
+
);
|
|
1406
|
+
if (!qualified && importsBeltDialog(source, fn)) continue;
|
|
1407
|
+
const raw = raws[i] ?? "";
|
|
1408
|
+
if (NATIVE_DIALOG_IGNORE_RE.test(raw)) continue;
|
|
1409
|
+
if (NATIVE_DIALOG_IGNORE_RE.test(blockAbove(raws, i + 1))) continue;
|
|
1410
|
+
out.push({ file: filePath, line: i + 1, snippet: raw.trim().slice(0, 160) });
|
|
1411
|
+
}
|
|
1412
|
+
return out;
|
|
1413
|
+
},
|
|
1414
|
+
};
|
|
1415
|
+
|
|
1416
|
+
// ── no-fast-tooltip ────────────────────────────────────────────────────────────
|
|
1417
|
+
// The owner, 2026-09-08:
|
|
1418
|
+
//
|
|
1419
|
+
// *"tooltips on apps like roms are showing up way too fast for items like the pause
|
|
1420
|
+
// unpause button. Make them delay at least 500ms via cb and any apps that are
|
|
1421
|
+
// adjusting them to be faster when they shouldn't be faster … Generally users get
|
|
1422
|
+
// used to what the buttons do and never try to use the tooltip again so I want it to
|
|
1423
|
+
// be hard to accidentally have them popup and block part of the screen."*
|
|
1424
|
+
//
|
|
1425
|
+
// The WHY is `cursedbelt/src/react/lib/hoverIntent.ts`; this is the WHETHER. It exists
|
|
1426
|
+
// because "how fast does the hint appear" is a number, and a number is the single
|
|
1427
|
+
// easiest thing in a codebase to re-tune locally: the belt's own default had already
|
|
1428
|
+
// drifted to three different answers (Tooltip 120, HoverCard 300, InfoHint none at all)
|
|
1429
|
+
// with nothing anywhere reporting it, and the only symptom was the owner noticing on one
|
|
1430
|
+
// app, months later, that bubbles kept landing on top of what he was aiming at.
|
|
1431
|
+
//
|
|
1432
|
+
// Two shapes are flagged:
|
|
1433
|
+
// 1. A hover-open delay written as a numeric LITERAL below the floor — `delayDuration={120}`,
|
|
1434
|
+
// `openDelay={300}`, `delay: { open: 0 }`, `tooltipDelay: 200`. Passing the exported
|
|
1435
|
+
// constant (`HOVER_HINT_DELAY_MS`, or `HOVER_HINT_INSTANT_MS` for a tap-to-open
|
|
1436
|
+
// disclosure, which is a deliberate REQUEST rather than an accident) is the intended
|
|
1437
|
+
// spelling and is never matched — which is what the constants are exported for.
|
|
1438
|
+
// 2. A direct `@radix-ui/react-tooltip` / `@radix-ui/react-hover-card` import outside
|
|
1439
|
+
// cursedbelt's own two implementation files. That is the other half of the same
|
|
1440
|
+
// drift and the half a delay-value scan cannot see: an app that builds its own
|
|
1441
|
+
// Radix tooltip does not have a delay to lower, it simply inherits Radix's and is
|
|
1442
|
+
// no longer reachable from the belt at all. `no-local-reimplementation` does not
|
|
1443
|
+
// catch it, because that rule fires on a declared NAME and this needs none.
|
|
1444
|
+
//
|
|
1445
|
+
// Both take the standard per-line opt-out for a genuine exception — the owner's
|
|
1446
|
+
// "unless one has a special reason to show faster":
|
|
1447
|
+
//
|
|
1448
|
+
// // guardrails-ignore no-fast-tooltip: <why this one must appear sooner>
|
|
1449
|
+
const HOVER_DELAY_FLOOR_MS = 500;
|
|
1450
|
+
/** `delayDuration={120}` / `openDelay = 300` / `delay: { open: 0 }` / `tooltipDelay: 200`.
|
|
1451
|
+
* Only a NUMERIC literal — an identifier is the constant and is the point. */
|
|
1452
|
+
const HOVER_DELAY_RE =
|
|
1453
|
+
/\b(delayDuration|openDelay|hoverDelay|tooltipDelay|hintDelay)\b\s*(?:=\s*\{|[=:])\s*(\d+)/g;
|
|
1454
|
+
/** The `open:` member of a floating-ui `delay: { open, close }` pair. */
|
|
1455
|
+
const HOVER_DELAY_OPEN_RE = /\bdelay\s*:\s*\{[^}]*?\bopen\s*:\s*(\d+)/g;
|
|
1456
|
+
const RAW_HOVER_IMPORT_RE = /from\s*['"]@radix-ui\/react-(tooltip|hover-card)['"]/g;
|
|
1457
|
+
const FAST_TOOLTIP_IGNORE_RE = /guardrails-ignore\s+no-fast-tooltip\s*:/;
|
|
1458
|
+
/** cursedbelt's own Radix wrappers — they ARE the seam, so they necessarily import it.
|
|
1459
|
+
* Matched on the path tail so the rule behaves identically from either repo's root. */
|
|
1460
|
+
const HOVER_IMPL_FILES =
|
|
1461
|
+
/(^|\/)src\/react\/components\/(TooltipImpl|HoverCard|InfoHint)\.tsx$/;
|
|
1462
|
+
|
|
1463
|
+
const noFastTooltip: Rule = {
|
|
1464
|
+
name: "no-fast-tooltip",
|
|
1465
|
+
description: `DESIGN.md §4 / hoverIntent.ts: a hover-only hint must rest ${HOVER_DELAY_FLOOR_MS}ms before it opens — import cursedbelt's HOVER_HINT_DELAY_MS instead of writing a literal, and build hover hints from cursedbelt's Tooltip/HoverCard rather than importing Radix directly. A tap-to-open disclosure is the documented exception (HOVER_HINT_INSTANT_MS).`,
|
|
1466
|
+
check(filePath, source) {
|
|
1467
|
+
const unix = filePath.replace(/\\/g, "/");
|
|
1468
|
+
// A spec's fixtures necessarily write the bad number in order to assert on it —
|
|
1469
|
+
// the same carve-out `no-raw-data-table` and `no-native-dialog` make.
|
|
1470
|
+
if (/\.(spec|test)\.[tj]sx?$/.test(unix)) return [];
|
|
1471
|
+
const isBeltImpl = HOVER_IMPL_FILES.test(unix);
|
|
1472
|
+
const lines = source.split("\n");
|
|
1473
|
+
// Comments AND string bodies blanked, for the numeric scan: a delay quoted in
|
|
1474
|
+
// prose above the code is not a delay.
|
|
1475
|
+
const scannable = blankNonMarkupText(source);
|
|
1476
|
+
// Comments only, for the import scan — a module specifier IS a string literal, so
|
|
1477
|
+
// blanking strings would blank the very thing being looked for.
|
|
1478
|
+
const codeOnly = blankComments(source);
|
|
1479
|
+
const out: Violation[] = [];
|
|
1480
|
+
|
|
1481
|
+
const flag = (index: number) => {
|
|
1482
|
+
const line = lineOf(source, index);
|
|
1483
|
+
const raw = lines[line - 1] ?? "";
|
|
1484
|
+
if (FAST_TOOLTIP_IGNORE_RE.test(raw)) return;
|
|
1485
|
+
const windowStart = Math.max(0, line - 3);
|
|
1486
|
+
if (FAST_TOOLTIP_IGNORE_RE.test(lines.slice(windowStart, line).join("\n"))) return;
|
|
1487
|
+
out.push({ file: filePath, line, snippet: raw.trim().slice(0, 160) });
|
|
1488
|
+
};
|
|
1489
|
+
|
|
1490
|
+
for (const re of [HOVER_DELAY_RE, HOVER_DELAY_OPEN_RE]) {
|
|
1491
|
+
re.lastIndex = 0;
|
|
1492
|
+
for (const match of scannable.matchAll(re)) {
|
|
1493
|
+
const ms = Number(match[match.length - 1]);
|
|
1494
|
+
if (!Number.isFinite(ms) || ms >= HOVER_DELAY_FLOOR_MS) continue;
|
|
1495
|
+
flag(match.index ?? 0);
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
if (!isBeltImpl) {
|
|
1500
|
+
RAW_HOVER_IMPORT_RE.lastIndex = 0;
|
|
1501
|
+
for (const match of codeOnly.matchAll(RAW_HOVER_IMPORT_RE)) flag(match.index ?? 0);
|
|
1502
|
+
}
|
|
1503
|
+
return out;
|
|
1504
|
+
},
|
|
1505
|
+
};
|
|
1506
|
+
|
|
1507
|
+
export const RULES: Record<string, Rule> = {
|
|
1508
|
+
[noRawActionButton.name]: noRawActionButton,
|
|
1509
|
+
[noRawOverflow.name]: noRawOverflow,
|
|
1510
|
+
[noRawInputs.name]: noRawInputs,
|
|
1511
|
+
[noHardcodedColors.name]: noHardcodedColors,
|
|
1512
|
+
[noRawModalFooter.name]: noRawModalFooter,
|
|
1513
|
+
[noUnguardedEditingModal.name]: noUnguardedEditingModal,
|
|
1514
|
+
[controlHeightTokens.name]: controlHeightTokens,
|
|
1515
|
+
[noRawZindex.name]: noRawZindex,
|
|
1516
|
+
[noRawDataTable.name]: noRawDataTable,
|
|
1517
|
+
[noTailwindPalette.name]: noTailwindPalette,
|
|
1518
|
+
[noRawTitleAttr.name]: noRawTitleAttr,
|
|
1519
|
+
[noLocalReimplementation.name]: noLocalReimplementation,
|
|
1520
|
+
[microTypographyFloor.name]: microTypographyFloor,
|
|
1521
|
+
[choiceNeedsEmptyState.name]: choiceNeedsEmptyState,
|
|
1522
|
+
[noSelectAsActionMenu.name]: noSelectAsActionMenu,
|
|
1523
|
+
[noNativeDialog.name]: noNativeDialog,
|
|
1524
|
+
[noFastTooltip.name]: noFastTooltip,
|
|
1525
|
+
};
|
|
1526
|
+
|
|
1527
|
+
// ── File-scoped allowances ──────────────────────────────────────────────────────
|
|
1528
|
+
// `guardrails-file-allow <rule>[,<rule>...]: <category> — <reason>` — a deliberate,
|
|
1529
|
+
// reviewable, header-only, category-tagged exemption for the rare file whose whole
|
|
1530
|
+
// premise defeats a rule (a canvas/WebGL art surface, or a design-system-agnostic
|
|
1531
|
+
// embeddable primitive). See the header block for the full rationale + abuse controls.
|
|
1532
|
+
const FILE_ALLOW_MAX_LINE = 40; // must appear in the header to be honored
|
|
1533
|
+
const FILE_ALLOW_MIN_REASON = 12; // a token reason isn't good enough
|
|
1534
|
+
export const ALLOWED_FILE_CATEGORIES = new Set(["canvas-art", "embeddable-primitive"]);
|
|
1535
|
+
const FILE_ALLOW_RE = /guardrails-file-allow\s+([a-z0-9,\s-]+?)\s*:\s*([a-z][a-z-]*)\b([^\n]*)/gi;
|
|
1536
|
+
|
|
1537
|
+
export interface FileAllow {
|
|
1538
|
+
rules: Set<string>;
|
|
1539
|
+
category: string;
|
|
1540
|
+
reason: string;
|
|
1541
|
+
line: number;
|
|
1542
|
+
}
|
|
1543
|
+
|
|
1544
|
+
/** Parse honored file-level allowances from a source file's header, plus warnings for any
|
|
1545
|
+
* malformed/unrecognized directive (which is NOT honored — its violations still fire). */
|
|
1546
|
+
export function parseFileAllows(source: string): { allows: FileAllow[]; warnings: string[] } {
|
|
1547
|
+
const allows: FileAllow[] = [];
|
|
1548
|
+
const warnings: string[] = [];
|
|
1549
|
+
// Neutralize `//` line-comment markers (→ same-length spaces so indices/line numbers stay
|
|
1550
|
+
// valid) so a directive that wraps across several comment lines still matches: the regex's
|
|
1551
|
+
// `\s*` can then bridge the newline between the rule list, the `:`, and the category.
|
|
1552
|
+
const head = source
|
|
1553
|
+
.split("\n")
|
|
1554
|
+
.slice(0, FILE_ALLOW_MAX_LINE)
|
|
1555
|
+
.join("\n")
|
|
1556
|
+
.replace(/\/\//g, " ");
|
|
1557
|
+
FILE_ALLOW_RE.lastIndex = 0;
|
|
1558
|
+
for (const m of head.matchAll(FILE_ALLOW_RE)) {
|
|
1559
|
+
const line = lineOf(source, m.index ?? 0);
|
|
1560
|
+
const rules = new Set(
|
|
1561
|
+
m[1]
|
|
1562
|
+
.split(",")
|
|
1563
|
+
.map((s) => s.trim())
|
|
1564
|
+
.filter(Boolean),
|
|
1565
|
+
);
|
|
1566
|
+
const category = m[2].toLowerCase();
|
|
1567
|
+
const reason = (m[3] ?? "").replace(/^[\s—–-]+/, "").trim();
|
|
1568
|
+
const unknownRules = [...rules].filter((r) => !(r in RULES));
|
|
1569
|
+
if (!ALLOWED_FILE_CATEGORIES.has(category)) {
|
|
1570
|
+
warnings.push(
|
|
1571
|
+
`line ${line}: unrecognized category "${category}" — must be one of ${[...ALLOWED_FILE_CATEGORIES].join(", ")}; allowance ignored`,
|
|
1572
|
+
);
|
|
1573
|
+
continue;
|
|
1574
|
+
}
|
|
1575
|
+
if (rules.size === 0 || unknownRules.length > 0) {
|
|
1576
|
+
warnings.push(
|
|
1577
|
+
`line ${line}: names unknown rule(s) [${unknownRules.join(", ")}] — must be from ${Object.keys(RULES).join(", ")}; allowance ignored`,
|
|
1578
|
+
);
|
|
1579
|
+
continue;
|
|
1580
|
+
}
|
|
1581
|
+
if (reason.length < FILE_ALLOW_MIN_REASON) {
|
|
1582
|
+
warnings.push(`line ${line}: reason too short — explain why this file qualifies; allowance ignored`);
|
|
1583
|
+
continue;
|
|
1584
|
+
}
|
|
1585
|
+
allows.push({ rules, category, reason, line });
|
|
1586
|
+
}
|
|
1587
|
+
return { allows, warnings };
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
export type { Rule, Violation };
|
|
1591
|
+
|
|
1592
|
+
// ── Ratchet baseline ────────────────────────────────────────────────────────────
|
|
1593
|
+
// `guardrails-baseline.json` holds a checked-in violation-count ceiling per
|
|
1594
|
+
// `<scope>` (the calling package, passed via `--scope <name>`) and rule. A run
|
|
1595
|
+
// FAILS only when a rule's CURRENT count exceeds its baseline — this is what lets
|
|
1596
|
+
// all four rules be blocking immediately without demanding a full pre-existing-
|
|
1597
|
+
// violation cleanup in one pass: a scope that's already at 0 stays zero-tolerance,
|
|
1598
|
+
// while a scope with known pre-existing violations can ratchet down over time.
|
|
1599
|
+
// When the current count drops below the baseline, the run still passes AND prints
|
|
1600
|
+
// a suggested lower baseline (never auto-written — a human commits the tightened
|
|
1601
|
+
// number deliberately). No `--scope` (e.g. an ad-hoc manual invocation) defaults
|
|
1602
|
+
// every rule's baseline to 0.
|
|
1603
|
+
const BASELINE_PATH = join(import.meta.dir, "guardrails-baseline.json");
|
|
1604
|
+
|
|
1605
|
+
type Baseline = Record<string, Record<string, number>>;
|
|
1606
|
+
|
|
1607
|
+
function loadBaseline(): Baseline {
|
|
1608
|
+
if (!existsSync(BASELINE_PATH)) return {};
|
|
1609
|
+
try {
|
|
1610
|
+
return JSON.parse(readFileSync(BASELINE_PATH, "utf8"));
|
|
1611
|
+
} catch {
|
|
1612
|
+
console.error(`⚠ ${BASELINE_PATH}: invalid JSON — treating as empty (every rule defaults to a 0 baseline)`);
|
|
1613
|
+
return {};
|
|
1614
|
+
}
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
function main() {
|
|
1618
|
+
const [ruleArg, ...rest] = process.argv.slice(2);
|
|
1619
|
+
const ruleNames = ruleArg ? ruleArg.split(",") : [];
|
|
1620
|
+
const rules = ruleNames.map((n) => RULES[n]).filter((r): r is Rule => Boolean(r));
|
|
1621
|
+
if (ruleNames.length === 0 || rules.length !== ruleNames.length) {
|
|
1622
|
+
console.error(
|
|
1623
|
+
`Usage: bun run guardrailsEnforce.ts <rule>[,<rule>...] [--scope <name>] [--reimplements <Name,…>] [root...]\nKnown rules: ${Object.keys(RULES).join(", ")}`,
|
|
1624
|
+
);
|
|
1625
|
+
process.exit(2);
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
let scope: string | undefined;
|
|
1629
|
+
const roots: string[] = [];
|
|
1630
|
+
for (let i = 0; i < rest.length; i++) {
|
|
1631
|
+
if (rest[i] === "--scope") {
|
|
1632
|
+
scope = rest[i + 1];
|
|
1633
|
+
i++;
|
|
1634
|
+
continue;
|
|
1635
|
+
}
|
|
1636
|
+
// The inventoried component names `no-local-reimplementation` looks for. Passed
|
|
1637
|
+
// in rather than hardcoded so the list lives beside the inventory it comes from
|
|
1638
|
+
// (fleet/standards/CURSEDBELT_INVENTORY.md) — see that rule's header.
|
|
1639
|
+
if (rest[i] === "--reimplements") {
|
|
1640
|
+
setReimplementedNames((rest[i + 1] ?? "").split(",").map((n) => n.trim()).filter(Boolean));
|
|
1641
|
+
i++;
|
|
1642
|
+
continue;
|
|
1643
|
+
}
|
|
1644
|
+
roots.push(rest[i]);
|
|
1645
|
+
}
|
|
1646
|
+
const baseline = loadBaseline();
|
|
1647
|
+
const scopeBaseline = (scope && baseline[scope]) || {};
|
|
1648
|
+
|
|
1649
|
+
const searchRoots = roots.length > 0 ? roots : ["."];
|
|
1650
|
+
const files: string[] = [];
|
|
1651
|
+
for (const root of searchRoots) {
|
|
1652
|
+
try {
|
|
1653
|
+
if (statSync(root).isDirectory()) walk(root, files);
|
|
1654
|
+
else files.push(root);
|
|
1655
|
+
} catch {
|
|
1656
|
+
// missing root — skip (keeps the rule usable across packages that don't have
|
|
1657
|
+
// every directory, e.g. a plugin package with no `apps/` dir)
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
const sourcesByFile = new Map<string, string>();
|
|
1662
|
+
for (const file of files) sourcesByFile.set(file, readFileSync(file, "utf8"));
|
|
1663
|
+
|
|
1664
|
+
// Parse file-scoped allowances once per file; surface malformed directives loudly.
|
|
1665
|
+
const allowsByFile = new Map<string, FileAllow[]>();
|
|
1666
|
+
const honoredAllows: { file: string; allow: FileAllow }[] = [];
|
|
1667
|
+
for (const [file, source] of sourcesByFile) {
|
|
1668
|
+
const { allows, warnings } = parseFileAllows(source);
|
|
1669
|
+
if (allows.length > 0) allowsByFile.set(file, allows);
|
|
1670
|
+
for (const w of warnings) {
|
|
1671
|
+
console.error(`⚠ ${relative(process.cwd(), file)}: guardrails-file-allow ${w}`);
|
|
1672
|
+
}
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
let anyExceededBaseline = false;
|
|
1676
|
+
const lowerableBaselines: Record<string, number> = {};
|
|
1677
|
+
for (const rule of rules) {
|
|
1678
|
+
const violations: Violation[] = [];
|
|
1679
|
+
for (const [file, source] of sourcesByFile) {
|
|
1680
|
+
// Honor a file-scoped allowance for this rule (auditably — recorded + printed below).
|
|
1681
|
+
const allow = allowsByFile.get(file)?.find((a) => a.rules.has(rule.name));
|
|
1682
|
+
if (allow) {
|
|
1683
|
+
honoredAllows.push({ file, allow });
|
|
1684
|
+
continue;
|
|
1685
|
+
}
|
|
1686
|
+
violations.push(...rule.check(file, source));
|
|
1687
|
+
}
|
|
1688
|
+
|
|
1689
|
+
const allowedByBaseline = scopeBaseline[rule.name] ?? 0;
|
|
1690
|
+
if (violations.length <= allowedByBaseline) {
|
|
1691
|
+
console.log(
|
|
1692
|
+
`✓ ${rule.name}: ${violations.length} violation(s) across ${files.length} files (baseline allows ${allowedByBaseline})`,
|
|
1693
|
+
);
|
|
1694
|
+
if (violations.length < allowedByBaseline) {
|
|
1695
|
+
lowerableBaselines[rule.name] = violations.length;
|
|
1696
|
+
}
|
|
1697
|
+
continue;
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1700
|
+
anyExceededBaseline = true;
|
|
1701
|
+
console.error(
|
|
1702
|
+
`✗ ${rule.name}: ${violations.length} violation(s) — exceeds baseline of ${allowedByBaseline}\n${rule.description}\n`,
|
|
1703
|
+
);
|
|
1704
|
+
for (const v of violations) {
|
|
1705
|
+
console.error(` ${relative(process.cwd(), v.file)}:${v.line} ${v.snippet}`);
|
|
1706
|
+
}
|
|
1707
|
+
console.error(
|
|
1708
|
+
`\nFix the violation, or opt out with a "guardrails-ignore ${rule.name}: <reason>" comment\n` +
|
|
1709
|
+
`(see the header of guardrailsEnforce.ts for the exact convention).\n`,
|
|
1710
|
+
);
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1713
|
+
if (Object.keys(lowerableBaselines).length > 0 && scope) {
|
|
1714
|
+
console.log(`\nℹ baseline could be lowered for scope "${scope}" in ${relative(process.cwd(), BASELINE_PATH)}:`);
|
|
1715
|
+
for (const [name, count] of Object.entries(lowerableBaselines)) {
|
|
1716
|
+
console.log(` "${name}": ${scopeBaseline[name] ?? 0} → ${count}`);
|
|
1717
|
+
}
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
// Audit trail: every honored file-scoped allowance is printed once (deduped across the
|
|
1721
|
+
// rules it covers), so these stay few and visible in review rather than silently
|
|
1722
|
+
// suppressing whole files.
|
|
1723
|
+
const uniqueAllows = new Map<string, { file: string; allow: FileAllow }>();
|
|
1724
|
+
for (const entry of honoredAllows) {
|
|
1725
|
+
uniqueAllows.set(`${entry.file}:${entry.allow.line}`, entry);
|
|
1726
|
+
}
|
|
1727
|
+
if (uniqueAllows.size > 0) {
|
|
1728
|
+
console.log(
|
|
1729
|
+
`\nℹ ${uniqueAllows.size} file-scoped allowance(s) honored (guardrails-file-allow):`,
|
|
1730
|
+
);
|
|
1731
|
+
for (const { file, allow } of uniqueAllows.values()) {
|
|
1732
|
+
console.log(
|
|
1733
|
+
` ${relative(process.cwd(), file)}:${allow.line} [${[...allow.rules].join(",")}] ${allow.category} — ${allow.reason}`,
|
|
1734
|
+
);
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
|
|
1738
|
+
process.exit(anyExceededBaseline ? 1 : 0);
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
if (import.meta.main) main();
|