swarmbox 0.12.0 → 0.14.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.
Files changed (56) hide show
  1. package/README.md +11 -2
  2. package/dist/fleet/browser.d.ts +10 -4
  3. package/dist/fleet/browser.d.ts.map +1 -1
  4. package/dist/fleet/browser.js +15 -5
  5. package/dist/fleet/browser.js.map +1 -1
  6. package/dist/fleet/sight.d.ts +26 -2
  7. package/dist/fleet/sight.d.ts.map +1 -1
  8. package/dist/fleet/sight.js +146 -17
  9. package/dist/fleet/sight.js.map +1 -1
  10. package/dist/harness.d.ts +36 -1
  11. package/dist/harness.d.ts.map +1 -1
  12. package/dist/harness.js +160 -23
  13. package/dist/harness.js.map +1 -1
  14. package/dist/hooks.d.ts.map +1 -1
  15. package/dist/hooks.js +5 -1
  16. package/dist/hooks.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/mcp/authenticator.d.ts +17 -0
  22. package/dist/mcp/authenticator.d.ts.map +1 -0
  23. package/dist/mcp/authenticator.js +63 -0
  24. package/dist/mcp/authenticator.js.map +1 -0
  25. package/dist/mcp/inbox.d.ts +16 -0
  26. package/dist/mcp/inbox.d.ts.map +1 -0
  27. package/dist/mcp/inbox.js +55 -0
  28. package/dist/mcp/inbox.js.map +1 -0
  29. package/dist/mcp/server.d.ts.map +1 -1
  30. package/dist/mcp/server.js +103 -15
  31. package/dist/mcp/server.js.map +1 -1
  32. package/dist/product.d.ts +27 -3
  33. package/dist/product.d.ts.map +1 -1
  34. package/dist/redact.d.ts +13 -0
  35. package/dist/redact.d.ts.map +1 -0
  36. package/dist/redact.js +226 -0
  37. package/dist/redact.js.map +1 -0
  38. package/dist/requests.d.ts +60 -0
  39. package/dist/requests.d.ts.map +1 -0
  40. package/dist/requests.js +137 -0
  41. package/dist/requests.js.map +1 -0
  42. package/dist/standins/builtin/email/index.d.ts.map +1 -1
  43. package/dist/standins/builtin/email/index.js +238 -8
  44. package/dist/standins/builtin/email/index.js.map +1 -1
  45. package/dist/standins/builtin/email/manifest.json +6 -2
  46. package/dist/standins/manifest.d.ts +1 -1
  47. package/dist/standins/runner.d.ts.map +1 -1
  48. package/dist/standins/runner.js +25 -9
  49. package/dist/standins/runner.js.map +1 -1
  50. package/dist/standins/sdk.js +8 -0
  51. package/dist/standins/sdk.js.map +1 -1
  52. package/dist/time.d.ts +6 -0
  53. package/dist/time.d.ts.map +1 -1
  54. package/dist/time.js +18 -0
  55. package/dist/time.js.map +1 -1
  56. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
package/dist/harness.js CHANGED
@@ -9,8 +9,10 @@
9
9
  // refused. Reads are still allowed, because watching what the person does is useful to the agent.
10
10
  import net from 'node:net';
11
11
  import { join } from 'node:path';
12
- import { launchFleet, setCookies, } from "./fleet/browser.js";
13
- import { behindModal, changes, coveredByOwnLabel, dialogsText, drag, draw, glance, openDialogs, pickAmong, whyNotClicked, } from "./fleet/sight.js";
12
+ import { contained, launchFleet, setCookies, } from "./fleet/browser.js";
13
+ import { behindModal, changes, coveredByOwnLabel, dialogsText, drag, scroll, draw, glance, openDialogs, pickAmong, whyNotClicked, } from "./fleet/sight.js";
14
+ import { HooksMissing } from "./hooks.js";
15
+ import { pendingSince, requestLog, selectRequests, } from "./requests.js";
14
16
  import { isThisMachine } from "./standins/guard.js";
15
17
  import { startStandIn } from "./standins/runner.js";
16
18
  import { setLocation, setNotifications, setUpDevice, showOnCamera, } from "./device/device.js";
@@ -32,22 +34,46 @@ export class HarnessError extends Error {
32
34
  const SCREENCAST = { format: 'jpeg', quality: 60, maxWidth: 1280, maxHeight: 800, everyNthFrame: 1 };
33
35
  /** Long enough that a click's re-render has landed, short enough not to stall the agent. */
34
36
  const SETTLE_MS = 400;
37
+ /** The longest an action waits for the requests it started (a signature sealed, a report built). */
38
+ const ACTION_WAIT_MS = 15_000;
35
39
  const READ_LIMIT = 12_000;
36
40
  /** After a command, how long to wait for the worker's first consequences (a text sent or refused). */
37
41
  const WORKER_MS = 1_200;
38
42
  /** How many ports past the product's first a world may take. */
39
43
  const PORT_RANGE = 50;
44
+ /**
45
+ * After an action: wait for what it started (its requests, a page load) to finish, then a moment for the page to
46
+ * render, again while that moment started more; at most ACTION_WAIT_MS. What is still open then, for the readout.
47
+ */
48
+ async function settleAfter(page, log, since) {
49
+ const end = Date.now() + ACTION_WAIT_MS;
50
+ for (;;) {
51
+ while (pendingSince(log.records, since).length && Date.now() < end)
52
+ await page.waitForTimeout(50);
53
+ await page.waitForLoadState('domcontentloaded');
54
+ await page.waitForTimeout(SETTLE_MS);
55
+ const open = pendingSince(log.records, since);
56
+ if (!open.length || Date.now() >= end)
57
+ return open;
58
+ }
59
+ }
40
60
  /** A request the tenant's server refused, as one line: what was asked, the status and the reason. */
41
- async function refusal(r, origin) {
61
+ async function refusal(r, origin, seq) {
42
62
  let why = '';
43
63
  try {
44
64
  const b = (await r.json());
45
- why = [b.error?.code ?? b.code, b.error?.message ?? b.message].filter(Boolean).join(': ');
65
+ const detail = typeof b.detail === 'string'
66
+ ? b.detail
67
+ : Array.isArray(b.detail)
68
+ ? b.detail.map((d) => [d.loc?.slice(1).join('.'), d.msg].filter(Boolean).join(': ')).join('; ')
69
+ : undefined;
70
+ why = [b.error?.code ?? b.code, b.error?.message ?? b.message ?? detail].filter(Boolean).join(': ');
46
71
  }
47
72
  catch {
48
73
  // Not JSON: the status says enough.
49
74
  }
50
- return `${r.request().method()} ${r.url().slice(origin.length) || '/'} → ${r.status()}${why ? ` ${why.slice(0, 200)}` : ''}`;
75
+ const at = seq === undefined ? '' : ` (screen_requests #${seq})`;
76
+ return `${r.request().method()} ${r.url().slice(origin.length) || '/'} → ${r.status()}${why ? ` ${why.slice(0, 200)}` : ''}${at}`;
51
77
  }
52
78
  /** A port the system has free right now: for a world whose port must be known before it starts. */
53
79
  function ephemeralPort() {
@@ -84,6 +110,19 @@ export function globMatches(glob, url) {
84
110
  .join('.*');
85
111
  return new RegExp(`^${re}$`).test(url);
86
112
  }
113
+ /** Stands for a tenant's origin when checking that a path stays on it. */
114
+ const ON_HOST = 'http://tenant.invalid';
115
+ /**
116
+ * A path that stays on the screen's own host. A browser reads "//host/x" (and "/\host/x", and either with a tab
117
+ * or newline in it) as a link to another host, and page.goto follows it.
118
+ */
119
+ export function ownPath(path, noun = 'tenant') {
120
+ if (!path.startsWith('/'))
121
+ throw new HarnessError(`a path on the ${noun}’s host starts with /, or give the full link`);
122
+ if (new URL(path, ON_HOST).origin !== ON_HOST)
123
+ throw new HarnessError(`${JSON.stringify(path)} would leave the ${noun}’s host: a path starts with a single /`);
124
+ return path;
125
+ }
87
126
  /**
88
127
  * A link or path on a tenant's own host, as the path to open there. A full link must be on the tenant's
89
128
  * host (`<tenant>.<baseDomain>`, with or without the world's port: products write links without it). A
@@ -101,8 +140,7 @@ export function linkPath(link, world, only, noun = 'tenant') {
101
140
  tenant = host.slice(0, -(baseDomain.length + 1));
102
141
  path = `${u.pathname}${u.search}${u.hash}`;
103
142
  }
104
- if (!path.startsWith('/'))
105
- throw new HarnessError(`a path on the ${noun}’s host starts with /, or give the full link`);
143
+ ownPath(path, noun);
106
144
  tenant ??= only ?? world.tenantOfPath?.(path) ?? (tenants.length === 1 ? tenants[0] : undefined);
107
145
  if (!tenant)
108
146
  throw new HarnessError(`say which ${noun}: give the full link (this world has ${tenants.join(', ')})`);
@@ -112,6 +150,31 @@ export function linkPath(link, world, only, noun = 'tenant') {
112
150
  throw new HarnessError(`this world has no ${noun} ${tenant}`);
113
151
  return { tenant, path };
114
152
  }
153
+ /**
154
+ * The world's tenants as the product has them now (Product currentTenants), kept as `tenants`: a tenant made during
155
+ * the run, by the product's own sign-up, is then reachable like the rest. True when the list changed.
156
+ */
157
+ export async function refreshTenants(w) {
158
+ if (!w.world.currentTenants)
159
+ return false;
160
+ const now = await w.world.currentTenants();
161
+ const known = new Set(w.world.tenants);
162
+ if (now.length === known.size && now.every((t) => known.has(t)))
163
+ return false;
164
+ w.world.tenants = now;
165
+ return true;
166
+ }
167
+ /** linkPath, asking the product for its tenants again when the link names one the world didn't start with. */
168
+ async function linkPathNow(w, link, noun) {
169
+ try {
170
+ return linkPath(link, w.world, undefined, noun);
171
+ }
172
+ catch (e) {
173
+ if (!(e instanceof HarnessError) || !(await refreshTenants(w)))
174
+ throw e;
175
+ return linkPath(link, w.world, undefined, noun);
176
+ }
177
+ }
115
178
  /** Text from a feed row's field, or nothing. */
116
179
  const str = (v) => (typeof v === 'string' ? v : '');
117
180
  /**
@@ -236,7 +299,7 @@ export function createHarness(product, options = {}) {
236
299
  throw e;
237
300
  }
238
301
  try {
239
- const fleet = await launchFleet({
302
+ const fleetOptions = {
240
303
  baseDomain: world.baseDomain,
241
304
  port: world.port,
242
305
  headless: options.headless ?? false,
@@ -246,12 +309,15 @@ export function createHarness(product, options = {}) {
246
309
  // product loads from outside.
247
310
  standins: [...standins.values()].map((s) => s.origin),
248
311
  allowOrigins: product.browserAllow ?? [],
249
- });
312
+ contain: product.contain ?? product.browserAllow !== undefined,
313
+ };
314
+ const fleet = await launchFleet(fleetOptions);
250
315
  const entry = {
251
316
  id,
252
317
  spec,
253
318
  world,
254
319
  fleet,
320
+ contained: contained(fleetOptions),
255
321
  createdAt: new Date(),
256
322
  clock: null,
257
323
  feedAt: new Map(),
@@ -383,6 +449,8 @@ export function createHarness(product, options = {}) {
383
449
  }
384
450
  /** Whether the world's product has its hooks (asked once per world, kept once they answer). */
385
451
  const hooksUp = new Map();
452
+ /** Worlds whose product serves hooks but no feed. */
453
+ const feedless = new Set();
386
454
  async function hooked(w) {
387
455
  const hooks = w.world.hooks;
388
456
  if (!hooks)
@@ -402,17 +470,27 @@ export function createHarness(product, options = {}) {
402
470
  standin.setClock(w.clock);
403
471
  return w.clock;
404
472
  }
405
- /** Read a tenant's feed to its end, once, so later reads start from now. */
473
+ /**
474
+ * Read a tenant's feed to its end, once, so later reads start from now. A product whose hooks have no feed
475
+ * (only a clock, say) leaves the readout without its "server:" lines, and nothing else changes.
476
+ */
406
477
  async function feedCursor(w, tenant) {
407
- if (w.feedAt.has(tenant))
478
+ if (w.feedAt.has(tenant) || feedless.has(w.id))
408
479
  return;
409
480
  const hooks = await hooked(w);
410
481
  if (!hooks)
411
482
  return;
412
- let page = await hooks.feed(tenant, { limit: 500 });
413
- for (let i = 0; i < 200 && page.items.length === 500; i++)
414
- page = await hooks.feed(tenant, { after: page.next, limit: 500 });
415
- w.feedAt.set(tenant, page.next);
483
+ try {
484
+ let page = await hooks.feed(tenant, { limit: 500 });
485
+ for (let i = 0; i < 200 && page.items.length === 500; i++)
486
+ page = await hooks.feed(tenant, { after: page.next, limit: 500 });
487
+ w.feedAt.set(tenant, page.next);
488
+ }
489
+ catch (e) {
490
+ if (!(e instanceof HooksMissing))
491
+ throw e;
492
+ feedless.add(w.id);
493
+ }
416
494
  }
417
495
  /** What the server did since a tenant's feed was last read, as lines for this screen's agent. */
418
496
  async function serverSince(w, s) {
@@ -452,6 +530,7 @@ export function createHarness(product, options = {}) {
452
530
  // Their addresses too: Chrome's console line for a request cut off carries the URL, not the request.
453
531
  const cutUrls = new Set();
454
532
  const stalled = new Set();
533
+ const requests = requestLog(w.fleet.originFor(persona.tenant));
455
534
  const signal = (kind, text, url) => {
456
535
  signals.push({
457
536
  at: new Date().toISOString(),
@@ -490,11 +569,18 @@ export function createHarness(product, options = {}) {
490
569
  return;
491
570
  if (cutUrls.delete(m.location().url))
492
571
  return;
572
+ // Blocked by containment: the request-failed signal names it already.
573
+ if (/net::ERR_BLOCKED_BY_CLIENT/.test(m.text()))
574
+ return;
493
575
  }
494
576
  signal('console-error', m.text(), m.location().url || undefined);
495
577
  });
496
578
  ctx.on('weberror', (e) => signal('page-error', String(e.error()?.stack ?? e.error())));
579
+ ctx.on('request', (r) => requests.onRequest(r));
580
+ ctx.on('requestfinished', (r) => void requests.onFinished(r));
581
+ ctx.on('requestfailed', (r) => requests.onFailed(r));
497
582
  ctx.on('response', (r) => {
583
+ requests.onResponse(r);
498
584
  if (r.status() >= 500)
499
585
  signal('server-error', `${r.status()} ${r.request().method()}`, r.url());
500
586
  });
@@ -506,6 +592,9 @@ export function createHarness(product, options = {}) {
506
592
  // app's own AbortController. Nothing failed.
507
593
  if (r.failure()?.errorText === 'net::ERR_ABORTED')
508
594
  return;
595
+ // Blocked by containment: the product reaching outside its world, which is worth seeing by name.
596
+ if (r.failure()?.errorText.startsWith('net::ERR_BLOCKED_BY_CLIENT'))
597
+ return signal('request-failed', `${r.method()} blocked: outside the world (not in browserAllow)`, r.url());
509
598
  signal('request-failed', `${r.method()} ${r.failure()?.errorText ?? 'failed'}`, r.url());
510
599
  });
511
600
  },
@@ -540,6 +629,7 @@ export function createHarness(product, options = {}) {
540
629
  signals,
541
630
  network: { mode: 'online' },
542
631
  device,
632
+ requests,
543
633
  releaseStalled: () => {
544
634
  for (const route of stalled) {
545
635
  deliberate.add(route.request());
@@ -616,7 +706,11 @@ export function createHarness(product, options = {}) {
616
706
  },
617
707
  worlds: () => [...worlds.values()],
618
708
  world: getWorld,
619
- people: (worldId) => getWorld(worldId).world.people(),
709
+ async people(worldId) {
710
+ const w = getWorld(worldId);
711
+ await refreshTenants(w);
712
+ return w.world.people();
713
+ },
620
714
  async openScreen(worldId, personId, path, options = {}) {
621
715
  const w = getWorld(worldId);
622
716
  const persona = (await w.world.people()).find((p) => p.id === personId);
@@ -624,12 +718,14 @@ export function createHarness(product, options = {}) {
624
718
  throw new HarnessError(`world ${worldId} has nobody with id ${personId}`);
625
719
  if (options.app !== undefined && !(product.apps ?? []).includes(options.app))
626
720
  throw new HarnessError(`${product.name} has no app ${options.app}; its apps: ${['(main)', ...(product.apps ?? [])].join(', ')}`);
721
+ if (path !== undefined)
722
+ ownPath(path, noun);
627
723
  const signIn = await w.world.signIn(persona, options.app);
628
724
  return attach(w, persona, { persona, signIn }, path, options);
629
725
  },
630
726
  async openLink(worldId, link, options = {}) {
631
727
  const w = getWorld(worldId);
632
- const { tenant, path } = linkPath(link, w.world, undefined, noun);
728
+ const { tenant, path } = await linkPathNow(w, link, noun);
633
729
  const someone = (await w.world.people()).find((p) => p.tenant === tenant);
634
730
  // A stand-in: the tenant and its time zone are real, the person is whoever has the link.
635
731
  const persona = {
@@ -645,6 +741,7 @@ export function createHarness(product, options = {}) {
645
741
  },
646
742
  screens: () => [...screens.values()],
647
743
  screen: getScreen,
744
+ requests: (screenId, query) => selectRequests(getScreen(screenId).requests.records, query),
648
745
  async setNetwork(screenId, mode) {
649
746
  const s = getScreen(screenId);
650
747
  // The screen's one network route (attach) reads the mode on every request, so a change is just
@@ -673,16 +770,18 @@ export function createHarness(product, options = {}) {
673
770
  const w = getWorld(s.worldId);
674
771
  const page = s.screen.page;
675
772
  const before = await glance(page);
773
+ const since = s.requests.last();
676
774
  // From here: what the server does next is what this action caused (or something late finishing).
677
775
  await feedCursor(w, s.persona.tenant);
678
776
  const origin = w.fleet.originFor(s.persona.tenant);
679
777
  const refused = [];
680
778
  const onResponse = (r) => {
681
779
  if (r.status() >= 400 && r.url().startsWith(origin))
682
- refused.push(refusal(r, origin));
780
+ refused.push(refusal(r, origin, s.requests.seqOf(r.request())));
683
781
  };
684
782
  page.on('response', onResponse);
685
783
  let did = '';
784
+ let stillOpen;
686
785
  try {
687
786
  switch (action.kind) {
688
787
  case 'click': {
@@ -718,10 +817,40 @@ export function createHarness(product, options = {}) {
718
817
  to = { by: action.by };
719
818
  where = `by ${action.by.x}, ${action.by.y} px`;
720
819
  }
721
- did = `dragged ${action.role} "${action.name}"${action.grab ? ` (held at ${action.grab.join(', ')})` : ''} ${where}${t.why ? `, ${t.why}` : ''}`;
722
- await drag(page, t.el, action.grab ?? [0.5, 0.5], to).catch((e) => {
820
+ const scrolled = await drag(page, t.el, action.grab ?? [0.5, 0.5], to).catch((e) => {
723
821
  throw new HarnessError(`could not drag ${what}: ${e.message}`);
724
822
  });
823
+ did = `dragged ${action.role} "${action.name}"${action.grab ? ` (held at ${action.grab.join(', ')})` : ''} ${where}${scrolled ? `, scrolling ${scrolled} px on the way` : ''}${t.why ? `, ${t.why}` : ''}`;
824
+ break;
825
+ }
826
+ case 'scroll': {
827
+ if (!action.role !== !action.name)
828
+ throw new HarnessError('to scroll to or over an element, give both its role and its name');
829
+ if (action.by && action.to)
830
+ throw new HarnessError('scroll by a distance or to an end, not both');
831
+ const what = action.role ? `role=${action.role} name="${action.name}"` : 'the page';
832
+ const el = action.role
833
+ ? (await target(s, byRole(page, action.role, action.name, action.exact), what, action.index))
834
+ .el
835
+ : undefined;
836
+ const how = action.by
837
+ ? { by: action.by, over: el }
838
+ : action.to
839
+ ? { end: action.to, over: el }
840
+ : el
841
+ ? { el }
842
+ : { end: 'bottom' };
843
+ const moved = await scroll(page, how).catch((e) => {
844
+ throw new HarnessError(`could not scroll ${what}: ${e.message}`);
845
+ });
846
+ const whither = action.by
847
+ ? `by ${action.by.x}, ${action.by.y} px`
848
+ : action.to
849
+ ? `to the ${action.to}`
850
+ : el
851
+ ? 'into view'
852
+ : 'to the bottom';
853
+ did = `scrolled ${action.role && (action.by || action.to) ? `${what} ` : action.role ? `${what} ` : ''}${whither}${moved ? ` (${moved} px)` : ' (it was already there)'}`;
725
854
  break;
726
855
  }
727
856
  case 'fill': {
@@ -765,9 +894,9 @@ export function createHarness(product, options = {}) {
765
894
  break;
766
895
  }
767
896
  }
768
- // Not networkidle: an app holding an event stream open never lets the network go idle.
769
- await page.waitForLoadState('domcontentloaded');
770
- await page.waitForTimeout(SETTLE_MS);
897
+ // Not networkidle: an app holding an event stream open never lets the network go idle. What this action
898
+ // started is waited for instead: the page's own requests, and any page load, then a moment to render.
899
+ stillOpen = await settleAfter(page, s.requests, since);
771
900
  }
772
901
  finally {
773
902
  page.off('response', onResponse);
@@ -794,6 +923,14 @@ export function createHarness(product, options = {}) {
794
923
  ? ['server: nothing from this screen']
795
924
  : []),
796
925
  ...(refusals.length ? [`refused: ${refusals.join('\n ')}`] : []),
926
+ ...(stillOpen.length
927
+ ? [
928
+ `waiting: still open after ${ACTION_WAIT_MS / 1000} s: ${stillOpen
929
+ .slice(0, 3)
930
+ .map((r) => `#${r.seq} ${r.method} ${r.url}`)
931
+ .join(', ')}${stillOpen.length > 3 ? ` and ${stillOpen.length - 3} more` : ''} (screen_requests)`,
932
+ ]
933
+ : []),
797
934
  ].join('\n');
798
935
  return `${report}\n---\n${await harness.read(screenId)}`;
799
936
  },
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAoBA,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAC1C,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/F,MAAM,WAAW,UAAU;IACzB,wFAAwF;IACxF,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC3E,yDAAyD;IACzD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,mGAAmG;IACnG,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvG,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,gFAAgF;IAChF,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnE;AAED,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,KAAa,GAAG,KAAK,CAyD5F"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAsBA,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAC1C,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/F,MAAM,WAAW,UAAU;IACzB,wFAAwF;IACxF,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC3E,yDAAyD;IACzD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,mGAAmG;IACnG,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvG,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,gFAAgF;IAChF,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnE;AAED,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,KAAa,GAAG,KAAK,CA2D5F"}