@assistant-ui/react 0.12.15 → 0.12.17

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 (113) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/internal.d.ts +1 -1
  6. package/dist/internal.d.ts.map +1 -1
  7. package/dist/internal.js +1 -1
  8. package/dist/internal.js.map +1 -1
  9. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts +1 -4
  10. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  11. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js +2 -527
  12. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  13. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +96 -96
  14. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.d.ts +1 -16
  15. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.d.ts.map +1 -1
  16. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.js +1 -14
  17. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.js.map +1 -1
  18. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.d.ts +1 -13
  19. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.d.ts.map +1 -1
  20. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.js +2 -82
  21. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.js.map +1 -1
  22. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts +1 -23
  23. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts.map +1 -1
  24. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js +1 -410
  25. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js.map +1 -1
  26. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.d.ts +1 -16
  27. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.d.ts.map +1 -1
  28. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.js +1 -48
  29. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.js.map +1 -1
  30. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts +1 -33
  31. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts.map +1 -1
  32. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js +1 -307
  33. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js.map +1 -1
  34. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.d.ts +1 -3
  35. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  36. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.js +1 -17
  37. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.js.map +1 -1
  38. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.d.ts +2 -26
  39. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.d.ts.map +1 -1
  40. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.js +1 -13
  41. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.js.map +1 -1
  42. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts +1 -3
  43. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts.map +1 -1
  44. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.js +1 -51
  45. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.js.map +1 -1
  46. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +1 -96
  47. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  48. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.js +1 -110
  49. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  50. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +1 -112
  51. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  52. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +1 -439
  53. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  54. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.d.ts +1 -12
  55. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.d.ts.map +1 -1
  56. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.js +1 -102
  57. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.js.map +1 -1
  58. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts +1 -3
  59. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  60. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js +1 -46
  61. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  62. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  63. package/dist/primitives/actionBar/ActionBarCopy.js +7 -20
  64. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  65. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  66. package/dist/primitives/actionBar/ActionBarEdit.js +3 -8
  67. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  68. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  69. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +4 -7
  70. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  71. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  72. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +5 -7
  73. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  74. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  75. package/dist/primitives/actionBar/ActionBarReload.js +3 -10
  76. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  77. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  78. package/dist/primitives/composer/ComposerAddAttachment.js +5 -4
  79. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  80. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  81. package/dist/primitives/composer/ComposerCancel.js +3 -8
  82. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  83. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  84. package/dist/primitives/composer/ComposerSend.js +3 -8
  85. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  86. package/dist/utils/createActionButton.js +1 -1
  87. package/dist/utils/createActionButton.js.map +1 -1
  88. package/package.json +3 -3
  89. package/src/index.ts +1 -1
  90. package/src/internal.ts +1 -1
  91. package/src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts +2 -784
  92. package/src/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.tsx +5 -43
  93. package/src/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.ts +2 -100
  94. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts +4 -580
  95. package/src/legacy-runtime/runtime-cores/external-store/createMessageConverter.ts +1 -76
  96. package/src/legacy-runtime/runtime-cores/external-store/external-message-converter.ts +4 -483
  97. package/src/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.ts +1 -27
  98. package/src/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.ts +2 -35
  99. package/src/legacy-runtime/runtime-cores/local/useLocalRuntime.ts +1 -67
  100. package/src/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +1 -178
  101. package/src/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +1 -529
  102. package/src/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.tsx +1 -152
  103. package/src/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.ts +1 -80
  104. package/src/primitives/actionBar/ActionBarCopy.tsx +7 -26
  105. package/src/primitives/actionBar/ActionBarEdit.ts +3 -10
  106. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +4 -9
  107. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +5 -9
  108. package/src/primitives/actionBar/ActionBarReload.ts +3 -16
  109. package/src/primitives/composer/ComposerAddAttachment.ts +5 -4
  110. package/src/primitives/composer/ComposerCancel.ts +3 -10
  111. package/src/primitives/composer/ComposerSend.ts +3 -13
  112. package/src/tests/BaseComposerRuntimeCore.test.ts +2 -3
  113. package/src/utils/createActionButton.tsx +1 -1
@@ -1,48 +1,3 @@
1
1
  "use client";
2
- import { useState, useEffect, useMemo, useRef, useCallback } from "react";
3
- import { BaseAssistantRuntimeCore, AssistantRuntimeImpl, } from "@assistant-ui/core/internal";
4
- import { RemoteThreadListThreadListRuntimeCore } from "./RemoteThreadListThreadListRuntimeCore.js";
5
- import { useAui } from "@assistant-ui/store";
6
- class RemoteThreadListRuntimeCore extends BaseAssistantRuntimeCore {
7
- threads;
8
- constructor(options) {
9
- super();
10
- this.threads = new RemoteThreadListThreadListRuntimeCore(options, this._contextProvider);
11
- }
12
- get RenderComponent() {
13
- return this.threads.__internal_RenderComponent;
14
- }
15
- }
16
- const useRemoteThreadListRuntimeImpl = (options) => {
17
- const [runtime] = useState(() => new RemoteThreadListRuntimeCore(options));
18
- useEffect(() => {
19
- runtime.threads.__internal_setOptions(options);
20
- runtime.threads.__internal_load();
21
- }, [runtime, options]);
22
- return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);
23
- };
24
- export const useRemoteThreadListRuntime = (options) => {
25
- const runtimeHookRef = useRef(options.runtimeHook);
26
- runtimeHookRef.current = options.runtimeHook;
27
- const stableRuntimeHook = useCallback(() => {
28
- return runtimeHookRef.current();
29
- }, []);
30
- const stableOptions = useMemo(() => ({
31
- adapter: options.adapter,
32
- allowNesting: options.allowNesting,
33
- runtimeHook: stableRuntimeHook,
34
- }), [options.adapter, options.allowNesting, stableRuntimeHook]);
35
- const aui = useAui();
36
- const isNested = aui.threadListItem.source !== null;
37
- if (isNested) {
38
- if (!stableOptions.allowNesting) {
39
- throw new Error("useRemoteThreadListRuntime cannot be nested inside another RemoteThreadListRuntime. " +
40
- "Set allowNesting: true to allow nesting (the inner runtime will become a no-op).");
41
- }
42
- // If allowNesting is true and already inside a thread list context,
43
- // just call the runtimeHook directly (no-op behavior)
44
- return stableRuntimeHook();
45
- }
46
- return useRemoteThreadListRuntimeImpl(stableOptions);
47
- };
2
+ export { useRemoteThreadListRuntime } from "@assistant-ui/core/react";
48
3
  //# sourceMappingURL=useRemoteThreadListRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRemoteThreadListRuntime.js","sourceRoot":"","sources":["../../../../src/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,qCAAqC,EAAE,mDAAgD;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,2BACJ,SAAQ,wBAAwB;IAGhB,OAAO,CAAC;IAExB,YAAY,OAAgC;QAC1C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,qCAAqC,CACtD,OAAO,EACP,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC;IACjD,CAAC;CACF;AAED,MAAM,8BAA8B,GAAG,CACrC,OAAgC,EACd,EAAE;IACpB,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACvB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAAgC,EACd,EAAE;IACpB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAE7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,cAAc,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,iBAAiB;KAC/B,CAAC,EACF,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAC3D,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC;IAEpD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,sFAAsF;gBACpF,kFAAkF,CACrF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,sDAAsD;QACtD,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,8BAA8B,CAAC,aAAa,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"useRemoteThreadListRuntime.js","sourceRoot":"","sources":["../../../../src/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarCopy.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AAMnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,yBAAyB,GAAI,sBAEhC;IACD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,wBA0BL,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,yBAAyB,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;;qBApDhB,MAAM,GAAG,SAAS;qDAsEnC,CAAC"}
1
+ {"version":3,"file":"ActionBarCopy.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AAMnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,yBAAyB,GAAI,sBAEhC;IACD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,wBAOL,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,yBAAyB,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;;qBAjChB,MAAM,GAAG,SAAS;qDAmDnC,CAAC"}
@@ -3,8 +3,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
4
  import { composeEventHandlers } from "@radix-ui/primitive";
5
5
  import { Primitive } from "@radix-ui/react-primitive";
6
- import { useCallback } from "react";
7
- import { useAuiState, useAui } from "@assistant-ui/store";
6
+ import { useActionBarCopy } from "@assistant-ui/core/react";
7
+ import { useAuiState } from "@assistant-ui/store";
8
8
  /**
9
9
  * Hook that provides copy functionality for action bar buttons.
10
10
  *
@@ -30,26 +30,13 @@ import { useAuiState, useAui } from "@assistant-ui/store";
30
30
  * ```
31
31
  */
32
32
  const useActionBarPrimitiveCopy = ({ copiedDuration = 3000, } = {}) => {
33
- const aui = useAui();
34
- const hasCopyableContent = useAuiState((s) => {
35
- return ((s.message.role !== "assistant" ||
36
- s.message.status?.type !== "running") &&
37
- s.message.parts.some((c) => c.type === "text" && c.text.length > 0));
33
+ const { copy, disabled } = useActionBarCopy({
34
+ copiedDuration,
35
+ copyToClipboard: (text) => navigator.clipboard.writeText(text),
38
36
  });
39
- const isEditing = useAuiState((s) => s.composer.isEditing);
40
- const composerValue = useAuiState((s) => s.composer.text);
41
- const callback = useCallback(() => {
42
- const valueToCopy = isEditing ? composerValue : aui.message().getCopyText();
43
- if (!valueToCopy)
44
- return;
45
- navigator.clipboard.writeText(valueToCopy).then(() => {
46
- aui.message().setIsCopied(true);
47
- setTimeout(() => aui.message().setIsCopied(false), copiedDuration);
48
- });
49
- }, [aui, isEditing, composerValue, copiedDuration]);
50
- if (!hasCopyableContent)
37
+ if (disabled)
51
38
  return null;
52
- return callback;
39
+ return copy;
53
40
  };
54
41
  /**
55
42
  * A button component that copies message content to the clipboard.
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarCopy.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionBarCopy.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,yBAAyB,GAAG,CAAC,EACjC,cAAc,GAAG,IAAI,MAGnB,EAAE,EAAE,EAAE;IACR,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QAC1C,cAAc;QACd,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;KAC/D,CAAC,CAAC;IACH,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAWF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAG9C,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/D,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC3C,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,sBAAsB,CAAC,WAAW,GAAG,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarEdit.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAIxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,gBAAgB,2BAUrB,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAChE;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;6DAGlC,CAAC"}
1
+ {"version":3,"file":"ActionBarEdit.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAGxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,gBAAgB,2BAIrB,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAChE;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;6DAGlC,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
  import { createActionButton, } from "../../utils/createActionButton.js";
3
- import { useCallback } from "react";
4
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useActionBarEdit as useActionBarEditBehavior } from "@assistant-ui/core/react";
5
4
  /**
6
5
  * Hook that provides edit functionality for action bar buttons.
7
6
  *
@@ -24,14 +23,10 @@ import { useAuiState, useAui } from "@assistant-ui/store";
24
23
  * ```
25
24
  */
26
25
  const useActionBarEdit = () => {
27
- const aui = useAui();
28
- const disabled = useAuiState((s) => s.composer.isEditing);
29
- const callback = useCallback(() => {
30
- aui.composer().beginEdit();
31
- }, [aui]);
26
+ const { disabled, edit } = useActionBarEditBehavior();
32
27
  if (disabled)
33
28
  return null;
34
- return callback;
29
+ return edit;
35
30
  };
36
31
  /**
37
32
  * A button component that starts editing the current message.
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarEdit.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CACtD,yBAAyB,EACzB,gBAAgB,CACjB,CAAC"}
1
+ {"version":3,"file":"ActionBarEdit.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAExF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,wBAAwB,EAAE,CAAC;IACtD,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CACtD,yBAAyB,EACzB,gBAAgB,CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackNegative.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AAMnE,QAAA,MAAM,4BAA4B,kBAQjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
1
+ {"version":3,"file":"ActionBarFeedbackNegative.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AAMnE,QAAA,MAAM,4BAA4B,kBAGjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
@@ -3,14 +3,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
4
  import { composeEventHandlers } from "@radix-ui/primitive";
5
5
  import { Primitive } from "@radix-ui/react-primitive";
6
- import { useCallback } from "react";
7
- import { useAuiState, useAui } from "@assistant-ui/store";
6
+ import { useAuiState } from "@assistant-ui/store";
7
+ import { useActionBarFeedbackNegative as useActionBarFeedbackNegativeBehavior } from "@assistant-ui/core/react";
8
8
  const useActionBarFeedbackNegative = () => {
9
- const aui = useAui();
10
- const callback = useCallback(() => {
11
- aui.message().submitFeedback({ type: "negative" });
12
- }, [aui]);
13
- return callback;
9
+ const { submit } = useActionBarFeedbackNegativeBehavior();
10
+ return submit;
14
11
  };
15
12
  export const ActionBarPrimitiveFeedbackNegative = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
16
13
  const isSubmitted = useAuiState((s) => s.message.metadata.submittedFeedback?.type === "negative");
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackNegative.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,4BAA4B,GAAG,GAAG,EAAE;IACxC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,GAAG,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAG1D,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,KAAK,UAAU,CACjE,CAAC;IACF,MAAM,QAAQ,GAAG,4BAA4B,EAAE,CAAC;IAChD,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACjD,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kCAAkC,CAAC,WAAW;IAC5C,qCAAqC,CAAC"}
1
+ {"version":3,"file":"ActionBarFeedbackNegative.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,4BAA4B,IAAI,oCAAoC,EAAE,MAAM,0BAA0B,CAAC;AAEhH,MAAM,4BAA4B,GAAG,GAAG,EAAE;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,oCAAoC,EAAE,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAG1D,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,KAAK,UAAU,CACjE,CAAC;IACF,MAAM,QAAQ,GAAG,4BAA4B,EAAE,CAAC;IAChD,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACjD,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kCAAkC,CAAC,WAAW;IAC5C,qCAAqC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackPositive.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AAKnE,QAAA,MAAM,4BAA4B,kBAQjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
1
+ {"version":3,"file":"ActionBarFeedbackPositive.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,0CAAuC;AAMnE,QAAA,MAAM,4BAA4B,kBAGjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
@@ -1,15 +1,13 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { forwardRef, useCallback } from "react";
3
+ import { forwardRef } from "react";
4
4
  import { composeEventHandlers } from "@radix-ui/primitive";
5
- import { useAuiState, useAui } from "@assistant-ui/store";
5
+ import { useAuiState } from "@assistant-ui/store";
6
6
  import { Primitive } from "@radix-ui/react-primitive";
7
+ import { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from "@assistant-ui/core/react";
7
8
  const useActionBarFeedbackPositive = () => {
8
- const aui = useAui();
9
- const callback = useCallback(() => {
10
- aui.message().submitFeedback({ type: "positive" });
11
- }, [aui]);
12
- return callback;
9
+ const { submit } = useActionBarFeedbackPositiveBehavior();
10
+ return submit;
13
11
  };
14
12
  export const ActionBarPrimitiveFeedbackPositive = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
15
13
  const isSubmitted = useAuiState((s) => s.message.metadata.submittedFeedback?.type === "positive");
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackPositive.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,4BAA4B,GAAG,GAAG,EAAE;IACxC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,GAAG,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAG1D,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,KAAK,UAAU,CACjE,CAAC;IACF,MAAM,QAAQ,GAAG,4BAA4B,EAAE,CAAC;IAChD,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACjD,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kCAAkC,CAAC,WAAW;IAC5C,qCAAqC,CAAC"}
1
+ {"version":3,"file":"ActionBarFeedbackPositive.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,4BAA4B,IAAI,oCAAoC,EAAE,MAAM,0BAA0B,CAAC;AAEhH,MAAM,4BAA4B,GAAG,GAAG,EAAE;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,oCAAoC,EAAE,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAG1D,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,KAAK,UAAU,CACjE,CAAC;IACF,MAAM,QAAQ,GAAG,4BAA4B,EAAE,CAAC;IAChD,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACjD,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kCAAkC,CAAC,WAAW;IAC5C,qCAAqC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarReload.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAIxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,kBAAkB,2BAgBvB,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;6DAGpC,CAAC"}
1
+ {"version":3,"file":"ActionBarReload.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAGxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,kBAAkB,2BAIvB,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;6DAGpC,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
  import { createActionButton, } from "../../utils/createActionButton.js";
3
- import { useCallback } from "react";
4
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useActionBarReload as useActionBarReloadBehavior } from "@assistant-ui/core/react";
5
4
  /**
6
5
  * Hook that provides reload functionality for action bar buttons.
7
6
  *
@@ -24,16 +23,10 @@ import { useAuiState, useAui } from "@assistant-ui/store";
24
23
  * ```
25
24
  */
26
25
  const useActionBarReload = () => {
27
- const aui = useAui();
28
- const disabled = useAuiState((s) => s.thread.isRunning ||
29
- s.thread.isDisabled ||
30
- s.message.role !== "assistant");
31
- const callback = useCallback(() => {
32
- aui.message().reload();
33
- }, [aui]);
26
+ const { disabled, reload } = useActionBarReloadBehavior();
34
27
  if (disabled)
35
28
  return null;
36
- return callback;
29
+ return reload;
37
30
  };
38
31
  /**
39
32
  * A button component that reloads/regenerates the current assistant message.
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarReload.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CACjC,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAWF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CACxD,2BAA2B,EAC3B,kBAAkB,CACnB,CAAC"}
1
+ {"version":3,"file":"ActionBarReload.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAWF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CACxD,2BAA2B,EAC3B,kBAAkB,CACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerAddAttachment.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAddAttachment.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAIxC,QAAA,MAAM,wBAAwB,GAAI,gBAE/B;IACD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B,wBAsCL,CAAC;AAEF,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,8BAA8B;;;IA/CzC,qCAAqC;eAC1B,OAAO,GAAG,SAAS;qDAkD/B,CAAC"}
1
+ {"version":3,"file":"ComposerAddAttachment.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAddAttachment.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAKxC,QAAA,MAAM,wBAAwB,GAAI,gBAE/B;IACD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B,wBAsCL,CAAC;AAEF,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,8BAA8B;;;IA/CzC,qCAAqC;eAC1B,OAAO,GAAG,SAAS;qDAkD/B,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import { createActionButton, } from "../../utils/createActionButton.js";
3
3
  import { useCallback } from "react";
4
- import { useAuiState, useAui } from "@assistant-ui/store";
4
+ import { useAui } from "@assistant-ui/store";
5
+ import { useComposerAddAttachment as useComposerAddAttachmentBehavior } from "@assistant-ui/core/react";
5
6
  const useComposerAddAttachment = ({ multiple = true, } = {}) => {
6
- const disabled = useAuiState((s) => !s.composer.isEditing);
7
+ const { disabled, addAttachment } = useComposerAddAttachmentBehavior();
7
8
  const aui = useAui();
8
9
  const callback = useCallback(() => {
9
10
  const input = document.createElement("input");
@@ -20,7 +21,7 @@ const useComposerAddAttachment = ({ multiple = true, } = {}) => {
20
21
  if (!fileList)
21
22
  return;
22
23
  for (const file of fileList) {
23
- aui.composer().addAttachment(file);
24
+ addAttachment(file);
24
25
  }
25
26
  document.body.removeChild(input);
26
27
  };
@@ -30,7 +31,7 @@ const useComposerAddAttachment = ({ multiple = true, } = {}) => {
30
31
  }
31
32
  };
32
33
  input.click();
33
- }, [aui, multiple]);
34
+ }, [aui, multiple, addAttachment]);
34
35
  if (disabled)
35
36
  return null;
36
37
  return callback;
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerAddAttachment.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAddAttachment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,wBAAwB,GAAG,CAAC,EAChC,QAAQ,GAAG,IAAI,MAIb,EAAE,EAAE,EAAE;IACR,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QACpE,IAAI,gBAAgB,KAAK,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,KAAK,CAAC,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpB,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAC9D,iCAAiC,EACjC,wBAAwB,EACxB,CAAC,UAAU,CAAC,CACb,CAAC"}
1
+ {"version":3,"file":"ComposerAddAttachment.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAddAttachment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,IAAI,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAExG,MAAM,wBAAwB,GAAG,CAAC,EAChC,QAAQ,GAAG,IAAI,MAIb,EAAE,EAAE,EAAE;IACR,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,gCAAgC,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QACpE,IAAI,gBAAgB,KAAK,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,KAAK,CAAC,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAC9D,iCAAiC,EACjC,wBAAwB,EACxB,CAAC,UAAU,CAAC,CACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerCancel.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerCancel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAIxC,QAAA,MAAM,iBAAiB,2BAUtB,CAAC;AAEF,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,iBAAiB,CAAC,CAAC;CACjE;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;6DAGnC,CAAC"}
1
+ {"version":3,"file":"ComposerCancel.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerCancel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAGxC,QAAA,MAAM,iBAAiB,2BAItB,CAAC;AAEF,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,iBAAiB,CAAC,CAAC;CACjE;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;6DAGnC,CAAC"}
@@ -1,16 +1,11 @@
1
1
  "use client";
2
2
  import { createActionButton, } from "../../utils/createActionButton.js";
3
- import { useCallback } from "react";
4
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useComposerCancel as useComposerCancelBehavior } from "@assistant-ui/core/react";
5
4
  const useComposerCancel = () => {
6
- const aui = useAui();
7
- const disabled = useAuiState((s) => !s.composer.canCancel);
8
- const callback = useCallback(() => {
9
- aui.composer().cancel();
10
- }, [aui]);
5
+ const { disabled, cancel } = useComposerCancelBehavior();
11
6
  if (disabled)
12
7
  return null;
13
- return callback;
8
+ return cancel;
14
9
  };
15
10
  /**
16
11
  * A button component that cancels the current message composition.
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerCancel.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerCancel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CACvD,0BAA0B,EAC1B,iBAAiB,CAClB,CAAC"}
1
+ {"version":3,"file":"ComposerCancel.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerCancel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,yBAAyB,EAAE,CAAC;IACzD,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CACvD,0BAA0B,EAC1B,iBAAiB,CAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerSend.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerSend.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAIxC,eAAO,MAAM,eAAe,2BAa3B,CAAC;AAEF,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB;;6DAGjC,CAAC"}
1
+ {"version":3,"file":"ComposerSend.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerSend.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,0CAAuC;AAGxC,eAAO,MAAM,eAAe,2BAI3B,CAAC;AAEF,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB;;6DAGjC,CAAC"}
@@ -1,16 +1,11 @@
1
1
  "use client";
2
2
  import { createActionButton, } from "../../utils/createActionButton.js";
3
- import { useCallback } from "react";
4
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useComposerSend as useComposerSendBehavior } from "@assistant-ui/core/react";
5
4
  export const useComposerSend = () => {
6
- const aui = useAui();
7
- const disabled = useAuiState((s) => s.thread.isRunning || !s.composer.isEditing || s.composer.isEmpty);
8
- const callback = useCallback(() => {
9
- aui.composer().send();
10
- }, [aui]);
5
+ const { disabled, send } = useComposerSendBehavior();
11
6
  if (disabled)
12
7
  return null;
13
- return callback;
8
+ return send;
14
9
  };
15
10
  /**
16
11
  * A button component that sends the current message in the composer.
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerSend.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerSend.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CACzE,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAWF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CACrD,wBAAwB,EACxB,eAAe,CAChB,CAAC"}
1
+ {"version":3,"file":"ComposerSend.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerSend.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAGL,kBAAkB,GACnB,0CAAuC;AACxC,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACrD,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAWF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CACrD,wBAAwB,EACxB,eAAe,CAChB,CAAC"}
@@ -15,7 +15,7 @@ export const createActionButton = (displayName, useActionButton, forwardProps =
15
15
  }
16
16
  });
17
17
  const callback = useActionButton(forwardedProps) ?? undefined;
18
- return (_jsx(Primitive.button, { type: "button", ...primitiveProps, ref: forwardedRef, disabled: primitiveProps.disabled || !callback, onClick: composeEventHandlers(primitiveProps.onClick, callback) }));
18
+ return (_jsx(Primitive.button, { ...primitiveProps, type: "button", ref: forwardedRef, disabled: primitiveProps.disabled || !callback, onClick: composeEventHandlers(primitiveProps.onClick, callback) }));
19
19
  });
20
20
  ActionButton.displayName = displayName;
21
21
  return ActionButton;
@@ -1 +1 @@
1
- {"version":3,"file":"createActionButton.js","sourceRoot":"","sources":["../../src/utils/createActionButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,UAAU,GAGX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAa3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,WAAmB,EACnB,eAA6C,EAC7C,eAA8C,EAAE,EAChD,EAAE;IACF,MAAM,YAAY,GAAG,UAAU,CAG7B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,cAAc,GAAG,EAAY,CAAC;QACpC,MAAM,cAAc,GAAG,EAA0B,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAA+B,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChE,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAmB,CAAC,EAAE,CAAC;gBAC9C,cAAsB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACL,cAAsB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAwB,CAAC,IAAI,SAAS,CAAC;QACxE,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,cAAc,EAClB,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAC9C,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC/D,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IAEvC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"createActionButton.js","sourceRoot":"","sources":["../../src/utils/createActionButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,UAAU,GAGX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAa3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,WAAmB,EACnB,eAA6C,EAC7C,eAA8C,EAAE,EAChD,EAAE;IACF,MAAM,YAAY,GAAG,UAAU,CAG7B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,cAAc,GAAG,EAAY,CAAC;QACpC,MAAM,cAAc,GAAG,EAA0B,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAA+B,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChE,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAmB,CAAC,EAAE,CAAC;gBAC9C,cAAsB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACL,cAAsB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAwB,CAAC,IAAI,SAAS,CAAC;QACxE,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,OACX,cAAc,EAClB,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAC9C,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC/D,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IAEvC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/react",
3
- "version": "0.12.15",
3
+ "version": "0.12.17",
4
4
  "description": "TypeScript/React library for AI Chat",
5
5
  "keywords": [
6
6
  "radix-ui",
@@ -49,7 +49,7 @@
49
49
  ],
50
50
  "sideEffects": false,
51
51
  "dependencies": {
52
- "@assistant-ui/core": "^0.1.2",
52
+ "@assistant-ui/core": "^0.1.5",
53
53
  "@assistant-ui/store": "^0.2.2",
54
54
  "@assistant-ui/tap": "^0.5.2",
55
55
  "@radix-ui/primitive": "^1.1.3",
@@ -90,7 +90,7 @@
90
90
  "react": "^19.2.4",
91
91
  "react-dom": "^19.2.4",
92
92
  "vitest": "^4.0.18",
93
- "@assistant-ui/x-buildutils": "0.0.1"
93
+ "@assistant-ui/x-buildutils": "0.0.2"
94
94
  },
95
95
  "publishConfig": {
96
96
  "access": "public",
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import "@assistant-ui/core/react"; // store-augmentation side-effect (tools, dataRenderers scopes)
1
+ /// <reference types="@assistant-ui/core/react" />
2
2
 
3
3
  // Re-export from @assistant-ui/store
4
4
  export {
package/src/internal.ts CHANGED
@@ -26,6 +26,6 @@ export { splitLocalRuntimeOptions } from "./legacy-runtime/runtime-cores/local/L
26
26
  export {
27
27
  useToolInvocations,
28
28
  type ToolExecutionStatus,
29
- } from "./legacy-runtime/runtime-cores/assistant-transport/useToolInvocations";
29
+ } from "@assistant-ui/core/react";
30
30
 
31
31
  export * from "./utils/smooth";