@assistant-ui/react 0.7.10 → 0.7.12

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 (137) hide show
  1. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts +1 -1
  2. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  3. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +1 -1
  4. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  5. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -3
  6. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  7. package/dist/primitives/actionBar/ActionBarEdit.d.ts +1 -3
  8. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  9. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +1 -3
  10. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  11. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +1 -3
  12. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  13. package/dist/primitives/actionBar/ActionBarReload.d.ts +1 -3
  14. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  15. package/dist/primitives/actionBar/ActionBarRoot.d.ts +1 -3
  16. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  17. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +1 -3
  18. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  19. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +1 -3
  20. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  21. package/dist/primitives/assistantModal/scope.d.ts +2 -6
  22. package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
  23. package/dist/primitives/attachment/AttachmentRemove.d.ts +1 -3
  24. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  25. package/dist/primitives/attachment/AttachmentRoot.d.ts +1 -3
  26. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  27. package/dist/primitives/attachment/AttachmentThumb.d.ts +1 -3
  28. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  29. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +1 -3
  30. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  31. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +1 -3
  32. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  33. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +1 -3
  34. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  35. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -3
  36. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  37. package/dist/primitives/composer/ComposerCancel.d.ts +1 -3
  38. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  39. package/dist/primitives/composer/ComposerInput.js +2 -2
  40. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  41. package/dist/primitives/composer/ComposerInput.mjs +2 -2
  42. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  43. package/dist/primitives/composer/ComposerRoot.d.ts +1 -3
  44. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  45. package/dist/primitives/composer/ComposerSend.d.ts +1 -3
  46. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  47. package/dist/primitives/contentPart/ContentPartImage.d.ts +1 -3
  48. package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
  49. package/dist/primitives/contentPart/ContentPartText.d.ts +1 -3
  50. package/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -1
  51. package/dist/primitives/message/MessageRoot.d.ts +1 -3
  52. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  53. package/dist/primitives/thread/ThreadRoot.d.ts +1 -3
  54. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  55. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +1 -3
  56. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  57. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -3
  58. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  59. package/dist/primitives/thread/ThreadViewport.d.ts +1 -3
  60. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  61. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -3
  62. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  63. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -3
  64. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  65. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -3
  66. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  67. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -3
  68. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  69. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -3
  70. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  71. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -3
  72. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  73. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +2 -0
  74. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  75. package/dist/runtimes/core/BaseThreadRuntimeCore.js +8 -0
  76. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  77. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +8 -0
  78. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  79. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +2 -2
  80. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  81. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +7 -1
  82. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  83. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +7 -1
  84. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -1
  85. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  86. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -1
  87. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  88. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +3 -1
  89. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  90. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +0 -2
  91. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  92. package/dist/runtimes/local/LocalThreadRuntimeCore.js +2 -9
  93. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  94. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +2 -9
  95. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  96. package/dist/styles/index.css.map +1 -1
  97. package/dist/ui/assistant-action-bar.d.ts +1 -3
  98. package/dist/ui/assistant-action-bar.d.ts.map +1 -1
  99. package/dist/ui/assistant-message.d.ts +1 -3
  100. package/dist/ui/assistant-message.d.ts.map +1 -1
  101. package/dist/ui/attachment-ui.d.ts +1 -3
  102. package/dist/ui/attachment-ui.d.ts.map +1 -1
  103. package/dist/ui/base/button.d.ts +1 -3
  104. package/dist/ui/base/button.d.ts.map +1 -1
  105. package/dist/ui/base/tooltip-icon-button.d.ts +1 -3
  106. package/dist/ui/base/tooltip-icon-button.d.ts.map +1 -1
  107. package/dist/ui/branch-picker.d.ts +1 -3
  108. package/dist/ui/branch-picker.d.ts.map +1 -1
  109. package/dist/ui/composer.d.ts +1 -3
  110. package/dist/ui/composer.d.ts.map +1 -1
  111. package/dist/ui/edit-composer.d.ts +1 -3
  112. package/dist/ui/edit-composer.d.ts.map +1 -1
  113. package/dist/ui/thread-list-item.d.ts +1 -3
  114. package/dist/ui/thread-list-item.d.ts.map +1 -1
  115. package/dist/ui/thread-list.d.ts +1 -3
  116. package/dist/ui/thread-list.d.ts.map +1 -1
  117. package/dist/ui/thread.d.ts +2 -6
  118. package/dist/ui/thread.d.ts.map +1 -1
  119. package/dist/ui/user-action-bar.d.ts +1 -3
  120. package/dist/ui/user-action-bar.d.ts.map +1 -1
  121. package/dist/ui/user-message.d.ts +1 -3
  122. package/dist/ui/user-message.d.ts.map +1 -1
  123. package/dist/utils/createActionButton.d.ts +1 -3
  124. package/dist/utils/createActionButton.d.ts.map +1 -1
  125. package/dist/utils/hooks/useManagedRef.js +1 -1
  126. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  127. package/dist/utils/hooks/useManagedRef.mjs +1 -1
  128. package/dist/utils/hooks/useManagedRef.mjs.map +1 -1
  129. package/package.json +21 -21
  130. package/src/primitive-hooks/thread/useThreadViewportAutoScroll.tsx +1 -1
  131. package/src/primitives/composer/ComposerInput.tsx +2 -2
  132. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +10 -0
  133. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +11 -2
  134. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -1
  135. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +2 -11
  136. package/src/utils/hooks/useManagedRef.ts +1 -1
  137. package/edge/package-lock.json +0 -6
@@ -1,7 +1,7 @@
1
1
  // src/utils/hooks/useManagedRef.ts
2
2
  import { useCallback, useRef } from "react";
3
3
  var useManagedRef = (callback) => {
4
- const cleanupRef = useRef();
4
+ const cleanupRef = useRef(void 0);
5
5
  const ref = useCallback(
6
6
  (el) => {
7
7
  if (cleanupRef.current) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/hooks/useManagedRef.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\n\nexport const useManagedRef = <TNode>(\n callback: (node: TNode) => (() => void) | void,\n) => {\n const cleanupRef = useRef<(() => void) | void>();\n\n const ref = useCallback(\n (el: TNode | null) => {\n // Call the previous cleanup function\n if (cleanupRef.current) {\n cleanupRef.current();\n }\n\n // Call the new callback and store its cleanup function\n if (el) {\n cleanupRef.current = callback(el);\n }\n },\n [callback],\n );\n\n return ref;\n};\n"],"mappings":";AAAA,SAAS,aAAa,cAAc;AAE7B,IAAM,gBAAgB,CAC3B,aACG;AACH,QAAM,aAAa,OAA4B;AAE/C,QAAM,MAAM;AAAA,IACV,CAAC,OAAqB;AAEpB,UAAI,WAAW,SAAS;AACtB,mBAAW,QAAQ;AAAA,MACrB;AAGA,UAAI,IAAI;AACN,mBAAW,UAAU,SAAS,EAAE;AAAA,MAClC;AAAA,IACF;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/hooks/useManagedRef.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\n\nexport const useManagedRef = <TNode>(\n callback: (node: TNode) => (() => void) | void,\n) => {\n const cleanupRef = useRef<(() => void) | void>(undefined);\n\n const ref = useCallback(\n (el: TNode | null) => {\n // Call the previous cleanup function\n if (cleanupRef.current) {\n cleanupRef.current();\n }\n\n // Call the new callback and store its cleanup function\n if (el) {\n cleanupRef.current = callback(el);\n }\n },\n [callback],\n );\n\n return ref;\n};\n"],"mappings":";AAAA,SAAS,aAAa,cAAc;AAE7B,IAAM,gBAAgB,CAC3B,aACG;AACH,QAAM,aAAa,OAA4B,MAAS;AAExD,QAAM,MAAM;AAAA,IACV,CAAC,OAAqB;AAEpB,UAAI,WAAW,SAAS;AACtB,mBAAW,QAAQ;AAAA,MACrB;AAGA,UAAI,IAAI;AACN,mBAAW,UAAU,SAAS,EAAE;AAAA,MAClC;AAAA,IACF;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,SAAO;AACT;","names":[]}
package/package.json CHANGED
@@ -29,7 +29,7 @@
29
29
  "conversational-ui",
30
30
  "conversational-ai"
31
31
  ],
32
- "version": "0.7.10",
32
+ "version": "0.7.12",
33
33
  "license": "MIT",
34
34
  "exports": {
35
35
  ".": {
@@ -65,28 +65,28 @@
65
65
  ],
66
66
  "sideEffects": false,
67
67
  "dependencies": {
68
- "@ai-sdk/provider": "^1.0.1",
69
- "@radix-ui/primitive": "^1.1.0",
70
- "@radix-ui/react-avatar": "^1.1.1",
71
- "@radix-ui/react-compose-refs": "^1.1.0",
68
+ "@ai-sdk/provider": "^1.0.2",
69
+ "@radix-ui/primitive": "^1.1.1",
70
+ "@radix-ui/react-avatar": "^1.1.2",
71
+ "@radix-ui/react-compose-refs": "^1.1.1",
72
72
  "@radix-ui/react-context": "^1.1.1",
73
- "@radix-ui/react-dialog": "^1.1.2",
74
- "@radix-ui/react-popover": "^1.1.2",
75
- "@radix-ui/react-primitive": "^2.0.0",
76
- "@radix-ui/react-slot": "^1.1.0",
77
- "@radix-ui/react-tooltip": "^1.1.4",
73
+ "@radix-ui/react-dialog": "^1.1.3",
74
+ "@radix-ui/react-popover": "^1.1.3",
75
+ "@radix-ui/react-primitive": "^2.0.1",
76
+ "@radix-ui/react-slot": "^1.1.1",
77
+ "@radix-ui/react-tooltip": "^1.1.5",
78
78
  "@radix-ui/react-use-callback-ref": "^1.1.0",
79
79
  "@radix-ui/react-use-escape-keydown": "^1.1.0",
80
- "class-variance-authority": "^0.7.0",
80
+ "class-variance-authority": "^0.7.1",
81
81
  "classnames": "^2.5.1",
82
82
  "json-schema": "^0.4.0",
83
- "lucide-react": "^0.460.0",
84
- "nanoid": "^5.0.8",
85
- "react-textarea-autosize": "^8.5.5",
83
+ "lucide-react": "^0.468.0",
84
+ "nanoid": "^5.0.9",
85
+ "react-textarea-autosize": "^8.5.6",
86
86
  "secure-json-parse": "^3.0.1",
87
- "zod": "^3.23.8",
88
- "zod-to-json-schema": "^3.23.5",
89
- "zustand": "^5.0.1"
87
+ "zod": "^3.24.1",
88
+ "zod-to-json-schema": "^3.24.1",
89
+ "zustand": "^5.0.2"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "@types/react": "*",
@@ -108,15 +108,15 @@
108
108
  },
109
109
  "devDependencies": {
110
110
  "@types/json-schema": "^7.0.15",
111
- "@types/node": "^22.9.3",
111
+ "@types/node": "^22.10.2",
112
112
  "autoprefixer": "^10.4.20",
113
- "esbuild-plugin-file-path-extensions": "^2.1.3",
113
+ "esbuild-plugin-file-path-extensions": "^2.1.4",
114
114
  "eslint": "^9",
115
- "eslint-config-next": "15.0.3",
115
+ "eslint-config-next": "15.1.0",
116
116
  "postcss": "^8.4.49",
117
117
  "postcss-js": "^4.0.1",
118
118
  "postcss-nested": "^7.0.2",
119
- "tailwindcss": "^3.4.15",
119
+ "tailwindcss": "^3.4.16",
120
120
  "tailwindcss-animate": "^1.0.7",
121
121
  "tsup": "8.3.5",
122
122
  "tsx": "^4.19.2",
@@ -18,7 +18,7 @@ export type UseThreadViewportAutoScrollProps = {
18
18
  export const useThreadViewportAutoScroll = <TElement extends HTMLElement>({
19
19
  autoScroll = true,
20
20
  unstable_scrollToBottomOnRunStart = true,
21
- }: UseThreadViewportAutoScrollProps) => {
21
+ }: UseThreadViewportAutoScrollProps): React.RefCallback<TElement> => {
22
22
  const divRef = useRef<TElement>(null);
23
23
 
24
24
  const threadViewportStore = useThreadViewportStore();
@@ -102,8 +102,8 @@ export const ComposerPrimitiveInput = forwardRef<
102
102
 
103
103
  textarea.focus({ preventScroll: true });
104
104
  textarea.setSelectionRange(
105
- textareaRef.current.value.length,
106
- textareaRef.current.value.length,
105
+ textarea.value.length,
106
+ textarea.value.length,
107
107
  );
108
108
  }, [autoFocusEnabled]);
109
109
 
@@ -32,6 +32,7 @@ type BaseThreadAdapters = {
32
32
 
33
33
  export abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {
34
34
  private _subscriptions = new Set<() => void>();
35
+ private _isInitialized = false;
35
36
 
36
37
  protected readonly repository = new MessageRepository();
37
38
  public abstract get adapters(): BaseThreadAdapters | undefined;
@@ -161,11 +162,20 @@ export abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {
161
162
  this._notifySubscribers();
162
163
  }
163
164
 
165
+ protected ensureInitialized() {
166
+ if (!this._isInitialized) {
167
+ this._isInitialized = true;
168
+ this._notifyEventSubscribers("initialize");
169
+ }
170
+ }
171
+
164
172
  public export() {
165
173
  return this.repository.export();
166
174
  }
167
175
 
168
176
  public import(data: ExportedMessageRepository) {
177
+ this.ensureInitialized();
178
+
169
179
  this.repository.import(data);
170
180
  this._notifySubscribers();
171
181
  }
@@ -1,18 +1,26 @@
1
1
  import type { Unsubscribe } from "../../types";
2
2
  import { ExternalStoreThreadRuntimeCore } from "./ExternalStoreThreadRuntimeCore";
3
3
  import { ThreadListRuntimeCore } from "../core/ThreadListRuntimeCore";
4
- import { ExternalStoreThreadListAdapter } from "./ExternalStoreAdapter";
4
+ import {
5
+ ExternalStoreThreadData,
6
+ ExternalStoreThreadListAdapter,
7
+ } from "./ExternalStoreAdapter";
5
8
 
6
9
  export type ExternalStoreThreadFactory = () => ExternalStoreThreadRuntimeCore;
7
10
 
8
11
  const EMPTY_ARRAY = Object.freeze([]);
9
12
  const DEFAULT_THREAD_ID = "DEFAULT_THREAD_ID";
13
+ const DEFAULT_THREADS = Object.freeze([DEFAULT_THREAD_ID]);
14
+ const DEFAULT_THREAD: ExternalStoreThreadData<"regular"> = Object.freeze({
15
+ threadId: DEFAULT_THREAD_ID,
16
+ state: "regular",
17
+ });
10
18
 
11
19
  export class ExternalStoreThreadListRuntimeCore
12
20
  implements ThreadListRuntimeCore
13
21
  {
14
22
  private _mainThreadId: string = DEFAULT_THREAD_ID;
15
- private _threads: readonly string[] = EMPTY_ARRAY;
23
+ private _threads: readonly string[] = DEFAULT_THREADS;
16
24
  private _archivedThreads: readonly string[] = EMPTY_ARRAY;
17
25
 
18
26
  public get newThreadId() {
@@ -51,6 +59,7 @@ export class ExternalStoreThreadListRuntimeCore
51
59
  for (const thread of this.adapter.archivedThreads ?? []) {
52
60
  if (thread.threadId === threadId) return thread;
53
61
  }
62
+ if (threadId === DEFAULT_THREAD_ID) return DEFAULT_THREAD;
54
63
  return undefined;
55
64
  }
56
65
 
@@ -133,8 +133,9 @@ export class ExternalStoreThreadRuntimeCore
133
133
  )
134
134
  return cache;
135
135
 
136
+ const messageLike = store.convertMessage(m, idx);
136
137
  const newMessage = fromThreadMessageLike(
137
- store.convertMessage(m, idx),
138
+ messageLike,
138
139
  idx.toString(),
139
140
  autoStatus,
140
141
  );
@@ -142,6 +143,8 @@ export class ExternalStoreThreadRuntimeCore
142
143
  return newMessage;
143
144
  });
144
145
 
146
+ if (messages.length > 0) this.ensureInitialized();
147
+
145
148
  for (let i = 0; i < messages.length; i++) {
146
149
  const message = messages[i]!;
147
150
  const parent = messages[i - 1];
@@ -19,8 +19,6 @@ export class LocalThreadRuntimeCore
19
19
  extends BaseThreadRuntimeCore
20
20
  implements ThreadRuntimeCore
21
21
  {
22
- private _isInitialized = false;
23
-
24
22
  public readonly capabilities = {
25
23
  switchToBranch: true,
26
24
  edit: true,
@@ -83,15 +81,8 @@ export class LocalThreadRuntimeCore
83
81
  if (hasUpdates) this._notifySubscribers();
84
82
  }
85
83
 
86
- private _ensureInitialized() {
87
- if (!this._isInitialized) {
88
- this._isInitialized = true;
89
- this._notifyEventSubscribers("initialize");
90
- }
91
- }
92
-
93
84
  public async append(message: AppendMessage): Promise<void> {
94
- this._ensureInitialized();
85
+ this.ensureInitialized();
95
86
 
96
87
  const newMessage = fromCoreMessage(message, {
97
88
  attachments: message.attachments,
@@ -108,7 +99,7 @@ export class LocalThreadRuntimeCore
108
99
  }
109
100
 
110
101
  public async startRun(parentId: string | null): Promise<void> {
111
- this._ensureInitialized();
102
+ this.ensureInitialized();
112
103
 
113
104
  this.repository.resetHead(parentId);
114
105
 
@@ -3,7 +3,7 @@ import { useCallback, useRef } from "react";
3
3
  export const useManagedRef = <TNode>(
4
4
  callback: (node: TNode) => (() => void) | void,
5
5
  ) => {
6
- const cleanupRef = useRef<(() => void) | void>();
6
+ const cleanupRef = useRef<(() => void) | void>(undefined);
7
7
 
8
8
  const ref = useCallback(
9
9
  (el: TNode | null) => {
@@ -1,6 +0,0 @@
1
- {
2
- "name": "edge",
3
- "lockfileVersion": 3,
4
- "requires": true,
5
- "packages": {}
6
- }