@ai4b-team/fsaos-gateway-sdk 3.38.0 → 3.39.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/README.md CHANGED
@@ -174,7 +174,7 @@ loaded page whenever a reply changes. It supports one item `type`, an explicit
174
174
  `scope`, `sort_by: 'created_at'`, and optional `parent_id`, `fields`, or
175
175
  `field_in`. It returns the same list and pagination fields as
176
176
  `useInfiniteItems`. Inserts cost one item read; updates are ignored unless
177
- `shouldReadUpdate(change, loadedItems)` selects them; deletes and reconnects
177
+ `shouldReadUpdate(change, loadedItems)` selects them; moves, deletes, and reconnects
178
178
  reconcile the pages. More complex filters fall back to the ordinary realtime
179
179
  listing. The host still needs its normal account or path WebSocket subscription.
180
180
 
@@ -348,3 +348,22 @@ coalesced item-change events and reconnects, with no polling.
348
348
 
349
349
  Requires the `personal-sections` kernel method from migration `0793523446ad`.
350
350
  Projects are protocol-ready; a consumer must supply its Project UI separately.
351
+
352
+ ### Bound browser read traffic
353
+
354
+ Hosts sharing the SDK's QueryClient can opt into transport scheduling before mounting readers:
355
+
356
+ ```ts
357
+ configureGatewayReads({ concurrency: 6, timeoutMs: 15_000, onTiming: recordTiming });
358
+ useInfiniteItems(filter, { priority: 'foreground' });
359
+ gatewayCall('query', params, { signal, priority: 'background' });
360
+ ```
361
+
362
+ Equivalent in-flight reads share one transport request, scoped by credentials,
363
+ session generation, hostname, and effective parameters. Each observer receives its
364
+ own result object and may cancel independently. The last cancellation aborts the
365
+ fetch; identity reset cancels queued and active reads. The deadline includes queue
366
+ time. `onTiming` reports only method, priority, queue/request duration and outcome.
367
+ Commands, writes, materializing queries and subscriptions bypass the queue. The
368
+ scheduler never retries a request; retry/cooldown policy remains with the host's
369
+ existing QueryClient. Without configuration, transport behavior is unchanged.