@assistant-ui/store 0.0.6 → 0.1.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 (92) hide show
  1. package/README.md +13 -13
  2. package/dist/{AssistantIf.d.ts → AuiIf.d.ts} +4 -4
  3. package/dist/AuiIf.d.ts.map +1 -0
  4. package/dist/AuiIf.js +8 -0
  5. package/dist/AuiIf.js.map +1 -0
  6. package/dist/Derived.d.ts +2 -2
  7. package/dist/Derived.d.ts.map +1 -1
  8. package/dist/Derived.js +1 -1
  9. package/dist/index.d.ts +5 -5
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +5 -5
  12. package/dist/index.js.map +1 -1
  13. package/dist/tapClientList.d.ts.map +1 -1
  14. package/dist/tapClientList.js +16 -10
  15. package/dist/tapClientList.js.map +1 -1
  16. package/dist/tapClientLookup.d.ts +3 -3
  17. package/dist/tapClientLookup.d.ts.map +1 -1
  18. package/dist/tapClientLookup.js +28 -16
  19. package/dist/tapClientLookup.js.map +1 -1
  20. package/dist/tapClientResource.d.ts +6 -2
  21. package/dist/tapClientResource.d.ts.map +1 -1
  22. package/dist/tapClientResource.js +11 -5
  23. package/dist/tapClientResource.js.map +1 -1
  24. package/dist/types/client.d.ts +4 -2
  25. package/dist/types/client.d.ts.map +1 -1
  26. package/dist/useAui.d.ts +20 -0
  27. package/dist/useAui.d.ts.map +1 -0
  28. package/dist/{useAssistantClient.js → useAui.js} +65 -35
  29. package/dist/useAui.js.map +1 -0
  30. package/dist/useAuiEvent.d.ts +3 -0
  31. package/dist/useAuiEvent.d.ts.map +1 -0
  32. package/dist/{useAssistantEvent.js → useAuiEvent.js} +4 -4
  33. package/dist/useAuiEvent.js.map +1 -0
  34. package/dist/{useAssistantState.d.ts → useAuiState.d.ts} +4 -4
  35. package/dist/useAuiState.d.ts.map +1 -0
  36. package/dist/{useAssistantState.js → useAuiState.js} +6 -6
  37. package/dist/useAuiState.js.map +1 -0
  38. package/dist/utils/NotificationManager.d.ts +1 -1
  39. package/dist/utils/NotificationManager.d.ts.map +1 -1
  40. package/dist/utils/NotificationManager.js +3 -2
  41. package/dist/utils/NotificationManager.js.map +1 -1
  42. package/dist/utils/StoreResource.d.ts +1 -1
  43. package/dist/utils/StoreResource.d.ts.map +1 -1
  44. package/dist/utils/StoreResource.js +2 -4
  45. package/dist/utils/StoreResource.js.map +1 -1
  46. package/dist/utils/react-assistant-context.d.ts +5 -5
  47. package/dist/utils/react-assistant-context.d.ts.map +1 -1
  48. package/dist/utils/react-assistant-context.js +6 -6
  49. package/dist/utils/react-assistant-context.js.map +1 -1
  50. package/dist/utils/splitClients.d.ts +2 -20
  51. package/dist/utils/splitClients.d.ts.map +1 -1
  52. package/dist/utils/splitClients.js +13 -1
  53. package/dist/utils/splitClients.js.map +1 -1
  54. package/dist/utils/tap-assistant-context.d.ts.map +1 -1
  55. package/dist/utils/tap-assistant-context.js +3 -3
  56. package/dist/utils/tap-assistant-context.js.map +1 -1
  57. package/dist/utils/tap-client-stack-context.js +3 -3
  58. package/dist/utils/tap-client-stack-context.js.map +1 -1
  59. package/dist/wrapperResource.d.ts +3 -0
  60. package/dist/wrapperResource.d.ts.map +1 -0
  61. package/dist/wrapperResource.js +11 -0
  62. package/dist/wrapperResource.js.map +1 -0
  63. package/package.json +2 -2
  64. package/src/AuiIf.tsx +17 -0
  65. package/src/Derived.ts +1 -1
  66. package/src/index.ts +5 -5
  67. package/src/tapClientList.ts +27 -14
  68. package/src/tapClientLookup.ts +53 -33
  69. package/src/tapClientResource.ts +12 -6
  70. package/src/types/client.ts +2 -2
  71. package/src/{useAssistantClient.tsx → useAui.tsx} +95 -52
  72. package/src/{useAssistantEvent.ts → useAuiEvent.ts} +3 -3
  73. package/src/{useAssistantState.tsx → useAuiState.tsx} +5 -7
  74. package/src/utils/NotificationManager.ts +3 -2
  75. package/src/utils/StoreResource.ts +3 -5
  76. package/src/utils/react-assistant-context.tsx +9 -8
  77. package/src/utils/splitClients.ts +22 -7
  78. package/src/utils/tap-assistant-context.ts +5 -6
  79. package/src/utils/tap-client-stack-context.ts +4 -4
  80. package/src/wrapperResource.ts +17 -0
  81. package/dist/AssistantIf.d.ts.map +0 -1
  82. package/dist/AssistantIf.js +0 -8
  83. package/dist/AssistantIf.js.map +0 -1
  84. package/dist/useAssistantClient.d.ts +0 -17
  85. package/dist/useAssistantClient.d.ts.map +0 -1
  86. package/dist/useAssistantClient.js.map +0 -1
  87. package/dist/useAssistantEvent.d.ts +0 -3
  88. package/dist/useAssistantEvent.d.ts.map +0 -1
  89. package/dist/useAssistantEvent.js.map +0 -1
  90. package/dist/useAssistantState.d.ts.map +0 -1
  91. package/dist/useAssistantState.js.map +0 -1
  92. package/src/AssistantIf.tsx +0 -17
@@ -1,10 +1,11 @@
1
- import { resource, tapMemo } from "@assistant-ui/tap";
1
+ import { resource } from "@assistant-ui/tap";
2
2
  import type { ClientStack } from "./tap-client-stack-context";
3
3
  import type {
4
4
  AssistantEventName,
5
5
  AssistantEventPayload,
6
6
  } from "../types/events";
7
7
  import { Unsubscribe } from "../types/client";
8
+ import { tapConst } from "@assistant-ui/tap";
8
9
 
9
10
  type InternalCallback = (payload: unknown, clientStack: ClientStack) => void;
10
11
 
@@ -26,7 +27,7 @@ export type NotificationManager = {
26
27
  };
27
28
 
28
29
  export const NotificationManager = resource((): NotificationManager => {
29
- return tapMemo(() => {
30
+ return tapConst(() => {
30
31
  const listeners = new Map<string, Set<InternalCallback>>();
31
32
  const wildcardListeners = new Set<InternalCallback>();
32
33
  const subscribers = new Set<() => void>();
@@ -11,7 +11,7 @@ export interface Store<TState> {
11
11
  /**
12
12
  * Get the current state of the store.
13
13
  */
14
- getState(): TState;
14
+ getValue(): TState;
15
15
 
16
16
  /**
17
17
  * Subscribe to the store.
@@ -23,13 +23,11 @@ export const StoreResource = resource(
23
23
  <TState>(element: ResourceElement<TState>): Store<TState> => {
24
24
  const [handle] = tapState(() => createResource(element, { mount: false }));
25
25
 
26
- tapEffect(() => {
27
- return handle.unmount;
28
- }, [handle]);
26
+ tapEffect(() => handle.unmount, [handle]);
29
27
 
30
28
  tapEffect(() => {
31
29
  handle.render(element);
32
- }, [handle, element]);
30
+ });
33
31
 
34
32
  return handle;
35
33
  },
@@ -34,7 +34,7 @@ class DefaultAssistantClientProxyHandler
34
34
  );
35
35
  if (introspection !== false) return introspection;
36
36
  return createErrorClientField(
37
- `The current scope does not have a "${String(prop)}" property.`,
37
+ "You are using a component or hook that requires an AuiProvider. Wrap your component in an <AuiProvider> component.",
38
38
  );
39
39
  }
40
40
 
@@ -50,7 +50,7 @@ class DefaultAssistantClientProxyHandler
50
50
  );
51
51
  }
52
52
  }
53
- /** Default context value - throws "wrap in AssistantProvider" error */
53
+ /** Default context value - throws "wrap in AuiProvider" error */
54
54
  export const DefaultAssistantClient: AssistantClient =
55
55
  new Proxy<AssistantClient>(
56
56
  {} as AssistantClient,
@@ -67,6 +67,7 @@ export const createRootAssistantClient = (): AssistantClient =>
67
67
  get(_: AssistantClient, prop: string | symbol) {
68
68
  const introspection = handleIntrospectionProp(prop, "AssistantClient");
69
69
  if (introspection !== false) return introspection;
70
+
70
71
  return createErrorClientField(
71
72
  `The current scope does not have a "${String(prop)}" property.`,
72
73
  );
@@ -87,20 +88,20 @@ export const useAssistantContextValue = (): AssistantClient => {
87
88
  *
88
89
  * @example
89
90
  * ```typescript
90
- * <AssistantProvider client={client}>
91
+ * <AuiProvider value={aui}>
91
92
  * <YourApp />
92
- * </AssistantProvider>
93
+ * </AuiProvider>
93
94
  * ```
94
95
  */
95
- export const AssistantProvider = ({
96
- client,
96
+ export const AuiProvider = ({
97
+ value,
97
98
  children,
98
99
  }: {
99
- client: AssistantClient;
100
+ value: AssistantClient;
100
101
  children: React.ReactNode;
101
102
  }): React.ReactElement => {
102
103
  return (
103
- <AssistantContext.Provider value={client}>
104
+ <AssistantContext.Provider value={value}>
104
105
  {children}
105
106
  </AssistantContext.Provider>
106
107
  );
@@ -5,7 +5,8 @@ import type {
5
5
  ClientNames,
6
6
  } from "../types/client";
7
7
  import { getDefaultPeers } from "../attachDefaultPeers";
8
- import type { useAssistantClient } from "../useAssistantClient";
8
+ import type { useAui } from "../useAui";
9
+ import { tapMemo } from "@assistant-ui/tap";
9
10
 
10
11
  export type RootClients = Partial<
11
12
  Record<ClientNames, ClientElement<ClientNames>>
@@ -32,16 +33,13 @@ export type DerivedClients = Partial<
32
33
  * // derivedClients = { bar: ... }
33
34
  * ```
34
35
  */
35
- export function splitClients(
36
- clients: useAssistantClient.Props,
37
- baseClient: AssistantClient,
38
- ) {
36
+ function splitClients(clients: useAui.Props, baseClient: AssistantClient) {
39
37
  const rootClients: RootClients = {};
40
38
  const derivedClients: DerivedClients = {};
41
39
 
42
40
  for (const [key, clientElement] of Object.entries(clients) as [
43
- keyof useAssistantClient.Props,
44
- NonNullable<useAssistantClient.Props[keyof useAssistantClient.Props]>,
41
+ keyof useAui.Props,
42
+ NonNullable<useAui.Props[keyof useAui.Props]>,
45
43
  ][]) {
46
44
  if (clientElement.type === Derived) {
47
45
  derivedClients[key] = clientElement as DerivedElement<ClientNames>;
@@ -83,3 +81,20 @@ export function splitClients(
83
81
 
84
82
  return { rootClients, derivedClients };
85
83
  }
84
+
85
+ const tapShallowMemoObject = <T extends object>(object: T) => {
86
+ // biome-ignore lint/correctness/useExhaustiveDependencies: shallow memo
87
+ return tapMemo(() => object, [...Object.entries(object).flat()]);
88
+ };
89
+
90
+ export const tapSplitClients = (
91
+ clients: useAui.Props,
92
+ baseClient: AssistantClient,
93
+ ) => {
94
+ const { rootClients, derivedClients } = splitClients(clients, baseClient);
95
+
96
+ return {
97
+ rootClients: tapShallowMemoObject(rootClients),
98
+ derivedClients: tapShallowMemoObject(derivedClients),
99
+ };
100
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
- createContext,
3
- tapContext,
2
+ createResourceContext,
3
+ tap,
4
4
  withContextProvider,
5
5
  tapEffectEvent,
6
6
  } from "@assistant-ui/tap";
@@ -22,9 +22,8 @@ export type AssistantTapContextValue = {
22
22
  emit: EmitFn;
23
23
  };
24
24
 
25
- const AssistantTapContext = createContext<AssistantTapContextValue | null>(
26
- null,
27
- );
25
+ const AssistantTapContext =
26
+ createResourceContext<AssistantTapContextValue | null>(null);
28
27
 
29
28
  export const withAssistantTapContextProvider = <TResult>(
30
29
  value: AssistantTapContextValue,
@@ -34,7 +33,7 @@ export const withAssistantTapContextProvider = <TResult>(
34
33
  };
35
34
 
36
35
  const tapAssistantTapContext = () => {
37
- const ctx = tapContext(AssistantTapContext);
36
+ const ctx = tap(AssistantTapContext);
38
37
  if (!ctx) throw new Error("AssistantTapContext is not available");
39
38
 
40
39
  return ctx;
@@ -1,6 +1,6 @@
1
1
  import {
2
- createContext,
3
- tapContext,
2
+ createResourceContext,
3
+ tap,
4
4
  withContextProvider,
5
5
  tapMemo,
6
6
  } from "@assistant-ui/tap";
@@ -25,13 +25,13 @@ export const getClientIndex = (client: ClientMethods): number => {
25
25
  */
26
26
  export type ClientStack = readonly ClientMethods[];
27
27
 
28
- const ClientStackContext = createContext<ClientStack>([]);
28
+ const ClientStackContext = createResourceContext<ClientStack>([]);
29
29
 
30
30
  /**
31
31
  * Get the current client stack inside a tap resource.
32
32
  */
33
33
  export const tapClientStack = (): ClientStack => {
34
- return tapContext(ClientStackContext);
34
+ return tap(ClientStackContext);
35
35
  };
36
36
 
37
37
  /**
@@ -0,0 +1,17 @@
1
+ import {
2
+ type ResourceElement,
3
+ Resource,
4
+ resource,
5
+ withKey,
6
+ } from "@assistant-ui/tap";
7
+
8
+ export const wrapperResource = <R, P>(
9
+ fn: (props: ResourceElement<P>) => R,
10
+ ): Resource<R, ResourceElement<P>> => {
11
+ const res = resource(fn);
12
+ return (props: ResourceElement<P>) => {
13
+ const el = res(props);
14
+ if (props.key === undefined) return el;
15
+ return withKey(props.key, el);
16
+ };
17
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssistantIf.d.ts","sourceRoot":"","sources":["../src/AssistantIf.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAuB;AAErD,yBAAiB,WAAW,CAAC;IAC3B,KAAY,KAAK,GAAG,iBAAiB,CAAC;QAAE,SAAS,EAAE,WAAW,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAY,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;CAC5D;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAG7C,CAAC"}
@@ -1,8 +0,0 @@
1
- "use client";
2
- import { useAssistantState } from "./useAssistantState.js";
3
- export const AssistantIf = ({ children, condition }) => {
4
- const result = useAssistantState(condition);
5
- return result ? children : null;
6
- };
7
- AssistantIf.displayName = "AssistantIf";
8
- //# sourceMappingURL=AssistantIf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssistantIf.js","sourceRoot":"","sources":["../src/AssistantIf.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,iBAAiB,EAAE,+BAA4B;AAQxD,MAAM,CAAC,MAAM,WAAW,GAA0B,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { AssistantClient, ClientNames, ClientElement } from "./types/client.js";
2
- import { DerivedElement } from "./Derived.js";
3
- /**
4
- * Resource that creates an extended AssistantClient.
5
- */
6
- export declare const AssistantClientResource: import("@assistant-ui/tap").Resource<AssistantClient, {
7
- baseClient: AssistantClient;
8
- clients: useAssistantClient.Props;
9
- }>;
10
- export declare namespace useAssistantClient {
11
- type Props = {
12
- [K in ClientNames]?: ClientElement<K> | DerivedElement<K>;
13
- };
14
- }
15
- export declare function useAssistantClient(): AssistantClient;
16
- export declare function useAssistantClient(clients: useAssistantClient.Props): AssistantClient;
17
- //# sourceMappingURL=useAssistantClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssistantClient.d.ts","sourceRoot":"","sources":["../src/useAssistantClient.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,eAAe,EAEf,WAAW,EACX,aAAa,EAEd,0BAAuB;AACxB,OAAO,EAAW,cAAc,EAAE,qBAAkB;AAmOpD;;GAEG;AACH,eAAO,MAAM,uBAAuB;gBAKpB,eAAe;aAClB,kBAAkB,CAAC,KAAK;EA4CpC,CAAC;AAEF,yBAAiB,kBAAkB,CAAC;IAClC,KAAY,KAAK,GAAG;SACjB,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;KAC1D,CAAC;CACH;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAAC;AACtD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,kBAAkB,CAAC,KAAK,GAChC,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssistantClient.js","sourceRoot":"","sources":["../src/useAssistantClient.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,aAAa,EAAE,iCAA8B;AACtD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,2CAAwC;AACzC,OAAO,EAGL,YAAY,GACb,gCAA6B;AAC9B,OAAO,EACL,sBAAsB,GAIvB,0BAAuB;AACxB,OAAO,EAAE,mBAAmB,EAAE,uCAAoC;AAClE,OAAO,EAAE,+BAA+B,EAAE,yCAAsC;AAChF,OAAO,EAAE,iBAAiB,EAAE,+BAA4B;AACxD,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAClE,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,GAC5B,2CAAwC;AAEzC,MAAM,kBAAkB,GAAG,QAAQ,CACjC,CAAwB,EACtB,OAAO,EACP,IAAI,EACJ,SAAS,GAKV,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,+BAA+B,CACxD,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CACjC,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC,CACF,CAAC;AAEF,MAAM,0BAA0B,GAAG,QAAQ,CACzC,CAAwB,EACtB,OAAO,EACP,aAAa,EACb,SAAS,GAKV,EAA8B,EAAE;IAC/B,MAAM,KAAK,GAAG,iBAAiB,CAC7B,aAAa,CACX,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CACrE,CACF,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3B,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACtD,cAAc,CAAC,MAAM,GAAG,MAAe,CAAC;QACxC,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC;IACxB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,CAAC,CACF,CAAC;AAEF,MAAM,gCAAgC,GAAG,QAAQ,CAAC,GAAG,EAAE;IACrD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAC5D,EAAE,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,QAAQ,CAC3C,CAAC,EACC,OAAO,EAAE,YAAY,EACrB,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE/D,SAAS,CACP,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,EACjE,CAAC,SAAS,EAAE,aAAa,CAAC,CAC3B,CAAC;IAEF,MAAM,OAAO,GAAG,YAAY,CAC1B,YAAY,EACZ,CAAC,OAAO,EAAE,EAAE,CACV,0BAA0B,CAAC;QACzB,OAAO,EAAE,OAAQ;QACjB,aAAa;QACb,SAAS;KACV,CAAC,EACJ,CAAC,aAAa,EAAE,SAAS,CAAC,CAC3B,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,EAAE,EAAE,UAEF,QAAwC,EACxC,QAAwC;gBAExC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBAE1D,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAoB,CAAC,CAAC,MAAM,CAAC;oBACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,iDAAiD,KAAK,yBAAyB,CAC/F,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE;oBAClE,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;wBAClB,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAClB,OAAO;oBACT,CAAC;oBAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAoB,CAAC,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;oBAC1C,IAAI,WAAW,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IACE,KAAK,KAAK,GAAG;oBACb,SAAS,CAAC,MAAM,CAAC,KAAoB,CAAC,CAAC,MAAM,KAAK,IAAI;oBAEtD,OAAO,UAAU,CAAC;gBAEpB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE5D,OAAO,GAAG,EAAE;oBACV,UAAU,EAAE,CAAC;oBACb,WAAW,EAAE,CAAC;gBAChB,CAAC,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAC1C,CAAC,CACF,CAAC;AAOF,MAAM,OAAO,GAAG,CACd,KAAuB,EACvB,SAAuE,EACvE,IAAiB,EACF,EAAE;IACjB,IAAI,QAAQ,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,IAAK,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,QAAQ,CAC5C,CAAwB,EACtB,OAAO,EACP,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE;YACtC,MAAM,EAAE;gBACN,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM;aACtD;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK;aACrD;SACF,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,CAAC,CACF,CAAC;AAEF,MAAM,+BAA+B,GAAG,QAAQ,CAC9C,CAAC,EACC,OAAO,EACP,SAAS,GAIV,EAAE,EAAE;IACH,OAAO,YAAY,CACjB,OAAO,EACP,CAAC,OAAO,EAAE,EAAE,CACV,6BAA6B,CAAC;QAC5B,OAAO,EAAE,OAAQ;QACjB,SAAS;KACV,CAAC,EACJ,CAAC,SAAS,CAAC,CACZ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAC7C,CAAC,EACC,UAAU,EACV,OAAO,GAIR,EAAmB,EAAE;IACpB,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,MAAM,CAAC;QACvB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,IAA8B;KACxC,CAAC,CAAC,OAAO,CAAC;IAEX,MAAM,UAAU,GAAG,WAAW,CAC5B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;QACjC,CAAC,CAAC,4BAA4B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACnE,CAAC,CAAC,gCAAgC,EAAE,CACvC,CAAC;IAEF,MAAM,aAAa,GAAG,iBAAiB,CACrC,+BAA+B,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CACxE,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,2FAA2F;QAC3F,MAAM,KAAK,GACT,UAAU,KAAK,sBAAsB;YACnC,CAAC,CAAC,yBAAyB,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAoB,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;YACvD,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS;YACvD,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE;YAClC,CAAC,8BAA8B,CAAC,EAAE,2BAA2B,CAAC,MAAM,CAAC;SACtE,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5C,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC;AAYF,MAAM,UAAU,kBAAkB,CAChC,OAAkC;IAElC,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,WAAW,CAAC,uBAAuB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { AssistantEventName, AssistantEventCallback, AssistantEventSelector } from "./types/events.js";
2
- export declare const useAssistantEvent: <TEvent extends AssistantEventName>(selector: AssistantEventSelector<TEvent>, callback: AssistantEventCallback<TEvent>) => void;
3
- //# sourceMappingURL=useAssistantEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssistantEvent.d.ts","sourceRoot":"","sources":["../src/useAssistantEvent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,0BAAuB;AAGxB,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,kBAAkB,EACjE,UAAU,sBAAsB,CAAC,MAAM,CAAC,EACxC,UAAU,sBAAsB,CAAC,MAAM,CAAC,SAOzC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssistantEvent.js","sourceRoot":"","sources":["../src/useAssistantEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAM1D,OAAO,EAAE,sBAAsB,EAAE,0BAAuB;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAwC,EACxC,QAAwC,EACxC,EAAE;IACF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssistantState.d.ts","sourceRoot":"","sources":["../src/useAssistantState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAuB;AAIrD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EACjC,UAAU,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,KACrC,CAmBF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssistantState.js","sourceRoot":"","sources":["../src/useAssistantState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAC1D,OAAO,EAAE,wBAAwB,EAAE,2CAAwC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAsC,EACnC,EAAE;IACL,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,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,17 +0,0 @@
1
- "use client";
2
-
3
- import type { FC, PropsWithChildren } from "react";
4
- import { useAssistantState } from "./useAssistantState";
5
- import type { AssistantState } from "./types/client";
6
-
7
- export namespace AssistantIf {
8
- export type Props = PropsWithChildren<{ condition: AssistantIf.Condition }>;
9
- export type Condition = (state: AssistantState) => boolean;
10
- }
11
-
12
- export const AssistantIf: FC<AssistantIf.Props> = ({ children, condition }) => {
13
- const result = useAssistantState(condition);
14
- return result ? children : null;
15
- };
16
-
17
- AssistantIf.displayName = "AssistantIf";