@buoy-gg/events 3.0.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/lib/commonjs/components/UnifiedEventDetail.js +34 -10
  2. package/lib/commonjs/components/UnifiedEventDetail.js.map +1 -1
  3. package/lib/commonjs/hooks/useUnifiedEvents.js +57 -27
  4. package/lib/commonjs/hooks/useUnifiedEvents.js.map +1 -1
  5. package/lib/commonjs/sources/sourceIds.js +30 -0
  6. package/lib/commonjs/sources/sourceIds.js.map +1 -0
  7. package/lib/commonjs/stores/unifiedEventStore.js +138 -14
  8. package/lib/commonjs/stores/unifiedEventStore.js.map +1 -1
  9. package/lib/commonjs/sync/eventsSyncAdapter.js +35 -10
  10. package/lib/commonjs/sync/eventsSyncAdapter.js.map +1 -1
  11. package/lib/module/components/UnifiedEventDetail.js +36 -12
  12. package/lib/module/components/UnifiedEventDetail.js.map +1 -1
  13. package/lib/module/hooks/useUnifiedEvents.js +59 -29
  14. package/lib/module/hooks/useUnifiedEvents.js.map +1 -1
  15. package/lib/module/sources/sourceIds.js +26 -0
  16. package/lib/module/sources/sourceIds.js.map +1 -0
  17. package/lib/module/stores/unifiedEventStore.js +138 -14
  18. package/lib/module/stores/unifiedEventStore.js.map +1 -1
  19. package/lib/module/sync/eventsSyncAdapter.js +35 -11
  20. package/lib/module/sync/eventsSyncAdapter.js.map +1 -1
  21. package/lib/typescript/components/UnifiedEventDetail.d.ts +20 -0
  22. package/lib/typescript/components/UnifiedEventDetail.d.ts.map +1 -1
  23. package/lib/typescript/hooks/useUnifiedEvents.d.ts.map +1 -1
  24. package/lib/typescript/sources/sourceIds.d.ts +13 -0
  25. package/lib/typescript/sources/sourceIds.d.ts.map +1 -0
  26. package/lib/typescript/stores/unifiedEventStore.d.ts +29 -1
  27. package/lib/typescript/stores/unifiedEventStore.d.ts.map +1 -1
  28. package/lib/typescript/sync/eventsSyncAdapter.d.ts +20 -6
  29. package/lib/typescript/sync/eventsSyncAdapter.d.ts.map +1 -1
  30. package/package.json +3 -3
  31. package/src/components/UnifiedEventDetail.tsx +51 -7
  32. package/src/hooks/useUnifiedEvents.ts +74 -28
  33. package/src/sources/sourceIds.ts +25 -0
  34. package/src/stores/unifiedEventStore.ts +149 -15
  35. package/src/sync/eventsSyncAdapter.ts +35 -10
@@ -10,7 +10,20 @@
10
10
  */
11
11
 
12
12
  import { getCachedDiscovery, getAggregatedSubscriberCounts } from "../utils/autoDiscoverEventSources";
13
+ import { EVENT_SOURCE_TO_DISCOVERY_ID } from "../sources/sourceIds";
13
14
  const MAX_EVENTS = 200;
15
+
16
+ /**
17
+ * Source IDs that subscribeToAll() must NOT auto-subscribe to.
18
+ *
19
+ * These are high-frequency sources the UI excludes from DEFAULT_ENABLED_SOURCES
20
+ * (see useUnifiedEvents.ts). "render" (highlight-updates) fires on every
21
+ * component render — tens of events per second — which floods the shared store
22
+ * (capped at MAX_EVENTS), shoves real events out, and shows up as hidden noise
23
+ * ("1 of 100"). subscribeToAll() is the dashboard-watch path; it must mirror
24
+ * the on-device default of leaving render OFF unless the user opts in.
25
+ */
26
+ const SUBSCRIBE_ALL_EXCLUDED_SOURCE_IDS = new Set(["render"]);
14
27
  class UnifiedEventStore {
15
28
  events = [];
16
29
  listeners = new Set();
@@ -18,9 +31,17 @@ class UnifiedEventStore {
18
31
  clearListeners = new Set();
19
32
  remoteAvailableSources = null;
20
33
 
21
- // Track which sources are currently subscribed
34
+ // Track which sources are currently subscribed, ref-counted so independent
35
+ // consumers (the on-device EventsModal and the remote dashboard) can each
36
+ // request a source and the underlying capture only stops when the LAST one
37
+ // drops it. Presence of a key still means "subscribed".
22
38
  sourceUnsubscribers = new Map();
23
39
 
40
+ // Discovery IDs the remote dashboard (sync adapter) currently wants. Tracked
41
+ // separately so the remote consumer can be diffed/cleared independently of
42
+ // the on-device consumer's subscriptions.
43
+ remoteDiscoveryIds = new Set();
44
+
24
45
  // Map network event IDs to unified event IDs for updates
25
46
  networkEventIdMap = new Map();
26
47
 
@@ -50,9 +71,20 @@ class UnifiedEventStore {
50
71
  * Override source availability with the synced device's (auto-discovery
51
72
  * finds nothing on the dashboard — the tool packages live on the device).
52
73
  * Pass null to restore local discovery.
74
+ *
75
+ * Notifies listeners when the set actually changes so consumers
76
+ * (useUnifiedEvents) can refresh their available-source list — this is the
77
+ * only signal the dashboard's filter badge bar gets when capture is OFF and
78
+ * no events are flowing to trigger replaceEvents().
53
79
  */
54
80
  setRemoteAvailableSources(sources) {
55
- this.remoteAvailableSources = sources ? new Set(sources) : null;
81
+ const next = sources ? new Set(sources) : null;
82
+ const prev = this.remoteAvailableSources;
83
+ const unchanged = prev === null && next === null || !!prev && !!next && prev.size === next.size && [...next].every(s => prev.has(s));
84
+ this.remoteAvailableSources = next;
85
+ if (!unchanged) {
86
+ this.notifyListeners();
87
+ }
56
88
  }
57
89
 
58
90
  /**
@@ -84,6 +116,12 @@ class UnifiedEventStore {
84
116
  sources
85
117
  } = getCachedDiscovery();
86
118
  for (const source of sources) {
119
+ // Skip high-frequency sources the UI leaves off by default (e.g. render).
120
+ // Subscribing to them here would flood the timeline with events that are
121
+ // then filtered out of the display — see SUBSCRIBE_ALL_EXCLUDED_SOURCE_IDS.
122
+ if (SUBSCRIBE_ALL_EXCLUDED_SOURCE_IDS.has(source.id)) {
123
+ continue;
124
+ }
87
125
  await this.subscribeToSource(source);
88
126
  }
89
127
  }
@@ -92,9 +130,20 @@ class UnifiedEventStore {
92
130
  * Subscribe to a specific event source by ID
93
131
  */
94
132
  async subscribeToSource(source) {
95
- if (this.sourceUnsubscribers.has(source.id)) {
96
- return; // Already subscribed
133
+ const existing = this.sourceUnsubscribers.get(source.id);
134
+ if (existing) {
135
+ existing.refCount++; // Another consumer wants it — just count.
136
+ return;
97
137
  }
138
+
139
+ // Reserve the slot synchronously (refCount 1) so concurrent subscribe calls
140
+ // for the same source ref-count instead of double-subscribing during the
141
+ // awaits below.
142
+ const entry = {
143
+ unsubscribe: () => {},
144
+ refCount: 1
145
+ };
146
+ this.sourceUnsubscribers.set(source.id, entry);
98
147
  try {
99
148
  // Run setup if needed
100
149
  if (source.setup) {
@@ -106,20 +155,27 @@ class UnifiedEventStore {
106
155
  this.addEvent(event);
107
156
  });
108
157
  if (unsubscribe) {
109
- this.sourceUnsubscribers.set(source.id, unsubscribe);
158
+ entry.unsubscribe = unsubscribe;
110
159
  }
111
160
  } catch {
112
- // Silently fail - source may not be available
161
+ // Failed - source may not be available. Drop the reservation unless other
162
+ // consumers incremented it while we were awaiting.
163
+ if (this.sourceUnsubscribers.get(source.id) === entry && entry.refCount <= 1) {
164
+ this.sourceUnsubscribers.delete(source.id);
165
+ }
113
166
  }
114
167
  }
115
168
 
116
169
  /**
117
- * Unsubscribe from a specific source by ID
170
+ * Unsubscribe from a specific source by ID. Ref-counted: the real teardown
171
+ * only runs when the last consumer drops it.
118
172
  */
119
173
  unsubscribeFromSource(sourceId) {
120
- const unsubscribe = this.sourceUnsubscribers.get(sourceId);
121
- if (unsubscribe) {
122
- unsubscribe();
174
+ const entry = this.sourceUnsubscribers.get(sourceId);
175
+ if (!entry) return;
176
+ entry.refCount--;
177
+ if (entry.refCount <= 0) {
178
+ entry.unsubscribe();
123
179
  this.sourceUnsubscribers.delete(sourceId);
124
180
  }
125
181
  }
@@ -422,14 +478,82 @@ class UnifiedEventStore {
422
478
  * Unsubscribe from all sources
423
479
  */
424
480
  unsubscribeAll() {
425
- // Unsubscribe from all tracked sources
426
- for (const [, unsubscribe] of this.sourceUnsubscribers) {
427
- unsubscribe();
481
+ // Hard reset: tear down every tracked source regardless of ref-count.
482
+ for (const [, entry] of this.sourceUnsubscribers) {
483
+ entry.unsubscribe();
428
484
  }
429
485
  this.sourceUnsubscribers.clear();
430
486
 
431
- // Clear active sources
487
+ // Clear active + remote source bookkeeping (all subscriptions are gone).
432
488
  this.activeSources.clear();
489
+ this.remoteDiscoveryIds.clear();
490
+ }
491
+
492
+ /**
493
+ * Remote-consumer channel: the dashboard sync adapter declares which event
494
+ * sources it wants the device to capture. Diffed against the previous remote
495
+ * set so only changed sources are (un)subscribed; ref-counting keeps the
496
+ * on-device EventsModal's own subscriptions intact. Pass "all" to capture
497
+ * every discovered source except the high-frequency excluded ones.
498
+ */
499
+ async setRemoteEnabledSources(sources) {
500
+ const {
501
+ sources: discovered
502
+ } = getCachedDiscovery();
503
+ let nextIds;
504
+ if (sources === "all") {
505
+ nextIds = new Set(discovered.map(s => s.id).filter(id => !SUBSCRIBE_ALL_EXCLUDED_SOURCE_IDS.has(id)));
506
+ } else {
507
+ nextIds = new Set();
508
+ for (const src of sources) {
509
+ const id = EVENT_SOURCE_TO_DISCOVERY_ID[src];
510
+ if (id) nextIds.add(id);
511
+ }
512
+ }
513
+
514
+ // Swap the tracked set SYNCHRONOUSLY (before the awaits) so a watch's
515
+ // ensureRemoteSourcesDefault() that runs in between sees the new selection
516
+ // and won't re-broaden to "all".
517
+ const prevIds = this.remoteDiscoveryIds;
518
+ this.remoteDiscoveryIds = nextIds;
519
+
520
+ // Subscribe newly-requested sources.
521
+ for (const id of nextIds) {
522
+ if (!prevIds.has(id)) {
523
+ const source = discovered.find(s => s.id === id);
524
+ if (source) await this.subscribeToSource(source);
525
+ }
526
+ }
527
+ // Release sources the remote no longer wants.
528
+ for (const id of prevIds) {
529
+ if (!nextIds.has(id)) {
530
+ this.unsubscribeFromSource(id);
531
+ }
532
+ }
533
+ }
534
+
535
+ /**
536
+ * Called by the sync adapter when a dashboard starts watching: default to all
537
+ * sources, but ONLY if the dashboard hasn't already declared a selection for
538
+ * this watch session (the setEnabledSources action can arrive before the
539
+ * watch). Keeps backward compatibility with dashboards that never narrow.
540
+ */
541
+ ensureRemoteSourcesDefault() {
542
+ if (this.remoteDiscoveryIds.size === 0) {
543
+ void this.setRemoteEnabledSources("all");
544
+ }
545
+ }
546
+
547
+ /**
548
+ * Release all of the remote consumer's source subscriptions (e.g. when the
549
+ * dashboard stops watching the events tool). Ref-counting means sources the
550
+ * on-device EventsModal also wants stay subscribed.
551
+ */
552
+ clearRemoteSources() {
553
+ for (const id of this.remoteDiscoveryIds) {
554
+ this.unsubscribeFromSource(id);
555
+ }
556
+ this.remoteDiscoveryIds.clear();
433
557
  }
434
558
 
435
559
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["getCachedDiscovery","getAggregatedSubscriberCounts","MAX_EVENTS","UnifiedEventStore","events","listeners","Set","activeSources","clearListeners","remoteAvailableSources","sourceUnsubscribers","Map","networkEventIdMap","getDiscoveredSources","sources","getAvailableEventSources","availableEventSources","setRemoteAvailableSources","replaceEvents","slice","map","event","source","notifyListeners","onClear","listener","add","delete","subscribeToAll","subscribeToSource","has","id","setup","unsubscribe","subscribe","addEvent","set","unsubscribeFromSource","sourceId","get","subscribeToStorage","storageSource","find","s","unsubscribeFromStorage","subscribeToRedux","reduxSource","unsubscribeFromRedux","subscribeToNetwork","networkSource","unsubscribeFromNetwork","subscribeToReactQuery","rqSource","unsubscribeFromReactQuery","subscribeToRoutes","routeSource","unsubscribeFromRoutes","subscribeToZustand","zustandSource","unsubscribeFromZustand","subscribeToJotai","jotaiSource","unsubscribeFromJotai","subscribeToRender","renderSource","unsubscribeFromRender","originalEvent","existingUnifiedId","existingIndex","findIndex","e","getEvents","enabledSources","size","filter","getActiveSources","Array","from","getSourceCounts","counts","redux","network","route","zustand","jotai","render","clearEvents","clear","forEach","getEventCount","length","unsubscribeAll","isSourceSubscribed","getSubscriptionStatus","getSubscriberCounts","unifiedEventStore"],"sourceRoot":"../../../src","sources":["stores/unifiedEventStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getCachedDiscovery","getAggregatedSubscriberCounts","EVENT_SOURCE_TO_DISCOVERY_ID","MAX_EVENTS","SUBSCRIBE_ALL_EXCLUDED_SOURCE_IDS","Set","UnifiedEventStore","events","listeners","activeSources","clearListeners","remoteAvailableSources","sourceUnsubscribers","Map","remoteDiscoveryIds","networkEventIdMap","getDiscoveredSources","sources","getAvailableEventSources","availableEventSources","setRemoteAvailableSources","next","prev","unchanged","size","every","s","has","notifyListeners","replaceEvents","slice","map","event","source","onClear","listener","add","delete","subscribeToAll","id","subscribeToSource","existing","get","refCount","entry","unsubscribe","set","setup","subscribe","addEvent","unsubscribeFromSource","sourceId","subscribeToStorage","storageSource","find","unsubscribeFromStorage","subscribeToRedux","reduxSource","unsubscribeFromRedux","subscribeToNetwork","networkSource","unsubscribeFromNetwork","subscribeToReactQuery","rqSource","unsubscribeFromReactQuery","subscribeToRoutes","routeSource","unsubscribeFromRoutes","subscribeToZustand","zustandSource","unsubscribeFromZustand","subscribeToJotai","jotaiSource","unsubscribeFromJotai","subscribeToRender","renderSource","unsubscribeFromRender","originalEvent","existingUnifiedId","existingIndex","findIndex","e","getEvents","enabledSources","filter","getActiveSources","Array","from","getSourceCounts","counts","redux","network","route","zustand","jotai","render","clearEvents","clear","forEach","getEventCount","length","unsubscribeAll","setRemoteEnabledSources","discovered","nextIds","src","prevIds","ensureRemoteSourcesDefault","clearRemoteSources","isSourceSubscribed","getSubscriptionStatus","getSubscriberCounts","unifiedEventStore"],"sourceRoot":"../../../src","sources":["stores/unifiedEventStore.ts"],"mappings":"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","ignoreList":[]}
@@ -1,33 +1,57 @@
1
1
  "use strict";
2
2
 
3
3
  import { unifiedEventStore } from "../stores/unifiedEventStore";
4
-
5
4
  /**
6
5
  * Sync adapter for the events tool, consumed by @buoy-gg/external-sync's
7
6
  * `useExternalSync` (structurally matches its ToolSyncAdapter interface so
8
7
  * this package doesn't need a dependency on it).
9
8
  *
10
- * Subscribing starts aggregation from every discovered source, so the
11
- * unified timeline fills while a dashboard is watching even if the on-device
12
- * EventsModal was never opened. The snapshot carries the device's available
13
- * sources so the dashboard can render the source filter chips (its own
14
- * auto-discovery finds nothing the tool packages live on the device).
9
+ * This adapter is the "remote consumer" of the unified event store. While a
10
+ * dashboard is watching, it requests a SET of event sources (defaulting to all,
11
+ * narrowed by the dashboard via `setEnabledSources`). On unwatch it releases
12
+ * those requests, so unlike before the device stops capturing sources that
13
+ * nothing else is watching. Source requests are ref-counted in the store, so
14
+ * the on-device EventsModal keeps working when open at the same time.
15
+ *
16
+ * The snapshot carries the device's available sources so the dashboard can
17
+ * render the source filter chips (its own auto-discovery finds nothing — the
18
+ * tool packages live on the device).
15
19
  */
16
20
  export const eventsSyncAdapter = {
17
- version: 1,
21
+ version: 2,
18
22
  getSnapshot: () => ({
19
23
  events: unifiedEventStore.getEvents(),
20
24
  availableSources: Array.from(unifiedEventStore.getAvailableEventSources())
21
25
  }),
22
26
  subscribe: onChange => {
23
- unifiedEventStore.subscribeToAll();
24
- // Source subscriptions are left in place on unwatch — the on-device
25
- // EventsModal may also be using them, and aggregation is cheap.
26
- return unifiedEventStore.subscribe(() => onChange());
27
+ // Default to all sources until the dashboard narrows the set via
28
+ // setEnabledSources backward compatible with dashboards that don't send
29
+ // it. Uses ensureRemoteSourcesDefault so a setEnabledSources that raced
30
+ // ahead of this watch isn't clobbered back to "all".
31
+ unifiedEventStore.ensureRemoteSourcesDefault();
32
+ const unsubscribe = unifiedEventStore.subscribe(() => onChange());
33
+ return () => {
34
+ unsubscribe();
35
+ // Release this consumer's source subscriptions so the device stops
36
+ // capturing sources nothing else is watching (fixes the old leak).
37
+ unifiedEventStore.clearRemoteSources();
38
+ };
27
39
  },
28
40
  actions: {
29
41
  clearEvents: () => {
30
42
  unifiedEventStore.clearEvents();
43
+ },
44
+ /**
45
+ * Narrow which sources the device captures for this dashboard, driven by
46
+ * the dashboard's source badges. Ref-counted in the store, so disabling a
47
+ * source here only stops its capture if no other consumer wants it.
48
+ */
49
+ setEnabledSources: params => {
50
+ const sources = params?.sources ?? [];
51
+ unifiedEventStore.setRemoteEnabledSources(sources);
52
+ return {
53
+ enabledSources: sources
54
+ };
31
55
  }
32
56
  }
33
57
  };
@@ -1 +1 @@
1
- {"version":3,"names":["unifiedEventStore","eventsSyncAdapter","version","getSnapshot","events","getEvents","availableSources","Array","from","getAvailableEventSources","subscribe","onChange","subscribeToAll","actions","clearEvents"],"sourceRoot":"../../../src","sources":["sync/eventsSyncAdapter.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,6BAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,OAAO,EAAE,CAAC;EACVC,WAAW,EAAEA,CAAA,MAAO;IAClBC,MAAM,EAAEJ,iBAAiB,CAACK,SAAS,CAAC,CAAC;IACrCC,gBAAgB,EAAEC,KAAK,CAACC,IAAI,CAACR,iBAAiB,CAACS,wBAAwB,CAAC,CAAC;EAC3E,CAAC,CAAC;EACFC,SAAS,EAAGC,QAAoB,IAAK;IACnCX,iBAAiB,CAACY,cAAc,CAAC,CAAC;IAClC;IACA;IACA,OAAOZ,iBAAiB,CAACU,SAAS,CAAC,MAAMC,QAAQ,CAAC,CAAC,CAAC;EACtD,CAAC;EACDE,OAAO,EAAE;IACPC,WAAW,EAAEA,CAAA,KAAM;MACjBd,iBAAiB,CAACc,WAAW,CAAC,CAAC;IACjC;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["unifiedEventStore","eventsSyncAdapter","version","getSnapshot","events","getEvents","availableSources","Array","from","getAvailableEventSources","subscribe","onChange","ensureRemoteSourcesDefault","unsubscribe","clearRemoteSources","actions","clearEvents","setEnabledSources","params","sources","setRemoteEnabledSources","enabledSources"],"sourceRoot":"../../../src","sources":["sync/eventsSyncAdapter.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,6BAA6B;AAG/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,OAAO,EAAE,CAAC;EACVC,WAAW,EAAEA,CAAA,MAAO;IAClBC,MAAM,EAAEJ,iBAAiB,CAACK,SAAS,CAAC,CAAC;IACrCC,gBAAgB,EAAEC,KAAK,CAACC,IAAI,CAACR,iBAAiB,CAACS,wBAAwB,CAAC,CAAC;EAC3E,CAAC,CAAC;EACFC,SAAS,EAAGC,QAAoB,IAAK;IACnC;IACA;IACA;IACA;IACAX,iBAAiB,CAACY,0BAA0B,CAAC,CAAC;IAC9C,MAAMC,WAAW,GAAGb,iBAAiB,CAACU,SAAS,CAAC,MAAMC,QAAQ,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM;MACXE,WAAW,CAAC,CAAC;MACb;MACA;MACAb,iBAAiB,CAACc,kBAAkB,CAAC,CAAC;IACxC,CAAC;EACH,CAAC;EACDC,OAAO,EAAE;IACPC,WAAW,EAAEA,CAAA,KAAM;MACjBhB,iBAAiB,CAACgB,WAAW,CAAC,CAAC;IACjC,CAAC;IACD;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAGC,MAAe,IAAK;MACtC,MAAMC,OAAO,GACVD,MAAM,EAA8CC,OAAO,IAAI,EAAE;MACpEnB,iBAAiB,CAACoB,uBAAuB,CAACD,OAAO,CAAC;MAClD,OAAO;QAAEE,cAAc,EAAEF;MAAQ,CAAC;IACpC;EACF;AACF,CAAC","ignoreList":[]}
@@ -5,10 +5,30 @@
5
5
  * Uses shared detail components from other packages when available,
6
6
  * falls back to generic DataViewer when packages aren't installed.
7
7
  */
8
+ import { type ComponentType, type ReactNode } from "react";
8
9
  import type { UnifiedEvent } from "../types";
9
10
  interface UnifiedEventDetailProps {
10
11
  event: UnifiedEvent;
11
12
  onBack?: () => void;
13
+ /**
14
+ * Optional override for the network detail component. The desktop dashboard
15
+ * injects the real `@buoy-gg/network` export here because the runtime
16
+ * `require("@buoy-gg/network")` fallback is unreliable in its Vite/ESM build.
17
+ * When omitted, the dynamically-required component is used (works on mobile).
18
+ */
19
+ NetworkEventDetailViewComponent?: ComponentType<{
20
+ event: unknown;
21
+ ignoredPatterns?: Set<string>;
22
+ onTogglePattern?: (value: string) => void;
23
+ }>;
24
+ /**
25
+ * Optional wrapper rendered around the network detail view — e.g. the desktop
26
+ * passes `NetworkBodyResolverProvider` so large request/response bodies that
27
+ * were stripped from the sync snapshot can be fetched from the device on demand.
28
+ */
29
+ networkDetailWrapper?: ComponentType<{
30
+ children: ReactNode;
31
+ }>;
12
32
  }
13
33
  export declare const UnifiedEventDetail: import("react").NamedExoticComponent<UnifiedEventDetailProps>;
14
34
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedEventDetail.d.ts","sourceRoot":"","sources":["../../../src/components/UnifiedEventDetail.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AAuK1D,UAAU,uBAAuB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,+DA2M7B,CAAC"}
1
+ {"version":3,"file":"UnifiedEventDetail.d.ts","sourceRoot":"","sources":["../../../src/components/UnifiedEventDetail.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAU1E,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AA8K1D,UAAU,uBAAuB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,+BAA+B,CAAC,EAAE,aAAa,CAAC;QAC9C,KAAK,EAAE,OAAO,CAAC;QACf,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KAC3C,CAAC,CAAC;IACH;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,kBAAkB,+DA8N7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUnifiedEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUnifiedEvents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA+HtE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gEAAgE;IAChE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,IAAI,sBAAsB,CA4UzD"}
1
+ {"version":3,"file":"useUnifiedEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUnifiedEvents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA4HtE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gEAAgE;IAChE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,IAAI,sBAAsB,CAsXzD"}
@@ -0,0 +1,13 @@
1
+ import type { EventSource } from "../types";
2
+ /**
3
+ * Map an event source (the granular UI badge identity) to its parent discovery
4
+ * ID (the key used by unifiedEventStore's source subscriptions). Several event
5
+ * sources can share one discovery source — e.g. storage-async + storage-mmkv
6
+ * both come from the "storage" discovery source, and the react-query family all
7
+ * map to "react-query".
8
+ *
9
+ * Shared by useUnifiedEvents (the on-device consumer) and unifiedEventStore's
10
+ * remote-consumer channel so the mapping lives in exactly one place.
11
+ */
12
+ export declare const EVENT_SOURCE_TO_DISCOVERY_ID: Record<EventSource, string>;
13
+ //# sourceMappingURL=sourceIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceIds.d.ts","sourceRoot":"","sources":["../../../src/sources/sourceIds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAYpE,CAAC"}
@@ -15,6 +15,7 @@ declare class UnifiedEventStore {
15
15
  private clearListeners;
16
16
  private remoteAvailableSources;
17
17
  private sourceUnsubscribers;
18
+ private remoteDiscoveryIds;
18
19
  private networkEventIdMap;
19
20
  /**
20
21
  * Get all discovered event sources
@@ -29,6 +30,11 @@ declare class UnifiedEventStore {
29
30
  * Override source availability with the synced device's (auto-discovery
30
31
  * finds nothing on the dashboard — the tool packages live on the device).
31
32
  * Pass null to restore local discovery.
33
+ *
34
+ * Notifies listeners when the set actually changes so consumers
35
+ * (useUnifiedEvents) can refresh their available-source list — this is the
36
+ * only signal the dashboard's filter badge bar gets when capture is OFF and
37
+ * no events are flowing to trigger replaceEvents().
32
38
  */
33
39
  setRemoteAvailableSources(sources: EventSource[] | null): void;
34
40
  /**
@@ -50,7 +56,8 @@ declare class UnifiedEventStore {
50
56
  */
51
57
  subscribeToSource(source: DiscoveredEventSource): Promise<void>;
52
58
  /**
53
- * Unsubscribe from a specific source by ID
59
+ * Unsubscribe from a specific source by ID. Ref-counted: the real teardown
60
+ * only runs when the last consumer drops it.
54
61
  */
55
62
  unsubscribeFromSource(sourceId: string): void;
56
63
  /**
@@ -153,6 +160,27 @@ declare class UnifiedEventStore {
153
160
  * Unsubscribe from all sources
154
161
  */
155
162
  unsubscribeAll(): void;
163
+ /**
164
+ * Remote-consumer channel: the dashboard sync adapter declares which event
165
+ * sources it wants the device to capture. Diffed against the previous remote
166
+ * set so only changed sources are (un)subscribed; ref-counting keeps the
167
+ * on-device EventsModal's own subscriptions intact. Pass "all" to capture
168
+ * every discovered source except the high-frequency excluded ones.
169
+ */
170
+ setRemoteEnabledSources(sources: EventSource[] | "all"): Promise<void>;
171
+ /**
172
+ * Called by the sync adapter when a dashboard starts watching: default to all
173
+ * sources, but ONLY if the dashboard hasn't already declared a selection for
174
+ * this watch session (the setEnabledSources action can arrive before the
175
+ * watch). Keeps backward compatibility with dashboards that never narrow.
176
+ */
177
+ ensureRemoteSourcesDefault(): void;
178
+ /**
179
+ * Release all of the remote consumer's source subscriptions (e.g. when the
180
+ * dashboard stops watching the events tool). Ref-counting means sources the
181
+ * on-device EventsModal also wants stay subscribed.
182
+ */
183
+ clearRemoteSources(): void;
156
184
  /**
157
185
  * Check if a specific source is currently subscribed
158
186
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unifiedEventStore.d.ts","sourceRoot":"","sources":["../../../src/stores/unifiedEventStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unifiedEventStore.d.ts","sourceRoot":"","sources":["../../../src/stores/unifiedEventStore.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,37 @@
1
+ import type { EventSource } from "../types";
1
2
  /**
2
3
  * Sync adapter for the events tool, consumed by @buoy-gg/external-sync's
3
4
  * `useExternalSync` (structurally matches its ToolSyncAdapter interface so
4
5
  * this package doesn't need a dependency on it).
5
6
  *
6
- * Subscribing starts aggregation from every discovered source, so the
7
- * unified timeline fills while a dashboard is watching even if the on-device
8
- * EventsModal was never opened. The snapshot carries the device's available
9
- * sources so the dashboard can render the source filter chips (its own
10
- * auto-discovery finds nothing the tool packages live on the device).
7
+ * This adapter is the "remote consumer" of the unified event store. While a
8
+ * dashboard is watching, it requests a SET of event sources (defaulting to all,
9
+ * narrowed by the dashboard via `setEnabledSources`). On unwatch it releases
10
+ * those requests, so unlike before the device stops capturing sources that
11
+ * nothing else is watching. Source requests are ref-counted in the store, so
12
+ * the on-device EventsModal keeps working when open at the same time.
13
+ *
14
+ * The snapshot carries the device's available sources so the dashboard can
15
+ * render the source filter chips (its own auto-discovery finds nothing — the
16
+ * tool packages live on the device).
11
17
  */
12
18
  export declare const eventsSyncAdapter: {
13
19
  version: number;
14
20
  getSnapshot: () => {
15
21
  events: import("..").UnifiedEvent[];
16
- availableSources: import("..").EventSource[];
22
+ availableSources: EventSource[];
17
23
  };
18
24
  subscribe: (onChange: () => void) => () => void;
19
25
  actions: {
20
26
  clearEvents: () => void;
27
+ /**
28
+ * Narrow which sources the device captures for this dashboard, driven by
29
+ * the dashboard's source badges. Ref-counted in the store, so disabling a
30
+ * source here only stops its capture if no other consumer wants it.
31
+ */
32
+ setEnabledSources: (params: unknown) => {
33
+ enabledSources: EventSource[];
34
+ };
21
35
  };
22
36
  };
23
37
  //# sourceMappingURL=eventsSyncAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventsSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/eventsSyncAdapter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;;;0BAMN,MAAM,IAAI;;;;CAWjC,CAAC"}
1
+ {"version":3,"file":"eventsSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/eventsSyncAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB;;;;;;0BAMN,MAAM,IAAI;;;QAkB9B;;;;WAIG;oCACyB,OAAO;;;;CAOtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/events",
3
- "version": "3.0.2",
3
+ "version": "4.0.1",
4
4
  "description": "events package",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -27,8 +27,8 @@
27
27
  ],
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@buoy-gg/floating-tools-core": "3.0.2",
31
- "@buoy-gg/shared-ui": "3.0.2"
30
+ "@buoy-gg/floating-tools-core": "4.0.1",
31
+ "@buoy-gg/shared-ui": "4.0.1"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "react": "*",