@assistant-ui/store 0.2.11 → 0.2.13

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 (94) hide show
  1. package/dist/AuiIf.d.ts +19 -15
  2. package/dist/AuiIf.d.ts.map +1 -1
  3. package/dist/AuiIf.js +27 -24
  4. package/dist/AuiIf.js.map +1 -1
  5. package/dist/Derived.d.ts +15 -11
  6. package/dist/Derived.d.ts.map +1 -1
  7. package/dist/Derived.js +24 -20
  8. package/dist/Derived.js.map +1 -1
  9. package/dist/RenderChildrenWithAccessor.d.ts +13 -6
  10. package/dist/RenderChildrenWithAccessor.d.ts.map +1 -1
  11. package/dist/RenderChildrenWithAccessor.js +42 -48
  12. package/dist/RenderChildrenWithAccessor.js.map +1 -1
  13. package/dist/attachTransformScopes.d.ts +11 -10
  14. package/dist/attachTransformScopes.d.ts.map +1 -1
  15. package/dist/attachTransformScopes.js +20 -23
  16. package/dist/attachTransformScopes.js.map +1 -1
  17. package/dist/index.d.ts +15 -16
  18. package/dist/index.js +14 -18
  19. package/dist/tapClientList.d.ts +26 -23
  20. package/dist/tapClientList.d.ts.map +1 -1
  21. package/dist/tapClientList.js +66 -63
  22. package/dist/tapClientList.js.map +1 -1
  23. package/dist/tapClientLookup.d.ts +14 -11
  24. package/dist/tapClientLookup.d.ts.map +1 -1
  25. package/dist/tapClientLookup.js +31 -37
  26. package/dist/tapClientLookup.js.map +1 -1
  27. package/dist/tapClientResource.d.ts +12 -9
  28. package/dist/tapClientResource.d.ts.map +1 -1
  29. package/dist/tapClientResource.js +92 -104
  30. package/dist/tapClientResource.js.map +1 -1
  31. package/dist/types/client.d.ts +50 -42
  32. package/dist/types/client.d.ts.map +1 -1
  33. package/dist/types/client.js +0 -2
  34. package/dist/types/events.d.ts +23 -24
  35. package/dist/types/events.d.ts.map +1 -1
  36. package/dist/types/events.js +13 -6
  37. package/dist/types/events.js.map +1 -1
  38. package/dist/useAui.d.ts +17 -15
  39. package/dist/useAui.d.ts.map +1 -1
  40. package/dist/useAui.js +176 -191
  41. package/dist/useAui.js.map +1 -1
  42. package/dist/useAuiEvent.d.ts +6 -2
  43. package/dist/useAuiEvent.d.ts.map +1 -1
  44. package/dist/useAuiEvent.js +58 -47
  45. package/dist/useAuiEvent.js.map +1 -1
  46. package/dist/useAuiState.d.ts +6 -2
  47. package/dist/useAuiState.d.ts.map +1 -1
  48. package/dist/useAuiState.js +44 -42
  49. package/dist/useAuiState.js.map +1 -1
  50. package/dist/utils/BaseProxyHandler.d.ts +19 -16
  51. package/dist/utils/BaseProxyHandler.d.ts.map +1 -1
  52. package/dist/utils/BaseProxyHandler.js +46 -43
  53. package/dist/utils/BaseProxyHandler.js.map +1 -1
  54. package/dist/utils/NotificationManager.d.ts +13 -9
  55. package/dist/utils/NotificationManager.d.ts.map +1 -1
  56. package/dist/utils/NotificationManager.js +69 -82
  57. package/dist/utils/NotificationManager.js.map +1 -1
  58. package/dist/utils/proxied-assistant-state.d.ts +8 -4
  59. package/dist/utils/proxied-assistant-state.d.ts.map +1 -1
  60. package/dist/utils/proxied-assistant-state.js +28 -26
  61. package/dist/utils/proxied-assistant-state.js.map +1 -1
  62. package/dist/utils/react-assistant-context.d.ts +15 -10
  63. package/dist/utils/react-assistant-context.d.ts.map +1 -1
  64. package/dist/utils/react-assistant-context.js +69 -67
  65. package/dist/utils/react-assistant-context.js.map +1 -1
  66. package/dist/utils/splitClients.d.ts +12 -8
  67. package/dist/utils/splitClients.d.ts.map +1 -1
  68. package/dist/utils/splitClients.js +39 -43
  69. package/dist/utils/splitClients.js.map +1 -1
  70. package/dist/utils/tap-assistant-context.d.ts +17 -14
  71. package/dist/utils/tap-assistant-context.d.ts.map +1 -1
  72. package/dist/utils/tap-assistant-context.js +18 -15
  73. package/dist/utils/tap-assistant-context.js.map +1 -1
  74. package/dist/utils/tap-client-stack-context.d.ts +10 -6
  75. package/dist/utils/tap-client-stack-context.d.ts.map +1 -1
  76. package/dist/utils/tap-client-stack-context.js +22 -19
  77. package/dist/utils/tap-client-stack-context.js.map +1 -1
  78. package/dist/wrapperResource.d.ts +6 -2
  79. package/dist/wrapperResource.d.ts.map +1 -1
  80. package/dist/wrapperResource.js +12 -9
  81. package/dist/wrapperResource.js.map +1 -1
  82. package/package.json +7 -7
  83. package/src/RenderChildrenWithAccessor.tsx +1 -1
  84. package/src/__tests__/RenderChildrenWithAccessor.test.tsx +0 -1
  85. package/src/__tests__/hooks.test.tsx +0 -1
  86. package/src/tapClientLookup.ts +1 -1
  87. package/src/types/client.ts +1 -3
  88. package/src/types/events.ts +1 -3
  89. package/src/useAui.ts +1 -2
  90. package/src/useAuiEvent.ts +1 -4
  91. package/src/utils/splitClients.ts +1 -1
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/types/client.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/store",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "description": "Tap-based state management for @assistant-ui",
5
5
  "keywords": [
6
6
  "state-management",
@@ -30,7 +30,7 @@
30
30
  "use-effect-event": "^2.0.3"
31
31
  },
32
32
  "peerDependencies": {
33
- "@assistant-ui/tap": "^0.5.11",
33
+ "@assistant-ui/tap": "^0.5.14",
34
34
  "@types/react": "*",
35
35
  "react": "^18 || ^19"
36
36
  },
@@ -41,13 +41,13 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@testing-library/react": "^16.3.2",
44
- "@types/react": "^19.2.14",
44
+ "@types/react": "^19.2.15",
45
45
  "@types/react-dom": "^19.2.3",
46
46
  "jsdom": "^29.1.1",
47
- "react": "^19.2.5",
48
- "vitest": "^4.1.5",
49
- "@assistant-ui/tap": "0.5.11",
50
- "@assistant-ui/x-buildutils": "0.0.8"
47
+ "react": "^19.2.6",
48
+ "vitest": "^4.1.7",
49
+ "@assistant-ui/tap": "0.5.14",
50
+ "@assistant-ui/x-buildutils": "0.0.10"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public",
@@ -69,7 +69,7 @@ const useMemoizedProplessComponent = (node: ReactNode) => {
69
69
  : el?.props;
70
70
 
71
71
  return (
72
- // biome-ignore lint/correctness/useExhaustiveDependencies: optimization
72
+ // oxlint-disable-next-line tap-hooks/exhaustive-deps -- memo over decomposed fields so we don't bust on a fresh `el` object each render
73
73
  useMemo(() => el, [resultType, resultKey, resultProps]) ?? node
74
74
  );
75
75
  };
@@ -39,7 +39,6 @@ const createTestAuiClient = () => {
39
39
  update: (next: Partial<typeof itemState>) => {
40
40
  itemState = { ...itemState, ...next };
41
41
  proxiedState.item = itemState;
42
- // biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
43
42
  listeners.forEach((listener) => listener());
44
43
  },
45
44
  };
@@ -46,7 +46,6 @@ const createTestAuiClient = (initialState: Record<string, unknown>) => {
46
46
  return {
47
47
  client,
48
48
  state,
49
- // biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
50
49
  notify: () => listeners.forEach((listener) => listener()),
51
50
  emitEvent: (event: string, payload: unknown) => {
52
51
  for (const entry of eventEntries) {
@@ -36,7 +36,7 @@ export function tapClientLookup<TMethods extends ClientMethods>(
36
36
  } {
37
37
  const resources = tapResources(
38
38
  () => getElements().map((el) => ClientResourceWithKey(el)),
39
- // biome-ignore lint/correctness/useExhaustiveDependencies: getElementsDeps is passed through from caller
39
+ // oxlint-disable-next-line tap-hooks/exhaustive-deps -- caller-supplied deps array
40
40
  getElementsDeps,
41
41
  );
42
42
 
@@ -15,12 +15,11 @@ export interface ClientMethods {
15
15
  type ClientMetaType = { source: ClientNames; query: Record<string, unknown> };
16
16
 
17
17
  /**
18
- * Schema of a client in the assistant system (internal type).
18
+ * Schema of a client in the assistant system.
19
19
  * @template TState - The state type for this client
20
20
  * @template TMethods - The methods available on this client
21
21
  * @template TMeta - Source/query metadata (optional)
22
22
  * @template TEvents - Events that this client can emit (optional)
23
- * @internal
24
23
  */
25
24
  export type ClientSchema<
26
25
  TMethods extends ClientMethods = ClientMethods,
@@ -61,7 +60,6 @@ export type ClientSchema<
61
60
  * }
62
61
  * ```
63
62
  */
64
- // biome-ignore lint/suspicious/noEmptyInterface: declaration merging
65
63
  export interface ScopeRegistry {}
66
64
 
67
65
  type ClientEventsType<K extends ClientNames> = Record<
@@ -6,9 +6,7 @@ import type {
6
6
 
7
7
  // --- Event Map Construction ---
8
8
  type UnionToIntersection<U> = (
9
- U extends unknown
10
- ? (x: U) => void
11
- : never
9
+ U extends unknown ? (x: U) => void : never
12
10
  ) extends (x: infer I) => void
13
11
  ? I
14
12
  : never;
package/src/useAui.ts CHANGED
@@ -45,7 +45,7 @@ import {
45
45
  } from "./utils/proxied-assistant-state";
46
46
 
47
47
  const tapShallowMemoArray = <T>(array: readonly T[]) => {
48
- // biome-ignore lint/correctness/useExhaustiveDependencies: shallow memo
48
+ // oxlint-disable-next-line tap-hooks/exhaustive-deps -- shallow memo over the array itself
49
49
  return tapMemo(() => array, array);
50
50
  };
51
51
 
@@ -442,7 +442,6 @@ export function useAui(
442
442
  },
443
443
  ): AssistantClient {
444
444
  if (clients) {
445
- // biome-ignore lint/correctness/useHookAtTopLevel: intentional conditional/nested hook usage
446
445
  return useResource(
447
446
  AssistantClientResource({
448
447
  parent: parent ?? DefaultAssistantClient,
@@ -57,8 +57,5 @@ export const useAuiEvent = <TEvent extends AssistantEventName>(
57
57
  const callbackRef = useEffectEvent(callback);
58
58
 
59
59
  const { scope, event } = normalizeEventSelector(selector);
60
- useEffect(
61
- () => aui.on({ scope, event }, callbackRef),
62
- [aui, scope, event, callbackRef],
63
- );
60
+ useEffect(() => aui.on({ scope, event }, callbackRef), [aui, scope, event]);
64
61
  };
@@ -65,7 +65,7 @@ function splitClients(clients: useAui.Props, baseClient: AssistantClient) {
65
65
  }
66
66
 
67
67
  const tapShallowMemoObject = <T extends object>(object: T) => {
68
- // biome-ignore lint/correctness/useExhaustiveDependencies: shallow memo
68
+ // oxlint-disable-next-line tap-hooks/exhaustive-deps -- shallow memo over the object's flattened entries
69
69
  return tapMemo(() => object, [...Object.entries(object).flat()]);
70
70
  };
71
71
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,0BAA0B,EAAE,wCAAqC;AAG1E,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,WAAW,EAAE,2CAAwC;AAG9D,OAAO,EAAE,OAAO,EAAE,qBAAkB;AACpC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,mCAAgC;AACjC,YAAY,EAAE,YAAY,EAAE,mCAAgC;AAG5D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,yCAAsC;AACvC,OAAO,EAAE,iBAAiB,EAAE,+BAA4B;AACxD,OAAO,EAAE,eAAe,EAAE,6BAA0B;AACpD,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAGhD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,eAAe,EACf,cAAc,GACf,0BAAuB;AACxB,OAAO,EACL,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,0BAAuB"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,0BAA0B,EAAE,wCAAqC;AAE1E,aAAa;AACb,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,WAAW,EAAE,2CAAwC;AAE9D,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,qBAAkB;AACpC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,mCAAgC;AAGjC,YAAY;AACZ,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,yCAAsC;AACvC,OAAO,EAAE,iBAAiB,EAAE,+BAA4B;AACxD,OAAO,EAAE,eAAe,EAAE,6BAA0B;AACpD,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAiBhD,OAAO,EACL,sBAAsB,GAMvB,0BAAuB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":""}