@agent-native/toolkit 0.216.0 → 0.218.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.
- package/agent-native.eject.json +26 -0
- package/dist/app/agent-page/AgentContextTab.d.ts.map +1 -1
- package/dist/app/agent-page/AgentContextTab.js +1 -0
- package/dist/app/agent-page/AgentContextTab.js.map +1 -1
- package/dist/app/agentkit/react/components.d.ts.map +1 -1
- package/dist/app/agentkit/react/components.js +1 -1
- package/dist/app/agentkit/react/components.js.map +1 -1
- package/dist/app/agentkit/react/context.d.ts +4 -1
- package/dist/app/agentkit/react/context.d.ts.map +1 -1
- package/dist/app/agentkit/react/context.js +3 -1
- package/dist/app/agentkit/react/context.js.map +1 -1
- package/dist/app/agentkit/react/data-chart-layout.d.ts +30 -0
- package/dist/app/agentkit/react/data-chart-layout.d.ts.map +1 -0
- package/dist/app/agentkit/react/data-chart-layout.js +2 -0
- package/dist/app/agentkit/react/data-chart-layout.js.map +1 -0
- package/dist/app/agentkit/react/index.d.ts +1 -0
- package/dist/app/agentkit/react/index.d.ts.map +1 -1
- package/dist/app/agentkit/react/index.js +1 -0
- package/dist/app/agentkit/react/index.js.map +1 -1
- package/dist/app/agentkit/react/root.d.ts +3 -1
- package/dist/app/agentkit/react/root.d.ts.map +1 -1
- package/dist/app/agentkit/react/root.js +2 -2
- package/dist/app/agentkit/react/root.js.map +1 -1
- package/dist/app/agentkit/react/styles.css +18 -0
- package/dist/app/agentkit/react/transcript-layout.d.ts +2 -0
- package/dist/app/agentkit/react/transcript-layout.d.ts.map +1 -1
- package/dist/app/agentkit/react/transcript-layout.js.map +1 -1
- package/dist/app/auth/AuthPage.d.ts.map +1 -1
- package/dist/app/auth/AuthPage.js +33 -44
- package/dist/app/auth/AuthPage.js.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
- package/dist/app/chat/AgentKitAssistantChat.js +2 -2
- package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
- package/dist/app/chat/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/app/chat/MultiTabAssistantChat.js +51 -93
- package/dist/app/chat/MultiTabAssistantChat.js.map +1 -1
- package/dist/app/chat/agentkit-chat/action-widget.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/action-widget.js +3 -1
- package/dist/app/chat/agentkit-chat/action-widget.js.map +1 -1
- package/dist/app/chat/agentkit-chat/rail.d.ts +1 -1
- package/dist/app/chat/agentkit-chat/rail.d.ts.map +1 -1
- package/dist/app/chat/agentkit-chat/rail.js +1 -1
- package/dist/app/chat/agentkit-chat/rail.js.map +1 -1
- package/dist/app/chat/chat/index.d.ts +2 -1
- package/dist/app/chat/chat/index.d.ts.map +1 -1
- package/dist/app/chat/chat/index.js +1 -1
- package/dist/app/chat/chat/index.js.map +1 -1
- package/dist/app/chat/chat/surface-types.d.ts +3 -0
- package/dist/app/chat/chat/surface-types.d.ts.map +1 -1
- package/dist/app/chat/chat/surface-types.js.map +1 -1
- package/dist/app/chat/chat/tool-call-display.d.ts +3 -1
- package/dist/app/chat/chat/tool-call-display.d.ts.map +1 -1
- package/dist/app/chat/chat/tool-call-display.js +4 -3
- package/dist/app/chat/chat/tool-call-display.js.map +1 -1
- package/dist/app/chat/chat/tool-render-registry.d.ts +2 -0
- package/dist/app/chat/chat/tool-render-registry.d.ts.map +1 -1
- package/dist/app/chat/chat/tool-render-registry.js.map +1 -1
- package/dist/app/chat/chat/widgets/DataChartRenderer.d.ts +3 -1
- package/dist/app/chat/chat/widgets/DataChartRenderer.d.ts.map +1 -1
- package/dist/app/chat/chat/widgets/DataChartRenderer.js +116 -26
- package/dist/app/chat/chat/widgets/DataChartRenderer.js.map +1 -1
- package/dist/app/chat/chat/widgets/DataChartWidget.d.ts +3 -1
- package/dist/app/chat/chat/widgets/DataChartWidget.d.ts.map +1 -1
- package/dist/app/chat/chat/widgets/DataChartWidget.js +21 -2
- package/dist/app/chat/chat/widgets/DataChartWidget.js.map +1 -1
- package/dist/app/chat/chat/widgets/DataInsightsWidget.d.ts +3 -1
- package/dist/app/chat/chat/widgets/DataInsightsWidget.d.ts.map +1 -1
- package/dist/app/chat/chat/widgets/DataInsightsWidget.js +2 -2
- package/dist/app/chat/chat/widgets/DataInsightsWidget.js.map +1 -1
- package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.d.ts +1 -1
- package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.d.ts.map +1 -1
- package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.js +3 -1
- package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.js.map +1 -1
- package/dist/app/chat/chat/widgets/builtin-tool-renderers.d.ts.map +1 -1
- package/dist/app/chat/chat/widgets/builtin-tool-renderers.js +2 -2
- package/dist/app/chat/chat/widgets/builtin-tool-renderers.js.map +1 -1
- package/dist/app/chat/chat-first/chat-history.d.ts +13 -2
- package/dist/app/chat/chat-first/chat-history.d.ts.map +1 -1
- package/dist/app/chat/chat-first/chat-history.js +24 -3
- package/dist/app/chat/chat-first/chat-history.js.map +1 -1
- package/dist/app/chat/ownership-history/ChatOwnerAvatar.d.ts +6 -0
- package/dist/app/chat/ownership-history/ChatOwnerAvatar.d.ts.map +1 -0
- package/dist/app/chat/ownership-history/ChatOwnerAvatar.js +9 -0
- package/dist/app/chat/ownership-history/ChatOwnerAvatar.js.map +1 -0
- package/dist/app/chat/ownership-history/index.d.ts +11 -0
- package/dist/app/chat/ownership-history/index.d.ts.map +1 -0
- package/dist/app/chat/ownership-history/index.js +22 -0
- package/dist/app/chat/ownership-history/index.js.map +1 -0
- package/dist/app/chat/ownership-history/rows.d.ts +27 -0
- package/dist/app/chat/ownership-history/rows.d.ts.map +1 -0
- package/dist/app/chat/ownership-history/rows.js +101 -0
- package/dist/app/chat/ownership-history/rows.js.map +1 -0
- package/dist/app/chat/ownership-history/useOwnershipChatHistory.d.ts +52 -0
- package/dist/app/chat/ownership-history/useOwnershipChatHistory.d.ts.map +1 -0
- package/dist/app/chat/ownership-history/useOwnershipChatHistory.js +497 -0
- package/dist/app/chat/ownership-history/useOwnershipChatHistory.js.map +1 -0
- package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ar-SA.js +3 -0
- package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/de-DE.js +3 -0
- package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
- package/dist/app/i18n/catalogs/en-US.d.ts +3 -0
- package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/en-US.js +3 -0
- package/dist/app/i18n/catalogs/en-US.js.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/es-ES.js +3 -0
- package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/fr-FR.js +3 -0
- package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/hi-IN.js +3 -0
- package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ja-JP.js +3 -0
- package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/ko-KR.js +3 -0
- package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/pt-BR.js +3 -0
- package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-CN.js +3 -0
- package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
- package/dist/app/i18n/catalogs/zh-TW.js +3 -0
- package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
- package/dist/app/onboarding/GettingStartedCard.d.ts +35 -0
- package/dist/app/onboarding/GettingStartedCard.d.ts.map +1 -0
- package/dist/app/onboarding/GettingStartedCard.js +38 -0
- package/dist/app/onboarding/GettingStartedCard.js.map +1 -0
- package/dist/app/onboarding/index.d.ts +1 -0
- package/dist/app/onboarding/index.d.ts.map +1 -1
- package/dist/app/onboarding/index.js +1 -0
- package/dist/app/onboarding/index.js.map +1 -1
- package/dist/app/providers/AppProviders.d.ts.map +1 -1
- package/dist/app/providers/AppProviders.js +3 -1
- package/dist/app/providers/AppProviders.js.map +1 -1
- package/dist/app/settings/AccountSettingsCard.d.ts.map +1 -1
- package/dist/app/settings/AccountSettingsCard.js +2 -1
- package/dist/app/settings/AccountSettingsCard.js.map +1 -1
- package/dist/app/settings/index.d.ts +1 -0
- package/dist/app/settings/index.d.ts.map +1 -1
- package/dist/app/settings/index.js +1 -0
- package/dist/app/settings/index.js.map +1 -1
- package/dist/app/settings/shell/SettingsShell.d.ts +40 -1
- package/dist/app/settings/shell/SettingsShell.d.ts.map +1 -1
- package/dist/app/settings/shell/SettingsShell.js +87 -20
- package/dist/app/settings/shell/SettingsShell.js.map +1 -1
- package/dist/app/settings/shell/bridge.d.ts +5 -3
- package/dist/app/settings/shell/bridge.d.ts.map +1 -1
- package/dist/app/settings/shell/bridge.js +8 -5
- package/dist/app/settings/shell/bridge.js.map +1 -1
- package/dist/app/settings/shell/index.d.ts +2 -2
- package/dist/app/settings/shell/index.d.ts.map +1 -1
- package/dist/app/settings/shell/index.js.map +1 -1
- package/dist/app/settings/shell/registry.d.ts +9 -1
- package/dist/app/settings/shell/registry.d.ts.map +1 -1
- package/dist/app/settings/shell/registry.js +16 -0
- package/dist/app/settings/shell/registry.js.map +1 -1
- package/dist/app/settings/shell/routing.d.ts +5 -4
- package/dist/app/settings/shell/routing.d.ts.map +1 -1
- package/dist/app/settings/shell/routing.js +38 -10
- package/dist/app/settings/shell/routing.js.map +1 -1
- package/dist/app/shared/CommandMenu.d.ts +86 -6
- package/dist/app/shared/CommandMenu.d.ts.map +1 -1
- package/dist/app/shared/CommandMenu.js +303 -41
- package/dist/app/shared/CommandMenu.js.map +1 -1
- package/dist/app/shared/ConsentBanner.d.ts +9 -0
- package/dist/app/shared/ConsentBanner.d.ts.map +1 -0
- package/dist/app/shared/ConsentBanner.js +35 -0
- package/dist/app/shared/ConsentBanner.js.map +1 -0
- package/dist/app/sharing/ShareButton.d.ts.map +1 -1
- package/dist/app/sharing/ShareButton.js +9 -8
- package/dist/app/sharing/ShareButton.js.map +1 -1
- package/dist/chat-history/ChatHistoryList.d.ts +16 -3
- package/dist/chat-history/ChatHistoryList.d.ts.map +1 -1
- package/dist/chat-history/ChatHistoryList.js +25 -15
- package/dist/chat-history/ChatHistoryList.js.map +1 -1
- package/dist/chat-history.css +109 -9
- package/dist/ui/sonner.d.ts +2 -2
- package/dist/ui/sonner.d.ts.map +1 -1
- package/dist/ui/sonner.js +2 -2
- package/dist/ui/sonner.js.map +1 -1
- package/package.json +10 -3
- package/src/app/agent-page/AgentContextTab.spec.ts +50 -2
- package/src/app/agent-page/AgentContextTab.tsx +1 -0
- package/src/app/agentkit/react/components.interaction.spec.tsx +2 -0
- package/src/app/agentkit/react/components.spec.tsx +4 -1
- package/src/app/agentkit/react/components.tsx +3 -0
- package/src/app/agentkit/react/context.tsx +6 -0
- package/src/app/agentkit/react/data-chart-layout.ts +25 -0
- package/src/app/agentkit/react/index.ts +1 -0
- package/src/app/agentkit/react/root.tsx +4 -0
- package/src/app/agentkit/react/styles.css +18 -0
- package/src/app/agentkit/react/transcript-layout.ts +2 -0
- package/src/app/auth/AuthPage.interaction.spec.tsx +74 -0
- package/src/app/auth/AuthPage.tsx +32 -39
- package/src/app/chat/AgentKitAssistantChat.tsx +2 -0
- package/src/app/chat/MultiTabAssistantChat.spec.tsx +270 -3
- package/src/app/chat/MultiTabAssistantChat.tsx +79 -156
- package/src/app/chat/agentkit-chat/action-widget.tsx +3 -0
- package/src/app/chat/agentkit-chat/rail.ts +11 -0
- package/src/app/chat/chat/index.ts +10 -0
- package/src/app/chat/chat/surface-types.ts +3 -0
- package/src/app/chat/chat/tool-call-display.spec.tsx +29 -0
- package/src/app/chat/chat/tool-call-display.tsx +7 -0
- package/src/app/chat/chat/tool-render-registry.tsx +3 -0
- package/src/app/chat/chat/widgets/DataChartRenderer.spec.tsx +377 -17
- package/src/app/chat/chat/widgets/DataChartRenderer.tsx +232 -63
- package/src/app/chat/chat/widgets/DataChartWidget.spec.tsx +67 -0
- package/src/app/chat/chat/widgets/DataChartWidget.tsx +39 -5
- package/src/app/chat/chat/widgets/DataInsightsWidget.tsx +13 -2
- package/src/app/chat/chat/widgets/DataWidgetDisplayControls.tsx +6 -4
- package/src/app/chat/chat/widgets/builtin-tool-renderers.tsx +5 -1
- package/src/app/chat/chat-first/chat-history.spec.tsx +79 -0
- package/src/app/chat/chat-first/chat-history.tsx +75 -22
- package/src/app/chat/ownership-history/ChatOwnerAvatar.tsx +27 -0
- package/src/app/chat/ownership-history/index.tsx +67 -0
- package/src/app/chat/ownership-history/ownership-history.spec.tsx +3146 -0
- package/src/app/chat/ownership-history/rows.ts +156 -0
- package/src/app/chat/ownership-history/useOwnershipChatHistory.ts +709 -0
- package/src/app/i18n/catalogs/ar-SA.ts +3 -0
- package/src/app/i18n/catalogs/de-DE.ts +3 -0
- package/src/app/i18n/catalogs/en-US.ts +3 -0
- package/src/app/i18n/catalogs/es-ES.ts +3 -0
- package/src/app/i18n/catalogs/fr-FR.ts +3 -0
- package/src/app/i18n/catalogs/hi-IN.ts +3 -0
- package/src/app/i18n/catalogs/ja-JP.ts +3 -0
- package/src/app/i18n/catalogs/ko-KR.ts +3 -0
- package/src/app/i18n/catalogs/pt-BR.ts +3 -0
- package/src/app/i18n/catalogs/zh-CN.ts +3 -0
- package/src/app/i18n/catalogs/zh-TW.ts +3 -0
- package/src/app/onboarding/GettingStartedCard.tsx +203 -0
- package/src/app/onboarding/index.ts +1 -0
- package/src/app/providers/AppProviders.tsx +7 -1
- package/src/app/settings/AccountSettingsCard.spec.tsx +31 -0
- package/src/app/settings/AccountSettingsCard.tsx +8 -0
- package/src/app/settings/index.ts +1 -0
- package/src/app/settings/shell/SettingsShell.spec.tsx +472 -1
- package/src/app/settings/shell/SettingsShell.tsx +245 -31
- package/src/app/settings/shell/bridge.spec.ts +12 -0
- package/src/app/settings/shell/bridge.ts +17 -4
- package/src/app/settings/shell/index.ts +6 -1
- package/src/app/settings/shell/registry.ts +33 -1
- package/src/app/settings/shell/routing.spec.ts +92 -1
- package/src/app/settings/shell/routing.ts +52 -9
- package/src/app/shared/CommandMenu.spec.tsx +1662 -1
- package/src/app/shared/CommandMenu.tsx +763 -164
- package/src/app/shared/ConsentBanner.spec.tsx +141 -0
- package/src/app/shared/ConsentBanner.tsx +141 -0
- package/src/app/sharing/ShareButton.tsx +12 -10
- package/src/chat-history/ChatHistoryList.spec.tsx +51 -0
- package/src/chat-history/ChatHistoryList.tsx +87 -26
- package/src/chat-history/ChatHistoryRailSections.spec.tsx +12 -4
- package/src/chat-history.css +109 -9
- package/src/ui/sonner.spec.ts +10 -0
- package/src/ui/sonner.tsx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiTabAssistantChat.d.ts","sourceRoot":"","sources":["../../../src/app/chat/MultiTabAssistantChat.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AA8BhF,OAAO,EAEL,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"MultiTabAssistantChat.d.ts","sourceRoot":"","sources":["../../../src/app/chat/MultiTabAssistantChat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,11 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@agen
|
|
|
17
17
|
import { cn } from "@agent-native/toolkit/utils";
|
|
18
18
|
import { IconPlus, IconHistory, IconX } from "@tabler/icons-react";
|
|
19
19
|
import { useState, useRef, useEffect, useLayoutEffect, useCallback, } from "react";
|
|
20
|
+
import { toast } from "sonner";
|
|
20
21
|
import { getAgentChatNavigationKey, } from "./agent-sidebar-events.js";
|
|
21
22
|
import { AgentKitAssistantChat } from "./AgentKitAssistantChat.js";
|
|
22
|
-
import { ChatHistoryList, } from "./chat/ChatHistoryList.js";
|
|
23
23
|
import { fallbackChatTitle } from "./fallback-chat-title.js";
|
|
24
|
+
import { OwnershipChatHistoryRail, ownDraftRows, useOwnershipChatHistory, } from "./ownership-history/index.js";
|
|
24
25
|
const PREFILL_CONTEXT_KEY = "agent-chat-prefill-context";
|
|
25
26
|
const useBrowserLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
26
27
|
/** The single path that hands a queued send to a mounted chat ref. */
|
|
@@ -277,109 +278,49 @@ function formatThreadTime(ts, locale, yesterdayLabel) {
|
|
|
277
278
|
return d.toLocaleDateString(locale, { weekday: "short" });
|
|
278
279
|
return d.toLocaleDateString(locale, { month: "short", day: "numeric" });
|
|
279
280
|
}
|
|
280
|
-
function HistoryPopover({
|
|
281
|
+
function HistoryPopover({ apiUrl, scope, localMineRows, openTabIds, activeThreadId, onSelect, onNewChat, onClose, onTogglePin, onRename, getThreadUrl, popoverAlign = "end", }) {
|
|
281
282
|
const t = useT();
|
|
282
283
|
const locale = useOptionalLocale()?.locale ?? DEFAULT_LOCALE;
|
|
283
284
|
const [search, setSearch] = useState("");
|
|
284
|
-
const [
|
|
285
|
-
const [isSearching, setIsSearching] = useState(false);
|
|
285
|
+
const [query, setQuery] = useState("");
|
|
286
286
|
const inputRef = useRef(null);
|
|
287
|
-
const debounceRef = useRef(undefined);
|
|
288
287
|
useEffect(() => {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
setSearchResults(results);
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
// Fallback to client-side filtering
|
|
314
|
-
setSearchResults(null);
|
|
315
|
-
}
|
|
316
|
-
setIsSearching(false);
|
|
317
|
-
}, 250);
|
|
318
|
-
return () => {
|
|
319
|
-
if (debounceRef.current)
|
|
320
|
-
clearTimeout(debounceRef.current);
|
|
321
|
-
};
|
|
322
|
-
}, [search, onSearch]);
|
|
323
|
-
// Hide empty threads from the history list — except the currently-active
|
|
324
|
-
// one. The active thread always belongs in the list so the user can see
|
|
325
|
-
// they're in it (the previous filter dropped a brand-new chat the user
|
|
326
|
-
// had just opened, making them think their chat had vanished).
|
|
327
|
-
const visibleThreads = threads.filter((t) => t.messageCount > 0 || t.id === activeThreadId);
|
|
328
|
-
const filtered = search.trim()
|
|
329
|
-
? (searchResults ?? visibleThreads).filter((t) => t.messageCount > 0 || t.id === activeThreadId)
|
|
330
|
-
: visibleThreads;
|
|
331
|
-
// Pinned threads always float to the top of `threads` already (see
|
|
332
|
-
// `sortThreadSummaries` in use-chat-threads.ts and the matching server
|
|
333
|
-
// ORDER BY), but pulling them into their own labeled section — instead of
|
|
334
|
-
// just relying on sort order within "All chats" — makes the pin affordance
|
|
335
|
-
// visible at a glance, matching common chat-history UX.
|
|
336
|
-
const pinnedThreads = filtered.filter((t) => t.pinnedAt != null);
|
|
337
|
-
const unpinnedThreads = filtered.filter((t) => t.pinnedAt == null);
|
|
338
|
-
const toHistoryItem = (thread) => {
|
|
339
|
-
const isActive = thread.id === activeThreadId;
|
|
340
|
-
const hasTitle = Boolean(thread.title);
|
|
341
|
-
const title = thread.title || t("agentChat.history.untitledChat");
|
|
342
|
-
return {
|
|
343
|
-
id: thread.id,
|
|
344
|
-
title,
|
|
345
|
-
titleText: title,
|
|
346
|
-
subtitle: hasTitle && thread.preview && thread.title !== thread.preview
|
|
347
|
-
? thread.preview
|
|
288
|
+
const timer = setTimeout(() => setQuery(search.trim()), 250);
|
|
289
|
+
return () => clearTimeout(timer);
|
|
290
|
+
}, [search]);
|
|
291
|
+
// This component is mounted only while the popover is open.
|
|
292
|
+
const history = useOwnershipChatHistory({
|
|
293
|
+
apiUrl,
|
|
294
|
+
scope,
|
|
295
|
+
enabled: true,
|
|
296
|
+
query,
|
|
297
|
+
activeId: activeThreadId,
|
|
298
|
+
pinned: true,
|
|
299
|
+
localMineRows,
|
|
300
|
+
mutations: { pin: onTogglePin, rename: onRename },
|
|
301
|
+
getThreadUrl,
|
|
302
|
+
onMutationFailed: () => toast.error(t("agentChat.common.saveFailed")),
|
|
303
|
+
decorateItem: (item, row) => ({
|
|
304
|
+
...item,
|
|
305
|
+
title: row.title || t("agentChat.history.untitledChat"),
|
|
306
|
+
titleText: row.title || t("agentChat.history.untitledChat"),
|
|
307
|
+
subtitle: row.title && row.preview && row.title !== row.preview
|
|
308
|
+
? row.preview
|
|
348
309
|
: undefined,
|
|
349
|
-
timestamp:
|
|
310
|
+
timestamp: row.id === activeThreadId
|
|
350
311
|
? t("agentChat.history.active")
|
|
351
|
-
: openTabIds.has(
|
|
312
|
+
: openTabIds.has(row.id)
|
|
352
313
|
? t("agentChat.history.open")
|
|
353
|
-
: formatThreadTime(
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
};
|
|
357
|
-
const historySections = [
|
|
358
|
-
...(pinnedThreads.length > 0
|
|
359
|
-
? [
|
|
360
|
-
{
|
|
361
|
-
id: "pinned",
|
|
362
|
-
label: t("agentChat.history.pinned"),
|
|
363
|
-
items: pinnedThreads.map(toHistoryItem),
|
|
364
|
-
},
|
|
365
|
-
]
|
|
366
|
-
: []),
|
|
367
|
-
{ id: "all", items: unpinnedThreads.map(toHistoryItem) },
|
|
368
|
-
];
|
|
314
|
+
: formatThreadTime(row.updatedAt, locale, t("agentChat.history.yesterday")),
|
|
315
|
+
}),
|
|
316
|
+
});
|
|
369
317
|
return (_jsxs(Popover, { open: true, onOpenChange: (open) => !open && onClose(), children: [_jsx(PopoverAnchor, { asChild: true, children: _jsx("span", { "aria-hidden": true, className: `absolute h-px w-px ${popoverAlign === "start" ? "top-12 start-2" : "top-0 end-2"}` }) }), _jsx(PopoverContent, { align: popoverAlign, side: "bottom", sideOffset: 0, onOpenAutoFocus: (event) => {
|
|
370
318
|
event.preventDefault();
|
|
371
319
|
inputRef.current?.focus();
|
|
372
|
-
}, className: "w-72 rounded-lg p-0", children: _jsx(
|
|
320
|
+
}, className: "w-72 rounded-lg p-0", children: _jsx(OwnershipChatHistoryRail, { ...history, activeId: activeThreadId, onNewChat: onNewChat, showNewChat: false, onSelect: (id) => {
|
|
373
321
|
onSelect(id);
|
|
374
322
|
onClose();
|
|
375
|
-
},
|
|
376
|
-
? (id) => {
|
|
377
|
-
const isPinned = threads.find((t) => t.id === id)?.pinnedAt != null;
|
|
378
|
-
onTogglePin(id, !isPinned);
|
|
379
|
-
}
|
|
380
|
-
: undefined, onRename: onRename, searchValue: search, onSearchChange: setSearch, searchPlaceholder: t("agentChat.history.search"), searchInputRef: inputRef, loading: isSearching, loadingLabel: t("agentChat.history.searching"), error: loadError && !search.trim() ? loadError : undefined, emptyLabel: t("agentChat.history.empty"), emptySearchLabel: t("agentChat.history.noMatches"), footer: !search.trim() && hasMoreThreads ? (_jsx("button", { type: "button", onClick: () => onLoadMore?.(), disabled: isLoadingMoreThreads, className: "mx-1 mt-1 flex w-[calc(100%-0.5rem)] items-center justify-center rounded-md px-3 py-2 text-xs text-muted-foreground hover:bg-accent hover:text-foreground disabled:cursor-default disabled:opacity-60", children: isLoadingMoreThreads
|
|
381
|
-
? t("agentChat.common.loading")
|
|
382
|
-
: t("agentChat.history.loadOlder") })) : undefined }) })] }));
|
|
323
|
+
}, searchValue: search, onSearchChange: setSearch, searchPlaceholder: t("agentChat.history.search"), searchInputRef: inputRef, loadingLabel: t("agentChat.history.searching"), emptyLabel: t("agentChat.history.empty"), emptySearchLabel: t("agentChat.history.noMatches"), className: "an-chat-history--capped" }) })] }));
|
|
383
324
|
}
|
|
384
325
|
// ─── Help Popover ────────────────────────────────────────────────────────────
|
|
385
326
|
function HelpPopover({ onClose }) {
|
|
@@ -703,7 +644,7 @@ export function MultiTabAssistantChat({ showTabBar = true, renderHeader, renderO
|
|
|
703
644
|
threadUrlSyncEnabled,
|
|
704
645
|
writeThreadUrl,
|
|
705
646
|
]);
|
|
706
|
-
const { threads, activeThreadId, isLoading, createThread, openThread, switchThread: switchThreadState, forkThread, saveThreadData, generateTitle,
|
|
647
|
+
const { threads, activeThreadId, isLoading, createThread, openThread, switchThread: switchThreadState, forkThread, saveThreadData, generateTitle, refreshThreads, restoredThreadIdOnListFailure, evictedThreadIds, isNewThread, isThreadPersisted, confirmThreadSnapshotPersisted, pinThread, renameThread, } = useChatThreads(apiUrl, storageKey, scope, {
|
|
707
648
|
restoreActiveThread,
|
|
708
649
|
browserTabId,
|
|
709
650
|
routeThreadId: threadUrlSyncEnabled
|
|
@@ -731,6 +672,7 @@ export function MultiTabAssistantChat({ showTabBar = true, renderHeader, renderO
|
|
|
731
672
|
const [showHistory, setShowHistory] = useState(false);
|
|
732
673
|
const [pageOverlayScrolled, setPageOverlayScrolled] = useState(false);
|
|
733
674
|
const newThreadIds = useRef(new Set());
|
|
675
|
+
const observedThreadStarts = useRef(new Map());
|
|
734
676
|
const [, setThreadPersistenceVersion] = useState(0);
|
|
735
677
|
const handleThreadSnapshotPersisted = useCallback((threadId, messageCount) => {
|
|
736
678
|
confirmThreadSnapshotPersisted(threadId);
|
|
@@ -1933,6 +1875,8 @@ export function MultiTabAssistantChat({ showTabBar = true, renderHeader, renderO
|
|
|
1933
1875
|
const { isRunning, tabId } = detail;
|
|
1934
1876
|
if (!tabId)
|
|
1935
1877
|
return;
|
|
1878
|
+
if (isRunning)
|
|
1879
|
+
observedThreadStarts.current.set(tabId, Date.now());
|
|
1936
1880
|
setRunningThreads((prev) => {
|
|
1937
1881
|
const next = new Set(prev);
|
|
1938
1882
|
if (isRunning) {
|
|
@@ -2770,7 +2714,21 @@ export function MultiTabAssistantChat({ showTabBar = true, renderHeader, renderO
|
|
|
2770
2714
|
background: "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
|
|
2771
2715
|
}, children: _jsx(IconX, { size: 12 }) })] }, tab.id)))] }) }))] }));
|
|
2772
2716
|
})()
|
|
2773
|
-
: null, _jsxs("div", { className: cn("relative flex-1 flex flex-col min-h-0", renderOverlay && "pt-12"), "data-agent-page-chat-topbar": renderOverlay ? "" : undefined, "data-agent-page-chat-scrolled": renderOverlay && pageOverlayScrolled ? "" : undefined, onScrollCapture: renderOverlay ? handlePageOverlayScroll : undefined, children: [renderOverlay ? renderOverlay(headerProps) : null, showHistory && (_jsx(HistoryPopover, {
|
|
2717
|
+
: null, _jsxs("div", { className: cn("relative flex-1 flex flex-col min-h-0", renderOverlay && "pt-12"), "data-agent-page-chat-topbar": renderOverlay ? "" : undefined, "data-agent-page-chat-scrolled": renderOverlay && pageOverlayScrolled ? "" : undefined, onScrollCapture: renderOverlay ? handlePageOverlayScroll : undefined, children: [renderOverlay ? renderOverlay(headerProps) : null, showHistory && (_jsx(HistoryPopover, { apiUrl: apiUrl, scope: isolateHistoryByScope ? (scope ?? undefined) : undefined, localMineRows: ownDraftRows({
|
|
2718
|
+
threads: threads.map((thread) => ({
|
|
2719
|
+
...thread,
|
|
2720
|
+
messageCount: messageCounts[thread.id] ?? thread.messageCount,
|
|
2721
|
+
})),
|
|
2722
|
+
isNewThread,
|
|
2723
|
+
activeId: activeThreadId,
|
|
2724
|
+
observedThreadStarts: observedThreadStarts.current,
|
|
2725
|
+
}), openTabIds: new Set(openTabIds), activeThreadId: activeThreadId, onSelect: openFromHistory, onNewChat: addTab, onClose: () => setShowHistory(false), onTogglePin: pinThread, onRename: renameThread, getThreadUrl: (threadId) => {
|
|
2726
|
+
if (getThreadPath)
|
|
2727
|
+
return appPath(getThreadPath(threadId));
|
|
2728
|
+
const url = new URL(window.location.href);
|
|
2729
|
+
url.searchParams.set(threadUrlParamName, threadId);
|
|
2730
|
+
return url.toString();
|
|
2731
|
+
}, popoverAlign: renderOverlay ? "start" : "end" })), helpVisible && _jsx(HelpPopover, { onClose: () => setHelpVisible(false) }), [...new Set(visibleOpenTabIds)]
|
|
2774
2732
|
.filter((tabId) => tabId === activeThreadId || mountedTabsRef.current.has(tabId))
|
|
2775
2733
|
.map((tabId) => {
|
|
2776
2734
|
const isKnownNewThread = newThreadIds.current.has(tabId) || isNewThread(tabId);
|