@fias/arche-sdk 1.6.1 → 1.8.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.
@@ -44,6 +44,7 @@ jest.mock('react', () => ({
44
44
  }),
45
45
  useCallback: jest.fn((fn) => fn),
46
46
  useRef: jest.fn((initial) => ({ current: initial })),
47
+ useMemo: jest.fn((fn) => fn()),
47
48
  }));
48
49
  jest.mock('react-dom', () => ({
49
50
  flushSync: jest.fn((fn) => fn()),
@@ -176,108 +177,17 @@ describe('SDK hooks', () => {
176
177
  nav.navigateTo('/new-path');
177
178
  expect(mockBridge.request).toHaveBeenCalledWith('navigate', { path: '/new-path' });
178
179
  });
179
- it('returns cleanup function from onNavigationUpdate', () => {
180
+ it('cleanup function unsubscribes from onNavigationUpdate', () => {
181
+ // The effect cleanup wraps the raw unsubscribe so it can also cancel
182
+ // the pending waitForInit() sync. We assert on behavior (unsubscribe
183
+ // gets called on cleanup) rather than identity.
180
184
  const unsubscribe = jest.fn();
181
185
  mockBridge.onNavigationUpdate.mockReturnValue(unsubscribe);
182
186
  const { useFiasNavigation } = require('./hooks');
183
187
  useFiasNavigation();
184
- expect(capturedEffectCleanup).toBe(unsubscribe);
185
- });
186
- });
187
- describe('usePersistentState', () => {
188
- beforeEach(() => {
189
- // Default mock for storage_read so the mount effect doesn't crash
190
- mockBridge.request.mockResolvedValue({ exists: false, content: null });
191
- });
192
- it('loads persisted value from bridge storage on mount', () => {
193
- mockBridge.request.mockResolvedValue({ exists: true, content: '"saved-value"' });
194
- const { usePersistentState } = require('./hooks');
195
- const [value] = usePersistentState('myKey', 'default');
196
- // Initial render returns the default
197
- expect(value).toBe('default');
198
- // Effect fires storage_read
199
- expect(mockBridge.request).toHaveBeenCalledWith('storage_read', {
200
- path: '__state/myKey',
201
- });
202
- });
203
- it('setValue fires storage_write for new values', () => {
204
- // Track the updater function passed to setValueInternal
205
- let capturedUpdater = null;
206
- const mockSetValueInternal = jest.fn((fn) => {
207
- capturedUpdater = fn;
208
- });
209
- const react = require('react');
210
- react.useState.mockReturnValueOnce(['old-value', mockSetValueInternal]);
211
- const { usePersistentState } = require('./hooks');
212
- const [, setValue] = usePersistentState('myKey', 'old-value');
213
- // Call setValue with a new value
214
- setValue('new-value');
215
- expect(mockSetValueInternal).toHaveBeenCalled();
216
- // Execute the updater function — it should fire storage_write
217
- mockBridge.request.mockClear();
218
- mockBridge.request.mockResolvedValue(undefined);
219
- const result = capturedUpdater('old-value');
220
- expect(result).toBe('new-value');
221
- expect(mockBridge.request).toHaveBeenCalledWith('storage_write', {
222
- path: '__state/myKey',
223
- content: '"new-value"',
224
- });
225
- });
226
- it('setValue skips storage_write when value has not changed', () => {
227
- let capturedUpdater = null;
228
- const mockSetValueInternal = jest.fn((fn) => {
229
- capturedUpdater = fn;
230
- });
231
- const react = require('react');
232
- react.useState.mockReturnValueOnce(['same-value', mockSetValueInternal]);
233
- const { usePersistentState } = require('./hooks');
234
- const [, setValue] = usePersistentState('myKey', 'same-value');
235
- setValue('same-value');
236
- // Execute the updater — should return prev and NOT fire storage_write
237
- mockBridge.request.mockClear();
238
- const result = capturedUpdater('same-value');
239
- expect(result).toBe('same-value');
240
- // storage_write should NOT be called
241
- expect(mockBridge.request).not.toHaveBeenCalled();
242
- });
243
- it('setValue skips storage_write for identical objects', () => {
244
- let capturedUpdater = null;
245
- const mockSetValueInternal = jest.fn((fn) => {
246
- capturedUpdater = fn;
247
- });
248
- const react = require('react');
249
- const prevObj = { a: 1, b: [2, 3] };
250
- react.useState.mockReturnValueOnce([prevObj, mockSetValueInternal]);
251
- const { usePersistentState } = require('./hooks');
252
- const [, setValue] = usePersistentState('myKey', prevObj);
253
- // Set a structurally identical but referentially different object
254
- setValue({ a: 1, b: [2, 3] });
255
- mockBridge.request.mockClear();
256
- const result = capturedUpdater(prevObj);
257
- // Should return the original prev object (preserving referential identity)
258
- expect(result).toBe(prevObj);
259
- // storage_write should NOT be called
260
- expect(mockBridge.request).not.toHaveBeenCalled();
261
- });
262
- it('setValue supports functional updater form', () => {
263
- let capturedUpdater = null;
264
- const mockSetValueInternal = jest.fn((fn) => {
265
- capturedUpdater = fn;
266
- });
267
- const react = require('react');
268
- react.useState.mockReturnValueOnce([[1, 2], mockSetValueInternal]);
269
- const { usePersistentState } = require('./hooks');
270
- const [, setValue] = usePersistentState('myKey', [1, 2]);
271
- // Use functional updater
272
- setValue((prev) => [...prev, 3]);
273
- mockBridge.request.mockClear();
274
- mockBridge.request.mockResolvedValue(undefined);
275
- const result = capturedUpdater([1, 2]);
276
- expect(result).toEqual([1, 2, 3]);
277
- expect(mockBridge.request).toHaveBeenCalledWith('storage_write', {
278
- path: '__state/myKey',
279
- content: '[1,2,3]',
280
- });
188
+ expect(capturedEffectCleanup).toBeInstanceOf(Function);
189
+ capturedEffectCleanup();
190
+ expect(unsubscribe).toHaveBeenCalledTimes(1);
281
191
  });
282
192
  });
283
193
  describe('useStepNavigation', () => {
@@ -300,6 +210,195 @@ describe('SDK hooks', () => {
300
210
  useStepNavigation();
301
211
  expect(capturedEffectCleanup).toBe(unsubscribe);
302
212
  });
213
+ it('without persistKey, does not touch storage on mount or setCurrentStep', () => {
214
+ const { useStepNavigation } = require('./hooks');
215
+ const result = useStepNavigation('step-1');
216
+ expect(mockBridge.request).not.toHaveBeenCalledWith('storage_read', expect.anything());
217
+ result.setCurrentStep('step-2');
218
+ expect(mockBridge.request).not.toHaveBeenCalledWith('storage_write', expect.anything());
219
+ });
220
+ it('with persistKey, reads persisted value on mount', () => {
221
+ const { useStepNavigation } = require('./hooks');
222
+ useStepNavigation('step-1', { persistKey: 'currentStep' });
223
+ expect(mockBridge.request).toHaveBeenCalledWith('storage_read', {
224
+ path: '__state/currentStep',
225
+ });
226
+ });
227
+ it('with persistKey, writes on setCurrentStep (after debounce flush)', () => {
228
+ jest.useFakeTimers();
229
+ try {
230
+ const { useStepNavigation } = require('./hooks');
231
+ const result = useStepNavigation('step-1', { persistKey: 'currentStep' });
232
+ mockBridge.request.mockClear();
233
+ result.setCurrentStep('step-2');
234
+ expect(mockSetState).toHaveBeenCalledWith('step-2');
235
+ // Setter updates in-memory state immediately; the write is debounced.
236
+ expect(mockBridge.request).not.toHaveBeenCalledWith('storage_write', expect.anything());
237
+ jest.advanceTimersByTime(260);
238
+ expect(mockBridge.request).toHaveBeenCalledWith('storage_write', {
239
+ path: '__state/currentStep',
240
+ content: JSON.stringify('step-2'),
241
+ });
242
+ }
243
+ finally {
244
+ jest.useRealTimers();
245
+ }
246
+ });
247
+ it('with persistKey, persists host step_navigate messages (after debounce flush)', () => {
248
+ jest.useFakeTimers();
249
+ try {
250
+ let hostCallback = null;
251
+ mockBridge.onStepNavigationUpdate.mockImplementation((cb) => {
252
+ hostCallback = cb;
253
+ return () => { };
254
+ });
255
+ const { useStepNavigation } = require('./hooks');
256
+ useStepNavigation('step-1', { persistKey: 'currentStep' });
257
+ mockBridge.request.mockClear();
258
+ expect(hostCallback).not.toBeNull();
259
+ hostCallback('step-from-host');
260
+ expect(mockSetState).toHaveBeenCalledWith('step-from-host');
261
+ jest.advanceTimersByTime(260);
262
+ expect(mockBridge.request).toHaveBeenCalledWith('storage_write', {
263
+ path: '__state/currentStep',
264
+ content: JSON.stringify('step-from-host'),
265
+ });
266
+ }
267
+ finally {
268
+ jest.useRealTimers();
269
+ }
270
+ });
271
+ it('with persistKey, persisted value wins over initialStep on mount', async () => {
272
+ mockBridge.request.mockResolvedValue({
273
+ content: JSON.stringify('step-persisted'),
274
+ exists: true,
275
+ });
276
+ const { useStepNavigation } = require('./hooks');
277
+ useStepNavigation('step-initial', { persistKey: 'currentStep' });
278
+ // Let the storage_read promise resolve
279
+ await Promise.resolve();
280
+ await Promise.resolve();
281
+ // After the read resolves, the internal setter is called with the persisted value
282
+ expect(mockSetState).toHaveBeenCalledWith('step-persisted');
283
+ });
284
+ });
285
+ describe('usePersistentState', () => {
286
+ function countStorageWrites(key) {
287
+ return mockBridge.request.mock.calls.filter((call) => call[0] === 'storage_write' && call[1].path === `__state/${key}`).length;
288
+ }
289
+ it('reads initial value from storage on mount', () => {
290
+ const { usePersistentState } = require('./hooks');
291
+ usePersistentState('counter', 0);
292
+ expect(mockBridge.request).toHaveBeenCalledWith('storage_read', {
293
+ path: '__state/counter',
294
+ });
295
+ });
296
+ it('applies persisted value after storage_read resolves', async () => {
297
+ mockBridge.request.mockResolvedValue({
298
+ content: JSON.stringify(42),
299
+ exists: true,
300
+ });
301
+ const { usePersistentState } = require('./hooks');
302
+ usePersistentState('counter', 0);
303
+ await Promise.resolve();
304
+ await Promise.resolve();
305
+ expect(mockSetState).toHaveBeenCalledWith(42);
306
+ });
307
+ it('setter updates in-memory value synchronously, defers write', () => {
308
+ jest.useFakeTimers();
309
+ try {
310
+ const { usePersistentState } = require('./hooks');
311
+ const [, setValue] = usePersistentState('counter', 0);
312
+ mockBridge.request.mockClear();
313
+ setValue(1);
314
+ // In-memory update fires immediately via functional updater
315
+ expect(mockSetState).toHaveBeenCalled();
316
+ // No write yet — it's debounced
317
+ expect(countStorageWrites('counter')).toBe(0);
318
+ jest.advanceTimersByTime(260);
319
+ expect(countStorageWrites('counter')).toBe(1);
320
+ expect(mockBridge.request).toHaveBeenCalledWith('storage_write', {
321
+ path: '__state/counter',
322
+ content: JSON.stringify(1),
323
+ });
324
+ }
325
+ finally {
326
+ jest.useRealTimers();
327
+ }
328
+ });
329
+ it('coalesces a rapid burst of setter calls into one write with the last value', () => {
330
+ jest.useFakeTimers();
331
+ try {
332
+ const { usePersistentState } = require('./hooks');
333
+ const [, setValue] = usePersistentState('counter', 0);
334
+ mockBridge.request.mockClear();
335
+ // Simulate a 60fps burst — 60 updates in ~1 second
336
+ for (let i = 1; i <= 60; i++) {
337
+ setValue(i);
338
+ jest.advanceTimersByTime(16);
339
+ }
340
+ // maxWait is 1000ms, so we'd get at most 1 write during the burst
341
+ const writesDuringBurst = countStorageWrites('counter');
342
+ expect(writesDuringBurst).toBeLessThanOrEqual(1);
343
+ // Let the trailing-edge flush fire
344
+ jest.advanceTimersByTime(260);
345
+ const writes = mockBridge.request.mock.calls.filter((call) => call[0] === 'storage_write');
346
+ // Total writes over the burst: at most 2 (one at maxWait, one trailing).
347
+ // Never 60. Final write contains the last value.
348
+ expect(writes.length).toBeGreaterThanOrEqual(1);
349
+ expect(writes.length).toBeLessThanOrEqual(2);
350
+ expect(writes[writes.length - 1][1]).toEqual({
351
+ path: '__state/counter',
352
+ content: JSON.stringify(60),
353
+ });
354
+ }
355
+ finally {
356
+ jest.useRealTimers();
357
+ }
358
+ });
359
+ it('enforces maxWait so continuous updates still persist at least once per second', () => {
360
+ jest.useFakeTimers();
361
+ try {
362
+ const { usePersistentState } = require('./hooks');
363
+ const [, setValue] = usePersistentState('counter', 0);
364
+ mockBridge.request.mockClear();
365
+ // Continuous updates every 50ms for 3 seconds — trailing-edge never fires
366
+ // because there's always another call within 250ms, so only the maxWait
367
+ // (1000ms) cap can trigger writes.
368
+ for (let t = 0; t < 3000; t += 50) {
369
+ setValue(t);
370
+ jest.advanceTimersByTime(50);
371
+ }
372
+ const writes = countStorageWrites('counter');
373
+ // Roughly 3 writes (one per 1000ms maxWait window) — allow a small jitter range
374
+ expect(writes).toBeGreaterThanOrEqual(2);
375
+ expect(writes).toBeLessThanOrEqual(4);
376
+ }
377
+ finally {
378
+ jest.useRealTimers();
379
+ }
380
+ });
381
+ it('flushes pending write on unmount', () => {
382
+ jest.useFakeTimers();
383
+ try {
384
+ const { usePersistentState } = require('./hooks');
385
+ const [, setValue] = usePersistentState('counter', 0);
386
+ mockBridge.request.mockClear();
387
+ setValue(7);
388
+ expect(countStorageWrites('counter')).toBe(0);
389
+ // Invoke the effect cleanup captured by the react mock — simulates unmount
390
+ expect(capturedEffectCleanup).not.toBeNull();
391
+ capturedEffectCleanup();
392
+ expect(countStorageWrites('counter')).toBe(1);
393
+ expect(mockBridge.request).toHaveBeenCalledWith('storage_write', {
394
+ path: '__state/counter',
395
+ content: JSON.stringify(7),
396
+ });
397
+ }
398
+ finally {
399
+ jest.useRealTimers();
400
+ }
401
+ });
303
402
  });
304
403
  });
305
404
  //# sourceMappingURL=hooks.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../src/hooks.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../src/hooks.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,5 +7,5 @@ export type { ThemeCatalogEntry } from './themes';
7
7
  export { FONT_PAIRINGS, getFontPairingById } from './themes/fonts';
8
8
  export type { FontPairing } from './themes/fonts';
9
9
  export { FiasBridge, getBridge, resetBridge } from './bridge';
10
- export type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, EntityInvocationParams, EntityInvocationResult, ImageGenerationApi, ImageGenerationParams, ImageGenerationResult, FiasNavigationApi, StepNavigationApi, FiasDataStoreApi, DataStoreCollection, DataStoreDocument, DataStoreQueryFilter, DataStoreQueryOptions, DataStoreQueryResult, FiasStoreApi, StoreProduct, StoreProductType, StoreSubscriptionPeriod, StoreEntitlement, StorePurchase, StorePurchaseResult, StorePurchaseOptions, PluginPermission, BridgeMessage, BridgeResponse, BridgeInitMessage, PluginToHostMessageType, HostToPluginMessageType, } from './types';
10
+ export type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, EntityInvocationParams, EntityInvocationResult, ImageGenerationApi, ImageGenerationParams, ImageGenerationResult, FiasNavigationApi, StepNavigationApi, StepNavigationOptions, FiasDataStoreApi, DataStoreCollection, DataStoreDocument, DataStoreQueryFilter, DataStoreQueryOptions, DataStoreQueryResult, FiasStoreApi, StoreProduct, StoreProductType, StoreSubscriptionPeriod, StoreEntitlement, StorePurchase, StorePurchaseResult, StorePurchaseOptions, PluginPermission, BridgeMessage, BridgeResponse, BridgeInitMessage, PluginToHostMessageType, HostToPluginMessageType, } from './types';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG9D,YAAY,EAEV,QAAQ,EACR,SAAS,EAET,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EAEtB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAErB,iBAAiB,EAEjB,iBAAiB,EAEjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EAEpB,gBAAgB,EAEhB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG9D,YAAY,EAEV,QAAQ,EACR,SAAS,EAET,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EAEtB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAErB,iBAAiB,EAEjB,iBAAiB,EACjB,qBAAqB,EAErB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EAEpB,gBAAgB,EAEhB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
package/dist/index.mjs CHANGED
@@ -119,6 +119,9 @@ var FiasBridge = class {
119
119
  this.currentPath = initMsg.payload.currentPath;
120
120
  this.initialized = true;
121
121
  this.initResolve?.();
122
+ for (const listener of this.navigationListeners) {
123
+ listener(this.currentPath);
124
+ }
122
125
  return;
123
126
  }
124
127
  if (this.hostOrigin && event.origin !== this.hostOrigin) return;
@@ -353,6 +356,36 @@ function useBridge() {
353
356
  }
354
357
  return bridge;
355
358
  }
359
+ var PERSIST_DEBOUNCE_WAIT_MS = 250;
360
+ var PERSIST_DEBOUNCE_MAX_WAIT_MS = 1e3;
361
+ function createDebouncedWriter(bridge) {
362
+ let pending = null;
363
+ function flush() {
364
+ if (!pending) return;
365
+ const { path, content, timerId } = pending;
366
+ if (timerId !== null) clearTimeout(timerId);
367
+ pending = null;
368
+ bridge.request("storage_write", { path, content }).catch(() => {
369
+ });
370
+ }
371
+ function schedule(path, content) {
372
+ const now = Date.now();
373
+ if (pending && pending.path !== path) {
374
+ flush();
375
+ }
376
+ if (!pending) {
377
+ pending = { path, content, timerId: null, firstScheduledAt: now };
378
+ } else {
379
+ pending.content = content;
380
+ }
381
+ if (pending.timerId !== null) clearTimeout(pending.timerId);
382
+ const elapsed = now - pending.firstScheduledAt;
383
+ const remainingMax = Math.max(0, PERSIST_DEBOUNCE_MAX_WAIT_MS - elapsed);
384
+ const delay = Math.min(PERSIST_DEBOUNCE_WAIT_MS, remainingMax);
385
+ pending.timerId = setTimeout(flush, delay);
386
+ }
387
+ return { schedule, flush };
388
+ }
356
389
  function useFiasUser() {
357
390
  const bridge = useBridge();
358
391
  const [user, setUser] = useState2(null);
@@ -468,7 +501,15 @@ function useFiasNavigation() {
468
501
  const bridge = useBridge();
469
502
  const [currentPath, setCurrentPath] = useState2(bridge.getCurrentPath());
470
503
  useEffect2(() => {
471
- return bridge.onNavigationUpdate(setCurrentPath);
504
+ let cancelled = false;
505
+ bridge.waitForInit().then(() => {
506
+ if (!cancelled) setCurrentPath(bridge.getCurrentPath());
507
+ });
508
+ const unsubscribe = bridge.onNavigationUpdate(setCurrentPath);
509
+ return () => {
510
+ cancelled = true;
511
+ unsubscribe();
512
+ };
472
513
  }, [bridge]);
473
514
  const navigateTo = useCallback(
474
515
  (path) => {
@@ -482,45 +523,87 @@ function usePersistentState(key, initialValue) {
482
523
  const bridge = useBridge();
483
524
  const [value, setValueInternal] = useState2(initialValue);
484
525
  const initializedRef = useRef(false);
526
+ const valueRef = useRef(initialValue);
527
+ const writer = useMemo2(() => createDebouncedWriter(bridge), [bridge]);
485
528
  useEffect2(() => {
486
529
  bridge.request("storage_read", { path: `__state/${key}` }).then((result) => {
487
530
  if (result.exists && result.content !== null) {
488
531
  try {
489
- setValueInternal(JSON.parse(result.content));
532
+ const parsed = JSON.parse(result.content);
533
+ valueRef.current = parsed;
534
+ setValueInternal(parsed);
490
535
  } catch {
491
536
  }
492
537
  }
493
538
  initializedRef.current = true;
494
539
  });
495
- }, [bridge, key]);
540
+ return () => {
541
+ writer.flush();
542
+ };
543
+ }, [bridge, key, writer]);
496
544
  const setValue = useCallback(
497
545
  (next) => {
498
- setValueInternal((prev) => {
499
- const resolved = typeof next === "function" ? next(prev) : next;
500
- const serialized = JSON.stringify(resolved);
501
- if (serialized === JSON.stringify(prev)) {
502
- return prev;
503
- }
504
- bridge.request("storage_write", {
505
- path: `__state/${key}`,
506
- content: serialized
507
- }).catch(() => {
508
- });
509
- return resolved;
510
- });
546
+ const resolved = typeof next === "function" ? next(valueRef.current) : next;
547
+ valueRef.current = resolved;
548
+ setValueInternal(resolved);
549
+ writer.schedule(`__state/${key}`, JSON.stringify(resolved));
511
550
  },
512
- [bridge, key]
551
+ [key, writer]
513
552
  );
514
553
  return [value, setValue];
515
554
  }
516
- function useStepNavigation(initialStep) {
555
+ function useStepNavigation(initialStep, options) {
517
556
  const bridge = useBridge();
518
- const [currentStep, setCurrentStep] = useState2(initialStep ?? null);
557
+ const persistKey = options?.persistKey;
558
+ const [currentStep, setCurrentStepInternal] = useState2(initialStep ?? null);
559
+ const initializedRef = useRef(false);
560
+ const writer = useMemo2(() => createDebouncedWriter(bridge), [bridge]);
561
+ useEffect2(() => {
562
+ if (!persistKey) {
563
+ initializedRef.current = true;
564
+ return;
565
+ }
566
+ let cancelled = false;
567
+ bridge.request("storage_read", {
568
+ path: `__state/${persistKey}`
569
+ }).then((result) => {
570
+ if (cancelled || initializedRef.current) return;
571
+ if (result.exists && result.content !== null) {
572
+ try {
573
+ const parsed = JSON.parse(result.content);
574
+ if (typeof parsed === "string" || parsed === null) {
575
+ setCurrentStepInternal(parsed);
576
+ }
577
+ } catch {
578
+ }
579
+ }
580
+ initializedRef.current = true;
581
+ }).catch(() => {
582
+ initializedRef.current = true;
583
+ });
584
+ return () => {
585
+ cancelled = true;
586
+ writer.flush();
587
+ };
588
+ }, [bridge, persistKey, writer]);
519
589
  useEffect2(() => {
520
590
  return bridge.onStepNavigationUpdate((nodeId) => {
521
- setCurrentStep(nodeId);
591
+ setCurrentStepInternal(nodeId);
592
+ if (persistKey) {
593
+ writer.schedule(`__state/${persistKey}`, JSON.stringify(nodeId));
594
+ }
522
595
  });
523
- }, [bridge]);
596
+ }, [bridge, persistKey, writer]);
597
+ const setCurrentStep = useCallback(
598
+ (nodeId) => {
599
+ initializedRef.current = true;
600
+ setCurrentStepInternal(nodeId);
601
+ if (persistKey) {
602
+ writer.schedule(`__state/${persistKey}`, JSON.stringify(nodeId));
603
+ }
604
+ },
605
+ [persistKey, writer]
606
+ );
524
607
  return { currentStep, setCurrentStep };
525
608
  }
526
609
  function useFiasDataStore() {
package/dist/theme.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Used by:
8
8
  * - plugin-dev-harness (local development)
9
- * - arche-builder-preview (builder preview iframe)
9
+ * - plugin-builder-preview (builder preview iframe)
10
10
  * - PluginRenderer (production plugin rendering)
11
11
  * - bridge routes (server-side fallback)
12
12
  * - arche-sdk tests
package/dist/theme.js CHANGED
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Used by:
9
9
  * - plugin-dev-harness (local development)
10
- * - arche-builder-preview (builder preview iframe)
10
+ * - plugin-builder-preview (builder preview iframe)
11
11
  * - PluginRenderer (production plugin rendering)
12
12
  * - bridge routes (server-side fallback)
13
13
  * - arche-sdk tests
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Curated font pairings for the Fias arche builder.
2
+ * Curated font pairings for the Fias plugin builder.
3
3
  * Each pairing includes heading, body, and mono fonts with a Google Fonts URL.
4
4
  */
5
5
  export interface FontPairing {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Curated font pairings for the Fias arche builder.
3
+ * Curated font pairings for the Fias plugin builder.
4
4
  * Each pairing includes heading, body, and mono fonts with a Google Fonts URL.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme catalog for the Fias arche builder.
2
+ * Theme catalog for the Fias plugin builder.
3
3
  * Provides a browsable library of named themes that plugins can use.
4
4
  */
5
5
  import type { FiasTheme } from '../types';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Theme catalog for the Fias arche builder.
3
+ * Theme catalog for the Fias plugin builder.
4
4
  * Provides a browsable library of named themes that plugins can use.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });