@buoy-gg/images 7.0.14 → 7.0.15
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/lib/commonjs/capture/actions.js +15 -0
- package/lib/commonjs/capture/actions.js.map +1 -1
- package/lib/commonjs/capture/install.js +5 -1
- package/lib/commonjs/capture/install.js.map +1 -1
- package/lib/commonjs/capture/overrides.js +70 -10
- package/lib/commonjs/capture/overrides.js.map +1 -1
- package/lib/commonjs/capture/savings.js +16 -0
- package/lib/commonjs/capture/savings.js.map +1 -1
- package/lib/commonjs/components/ImageDetail.js +11 -1
- package/lib/commonjs/components/ImageDetail.js.map +1 -1
- package/lib/commonjs/components/ImagesModal.js +103 -38
- package/lib/commonjs/components/ImagesModal.js.map +1 -1
- package/lib/commonjs/index.js +26 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/remote.js +42 -0
- package/lib/commonjs/remote.js.map +1 -0
- package/lib/commonjs/state.js +5 -1
- package/lib/commonjs/state.js.map +1 -1
- package/lib/commonjs/store/imageEventStore.js +79 -1
- package/lib/commonjs/store/imageEventStore.js.map +1 -1
- package/lib/commonjs/sync/imagesSyncAdapter.js.map +1 -1
- package/lib/module/capture/actions.js +15 -0
- package/lib/module/capture/actions.js.map +1 -1
- package/lib/module/capture/install.js +5 -1
- package/lib/module/capture/install.js.map +1 -1
- package/lib/module/capture/overrides.js +70 -10
- package/lib/module/capture/overrides.js.map +1 -1
- package/lib/module/capture/savings.js +16 -0
- package/lib/module/capture/savings.js.map +1 -1
- package/lib/module/components/ImageDetail.js +13 -3
- package/lib/module/components/ImageDetail.js.map +1 -1
- package/lib/module/components/ImagesModal.js +104 -40
- package/lib/module/components/ImagesModal.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/remote.js +36 -0
- package/lib/module/remote.js.map +1 -0
- package/lib/module/state.js +5 -1
- package/lib/module/state.js.map +1 -1
- package/lib/module/store/imageEventStore.js +76 -1
- package/lib/module/store/imageEventStore.js.map +1 -1
- package/lib/module/sync/imagesSyncAdapter.js.map +1 -1
- package/lib/typescript/capture/actions.d.ts.map +1 -1
- package/lib/typescript/capture/install.d.ts.map +1 -1
- package/lib/typescript/capture/overrides.d.ts.map +1 -1
- package/lib/typescript/capture/savings.d.ts.map +1 -1
- package/lib/typescript/components/ImageDetail.d.ts.map +1 -1
- package/lib/typescript/components/ImagesModal.d.ts +9 -1
- package/lib/typescript/components/ImagesModal.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +5 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/remote.d.ts +16 -0
- package/lib/typescript/remote.d.ts.map +1 -0
- package/lib/typescript/state.d.ts +9 -1
- package/lib/typescript/state.d.ts.map +1 -1
- package/lib/typescript/store/imageEventStore.d.ts +15 -1
- package/lib/typescript/store/imageEventStore.d.ts.map +1 -1
- package/lib/typescript/sync/imagesSyncAdapter.d.ts +3 -70
- package/lib/typescript/sync/imagesSyncAdapter.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +53 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/capture/actions.ts +9 -0
- package/src/capture/install.ts +5 -1
- package/src/capture/overrides.ts +59 -9
- package/src/capture/savings.ts +11 -0
- package/src/components/ImageDetail.tsx +12 -2
- package/src/components/ImagesModal.tsx +107 -39
- package/src/index.tsx +12 -0
- package/src/remote.ts +42 -0
- package/src/state.ts +16 -1
- package/src/store/imageEventStore.ts +76 -2
- package/src/sync/imagesSyncAdapter.ts +2 -2
- package/src/types.ts +43 -0
|
@@ -7,14 +7,15 @@
|
|
|
7
7
|
* instead of silently empty.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { useState } from "react";
|
|
10
|
+
import { useEffect, useState } from "react";
|
|
11
11
|
import { FlatList, StyleSheet, Text, View } from "react-native";
|
|
12
12
|
import { JsModal, macOSColors } from "@buoy-gg/shared-ui";
|
|
13
13
|
import { getCaptureStatus, installImageCapture } from "../capture/install";
|
|
14
14
|
import { getGlobalModes } from "../capture/overrides";
|
|
15
15
|
import { formatRecordMarkdown, formatRegistryMarkdown } from "../export";
|
|
16
16
|
import { useImageRecords } from "../hooks/useImageRecords";
|
|
17
|
-
import {
|
|
17
|
+
import { remoteImagesDispatch } from "../remote";
|
|
18
|
+
import { clearRecords, getRecord, updateRecord } from "../store/imageEventStore";
|
|
18
19
|
import { ImageDetail } from "./ImageDetail";
|
|
19
20
|
import { ImageDetailFooter } from "./ImageDetailFooter";
|
|
20
21
|
import { ImageRow } from "./ImageRow";
|
|
@@ -58,7 +59,8 @@ export function ImagesModal({
|
|
|
58
59
|
onClose,
|
|
59
60
|
onBack,
|
|
60
61
|
onMinimize,
|
|
61
|
-
persistenceKey
|
|
62
|
+
persistenceKey,
|
|
63
|
+
inline = false
|
|
62
64
|
}) {
|
|
63
65
|
// Safety net: ensures capture is live even without the early register
|
|
64
66
|
// import (expo-image capture is timing-immune, so this still gets most data).
|
|
@@ -70,6 +72,28 @@ export function ImagesModal({
|
|
|
70
72
|
const [selectedId, setSelectedId] = useState(null);
|
|
71
73
|
const selected = selectedId != null ? getRecord(selectedId) : undefined;
|
|
72
74
|
|
|
75
|
+
// Mirror mode: the synced wire records omit errorHeaders (detail-only data)
|
|
76
|
+
// — pull them from the device the first time a failed record is opened.
|
|
77
|
+
const wantHeadersFor = selected?.status === "error" && selected.errorHeaders == null ? selected.id : null;
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
const remote = remoteImagesDispatch();
|
|
80
|
+
if (wantHeadersFor == null || !remote) return;
|
|
81
|
+
let cancelled = false;
|
|
82
|
+
remote("getDetail", {
|
|
83
|
+
id: wantHeadersFor
|
|
84
|
+
}).then(detail => {
|
|
85
|
+
if (cancelled) return;
|
|
86
|
+
const headers = detail?.errorHeaders;
|
|
87
|
+
// `{}` (not undefined) so a headerless error doesn't refetch forever.
|
|
88
|
+
updateRecord(wantHeadersFor, {
|
|
89
|
+
errorHeaders: headers ?? {}
|
|
90
|
+
});
|
|
91
|
+
}).catch(() => {});
|
|
92
|
+
return () => {
|
|
93
|
+
cancelled = true;
|
|
94
|
+
};
|
|
95
|
+
}, [wantHeadersFor]);
|
|
96
|
+
|
|
73
97
|
// Stepping is relative to the live list (newest first): previous = newer.
|
|
74
98
|
const selectedIndex = selected ? records.findIndex(r => r.id === selected.id) : -1;
|
|
75
99
|
const stepTo = index => {
|
|
@@ -81,6 +105,55 @@ export function ImagesModal({
|
|
|
81
105
|
// insights + table) in the list. The shared ToolbarCopyButton resolves this
|
|
82
106
|
// lazily on press and handles clipboard + feedback + gating.
|
|
83
107
|
const getReport = () => selected ? formatRecordMarkdown(selected) : formatRegistryMarkdown(records, stats, computeInsights(records), getCaptureStatus(), getGlobalModes());
|
|
108
|
+
const headerContent = /*#__PURE__*/_jsx(ImagesHeader, {
|
|
109
|
+
stats: stats,
|
|
110
|
+
detailOpen: selected != null,
|
|
111
|
+
detailIndex: selectedIndex,
|
|
112
|
+
detailTotal: records.length,
|
|
113
|
+
onCloseDetail: () => setSelectedId(null),
|
|
114
|
+
onClear: clearRecords,
|
|
115
|
+
getReport: getReport,
|
|
116
|
+
onBack: onBack
|
|
117
|
+
});
|
|
118
|
+
const body = selected ? /*#__PURE__*/_jsxs(View, {
|
|
119
|
+
style: styles.detailContainer,
|
|
120
|
+
children: [/*#__PURE__*/_jsx(ImageDetail, {
|
|
121
|
+
record: selected
|
|
122
|
+
}), /*#__PURE__*/_jsx(ImageDetailFooter, {
|
|
123
|
+
record: selected,
|
|
124
|
+
hasPrevious: selectedIndex > 0,
|
|
125
|
+
hasNext: selectedIndex >= 0 && selectedIndex < records.length - 1,
|
|
126
|
+
onPrevious: () => stepTo(selectedIndex - 1),
|
|
127
|
+
onNext: () => stepTo(selectedIndex + 1)
|
|
128
|
+
}, selected.id)]
|
|
129
|
+
}) : /*#__PURE__*/_jsxs(View, {
|
|
130
|
+
style: styles.listContainer,
|
|
131
|
+
children: [/*#__PURE__*/_jsx(InsightsBar, {
|
|
132
|
+
insights: computeInsights(records)
|
|
133
|
+
}), /*#__PURE__*/_jsx(CaptureNotice, {}), /*#__PURE__*/_jsx(FlatList, {
|
|
134
|
+
data: records,
|
|
135
|
+
keyExtractor: item => String(item.id),
|
|
136
|
+
renderItem: ({
|
|
137
|
+
item
|
|
138
|
+
}) => /*#__PURE__*/_jsx(ImageRow, {
|
|
139
|
+
record: item,
|
|
140
|
+
onPress: setSelectedId
|
|
141
|
+
}),
|
|
142
|
+
ListEmptyComponent: /*#__PURE__*/_jsx(EmptyState, {})
|
|
143
|
+
}), /*#__PURE__*/_jsx(ImagesListFooter, {})]
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
// The ONLY difference between the phone and the desktop dashboard is which
|
|
147
|
+
// shell the header and body go in. Everything above this is shared.
|
|
148
|
+
if (inline) {
|
|
149
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
150
|
+
style: styles.inlineRoot,
|
|
151
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
152
|
+
style: styles.inlineHeader,
|
|
153
|
+
children: headerContent
|
|
154
|
+
}), body]
|
|
155
|
+
});
|
|
156
|
+
}
|
|
84
157
|
return /*#__PURE__*/_jsx(JsModal, {
|
|
85
158
|
visible: visible,
|
|
86
159
|
onClose: onClose,
|
|
@@ -88,50 +161,41 @@ export function ImagesModal({
|
|
|
88
161
|
persistenceKey: persistenceKey,
|
|
89
162
|
header: {
|
|
90
163
|
showToggleButton: true,
|
|
91
|
-
customContent:
|
|
92
|
-
stats: stats,
|
|
93
|
-
detailOpen: selected != null,
|
|
94
|
-
detailIndex: selectedIndex,
|
|
95
|
-
detailTotal: records.length,
|
|
96
|
-
onCloseDetail: () => setSelectedId(null),
|
|
97
|
-
onClear: clearRecords,
|
|
98
|
-
getReport: getReport,
|
|
99
|
-
onBack: onBack
|
|
100
|
-
})
|
|
164
|
+
customContent: headerContent
|
|
101
165
|
},
|
|
102
166
|
enablePersistence: true,
|
|
103
167
|
initialMode: "bottomSheet",
|
|
104
168
|
disableScrollWrapper: true,
|
|
105
|
-
children:
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}), /*#__PURE__*/_jsx(CaptureNotice, {}), /*#__PURE__*/_jsx(FlatList, {
|
|
121
|
-
data: records,
|
|
122
|
-
keyExtractor: item => String(item.id),
|
|
123
|
-
renderItem: ({
|
|
124
|
-
item
|
|
125
|
-
}) => /*#__PURE__*/_jsx(ImageRow, {
|
|
126
|
-
record: item,
|
|
127
|
-
onPress: setSelectedId
|
|
128
|
-
}),
|
|
129
|
-
ListEmptyComponent: /*#__PURE__*/_jsx(EmptyState, {})
|
|
130
|
-
}), /*#__PURE__*/_jsx(ImagesListFooter, {})]
|
|
131
|
-
})
|
|
169
|
+
children: body
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* The same Images tool as `ImagesModal`, rendered INLINE for hosts that place
|
|
175
|
+
* tools in a panel rather than a modal (the desktop dashboard). Exists so
|
|
176
|
+
* there is exactly one implementation of the tool's header, list and detail.
|
|
177
|
+
*/
|
|
178
|
+
export function ImagesToolView(props = {}) {
|
|
179
|
+
return /*#__PURE__*/_jsx(ImagesModal, {
|
|
180
|
+
...props,
|
|
181
|
+
inline: true,
|
|
182
|
+
visible: true,
|
|
183
|
+
onClose: () => {}
|
|
132
184
|
});
|
|
133
185
|
}
|
|
134
186
|
const styles = StyleSheet.create({
|
|
187
|
+
inlineRoot: {
|
|
188
|
+
flex: 1,
|
|
189
|
+
minHeight: 0,
|
|
190
|
+
backgroundColor: macOSColors.background.base
|
|
191
|
+
},
|
|
192
|
+
inlineHeader: {
|
|
193
|
+
paddingHorizontal: 12,
|
|
194
|
+
paddingVertical: 8,
|
|
195
|
+
borderBottomWidth: 1,
|
|
196
|
+
borderBottomColor: macOSColors.border.default,
|
|
197
|
+
backgroundColor: macOSColors.background.card
|
|
198
|
+
},
|
|
135
199
|
listContainer: {
|
|
136
200
|
flex: 1
|
|
137
201
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","FlatList","StyleSheet","Text","View","JsModal","macOSColors","getCaptureStatus","installImageCapture","getGlobalModes","formatRecordMarkdown","formatRegistryMarkdown","useImageRecords","clearRecords","getRecord","ImageDetail","ImageDetailFooter","ImageRow","ImagesHeader","ImagesListFooter","InsightsBar","computeInsights","jsx","_jsx","jsxs","_jsxs","CaptureNotice","status","notices","rnDecoratorTooLate","push","expoAvailable","rnDecoratorActive","length","style","styles","notice","children","map","n","noticeText","EmptyState","empty","emptyTitle","emptyText","ImagesModal","visible","onClose","onBack","onMinimize","persistenceKey","records","stats","selectedId","setSelectedId","selected","undefined","
|
|
1
|
+
{"version":3,"names":["useEffect","useState","FlatList","StyleSheet","Text","View","JsModal","macOSColors","getCaptureStatus","installImageCapture","getGlobalModes","formatRecordMarkdown","formatRegistryMarkdown","useImageRecords","remoteImagesDispatch","clearRecords","getRecord","updateRecord","ImageDetail","ImageDetailFooter","ImageRow","ImagesHeader","ImagesListFooter","InsightsBar","computeInsights","jsx","_jsx","jsxs","_jsxs","CaptureNotice","status","notices","rnDecoratorTooLate","push","expoAvailable","rnDecoratorActive","length","style","styles","notice","children","map","n","noticeText","EmptyState","empty","emptyTitle","emptyText","ImagesModal","visible","onClose","onBack","onMinimize","persistenceKey","inline","records","stats","selectedId","setSelectedId","selected","undefined","wantHeadersFor","errorHeaders","id","remote","cancelled","then","detail","headers","catch","selectedIndex","findIndex","r","stepTo","index","target","getReport","headerContent","detailOpen","detailIndex","detailTotal","onCloseDetail","onClear","body","detailContainer","record","hasPrevious","hasNext","onPrevious","onNext","listContainer","insights","data","keyExtractor","item","String","renderItem","onPress","ListEmptyComponent","inlineRoot","inlineHeader","header","showToggleButton","customContent","enablePersistence","initialMode","disableScrollWrapper","ImagesToolView","props","create","flex","minHeight","backgroundColor","background","base","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","default","card","margin","padding","borderRadius","semantic","warningBackground","gap","color","warning","fontSize","alignItems","text","primary","fontWeight","secondary","textAlign","lineHeight"],"sourceRoot":"../../../src","sources":["components/ImagesModal.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -61,6 +61,12 @@ export { formatRecordMarkdown, formatRegistryMarkdown } from "./export";
|
|
|
61
61
|
// =============================================================================
|
|
62
62
|
export { imagesSyncAdapter } from "./sync/imagesSyncAdapter";
|
|
63
63
|
|
|
64
|
+
// =============================================================================
|
|
65
|
+
// DASHBOARD MIRROR (Buoy Desktop renders ImagesToolView fed by these)
|
|
66
|
+
// =============================================================================
|
|
67
|
+
export { ImagesToolView } from "./components/ImagesModal";
|
|
68
|
+
export { disableImagesCapture, replaceImagesFromSnapshot } from "./store/imageEventStore";
|
|
69
|
+
export { setRemoteImagesHandler } from "./remote";
|
|
64
70
|
// =============================================================================
|
|
65
71
|
// STORE + HOOKS
|
|
66
72
|
// =============================================================================
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["imagesToolPreset","createImagesTool","ImagesRoot","ImagesModal","ImagesIcon","IMAGES_ICON_COLOR","installImageCapture","getCaptureStatus","hardReloadRecord","retryRecord","evictExpoDiskEntry","setOverride","clearOverride","getOverride","flashRecord","setNetworkMode","setBlankImages","getGlobalModes","setOverrideForAllMounted","clearAllOverrides","flashAllMounted","hardReloadAllMounted","proveSavings","computeInsights","insightChips","formatRecordMarkdown","formatRegistryMarkdown","imagesSyncAdapter","useImageRecords","clearRecords","getSnapshot","getImageRecords","subscribe","subscribeImageRecords","computeStats","oversizeFactor","estDecodedBytes","estWastedBytes"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,YAAY;;AAEnB;AACA;AACA;AACA,SAASA,gBAAgB,EAAEC,gBAAgB,QAAQ,UAAU;;AAE7D;AACA;AACA;AACA,SAASC,UAAU,QAAQ,yBAAyB;;AAEpD;AACA;AACA;AACA,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,UAAU,EAAEC,iBAAiB,QAAQ,yBAAyB;;AAEvE;AACA;AACA;AACA,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,mBAAmB;;AAEzE;AACA;AACA;AACA,SACEC,gBAAgB,EAChBC,WAAW,EACXC,kBAAkB,QACb,mBAAmB;AAG1B;AACA;AACA;AACA,SACEC,WAAW,EACXC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,cAAc,EACdC,wBAAwB,EACxBC,iBAAiB,EACjBC,eAAe,QACV,qBAAqB;AAC5B,SAASC,oBAAoB,QAAQ,mBAAmB;AAGxD;AACA;AACA;AACA,SAASC,YAAY,QAAQ,mBAAmB;AAEhD,SAASC,eAAe,EAAEC,YAAY,QAAQ,kBAAkB;AAChE,SAASC,oBAAoB,EAAEC,sBAAsB,QAAQ,UAAU;;AAEvE;AACA;AACA;AACA,SAASC,iBAAiB,QAAQ,0BAA0B;;AAE5D;AACA;AACA;AACA,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SACEC,YAAY,EACZC,WAAW,IAAIC,eAAe,EAC9BC,SAAS,IAAIC,qBAAqB,EAClCC,YAAY,EACZC,cAAc,EACdC,eAAe,EACfC,cAAc,QACT,yBAAyB;;AAEhC;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["imagesToolPreset","createImagesTool","ImagesRoot","ImagesModal","ImagesIcon","IMAGES_ICON_COLOR","installImageCapture","getCaptureStatus","hardReloadRecord","retryRecord","evictExpoDiskEntry","setOverride","clearOverride","getOverride","flashRecord","setNetworkMode","setBlankImages","getGlobalModes","setOverrideForAllMounted","clearAllOverrides","flashAllMounted","hardReloadAllMounted","proveSavings","computeInsights","insightChips","formatRecordMarkdown","formatRegistryMarkdown","imagesSyncAdapter","ImagesToolView","disableImagesCapture","replaceImagesFromSnapshot","setRemoteImagesHandler","useImageRecords","clearRecords","getSnapshot","getImageRecords","subscribe","subscribeImageRecords","computeStats","oversizeFactor","estDecodedBytes","estWastedBytes"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,YAAY;;AAEnB;AACA;AACA;AACA,SAASA,gBAAgB,EAAEC,gBAAgB,QAAQ,UAAU;;AAE7D;AACA;AACA;AACA,SAASC,UAAU,QAAQ,yBAAyB;;AAEpD;AACA;AACA;AACA,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,UAAU,EAAEC,iBAAiB,QAAQ,yBAAyB;;AAEvE;AACA;AACA;AACA,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,mBAAmB;;AAEzE;AACA;AACA;AACA,SACEC,gBAAgB,EAChBC,WAAW,EACXC,kBAAkB,QACb,mBAAmB;AAG1B;AACA;AACA;AACA,SACEC,WAAW,EACXC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,cAAc,EACdC,wBAAwB,EACxBC,iBAAiB,EACjBC,eAAe,QACV,qBAAqB;AAC5B,SAASC,oBAAoB,QAAQ,mBAAmB;AAGxD;AACA;AACA;AACA,SAASC,YAAY,QAAQ,mBAAmB;AAEhD,SAASC,eAAe,EAAEC,YAAY,QAAQ,kBAAkB;AAChE,SAASC,oBAAoB,EAAEC,sBAAsB,QAAQ,UAAU;;AAEvE;AACA;AACA;AACA,SAASC,iBAAiB,QAAQ,0BAA0B;;AAE5D;AACA;AACA;AACA,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SACEC,oBAAoB,EACpBC,yBAAyB,QACpB,yBAAyB;AAChC,SAASC,sBAAsB,QAAQ,UAAU;AAIjD;AACA;AACA;AACA,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SACEC,YAAY,EACZC,WAAW,IAAIC,eAAe,EAC9BC,SAAS,IAAIC,qBAAqB,EAClCC,YAAY,EACZC,cAAc,EACdC,eAAe,EACfC,cAAc,QACT,yBAAyB;;AAEhC;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Remote-dispatch seam for dashboard mirrors (Buoy Desktop).
|
|
5
|
+
*
|
|
6
|
+
* On device this stays null and every action in capture/ runs locally. A
|
|
7
|
+
* dashboard sets a handler that forwards the action name + params over the
|
|
8
|
+
* external-sync protocol to the SAME adapter actions the MCP uses
|
|
9
|
+
* (sync/imagesSyncAdapter.ts), so one action vocabulary serves phone UI,
|
|
10
|
+
* desktop UI, and LLM automation.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { imagesState } from "./state";
|
|
14
|
+
export function setRemoteImagesHandler(handler) {
|
|
15
|
+
imagesState().remoteDispatch = handler;
|
|
16
|
+
}
|
|
17
|
+
export function remoteImagesDispatch() {
|
|
18
|
+
return imagesState().remoteDispatch;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Coerce an adapter action's `{ ok, message }` reply into an ActionResult. */
|
|
22
|
+
export async function remoteActionResult(call) {
|
|
23
|
+
try {
|
|
24
|
+
const result = await call;
|
|
25
|
+
return {
|
|
26
|
+
ok: !!result?.ok,
|
|
27
|
+
message: String(result?.message ?? "")
|
|
28
|
+
};
|
|
29
|
+
} catch (error) {
|
|
30
|
+
return {
|
|
31
|
+
ok: false,
|
|
32
|
+
message: String(error?.message ?? error)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["imagesState","setRemoteImagesHandler","handler","remoteDispatch","remoteImagesDispatch","remoteActionResult","call","result","ok","message","String","error"],"sourceRoot":"../../src","sources":["remote.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,SAAS;AAQrC,OAAO,SAASC,sBAAsBA,CACpCC,OAAoC,EAC9B;EACNF,WAAW,CAAC,CAAC,CAACG,cAAc,GAAGD,OAAO;AACxC;AAEA,OAAO,SAASE,oBAAoBA,CAAA,EAAgC;EAClE,OAAOJ,WAAW,CAAC,CAAC,CAACG,cAAc;AACrC;;AAEA;AACA,OAAO,eAAeE,kBAAkBA,CACtCC,IAAsB,EACC;EACvB,IAAI;IACF,MAAMC,MAAM,GAAI,MAAMD,IAAmD;IACzE,OAAO;MACLE,EAAE,EAAE,CAAC,CAACD,MAAM,EAAEC,EAAE;MAChBC,OAAO,EAAEC,MAAM,CAACH,MAAM,EAAEE,OAAO,IAAI,EAAE;IACvC,CAAC;EACH,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO;MAAEH,EAAE,EAAE,KAAK;MAAEC,OAAO,EAAEC,MAAM,CAAEC,KAAK,EAAYF,OAAO,IAAIE,KAAK;IAAE,CAAC;EAC3E;AACF","ignoreList":[]}
|
package/lib/module/state.js
CHANGED
package/lib/module/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KEY","Symbol","for","imagesState","g","globalThis","records","byId","Map","nextId","listeners","Set","snapshot","emitScheduled","captureInstalled","rnInstalled","expoInstalled","decoratorRegistered","decoratorInvoked","attachSeen","expoAvailable","expoPatched","reloadRequests","actionListeners","expoInstances","overrides","flashUntil","recordVersions","globalVersion","versionCounter","globalModes","network","blank"],"sourceRoot":"../../src","sources":["state.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["KEY","Symbol","for","imagesState","g","globalThis","records","byId","Map","nextId","listeners","Set","snapshot","emitScheduled","captureInstalled","rnInstalled","expoInstalled","decoratorRegistered","decoratorInvoked","attachSeen","expoAvailable","expoPatched","reloadRequests","actionListeners","expoInstances","overrides","flashUntil","recordVersions","globalVersion","versionCounter","globalModes","network","blank","captureDisabled","remoteDispatch","mirrorPixelRatio","mirrorCaptureStatus"],"sourceRoot":"../../src","sources":["state.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwDA,MAAMA,GAAG,GAAGC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAEpD,OAAO,SAASC,WAAWA,CAAA,EAAsB;EAC/C,MAAMC,CAAC,GAAGC,UAA2D;EACrE,IAAI,CAACD,CAAC,CAACJ,GAAG,CAAC,EAAE;IACXI,CAAC,CAACJ,GAAG,CAAC,GAAG;MACPM,OAAO,EAAE,EAAE;MACXC,IAAI,EAAE,IAAIC,GAAG,CAAC,CAAC;MACfC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAE,IAAIC,GAAG,CAAC,CAAC;MACpBC,QAAQ,EAAE,EAAE;MACZC,aAAa,EAAE,KAAK;MACpBC,gBAAgB,EAAE,KAAK;MACvBC,WAAW,EAAE,KAAK;MAClBC,aAAa,EAAE,KAAK;MACpBC,mBAAmB,EAAE,KAAK;MAC1BC,gBAAgB,EAAE,KAAK;MACvBC,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,KAAK;MACpBC,WAAW,EAAE,KAAK;MAClBC,cAAc,EAAE,IAAId,GAAG,CAAC,CAAC;MACzBe,eAAe,EAAE,IAAIZ,GAAG,CAAC,CAAC;MAC1Ba,aAAa,EAAE,IAAIhB,GAAG,CAAC,CAAC;MACxBiB,SAAS,EAAE,IAAIjB,GAAG,CAAC,CAAC;MACpBkB,UAAU,EAAE,IAAIlB,GAAG,CAAC,CAAC;MACrBmB,cAAc,EAAE,IAAInB,GAAG,CAAC,CAAC;MACzBoB,aAAa,EAAE,CAAC;MAChBC,cAAc,EAAE,CAAC;MACjBC,WAAW,EAAE;QAAEC,OAAO,EAAE,QAAQ;QAAEC,KAAK,EAAE;MAAM,CAAC;MAChDC,eAAe,EAAE,KAAK;MACtBC,cAAc,EAAE,IAAI;MACpBC,gBAAgB,EAAE,IAAI;MACtBC,mBAAmB,EAAE;IACvB,CAAC;EACH;EACA,OAAOhC,CAAC,CAACJ,GAAG,CAAC;AACf","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { PixelRatio } from "react-native";
|
|
15
|
+
import { remoteImagesDispatch } from "../remote";
|
|
15
16
|
import { imagesState } from "../state";
|
|
16
17
|
/** Max records retained before the oldest are dropped. */
|
|
17
18
|
const MAX_RECORDS = 500;
|
|
@@ -72,6 +73,9 @@ export function subscribe(listener) {
|
|
|
72
73
|
return () => imagesState().listeners.delete(listener);
|
|
73
74
|
}
|
|
74
75
|
export function clearRecords() {
|
|
76
|
+
// Mirror mode: clear the device's registry too, or the next snapshot would
|
|
77
|
+
// refill this store straight away.
|
|
78
|
+
void remoteImagesDispatch()?.("clearRecords");
|
|
75
79
|
const s = imagesState();
|
|
76
80
|
// Keep records still actively loading so in-flight events don't orphan.
|
|
77
81
|
s.records = s.records.filter(r => r.mounted && r.status !== "loaded" && r.status !== "error");
|
|
@@ -79,14 +83,85 @@ export function clearRecords() {
|
|
|
79
83
|
invalidate();
|
|
80
84
|
}
|
|
81
85
|
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
// Mirror mode (desktop dashboard)
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Dashboards never instrument their own images — the store is purely a mirror
|
|
92
|
+
* of the synced device. Makes installImageCapture() a permanent no-op.
|
|
93
|
+
*/
|
|
94
|
+
export function disableImagesCapture() {
|
|
95
|
+
imagesState().captureDisabled = true;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Replace the whole store from a synced adapter snapshot (wire records are
|
|
100
|
+
* newest-first; the store keeps oldest-first and useImageRecords reverses).
|
|
101
|
+
* Also adopts the device's global modes / capture status and derives the
|
|
102
|
+
* DEVICE's PixelRatio so oversize math doesn't use the dashboard display's.
|
|
103
|
+
*/
|
|
104
|
+
export function replaceImagesFromSnapshot(payload) {
|
|
105
|
+
const s = imagesState();
|
|
106
|
+
const wire = payload.records ?? [];
|
|
107
|
+
|
|
108
|
+
// neededPx was computed on device as round(layout * PixelRatio.get()), so
|
|
109
|
+
// the widest record recovers the device scale with the least rounding error.
|
|
110
|
+
let bestWidth = 0;
|
|
111
|
+
for (const w of wire) {
|
|
112
|
+
if (w.layout && w.neededPx && w.layout.width > bestWidth) {
|
|
113
|
+
bestWidth = w.layout.width;
|
|
114
|
+
s.mirrorPixelRatio = w.neededPx.width / w.layout.width;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const now = Date.now();
|
|
118
|
+
s.records = [...wire].reverse().map(w => ({
|
|
119
|
+
id: w.id,
|
|
120
|
+
lib: w.lib,
|
|
121
|
+
uri: w.uri,
|
|
122
|
+
sourceKind: w.kind,
|
|
123
|
+
status: w.status,
|
|
124
|
+
mounted: w.mounted,
|
|
125
|
+
createdAt: now - w.ageMs,
|
|
126
|
+
durationMs: w.ms ?? undefined,
|
|
127
|
+
intrinsic: w.intrinsic ?? undefined,
|
|
128
|
+
layout: w.layout ?? undefined,
|
|
129
|
+
cacheVerdict: w.cache ?? undefined,
|
|
130
|
+
cacheVerdictSource: w.cacheSource ?? undefined,
|
|
131
|
+
progressSeen: w.progressSeen,
|
|
132
|
+
// The wire carries only the total; a settled download loaded all of it.
|
|
133
|
+
bytesLoaded: w.status === "loaded" ? w.bytesTotal ?? undefined : undefined,
|
|
134
|
+
bytesTotal: w.bytesTotal ?? undefined,
|
|
135
|
+
error: w.error ?? undefined,
|
|
136
|
+
errorCode: w.errorCode ?? undefined,
|
|
137
|
+
loadCount: w.loadCount,
|
|
138
|
+
overrideLabel: w.overrideLabel ?? undefined,
|
|
139
|
+
hasAltText: w.hasAltText ?? undefined,
|
|
140
|
+
layoutShifts: w.layoutShifts
|
|
141
|
+
}));
|
|
142
|
+
s.byId = new Map(s.records.map(r => [r.id, r]));
|
|
143
|
+
if (payload.globalModes) s.globalModes = {
|
|
144
|
+
...payload.globalModes
|
|
145
|
+
};
|
|
146
|
+
if (payload.captureStatus) s.mirrorCaptureStatus = payload.captureStatus;
|
|
147
|
+
invalidate();
|
|
148
|
+
// Mode toggles render through the actions bus, not the record store.
|
|
149
|
+
for (const l of s.actionListeners) l();
|
|
150
|
+
}
|
|
151
|
+
|
|
82
152
|
// ---------------------------------------------------------------------------
|
|
83
153
|
// Derived math (shared by rows, detail view, and stats)
|
|
84
154
|
// ---------------------------------------------------------------------------
|
|
85
155
|
|
|
156
|
+
/** Device PixelRatio on device; the SYNCED device's ratio on a mirror. */
|
|
157
|
+
export function effectivePixelRatio() {
|
|
158
|
+
return imagesState().mirrorPixelRatio ?? PixelRatio.get();
|
|
159
|
+
}
|
|
160
|
+
|
|
86
161
|
/** Physical pixels actually needed to fill the laid-out view 1:1. */
|
|
87
162
|
export function neededPixels(record) {
|
|
88
163
|
if (!record.layout || record.layout.width <= 0 || record.layout.height <= 0) return null;
|
|
89
|
-
const scale =
|
|
164
|
+
const scale = effectivePixelRatio();
|
|
90
165
|
return {
|
|
91
166
|
width: Math.round(record.layout.width * scale),
|
|
92
167
|
height: Math.round(record.layout.height * scale)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PixelRatio","imagesState","MAX_RECORDS","emit","s","emitScheduled","requestAnimationFrame","listener","listeners","invalidate","snapshot","records","createRecord","partial","record","id","nextId","createdAt","Date","now","status","mounted","loadCount","push","byId","set","length","dropped","splice","d","delete","updateRecord","patch","get","undefined","Object","assign","getRecord","getSnapshot","subscribe","add","clearRecords","filter","r","Map","map","
|
|
1
|
+
{"version":3,"names":["PixelRatio","remoteImagesDispatch","imagesState","MAX_RECORDS","emit","s","emitScheduled","requestAnimationFrame","listener","listeners","invalidate","snapshot","records","createRecord","partial","record","id","nextId","createdAt","Date","now","status","mounted","loadCount","push","byId","set","length","dropped","splice","d","delete","updateRecord","patch","get","undefined","Object","assign","getRecord","getSnapshot","subscribe","add","clearRecords","filter","r","Map","map","disableImagesCapture","captureDisabled","replaceImagesFromSnapshot","payload","wire","bestWidth","w","layout","neededPx","width","mirrorPixelRatio","reverse","lib","uri","sourceKind","kind","ageMs","durationMs","ms","intrinsic","cacheVerdict","cache","cacheVerdictSource","cacheSource","progressSeen","bytesLoaded","bytesTotal","error","errorCode","overrideLabel","hasAltText","layoutShifts","globalModes","captureStatus","mirrorCaptureStatus","l","actionListeners","effectivePixelRatio","neededPixels","height","scale","Math","round","oversizeFactor","needed","neededArea","intrinsicArea","sqrt","estDecodedBytes","estWastedBytes","wasted","max","computeStats","list","stats","total","loading","loaded","errors","networkLoads"],"sourceRoot":"../../../src","sources":["store/imageEventStore.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["evictExpoDiskEntry","hardReloadAllMounted","hardReloadRecord","retryRecord","getCaptureStatus","clearAllOverrides","clearOverride","flashAllMounted","flashRecord","getGlobalModes","setBlankImages","setNetworkMode","setOverride","setOverrideForAllMounted","proveSavings","computeInsights","clearRecords","computeStats","estDecodedBytes","estWastedBytes","getRecord","getSnapshot","neededPixels","oversizeFactor","subscribe","toWire","record","factor","id","lib","uri","kind","sourceKind","status","mounted","cache","cacheVerdict","cacheSource","cacheVerdictSource","ms","durationMs","Math","round","intrinsic","layout","width","height","neededPx","decodedKB","wastedKB","progressSeen","bytesTotal","error","errorCode","loadCount","overrideLabel","hasAltText","layoutShifts","ageMs","Date","now","createdAt","requireRecord","params","Error","overview","snapshot","stats","captureStatus","globalModes","insights","records","reverse","imagesSyncAdapter","version","rest","slice","map","onChange","actions","list","p","limit","min","max","filtered","filter","r","total","length","getDetail","errorHeaders","hardReload","retry","evictDisk","evicted","ok","message","flash","kinds","source","type","label","hang","blank","entry","undefined","String","massAction","n","mode","modes","enabled","clearExpoCaches","doMemory","memory","doDisk","disk","expo","require","results","Image","clearMemoryCache","push","clearDiskCache","join"],"sourceRoot":"../../../src","sources":["sync/imagesSyncAdapter.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,kBAAkB,EAClBC,oBAAoB,EACpBC,gBAAgB,EAChBC,WAAW,QACN,oBAAoB;AAC3B,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SACEC,iBAAiB,EACjBC,aAAa,EACbC,eAAe,EACfC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,cAAc,EACdC,WAAW,EACXC,wBAAwB,QACnB,sBAAsB;AAC7B,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SACEC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,cAAc,EACdC,SAAS,EACTC,WAAW,EACXC,YAAY,EACZC,cAAc,EACdC,SAAS,QACJ,0BAA0B;AAGjC;AACA,SAASC,MAAMA,CAACC,MAAmB,
|
|
1
|
+
{"version":3,"names":["evictExpoDiskEntry","hardReloadAllMounted","hardReloadRecord","retryRecord","getCaptureStatus","clearAllOverrides","clearOverride","flashAllMounted","flashRecord","getGlobalModes","setBlankImages","setNetworkMode","setOverride","setOverrideForAllMounted","proveSavings","computeInsights","clearRecords","computeStats","estDecodedBytes","estWastedBytes","getRecord","getSnapshot","neededPixels","oversizeFactor","subscribe","toWire","record","factor","id","lib","uri","kind","sourceKind","status","mounted","cache","cacheVerdict","cacheSource","cacheVerdictSource","ms","durationMs","Math","round","intrinsic","layout","width","height","neededPx","decodedKB","wastedKB","progressSeen","bytesTotal","error","errorCode","loadCount","overrideLabel","hasAltText","layoutShifts","ageMs","Date","now","createdAt","requireRecord","params","Error","overview","snapshot","stats","captureStatus","globalModes","insights","records","reverse","imagesSyncAdapter","version","rest","slice","map","onChange","actions","list","p","limit","min","max","filtered","filter","r","total","length","getDetail","errorHeaders","hardReload","retry","evictDisk","evicted","ok","message","flash","kinds","source","type","label","hang","blank","entry","undefined","String","massAction","n","mode","modes","enabled","clearExpoCaches","doMemory","memory","doDisk","disk","expo","require","results","Image","clearMemoryCache","push","clearDiskCache","join"],"sourceRoot":"../../../src","sources":["sync/imagesSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/capture/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/capture/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAIjE;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAG9C;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9D;AAUD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM1D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOtD;AAMD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGrF;AAyCD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAa9E;AAMD,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,gEAAgE;AAChE,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAkB5E;AAED,gFAAgF;AAChF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC,CAelE;AAED,2EAA2E;AAC3E,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA0BjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/capture/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,mBAAmB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/capture/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,mBAAmB,IAAI,IAAI,CAO1C;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAahD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../../src/capture/overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../../src/capture/overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC9B,iFAAiF;GAC/E;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB,8EAA8E;GAC5E;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,6DAA6D;GAC3D;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;CACf;AAgBD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAwBxD,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKlD;AAED,uEAAuE;AACvE,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIhE;AA0BD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAQ3E;AAQD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CAG9E;AAWD,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUtF;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,UAAU,SAAO,GAAG,MAAM,CASzD;AAYD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAO,GAAG,IAAI,CAGrE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAItD;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIrD;AAED,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAEzE;AAMD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAYxE;AAgBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2CzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"savings.d.ts","sourceRoot":"","sources":["../../../src/capture/savings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"savings.d.ts","sourceRoot":"","sources":["../../../src/capture/savings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAuED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAiG9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageDetail.d.ts","sourceRoot":"","sources":["../../../src/components/ImageDetail.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"ImageDetail.d.ts","sourceRoot":"","sources":["../../../src/components/ImageDetail.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC;CACrB;AAiKD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,+BAsKvD"}
|
|
@@ -11,7 +11,15 @@ interface ImagesModalProps {
|
|
|
11
11
|
onBack?: () => void;
|
|
12
12
|
onMinimize?: (modalState: ModalState) => void;
|
|
13
13
|
persistenceKey?: string;
|
|
14
|
+
/** Render as a plain header-bar + body stack instead of a JsModal (desktop). */
|
|
15
|
+
inline?: boolean;
|
|
14
16
|
}
|
|
15
|
-
export declare function ImagesModal({ visible, onClose, onBack, onMinimize, persistenceKey, }: ImagesModalProps): import("react").JSX.Element;
|
|
17
|
+
export declare function ImagesModal({ visible, onClose, onBack, onMinimize, persistenceKey, inline, }: ImagesModalProps): import("react").JSX.Element;
|
|
18
|
+
/**
|
|
19
|
+
* The same Images tool as `ImagesModal`, rendered INLINE for hosts that place
|
|
20
|
+
* tools in a panel rather than a modal (the desktop dashboard). Exists so
|
|
21
|
+
* there is exactly one implementation of the tool's header, list and detail.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ImagesToolView(props?: Omit<ImagesModalProps, "visible" | "onClose" | "inline">): import("react").JSX.Element;
|
|
16
24
|
export {};
|
|
17
25
|
//# sourceMappingURL=ImagesModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagesModal.d.ts","sourceRoot":"","sources":["../../../src/components/ImagesModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImagesModal.d.ts","sourceRoot":"","sources":["../../../src/components/ImagesModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgBrD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqCD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,cAAc,EACd,MAAc,GACf,EAAE,gBAAgB,+BA6HlB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,GAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAM,+BAGrE"}
|
|
@@ -27,6 +27,11 @@ export type { SavingsResult } from "./capture/savings";
|
|
|
27
27
|
export { computeInsights, insightChips } from "./store/insights";
|
|
28
28
|
export { formatRecordMarkdown, formatRegistryMarkdown } from "./export";
|
|
29
29
|
export { imagesSyncAdapter } from "./sync/imagesSyncAdapter";
|
|
30
|
+
export { ImagesToolView } from "./components/ImagesModal";
|
|
31
|
+
export { disableImagesCapture, replaceImagesFromSnapshot, } from "./store/imageEventStore";
|
|
32
|
+
export { setRemoteImagesHandler } from "./remote";
|
|
33
|
+
export type { ImagesRemoteDispatch } from "./remote";
|
|
34
|
+
export type { ImageRecordWire, ImagesSnapshotPayload } from "./types";
|
|
30
35
|
export { useImageRecords } from "./hooks/useImageRecords";
|
|
31
36
|
export { clearRecords, getSnapshot as getImageRecords, subscribe as subscribeImageRecords, computeStats, oversizeFactor, estDecodedBytes, estWastedBytes, } from "./store/imageEventStore";
|
|
32
37
|
export type { ImageRecord, ImageStats, ImageInsights, ImageLib, ImageStatus, CacheVerdict, SourceKind, CaptureStatus, } from "./types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,YAAY,CAAC;AAKpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKxE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1E,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,SAAS,IAAI,qBAAqB,EAClC,YAAY,EACZ,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,yBAAyB,CAAC;AAKjC,YAAY,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,YAAY,CAAC;AAKpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKxE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1E,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,SAAS,IAAI,qBAAqB,EAClC,YAAY,EACZ,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,yBAAyB,CAAC;AAKjC,YAAY,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC"}
|