@wyxos/vibe 3.1.34 → 3.1.35

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
@@ -152,7 +152,7 @@ Vibe owns:
152
152
  Vibe has one built-in paging model:
153
153
 
154
154
  - if a resolve returns fewer visible items than `pageSize`, Vibe enters a fill loop
155
- - it waits `fillDelayMs`, then `fillDelayMs + fillDelayStepMs`, and so on for each chained request
155
+ - it waits `fillDelayMs`, then `fillDelayMs + fillDelayStepMs`, and so on for each chained request, capped by `fillDelayMaxMs` when provided
156
156
  - it keeps accumulating results until the collected count reaches `pageSize` or there is no further cursor
157
157
  - then it commits that batch into the layout once
158
158
  - before advancing at the bottom or top, Vibe checks whether the current boundary page is underfilled after local removals
@@ -168,6 +168,7 @@ Example:
168
168
  :page-size="25"
169
169
  :fill-delay-ms="2000"
170
170
  :fill-delay-step-ms="1000"
171
+ :fill-delay-max-ms="15000"
171
172
  :show-end-badge="false"
172
173
  :show-status-badges="false"
173
174
  />
@@ -36,6 +36,7 @@ export declare function createAutoResolveFillUntilController(options: {
36
36
  nextOperationId: () => number;
37
37
  operationPhase: Ref<VibeLoadPhase>;
38
38
  pendingAppendBuckets: Ref<VibeAutoBucket[]>;
39
+ refreshTrailingBoundaryBeforeEnd: () => Promise<void>;
39
40
  setActiveResolveController: (controller: AbortController | null) => void;
40
41
  setLastLoadAttempt: (attempt: () => Promise<void>) => void;
41
42
  waitFillDelay: (delayMs: number) => Promise<void>;
@@ -1,7 +1,8 @@
1
1
  export declare const DEFAULT_FILL_DELAY_MS = 2000;
2
2
  export declare const DEFAULT_FILL_DELAY_STEP_MS = 1000;
3
- export declare function getFillDelayMs(fillRequestIndex: number, baseDelayMs?: number, stepDelayMs?: number): number;
3
+ export declare function getFillDelayMs(fillRequestIndex: number, baseDelayMs?: number, stepDelayMs?: number, maxDelayMs?: number): number;
4
4
  export declare function normalizeFillDelayMs(value: number | undefined, fallback: number): number;
5
+ export declare function normalizeFillDelayMaxMs(value: number | undefined): number | undefined;
5
6
  export declare function useFillDelayCountdown(): {
6
7
  clear: (resolvePending?: boolean) => void;
7
8
  remainingMs: import("vue").Ref<number | null, number | null>;
@@ -5,6 +5,7 @@ import { type ResolveFn } from './autoResolveHelpers';
5
5
  type VibeAutoEmit = (event: 'update:activeIndex', value: number) => void;
6
6
  export declare function useAutoResolveSource(options: {
7
7
  emit: VibeAutoEmit;
8
+ fillDelayMaxMs?: number;
8
9
  fillDelayMs?: number;
9
10
  fillDelayStepMs?: number;
10
11
  initialCursor?: string | null;
@@ -28,7 +29,7 @@ export declare function useAutoResolveSource(options: {
28
29
  items: import("vue").ComputedRef<VibeViewerItem[]>;
29
30
  lockPageLoading: () => void;
30
31
  loading: import("vue").ComputedRef<boolean>;
31
- maybePrefetchAround: () => Promise<void>;
32
+ maybePrefetchAround: (refreshExhausted?: boolean) => Promise<void>;
32
33
  nextCursor: import("vue").ComputedRef<string | null>;
33
34
  pendingAppendItems: import("vue").ComputedRef<VibeViewerItem[]>;
34
35
  phase: Ref<VibeLoadPhase, VibeLoadPhase>;
@@ -23,6 +23,7 @@ export interface VibeInitialState {
23
23
  export interface VibeProps {
24
24
  bottomLoadBufferPx?: number;
25
25
  emptyStateMode?: VibeEmptyStateMode;
26
+ fillDelayMaxMs?: number;
26
27
  fillDelayMs?: number;
27
28
  fillDelayStepMs?: number;
28
29
  initialCursor?: string | null;