@assistant-ui/store 0.1.6 → 0.2.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 (112) hide show
  1. package/README.md +9 -10
  2. package/dist/AuiIf.d.ts +1 -1
  3. package/dist/AuiIf.d.ts.map +1 -1
  4. package/dist/AuiIf.js.map +1 -1
  5. package/dist/index.d.ts +3 -9
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -10
  8. package/dist/index.js.map +1 -1
  9. package/dist/scope-registry-forward.d.ts +6 -0
  10. package/dist/scope-registry-forward.d.ts.map +1 -0
  11. package/dist/scope-registry-forward.js +2 -0
  12. package/dist/scope-registry-forward.js.map +1 -0
  13. package/dist/scope-registry.d.ts +17 -0
  14. package/dist/scope-registry.d.ts.map +1 -0
  15. package/dist/scope-registry.js +2 -0
  16. package/dist/scope-registry.js.map +1 -0
  17. package/dist/useAui.d.ts +3 -5
  18. package/dist/useAui.d.ts.map +1 -1
  19. package/dist/useAui.js +6 -11
  20. package/dist/useAui.js.map +1 -1
  21. package/dist/useAuiEvent.d.ts +1 -1
  22. package/dist/useAuiEvent.d.ts.map +1 -1
  23. package/dist/useAuiEvent.js +1 -1
  24. package/dist/useAuiEvent.js.map +1 -1
  25. package/dist/useAuiState.d.ts +1 -1
  26. package/dist/useAuiState.d.ts.map +1 -1
  27. package/dist/useAuiState.js +1 -1
  28. package/dist/useAuiState.js.map +1 -1
  29. package/dist/utils/react-assistant-context.d.ts +1 -1
  30. package/dist/utils/react-assistant-context.d.ts.map +1 -1
  31. package/dist/utils/react-assistant-context.js +1 -2
  32. package/dist/utils/react-assistant-context.js.map +1 -1
  33. package/package.json +10 -3
  34. package/src/{AuiIf.tsx → AuiIf.ts} +1 -1
  35. package/src/__tests__/hooks.test.tsx +126 -0
  36. package/src/index.ts +25 -32
  37. package/src/scope-registry-forward.ts +6 -0
  38. package/src/scope-registry.ts +15 -0
  39. package/src/{useAui.tsx → useAui.ts} +24 -27
  40. package/src/useAuiEvent.ts +2 -2
  41. package/src/{useAuiState.tsx → useAuiState.ts} +3 -3
  42. package/src/utils/react-assistant-context.tsx +7 -3
  43. package/dist/Derived.d.ts +0 -34
  44. package/dist/Derived.d.ts.map +0 -1
  45. package/dist/Derived.js +0 -24
  46. package/dist/Derived.js.map +0 -1
  47. package/dist/attachDefaultPeers.d.ts +0 -56
  48. package/dist/attachDefaultPeers.d.ts.map +0 -1
  49. package/dist/attachDefaultPeers.js +0 -51
  50. package/dist/attachDefaultPeers.js.map +0 -1
  51. package/dist/tapClientList.d.ts +0 -24
  52. package/dist/tapClientList.d.ts.map +0 -1
  53. package/dist/tapClientList.js +0 -68
  54. package/dist/tapClientList.js.map +0 -1
  55. package/dist/tapClientLookup.d.ts +0 -11
  56. package/dist/tapClientLookup.d.ts.map +0 -1
  57. package/dist/tapClientLookup.js +0 -42
  58. package/dist/tapClientLookup.js.map +0 -1
  59. package/dist/tapClientResource.d.ts +0 -28
  60. package/dist/tapClientResource.d.ts.map +0 -1
  61. package/dist/tapClientResource.js +0 -122
  62. package/dist/tapClientResource.js.map +0 -1
  63. package/dist/types/client.d.ts +0 -119
  64. package/dist/types/client.d.ts.map +0 -1
  65. package/dist/types/client.js +0 -2
  66. package/dist/types/client.js.map +0 -1
  67. package/dist/types/events.d.ts +0 -33
  68. package/dist/types/events.d.ts.map +0 -1
  69. package/dist/types/events.js +0 -8
  70. package/dist/types/events.js.map +0 -1
  71. package/dist/utils/BaseProxyHandler.d.ts +0 -23
  72. package/dist/utils/BaseProxyHandler.d.ts.map +0 -1
  73. package/dist/utils/BaseProxyHandler.js +0 -46
  74. package/dist/utils/BaseProxyHandler.js.map +0 -1
  75. package/dist/utils/NotificationManager.d.ts +0 -11
  76. package/dist/utils/NotificationManager.d.ts.map +0 -1
  77. package/dist/utils/NotificationManager.js +0 -84
  78. package/dist/utils/NotificationManager.js.map +0 -1
  79. package/dist/utils/proxied-assistant-state.d.ts +0 -8
  80. package/dist/utils/proxied-assistant-state.d.ts.map +0 -1
  81. package/dist/utils/proxied-assistant-state.js +0 -34
  82. package/dist/utils/proxied-assistant-state.js.map +0 -1
  83. package/dist/utils/splitClients.d.ts +0 -10
  84. package/dist/utils/splitClients.d.ts.map +0 -1
  85. package/dist/utils/splitClients.js +0 -83
  86. package/dist/utils/splitClients.js.map +0 -1
  87. package/dist/utils/tap-assistant-context.d.ts +0 -19
  88. package/dist/utils/tap-assistant-context.d.ts.map +0 -1
  89. package/dist/utils/tap-assistant-context.js +0 -23
  90. package/dist/utils/tap-assistant-context.js.map +0 -1
  91. package/dist/utils/tap-client-stack-context.d.ts +0 -23
  92. package/dist/utils/tap-client-stack-context.d.ts.map +0 -1
  93. package/dist/utils/tap-client-stack-context.js +0 -28
  94. package/dist/utils/tap-client-stack-context.js.map +0 -1
  95. package/dist/wrapperResource.d.ts +0 -3
  96. package/dist/wrapperResource.d.ts.map +0 -1
  97. package/dist/wrapperResource.js +0 -11
  98. package/dist/wrapperResource.js.map +0 -1
  99. package/src/Derived.ts +0 -46
  100. package/src/attachDefaultPeers.ts +0 -78
  101. package/src/tapClientList.ts +0 -118
  102. package/src/tapClientLookup.ts +0 -76
  103. package/src/tapClientResource.ts +0 -182
  104. package/src/types/client.ts +0 -186
  105. package/src/types/events.ts +0 -77
  106. package/src/utils/BaseProxyHandler.ts +0 -50
  107. package/src/utils/NotificationManager.ts +0 -114
  108. package/src/utils/proxied-assistant-state.tsx +0 -53
  109. package/src/utils/splitClients.ts +0 -130
  110. package/src/utils/tap-assistant-context.ts +0 -58
  111. package/src/utils/tap-client-stack-context.ts +0 -51
  112. package/src/wrapperResource.ts +0 -17
package/README.md CHANGED
@@ -10,15 +10,15 @@ import { useAui, useAuiState, AuiProvider, type ClientOutput } from "@assistant-
10
10
 
11
11
  // 1. Define client type
12
12
  declare module "@assistant-ui/store" {
13
- interface ClientRegistry {
14
- counter: { state: { count: number }; methods: { increment: () => void } };
13
+ interface ScopeRegistry {
14
+ counter: { methods: { getState: () => { count: number }; increment: () => void } };
15
15
  }
16
16
  }
17
17
 
18
18
  // 2. Create resource
19
19
  const CounterClient = resource((): ClientOutput<"counter"> => {
20
20
  const [state, setState] = tapState({ count: 0 });
21
- return { state, methods: { increment: () => setState({ count: state.count + 1 }) } };
21
+ return { getState: () => state, increment: () => setState({ count: state.count + 1 }) };
22
22
  });
23
23
 
24
24
  // 3. Use in React
@@ -28,7 +28,7 @@ function App() {
28
28
  }
29
29
 
30
30
  function Counter() {
31
- const count = useAuiState(({ counter }) => counter.count);
31
+ const count = useAuiState((s) => s.counter.count);
32
32
  const aui = useAui();
33
33
  return <button onClick={() => aui.counter().increment()}>{count}</button>;
34
34
  }
@@ -39,10 +39,9 @@ function Counter() {
39
39
  **Clients**: Named state containers registered via module augmentation.
40
40
  ```typescript
41
41
  declare module "@assistant-ui/store" {
42
- interface ClientRegistry {
42
+ interface ScopeRegistry {
43
43
  myClient: {
44
- state: MyState;
45
- methods: MyMethods;
44
+ methods: MyMethods; // must include getState(): MyState
46
45
  meta?: { source: "parent"; query: { id: string } };
47
46
  events?: { "myClient.updated": { id: string } };
48
47
  };
@@ -83,10 +82,10 @@ useAuiEvent("myClient.updated", (p) => console.log(p.id));
83
82
  | `tapClientResource(element)` | Wrap resource for event scoping (1:1 mappings) |
84
83
  | `tapClientLookup(map, fn, deps)` | Lookup by `{index}` or `{key}` |
85
84
  | `tapClientList(config)` | Dynamic list with add/remove |
86
- | `attachDefaultPeers(resource, peers)` | Attach default peers |
85
+ | `attachTransformScopes(resource, fn)` | Attach scope transform |
87
86
 
88
87
  | Type | Description |
89
88
  |------|-------------|
90
- | `ClientOutput<K>` | Resource return type: `{ state, methods }` |
91
- | `ClientRegistry` | Module augmentation interface |
89
+ | `ClientOutput<K>` | Resource return type (methods object) |
90
+ | `ScopeRegistry` | Module augmentation interface |
92
91
  | `AssistantClient` | Full client type |
package/dist/AuiIf.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { FC, PropsWithChildren } from "react";
2
- import type { AssistantState } from "./types/client.js";
2
+ import type { AssistantState } from "@assistant-ui/core/store";
3
3
  export declare namespace AuiIf {
4
4
  type Props = PropsWithChildren<{
5
5
  condition: AuiIf.Condition;
@@ -1 +1 @@
1
- {"version":3,"file":"AuiIf.d.ts","sourceRoot":"","sources":["../src/AuiIf.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAuB;AAErD,yBAAiB,KAAK,CAAC;IACrB,KAAY,KAAK,GAAG,iBAAiB,CAAC;QAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IACtE,KAAY,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;CAC5D;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAGjC,CAAC"}
1
+ {"version":3,"file":"AuiIf.d.ts","sourceRoot":"","sources":["../src/AuiIf.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,yBAAiB,KAAK,CAAC;IACrB,KAAY,KAAK,GAAG,iBAAiB,CAAC;QAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IACtE,KAAY,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;CAC5D;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAGjC,CAAC"}
package/dist/AuiIf.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"AuiIf.js","sourceRoot":"","sources":["../src/AuiIf.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAQ5C,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"AuiIf.js","sourceRoot":"","sources":["../src/AuiIf.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAQ5C,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,9 @@
1
+ export type { ScopeRegistry } from "./scope-registry.js";
2
+ import "./scope-registry-forward.js";
3
+ export { Derived, attachTransformScopes, type ScopesConfig, tapAssistantClientRef, tapAssistantEmit, tapClientResource, tapClientLookup, tapClientList, type ClientOutput, type AssistantClient, type AssistantState, type AssistantEventName, type AssistantEventCallback, type AssistantEventPayload, type AssistantEventSelector, type AssistantEventScope, } from "@assistant-ui/core/store";
1
4
  export { useAui } from "./useAui.js";
2
5
  export { useAuiState } from "./useAuiState.js";
3
6
  export { useAuiEvent } from "./useAuiEvent.js";
4
7
  export { AuiIf } from "./AuiIf.js";
5
8
  export { AuiProvider } from "./utils/react-assistant-context.js";
6
- export { Derived } from "./Derived.js";
7
- export { attachDefaultPeers } from "./attachDefaultPeers.js";
8
- export { tapAssistantClientRef, tapAssistantEmit, } from "./utils/tap-assistant-context.js";
9
- export { tapClientResource } from "./tapClientResource.js";
10
- export { tapClientLookup } from "./tapClientLookup.js";
11
- export { tapClientList } from "./tapClientList.js";
12
- export type { ClientRegistry, ClientOutput, AssistantClient, AssistantState, } from "./types/client.js";
13
- export type { AssistantEventName, AssistantEventCallback, AssistantEventPayload, AssistantEventSelector, AssistantEventScope, } from "./types/events.js";
14
- export type { DefaultPeers } from "./attachDefaultPeers.js";
15
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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;AAG5C,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,WAAW,EAAE,2CAAwC;AAG9D,OAAO,EAAE,OAAO,EAAE,qBAAkB;AACpC,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAG1D,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,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,GACf,0BAAuB;AACxB,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,GACpB,0BAAuB;AACxB,YAAY,EAAE,YAAY,EAAE,gCAA6B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,aAAa,EAAE,4BAAyB;AACtD,qCAAkC;AAGlC,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,KAAK,YAAY,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,WAAW,EAAE,2CAAwC"}
package/dist/index.js CHANGED
@@ -1,16 +1,10 @@
1
- // hooks
1
+ import "./scope-registry-forward.js";
2
+ // Re-export framework-agnostic infrastructure from core
3
+ export { Derived, attachTransformScopes, tapAssistantClientRef, tapAssistantEmit, tapClientResource, tapClientLookup, tapClientList, } from "@assistant-ui/core/store";
4
+ // React-specific (stay in store)
2
5
  export { useAui } from "./useAui.js";
3
6
  export { useAuiState } from "./useAuiState.js";
4
7
  export { useAuiEvent } from "./useAuiEvent.js";
5
- // components
6
8
  export { AuiIf } from "./AuiIf.js";
7
9
  export { AuiProvider } from "./utils/react-assistant-context.js";
8
- // resources
9
- export { Derived } from "./Derived.js";
10
- export { attachDefaultPeers } from "./attachDefaultPeers.js";
11
- // tap hooks
12
- export { tapAssistantClientRef, tapAssistantEmit, } from "./utils/tap-assistant-context.js";
13
- export { tapClientResource } from "./tapClientResource.js";
14
- export { tapClientLookup } from "./tapClientLookup.js";
15
- export { tapClientList } from "./tapClientList.js";
16
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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;AAE5C,aAAa;AACb,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,WAAW,EAAE,2CAAwC;AAE9D,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,qBAAkB;AACpC,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAE1D,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,qCAAkC;AAElC,wDAAwD;AACxD,OAAO,EACL,OAAO,EACP,qBAAqB,EAErB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,GASd,MAAM,0BAA0B,CAAC;AAElC,iCAAiC;AACjC,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,WAAW,EAAE,2CAAwC"}
@@ -0,0 +1,6 @@
1
+ import type { ScopeRegistry as StoreScopeRegistry } from "./scope-registry.js";
2
+ declare module "@assistant-ui/core/store" {
3
+ interface ScopeRegistry extends StoreScopeRegistry {
4
+ }
5
+ }
6
+ //# sourceMappingURL=scope-registry-forward.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-registry-forward.d.ts","sourceRoot":"","sources":["../src/scope-registry-forward.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,4BAAyB;AAG5E,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,aAAc,SAAQ,kBAAkB;KAAG;CACtD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scope-registry-forward.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-registry-forward.js","sourceRoot":"","sources":["../src/scope-registry-forward.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Module augmentation interface for assistant-ui store type extensions.
3
+ *
4
+ * Users augment this interface to register custom scopes:
5
+ * ```typescript
6
+ * declare module "@assistant-ui/store" {
7
+ * interface ScopeRegistry {
8
+ * myScope: { methods: { getState: () => MyState } };
9
+ * }
10
+ * }
11
+ * ```
12
+ *
13
+ * Augmentations are automatically forwarded to `@assistant-ui/core/store`.
14
+ */
15
+ export interface ScopeRegistry {
16
+ }
17
+ //# sourceMappingURL=scope-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-registry.d.ts","sourceRoot":"","sources":["../src/scope-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;CAAG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scope-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-registry.js","sourceRoot":"","sources":["../src/scope-registry.ts"],"names":[],"mappings":""}
package/dist/useAui.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { AssistantClient, ClientNames, ClientElement } from "./types/client.js";
2
- import { DerivedElement } from "./Derived.js";
1
+ import type { AssistantClient } from "@assistant-ui/core/store";
2
+ import { type ScopesConfig } from "@assistant-ui/core/store";
3
3
  /**
4
4
  * Resource that creates an extended AssistantClient.
5
5
  */
@@ -11,9 +11,7 @@ export declare const AssistantClientResource: (props: {
11
11
  clients: useAui.Props;
12
12
  }>;
13
13
  export declare namespace useAui {
14
- type Props = {
15
- [K in ClientNames]?: ClientElement<K> | DerivedElement<K>;
16
- };
14
+ type Props = ScopesConfig;
17
15
  }
18
16
  export declare function useAui(): AssistantClient;
19
17
  export declare function useAui(clients: useAui.Props): AssistantClient;
@@ -1 +1 @@
1
- {"version":3,"file":"useAui.d.ts","sourceRoot":"","sources":["../src/useAui.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,eAAe,EAEf,WAAW,EACX,aAAa,EAEd,0BAAuB;AACxB,OAAO,EAAW,cAAc,EAAE,qBAAkB;AA2QpD;;GAEG;AACH,eAAO,MAAM,uBAAuB;YAKxB,eAAe;aACd,MAAM,CAAC,KAAK;;YADb,eAAe;aACd,MAAM,CAAC,KAAK;EAwDxB,CAAC;AAEF,yBAAiB,MAAM,CAAC;IACtB,KAAY,KAAK,GAAG;SACjB,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;KAC1D,CAAC;CACH;AAED,wBAAgB,MAAM,IAAI,eAAe,CAAC;AAC1C,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;AAC/D,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,CAAC,KAAK,EACrB,MAAM,EAAE;IAAE,MAAM,EAAE,IAAI,GAAG,eAAe,CAAA;CAAE,GACzC,eAAe,CAAC"}
1
+ {"version":3,"file":"useAui.d.ts","sourceRoot":"","sources":["../src/useAui.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,YAAY,EAMlB,MAAM,0BAA0B,CAAC;AAkQlC;;GAEG;AACH,eAAO,MAAM,uBAAuB;YAKxB,eAAe;aACd,MAAM,CAAC,KAAK;;YADb,eAAe;aACd,MAAM,CAAC,KAAK;EAwDxB,CAAC;AAEF,yBAAiB,MAAM,CAAC;IACtB,KAAY,KAAK,GAAG,YAAY,CAAC;CAClC;AAED,wBAAgB,MAAM,IAAI,eAAe,CAAC;AAC1C,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;AAC/D,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,CAAC,KAAK,EACrB,MAAM,EAAE;IAAE,MAAM,EAAE,IAAI,GAAG,eAAe,CAAA;CAAE,GACzC,eAAe,CAAC"}
package/dist/useAui.js CHANGED
@@ -1,14 +1,9 @@
1
1
  "use client";
2
2
  import { useResource } from "@assistant-ui/tap/react";
3
- import { resource, tapMemo, tapResources, tapEffectEvent, tapInlineResource, tapEffect, tapRef, tapResource, withKey, tapSubscribableResource, } from "@assistant-ui/tap";
3
+ import { resource, tapMemo, tapResources, tapEffectEvent, tapEffect, tapRef, tapResource, withKey, tapResourceRoot, } from "@assistant-ui/tap";
4
+ import { normalizeEventSelector, tapClientResource, } from "@assistant-ui/core/store";
5
+ import { NotificationManager, withAssistantTapContextProvider, getClientIndex, PROXIED_ASSISTANT_STATE_SYMBOL, createProxiedAssistantState, tapSplitClients, } from "@assistant-ui/core/store/internal";
4
6
  import { useAssistantContextValue, DefaultAssistantClient, createRootAssistantClient, } from "./utils/react-assistant-context.js";
5
- import { tapSplitClients, } from "./utils/splitClients.js";
6
- import { normalizeEventSelector, } from "./types/events.js";
7
- import { NotificationManager } from "./utils/NotificationManager.js";
8
- import { withAssistantTapContextProvider } from "./utils/tap-assistant-context.js";
9
- import { tapClientResource } from "./tapClientResource.js";
10
- import { getClientIndex } from "./utils/tap-client-stack-context.js";
11
- import { PROXIED_ASSISTANT_STATE_SYMBOL, createProxiedAssistantState, } from "./utils/proxied-assistant-state.js";
12
7
  const tapShallowMemoArray = (array) => {
13
8
  // biome-ignore lint/correctness/useExhaustiveDependencies: shallow memo
14
9
  return tapMemo(() => array, array);
@@ -18,7 +13,7 @@ const RootClientResource = resource(({ element, emit, clientRef, }) => {
18
13
  return tapMemo(() => ({ state, methods }), [methods, state]);
19
14
  });
20
15
  const RootClientAccessorResource = resource(({ element, notifications, clientRef, name, }) => {
21
- const store = tapSubscribableResource(RootClientResource({ element, emit: notifications.emit, clientRef }));
16
+ const store = tapResourceRoot(RootClientResource({ element, emit: notifications.emit, clientRef }));
22
17
  tapEffect(() => {
23
18
  return store.subscribe(notifications.notifySubscribers);
24
19
  }, [store, notifications]);
@@ -49,7 +44,7 @@ const NoOpRootClientsAccessorsResource = resource(() => {
49
44
  }), []);
50
45
  });
51
46
  const RootClientsAccessorsResource = resource(({ clients: inputClients, clientRef, }) => {
52
- const notifications = tapInlineResource(NotificationManager());
47
+ const notifications = tapResource(NotificationManager());
53
48
  tapEffect(() => clientRef.parent.subscribe(notifications.notifySubscribers), [clientRef, notifications]);
54
49
  const results = tapShallowMemoArray(tapResources(() => Object.keys(inputClients).map((key) => withKey(key, RootClientAccessorResource({
55
50
  element: inputClients[key],
@@ -149,7 +144,7 @@ export const AssistantClientResource = resource(({ parent, clients, }) => {
149
144
  const rootFields = tapResource(Object.keys(rootClients).length > 0
150
145
  ? RootClientsAccessorsResource({ clients: rootClients, clientRef })
151
146
  : NoOpRootClientsAccessorsResource());
152
- const derivedFields = tapInlineResource(DerivedClientsAccessorsResource({ clients: derivedClients, clientRef }));
147
+ const derivedFields = tapResource(DerivedClientsAccessorsResource({ clients: derivedClients, clientRef }));
153
148
  const client = tapMemo(() => {
154
149
  // Swap DefaultAssistantClient -> createRootAssistantClient at root to change error message
155
150
  const proto = parent === DefaultAssistantClient
@@ -1 +1 @@
1
- {"version":3,"file":"useAui.js","sourceRoot":"","sources":["../src/useAui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAui.js","sourceRoot":"","sources":["../src/useAui.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { AssistantEventName, AssistantEventCallback, AssistantEventSelector } from "./types/events.js";
1
+ import type { AssistantEventName, AssistantEventCallback, AssistantEventSelector } from "@assistant-ui/core/store";
2
2
  export declare const useAuiEvent: <TEvent extends AssistantEventName>(selector: AssistantEventSelector<TEvent>, callback: AssistantEventCallback<TEvent>) => void;
3
3
  //# sourceMappingURL=useAuiEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAuiEvent.d.ts","sourceRoot":"","sources":["../src/useAuiEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,0BAAuB;AAGxB,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,kBAAkB,EAC3D,UAAU,sBAAsB,CAAC,MAAM,CAAC,EACxC,UAAU,sBAAsB,CAAC,MAAM,CAAC,SAUzC,CAAC"}
1
+ {"version":3,"file":"useAuiEvent.d.ts","sourceRoot":"","sources":["../src/useAuiEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,kBAAkB,EAC3D,UAAU,sBAAsB,CAAC,MAAM,CAAC,EACxC,UAAU,sBAAsB,CAAC,MAAM,CAAC,SAUzC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { useEffect } from "react";
2
2
  import { useEffectEvent } from "use-effect-event";
3
3
  import { useAui } from "./useAui.js";
4
- import { normalizeEventSelector } from "./types/events.js";
4
+ import { normalizeEventSelector } from "@assistant-ui/core/store";
5
5
  export const useAuiEvent = (selector, callback) => {
6
6
  const aui = useAui();
7
7
  const callbackRef = useEffectEvent(callback);
@@ -1 +1 @@
1
- {"version":3,"file":"useAuiEvent.js","sourceRoot":"","sources":["../src/useAuiEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAMlC,OAAO,EAAE,sBAAsB,EAAE,0BAAuB;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAwC,EACxC,QAAwC,EACxC,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1D,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,EAC3C,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CACjC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useAuiEvent.js","sourceRoot":"","sources":["../src/useAuiEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAMlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAwC,EACxC,QAAwC,EACxC,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1D,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,EAC3C,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CACjC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AssistantState } from "./types/client.js";
1
+ import type { AssistantState } from "@assistant-ui/core/store";
2
2
  /**
3
3
  * Hook to access a slice of the assistant state with automatic subscription
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"useAuiState.d.ts","sourceRoot":"","sources":["../src/useAuiState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAuB;AAIrD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,UAAU,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,KAAG,CAmBxE,CAAC"}
1
+ {"version":3,"file":"useAuiState.d.ts","sourceRoot":"","sources":["../src/useAuiState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,KAAG,CAmBvE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { useSyncExternalStore, useDebugValue } from "react";
2
+ import { getProxiedAssistantState } from "@assistant-ui/core/store/internal";
2
3
  import { useAui } from "./useAui.js";
3
- import { getProxiedAssistantState } from "./utils/proxied-assistant-state.js";
4
4
  /**
5
5
  * Hook to access a slice of the assistant state with automatic subscription
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"useAuiState.js","sourceRoot":"","sources":["../src/useAuiState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,wBAAwB,EAAE,2CAAwC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAK,QAAsC,EAAK,EAAE;IAC3E,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAG,oBAAoB,CAChC,GAAG,CAAC,SAAS,EACb,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC5B,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC7B,CAAC;IAEF,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"useAuiState.js","sourceRoot":"","sources":["../src/useAuiState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAElC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,QAAsC,EAAK,EAAE;IAC1E,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAG,oBAAoB,CAChC,GAAG,CAAC,SAAS,EACb,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC5B,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC7B,CAAC;IAEF,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { AssistantClient } from "../types/client.js";
2
+ import type { AssistantClient } from "@assistant-ui/core/store";
3
3
  /** Default context value - throws "wrap in AuiProvider" error */
4
4
  export declare const DefaultAssistantClient: AssistantClient;
5
5
  /** Root prototype for created clients - throws "scope not defined" error */
@@ -1 +1 @@
1
- {"version":3,"file":"react-assistant-context.d.ts","sourceRoot":"","sources":["../../src/utils/react-assistant-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAA2B,2BAAwB;AAmDhF,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,EAAE,eAIlC,CAAC;AAMJ,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,QAAO,eAUzC,CAAC;AAOL,eAAO,MAAM,wBAAwB,QAAO,eAE3C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GAAI,sBAGzB;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,KAAG,KAAK,CAAC,YAMT,CAAC"}
1
+ {"version":3,"file":"react-assistant-context.d.ts","sourceRoot":"","sources":["../../src/utils/react-assistant-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAoDlC,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,EAAE,eAIlC,CAAC;AAMJ,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,QAAO,eAUzC,CAAC;AAOL,eAAO,MAAM,wBAAwB,QAAO,eAE3C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GAAI,sBAGzB;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,KAAG,KAAK,CAAC,YAMT,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext } from "react";
3
- import { createProxiedAssistantState, PROXIED_ASSISTANT_STATE_SYMBOL, } from "./proxied-assistant-state.js";
4
- import { BaseProxyHandler, handleIntrospectionProp } from "./BaseProxyHandler.js";
3
+ import { createProxiedAssistantState, PROXIED_ASSISTANT_STATE_SYMBOL, BaseProxyHandler, handleIntrospectionProp, } from "@assistant-ui/core/store/internal";
5
4
  const NO_OP_SUBSCRIBE = () => () => { };
6
5
  const createErrorClientField = (message) => {
7
6
  const fn = (() => {
@@ -1 +1 @@
1
- {"version":3,"file":"react-assistant-context.js","sourceRoot":"","sources":["../../src/utils/react-assistant-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,qCAAkC;AACnC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,8BAA2B;AAE/E,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvC,MAAM,sBAAsB,GAAG,CAC7B,OAAe,EACiB,EAAE;IAClC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAmC,CAAC;IACrC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,kCACJ,SAAQ,gBAAgB;IAGxB,GAAG,CAAC,CAAU,EAAE,IAAqB;QACnC,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,eAAe,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,eAAe,CAAC;QAC1C,IAAI,IAAI,KAAK,8BAA8B;YACzC,OAAO,2CAA2C,CAAC;QACrD,MAAM,aAAa,GAAG,uBAAuB,CAC3C,IAAI,EACJ,wBAAwB,CACzB,CAAC;QACF,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,aAAa,CAAC;QAClD,OAAO,sBAAsB,CAC3B,oHAAoH,CACrH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,CAAU,EAAE,IAAqB;QACnC,OAAO,CACL,IAAI,KAAK,WAAW;YACpB,IAAI,KAAK,IAAI;YACb,IAAI,KAAK,8BAA8B,CACxC,CAAC;IACJ,CAAC;CACF;AACD,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GACjC,IAAI,KAAK,CACP,EAAqB,EACrB,IAAI,kCAAkC,EAAE,CACzC,CAAC;AAEJ,MAAM,2CAA2C,GAAG,2BAA2B,CAC7E,sBAAsB,CACvB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAoB,EAAE,CAC7D,IAAI,KAAK,CAAkB,EAAqB,EAAE;IAChD,GAAG,CAAC,CAAkB,EAAE,IAAqB;QAC3C,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACvE,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,aAAa,CAAC;QAElD,OAAO,sBAAsB,CAC3B,sCAAsC,MAAM,CAAC,IAAI,CAAC,aAAa,CAChE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,gBAAgB,GAAG,aAAa,CAAkB,sBAAsB,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAoB,EAAE;IAC5D,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,QAAQ,GAIT,EAAsB,EAAE;IACvB,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpC,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"react-assistant-context.js","sourceRoot":"","sources":["../../src/utils/react-assistant-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKzD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvC,MAAM,sBAAsB,GAAG,CAC7B,OAAe,EACiB,EAAE;IAClC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAmC,CAAC;IACrC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,kCACJ,SAAQ,gBAAgB;IAGxB,GAAG,CAAC,CAAU,EAAE,IAAqB;QACnC,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,eAAe,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,eAAe,CAAC;QAC1C,IAAI,IAAI,KAAK,8BAA8B;YACzC,OAAO,2CAA2C,CAAC;QACrD,MAAM,aAAa,GAAG,uBAAuB,CAC3C,IAAI,EACJ,wBAAwB,CACzB,CAAC;QACF,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,aAAa,CAAC;QAClD,OAAO,sBAAsB,CAC3B,oHAAoH,CACrH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,CAAU,EAAE,IAAqB;QACnC,OAAO,CACL,IAAI,KAAK,WAAW;YACpB,IAAI,KAAK,IAAI;YACb,IAAI,KAAK,8BAA8B,CACxC,CAAC;IACJ,CAAC;CACF;AACD,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GACjC,IAAI,KAAK,CACP,EAAqB,EACrB,IAAI,kCAAkC,EAAE,CACzC,CAAC;AAEJ,MAAM,2CAA2C,GAAG,2BAA2B,CAC7E,sBAAsB,CACvB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAoB,EAAE,CAC7D,IAAI,KAAK,CAAkB,EAAqB,EAAE;IAChD,GAAG,CAAC,CAAkB,EAAE,IAAqB;QAC3C,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACvE,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,aAAa,CAAC;QAElD,OAAO,sBAAsB,CAC3B,sCAAsC,MAAM,CAAC,IAAI,CAAC,aAAa,CAChE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,gBAAgB,GAAG,aAAa,CAAkB,sBAAsB,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAoB,EAAE;IAC5D,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,QAAQ,GAIT,EAAsB,EAAE;IACvB,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpC,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/store",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Tap-based state management for @assistant-ui",
5
5
  "keywords": [
6
6
  "state-management",
@@ -28,7 +28,8 @@
28
28
  ],
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
- "@assistant-ui/tap": "^0.4.5",
31
+ "@assistant-ui/core": "^0.1.0",
32
+ "@assistant-ui/tap": "^0.5.0",
32
33
  "use-effect-event": "^2.0.3"
33
34
  },
34
35
  "peerDependencies": {
@@ -41,7 +42,11 @@
41
42
  }
42
43
  },
43
44
  "devDependencies": {
45
+ "@testing-library/react": "^16.3.2",
44
46
  "@types/react": "^19.2.13",
47
+ "@types/react-dom": "^19.2.3",
48
+ "jsdom": "^28.0.0",
49
+ "vitest": "^4.0.18",
45
50
  "react": "^19.2.4",
46
51
  "@assistant-ui/x-buildutils": "0.0.1"
47
52
  },
@@ -59,6 +64,8 @@
59
64
  "url": "https://github.com/assistant-ui/assistant-ui/issues"
60
65
  },
61
66
  "scripts": {
62
- "build": "aui-build"
67
+ "build": "aui-build",
68
+ "test": "vitest run",
69
+ "test:watch": "vitest"
63
70
  }
64
71
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  import type { FC, PropsWithChildren } from "react";
4
4
  import { useAuiState } from "./useAuiState";
5
- import type { AssistantState } from "./types/client";
5
+ import type { AssistantState } from "@assistant-ui/core/store";
6
6
 
7
7
  export namespace AuiIf {
8
8
  export type Props = PropsWithChildren<{ condition: AuiIf.Condition }>;
@@ -0,0 +1,126 @@
1
+ // @vitest-environment jsdom
2
+
3
+ import type { ReactNode } from "react";
4
+ import { act, renderHook } from "@testing-library/react";
5
+ import { afterEach, describe, expect, it, vi } from "vitest";
6
+ import { AuiProvider } from "../utils/react-assistant-context";
7
+ import { useAuiState } from "../useAuiState";
8
+ import { useAuiEvent } from "../useAuiEvent";
9
+ import { PROXIED_ASSISTANT_STATE_SYMBOL } from "@assistant-ui/core/store/internal";
10
+
11
+ afterEach(() => {
12
+ vi.restoreAllMocks();
13
+ });
14
+
15
+ type Listener = () => void;
16
+ type EventEntry = {
17
+ selector: { scope: string; event: string };
18
+ callback: (payload: unknown) => void;
19
+ };
20
+
21
+ const createTestAuiClient = (initialState: Record<string, unknown>) => {
22
+ const listeners = new Set<Listener>();
23
+ const eventEntries: EventEntry[] = [];
24
+ const state = initialState;
25
+
26
+ const client = {
27
+ subscribe: (listener: Listener) => {
28
+ listeners.add(listener);
29
+ return () => listeners.delete(listener);
30
+ },
31
+ on: (
32
+ selector: { scope: string; event: string },
33
+ callback: (payload: unknown) => void,
34
+ ) => {
35
+ eventEntries.push({ selector, callback });
36
+ return () => {
37
+ const idx = eventEntries.findIndex(
38
+ (entry) => entry.callback === callback,
39
+ );
40
+ if (idx >= 0) eventEntries.splice(idx, 1);
41
+ };
42
+ },
43
+ [PROXIED_ASSISTANT_STATE_SYMBOL]: state,
44
+ } as const;
45
+
46
+ return {
47
+ client,
48
+ state,
49
+ notify: () => listeners.forEach((listener) => listener()),
50
+ emitEvent: (event: string, payload: unknown) => {
51
+ for (const entry of eventEntries) {
52
+ if (entry.selector.event === event) {
53
+ entry.callback(payload);
54
+ }
55
+ }
56
+ },
57
+ getEventEntries: () => eventEntries.slice(),
58
+ };
59
+ };
60
+
61
+ describe("store hooks", () => {
62
+ it("useAuiState subscribes and updates selected state", () => {
63
+ const testClient = createTestAuiClient({ counter: 1 });
64
+ const wrapper = ({ children }: { children: ReactNode }) => (
65
+ <AuiProvider value={testClient.client as never}>{children}</AuiProvider>
66
+ );
67
+
68
+ const { result } = renderHook(() => useAuiState((s: any) => s.counter), {
69
+ wrapper,
70
+ });
71
+ expect(result.current).toBe(1);
72
+
73
+ act(() => {
74
+ testClient.state.counter = 2;
75
+ testClient.notify();
76
+ });
77
+
78
+ expect(result.current).toBe(2);
79
+ });
80
+
81
+ it("useAuiState throws when selector returns full state", () => {
82
+ const testClient = createTestAuiClient({ counter: 1 });
83
+ const wrapper = ({ children }: { children: ReactNode }) => (
84
+ <AuiProvider value={testClient.client as never}>{children}</AuiProvider>
85
+ );
86
+
87
+ expect(() => {
88
+ renderHook(() => useAuiState((s: any) => s), { wrapper });
89
+ }).toThrow(
90
+ "You tried to return the entire AssistantState. This is not supported due to technical limitations.",
91
+ );
92
+ });
93
+
94
+ it("useAuiEvent subscribes with normalized selector and invokes latest callback", () => {
95
+ const testClient = createTestAuiClient({ counter: 1 });
96
+ const wrapper = ({ children }: { children: ReactNode }) => (
97
+ <AuiProvider value={testClient.client as never}>{children}</AuiProvider>
98
+ );
99
+
100
+ const firstCallback = vi.fn();
101
+ const secondCallback = vi.fn();
102
+
103
+ const { rerender } = renderHook(
104
+ ({ cb }) => useAuiEvent("thread.updated" as any, cb as any),
105
+ {
106
+ wrapper,
107
+ initialProps: { cb: firstCallback },
108
+ },
109
+ );
110
+
111
+ const [entry] = testClient.getEventEntries();
112
+ expect(entry?.selector).toEqual({
113
+ scope: "thread",
114
+ event: "thread.updated",
115
+ });
116
+
117
+ rerender({ cb: secondCallback });
118
+
119
+ act(() => {
120
+ testClient.emitEvent("thread.updated", { id: "t-1" });
121
+ });
122
+
123
+ expect(firstCallback).not.toHaveBeenCalled();
124
+ expect(secondCallback).toHaveBeenCalledWith({ id: "t-1" });
125
+ });
126
+ });