zidane-ui 9.1.13 → 9.1.16
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/dist/adapters/index.d.ts +2 -2
- package/dist/adapters/index.js +2 -2
- package/dist/adapters/live.d.ts +29 -3
- package/dist/adapters/live.js +9 -1
- package/dist/adapters/server-composer-host.js +17 -2
- package/dist/adapters/server-extensions-host.d.ts +0 -1
- package/dist/adapters/server-extensions-host.js +4 -15
- package/dist/adapters/server-git-host.js +7 -16
- package/dist/adapters/server-host.js +181 -43
- package/dist/adapters/server-machines-host.d.ts +2 -0
- package/dist/adapters/server-machines-host.js +22 -23
- package/dist/adapters/server-onboarding-host.d.ts +1 -1
- package/dist/adapters/server-onboarding-host.js +3 -4
- package/dist/adapters/server-session-host.js +22 -3
- package/dist/adapters/server-settings-accounts.js +2 -2
- package/dist/adapters/server-settings-host.js +2 -2
- package/dist/adapters/server-settings-performance.js +7 -9
- package/dist/adapters/server-settings-sections.js +13 -14
- package/dist/adapters/server-sidebar-host.js +2 -2
- package/dist/adapters/sse-host.js +68 -3
- package/dist/adapters/sse-protocol.d.ts +12 -2
- package/dist/adapters/sse-protocol.js +4 -2
- package/dist/app/AppHostProvider.js +4 -3
- package/dist/app/ModalProvider.d.ts +13 -3
- package/dist/app/ModalProvider.js +103 -24
- package/dist/app/NoticeStack.d.ts +33 -0
- package/dist/app/NoticeStack.js +90 -0
- package/dist/app/index.d.ts +3 -2
- package/dist/app/index.js +3 -2
- package/dist/chat/SessionFilterMenu.d.ts +1 -1
- package/dist/chat/SessionFilterMenu.js +2 -1
- package/dist/chat/composer/Composer.js +10 -8
- package/dist/chat/composer/ModelChainList.js +17 -8
- package/dist/chat/composer/ModelChainTooltip.js +5 -2
- package/dist/chat/composer/use-draft-target.d.ts +20 -1
- package/dist/chat/composer/use-draft-target.js +121 -5
- package/dist/chat/composer/use-new-session-defaults.d.ts +5 -1
- package/dist/chat/composer/use-new-session-defaults.js +17 -4
- package/dist/chat/headless/chip-labels.d.ts +1 -0
- package/dist/chat/headless/chip-labels.js +1 -0
- package/dist/chat/headless/composer/labels-editor.d.ts +0 -2
- package/dist/chat/headless/composer/labels-editor.js +0 -2
- package/dist/chat/headless/draft-target.d.ts +21 -1
- package/dist/chat/headless/fixture-host.js +17 -2
- package/dist/chat/headless/host.d.ts +3 -3
- package/dist/chat/headless/index.d.ts +9 -9
- package/dist/chat/headless/index.js +2 -2
- package/dist/chat/headless/labels.d.ts +13 -6
- package/dist/chat/headless/labels.js +10 -9
- package/dist/chat/headless/session-list.d.ts +20 -8
- package/dist/chat/headless/session-list.js +1 -0
- package/dist/chat/headless/sidebar/directory.d.ts +56 -14
- package/dist/chat/headless/sidebar/directory.js +149 -70
- package/dist/chat/headless/sidebar/index.d.ts +3 -3
- package/dist/chat/headless/sidebar/index.js +2 -2
- package/dist/chat/headless/sidebar/labels.d.ts +15 -8
- package/dist/chat/headless/sidebar/types.d.ts +3 -1
- package/dist/chat/headless/sidebar/view.d.ts +13 -5
- package/dist/chat/headless/sidebar/view.js +31 -11
- package/dist/chat/headless/streams/actions.d.ts +5 -3
- package/dist/chat/headless/streams/actions.js +3 -2
- package/dist/chat/headless/streams/index.d.ts +3 -3
- package/dist/chat/headless/streams/merge.d.ts +6 -10
- package/dist/chat/headless/streams/merge.js +7 -21
- package/dist/chat/headless/streams/session-streams.d.ts +29 -4
- package/dist/chat/headless/streams/session-streams.js +86 -0
- package/dist/chat/headless/streams/store.d.ts +162 -16
- package/dist/chat/headless/streams/store.js +334 -38
- package/dist/chat/headless/streams/types.d.ts +10 -7
- package/dist/chat/headless/transcript-labels.d.ts +1 -0
- package/dist/chat/interactions/PlanCard.js +10 -3
- package/dist/chat/interactions/QuestionForm.js +7 -3
- package/dist/chat/interactions/card-ui.d.ts +5 -3
- package/dist/chat/interactions/card-ui.js +9 -7
- package/dist/chat/rich-composer/RichComposer.js +1 -7
- package/dist/chat/rich-composer/composer-extensions.d.ts +0 -2
- package/dist/chat/rich-composer/composer-extensions.js +2 -2
- package/dist/chat/rich-composer/use-composer-editor.d.ts +0 -2
- package/dist/chat/rich-composer/use-composer-editor.js +1 -2
- package/dist/chat/sidebar/SessionSidebar.js +5 -5
- package/dist/chat/sidebar/SidebarFilterMenu.js +3 -1
- package/dist/chat/sidebar/SidebarFrame.d.ts +4 -0
- package/dist/chat/sidebar/SidebarFrame.js +27 -9
- package/dist/chat/sidebar/SidebarGroupHeader.js +1 -1
- package/dist/chat/sidebar/SidebarHostProvider.d.ts +8 -5
- package/dist/chat/sidebar/SidebarHostProvider.js +13 -9
- package/dist/chat/sidebar/SidebarToggleButton.js +7 -3
- package/dist/chat/sidebar/index.d.ts +2 -2
- package/dist/chat/sidebar/session-menu.js +4 -4
- package/dist/chat/sidebar/useSaveViewAsSpace.js +2 -2
- package/dist/chat/testing/contract.js +2 -2
- package/dist/chat/transcript/AuthFailureCard.js +11 -8
- package/dist/chat/transcript/BadgeMenu.js +13 -2
- package/dist/chat/transcript/MermaidDiagram.js +7 -3
- package/dist/chat/transcript/fold.d.ts +4 -0
- package/dist/chat/transcript/fold.js +53 -22
- package/dist/chat/transcript/script-input.d.ts +1 -1
- package/dist/chat/transcript/shell-block.js +7 -3
- package/dist/chat/transcript/useStickToBottom.js +12 -0
- package/dist/components/BrowserSignIn.js +23 -21
- package/dist/components/Form.d.ts +6 -4
- package/dist/components/Form.js +16 -8
- package/dist/components/LoadError.d.ts +4 -2
- package/dist/components/LoadError.js +13 -9
- package/dist/components/Notice.d.ts +29 -0
- package/dist/components/Notice.js +63 -0
- package/dist/components/PanelEmpty.d.ts +1 -1
- package/dist/components/PanelEmpty.js +4 -2
- package/dist/components/Restricted.d.ts +1 -1
- package/dist/components/palette/PaletteList.js +8 -1
- package/dist/components/palette/PalettePanel.js +14 -6
- package/dist/core.css +24 -5
- package/dist/dist/{index-Bq87OcGy.d.ts → index-BZM8tu4L.d.ts} +28 -3
- package/dist/dist/index.d.ts +2 -2
- package/dist/dist/{timeout-B5pO5I5a.d.ts → timeout-Cyx3VGPz.d.ts} +1 -1
- package/dist/extensions/ExtensionSettingsPage.js +1 -4
- package/dist/extensions/ExtensionSettingsSection.js +4 -3
- package/dist/extensions/ExtensionSettingsSidebar.js +2 -6
- package/dist/extensions/SettingsWireForm.d.ts +1 -7
- package/dist/extensions/SettingsWireForm.js +7 -5
- package/dist/extensions/headless/fixture-host.d.ts +1 -5
- package/dist/extensions/headless/fixture-host.js +1 -4
- package/dist/extensions/headless/host.d.ts +1 -11
- package/dist/extensions/headless/index.d.ts +3 -3
- package/dist/extensions/headless/index.js +2 -2
- package/dist/extensions/headless/select.d.ts +1 -11
- package/dist/extensions/headless/select.js +1 -18
- package/dist/files/EditorColumn.js +12 -1
- package/dist/files/TreeColumn.js +13 -20
- package/dist/files/useOpenFiles.js +2 -0
- package/dist/git/BranchMenu.js +5 -3
- package/dist/git/ImportRepoDialog.js +18 -9
- package/dist/git/MoveSessionDialog.js +15 -7
- package/dist/git/RemoteFolderPicker.js +34 -16
- package/dist/git/SyncChip.js +17 -17
- package/dist/git/WherePicker.d.ts +16 -1
- package/dist/git/WherePicker.js +80 -36
- package/dist/git/headless/environment.d.ts +33 -3
- package/dist/git/headless/environment.js +33 -5
- package/dist/git/headless/index.d.ts +2 -2
- package/dist/git/headless/index.js +2 -2
- package/dist/git/headless/labels.d.ts +15 -2
- package/dist/git/headless/labels.js +17 -4
- package/dist/git/useEnvironmentChoices.d.ts +3 -1
- package/dist/git/useEnvironmentChoices.js +6 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/labels.d.ts +5 -0
- package/dist/labels.js +5 -0
- package/dist/machines/AddMachineDialog.d.ts +34 -0
- package/dist/machines/AddMachineDialog.js +464 -0
- package/dist/machines/Banners.d.ts +33 -4
- package/dist/machines/Banners.js +64 -3
- package/dist/machines/DaemonMenu.js +27 -4
- package/dist/machines/HostCapabilities.d.ts +1 -3
- package/dist/machines/HostCapabilities.js +24 -45
- package/dist/machines/HostSyncPanel.js +123 -129
- package/dist/machines/HostsSection.d.ts +4 -1
- package/dist/machines/HostsSection.js +30 -7
- package/dist/machines/MachinesExplainer.d.ts +17 -0
- package/dist/machines/MachinesExplainer.js +71 -0
- package/dist/machines/MachinesProvider.d.ts +14 -2
- package/dist/machines/MachinesProvider.js +35 -1
- package/dist/machines/ServerAddedCard.d.ts +31 -0
- package/dist/machines/ServerAddedCard.js +72 -0
- package/dist/machines/ServerCard.js +91 -215
- package/dist/machines/ServerMachinesPanel.d.ts +2 -2
- package/dist/machines/ServerMachinesPanel.js +184 -323
- package/dist/machines/ServerUpdatePanel.js +51 -40
- package/dist/machines/ShareThisComputerForm.d.ts +19 -0
- package/dist/machines/ShareThisComputerForm.js +133 -0
- package/dist/machines/TokensPanel.d.ts +5 -3
- package/dist/machines/TokensPanel.js +98 -78
- package/dist/machines/headless/fixture-host.d.ts +19 -3
- package/dist/machines/headless/fixture-host.js +42 -5
- package/dist/machines/headless/fixtures.js +4 -6
- package/dist/machines/headless/host.d.ts +40 -19
- package/dist/machines/headless/index.d.ts +3 -3
- package/dist/machines/headless/index.js +2 -2
- package/dist/machines/headless/labels.d.ts +63 -20
- package/dist/machines/headless/labels.js +88 -25
- package/dist/machines/headless/messages.js +8 -0
- package/dist/machines/headless/stores.d.ts +9 -2
- package/dist/machines/headless/stores.js +28 -1
- package/dist/machines/index.d.ts +7 -3
- package/dist/machines/index.js +8 -4
- package/dist/machines/testing/contract.d.ts +15 -3
- package/dist/machines/testing/contract.js +68 -14
- package/dist/motion/grow.d.ts +8 -1
- package/dist/motion/grow.js +10 -4
- package/dist/onboarding/demos/index.js +1 -1
- package/dist/onboarding/headless/labels.d.ts +13 -0
- package/dist/onboarding/headless/labels.js +8 -0
- package/dist/onboarding/index.js +3 -3
- package/dist/onboarding/sources/SourceBrowser.js +11 -7
- package/dist/onboarding/steps/ConnectorsStep.js +1 -1
- package/dist/onboarding/steps/ImportStep.js +4 -1
- package/dist/onboarding/steps/ReadyStep.js +9 -2
- package/dist/onboarding/steps/SkillsStep.js +1 -1
- package/dist/onboarding/steps/connect/KeyForm.js +6 -2
- package/dist/onboarding/steps/connect/ProviderPanel.js +6 -2
- package/dist/onboarding/steps/connect/ProviderReady.js +25 -20
- package/dist/onboarding/steps/tasks.js +17 -14
- package/dist/server/sse-handler.js +141 -19
- package/dist/session/ArtifactsPanel.js +39 -17
- package/dist/session/PlanTracker.js +12 -7
- package/dist/session/ProjectHome.js +13 -11
- package/dist/session/RemindersPanel.js +34 -16
- package/dist/session/RunningWorkDialog.js +6 -2
- package/dist/session/SecretsPanel.js +29 -10
- package/dist/session/SessionDetailsDialog.d.ts +1 -1
- package/dist/session/SessionDetailsDialog.js +18 -10
- package/dist/session/SideChat.js +10 -7
- package/dist/session/TurnDetailsDialog.js +19 -5
- package/dist/session/UsagePanel.js +10 -4
- package/dist/session/headless/host.d.ts +2 -0
- package/dist/session/headless/labels.d.ts +19 -1
- package/dist/session/headless/labels.js +15 -1
- package/dist/session/headless/queue.js +2 -1
- package/dist/session/headless/reminder-labels.d.ts +4 -0
- package/dist/session/headless/reminder-labels.js +4 -0
- package/dist/settings/SettingsRestricted.d.ts +1 -1
- package/dist/settings/SettingsRestricted.js +4 -4
- package/dist/settings/SettingsShell.d.ts +7 -0
- package/dist/settings/SettingsShell.js +6 -1
- package/dist/settings/headless/fixture-performance.d.ts +1 -1
- package/dist/settings/headless/host.d.ts +2 -2
- package/dist/settings/headless/labels.d.ts +3 -3
- package/dist/settings/headless/labels.js +3 -3
- package/dist/settings/headless/performance.d.ts +3 -4
- package/dist/settings/headless/search.d.ts +1 -1
- package/dist/settings/index.d.ts +2 -1
- package/dist/settings/index.js +2 -1
- package/dist/settings/sections/editor/EditorSection.js +7 -4
- package/dist/settings/sections/editor/labels.d.ts +1 -0
- package/dist/settings/sections/editor/labels.js +1 -0
- package/dist/settings/sections/environments/EnvironmentsSection.js +19 -12
- package/dist/settings/sections/environments/labels.d.ts +1 -0
- package/dist/settings/sections/environments/labels.js +2 -1
- package/dist/settings/sections/extensions/ExtensionConfigRows.d.ts +1 -3
- package/dist/settings/sections/extensions/ExtensionConfigRows.js +20 -19
- package/dist/settings/sections/extensions/ExtensionOptionsSection.js +2 -1
- package/dist/settings/sections/extensions/options-labels.d.ts +2 -1
- package/dist/settings/sections/extensions/options-labels.js +2 -1
- package/dist/settings/sections/index.d.ts +2 -1
- package/dist/settings/sections/index.js +2 -1
- package/dist/settings/sections/logs/LogsSection.d.ts +2 -2
- package/dist/settings/sections/logs/LogsSection.js +2 -2
- package/dist/settings/sections/mcp/McpSection.d.ts +1 -1
- package/dist/settings/sections/mcp/McpSection.js +12 -6
- package/dist/settings/sections/mcp/McpServerRow.js +20 -13
- package/dist/settings/sections/mcp/labels.d.ts +8 -2
- package/dist/settings/sections/mcp/labels.js +8 -2
- package/dist/settings/sections/models/ModelRows.js +1 -1
- package/dist/settings/sections/models/NewChatPlaceRow.d.ts +26 -0
- package/dist/settings/sections/models/NewChatPlaceRow.js +78 -0
- package/dist/settings/sections/models/SpacesDefaultsSection.js +15 -3
- package/dist/settings/sections/models/labels.d.ts +7 -0
- package/dist/settings/sections/models/labels.js +7 -0
- package/dist/settings/sections/models/model-test.js +7 -4
- package/dist/settings/sections/performance/PerformanceSection.js +16 -6
- package/dist/settings/sections/performance/labels.d.ts +1 -1
- package/dist/settings/sections/performance/labels.js +1 -1
- package/dist/settings/sections/providers/ProvidersSection.d.ts +1 -1
- package/dist/settings/sections/providers/ProvidersSection.js +14 -7
- package/dist/settings/sections/providers/ServerProvidersSection.d.ts +1 -1
- package/dist/settings/sections/providers/ServerProvidersSection.js +11 -5
- package/dist/settings/sections/providers/labels.d.ts +2 -2
- package/dist/settings/sections/providers/labels.js +2 -2
- package/dist/settings/sections/skills/SkillList.js +1 -1
- package/dist/settings/sections/skills/SkillsSection.js +1 -1
- package/dist/settings/testing/performance.contract.js +8 -12
- package/dist/styles.css +32 -3
- package/dist/terminal/HostTerminalSurface.js +15 -5
- package/dist/terminal/TerminalPanel.js +30 -17
- package/dist/terminal/TerminalSurface.js +11 -4
- package/dist/terminal/headless/labels.d.ts +5 -0
- package/dist/terminal/headless/labels.js +5 -0
- package/dist/terminal/headless/store.d.ts +1 -1
- package/dist/terminal/headless/store.js +6 -3
- package/dist/workspace/LayoutBudget.d.ts +5 -1
- package/dist/workspace/LayoutBudget.js +14 -1
- package/dist/workspace/PanelContentView.d.ts +1 -1
- package/dist/workspace/PanelContentView.js +17 -6
- package/dist/workspace/WorkspaceProvider.js +3 -2
- package/dist/workspace/headless/labels.d.ts +1 -0
- package/dist/workspace/headless/labels.js +1 -0
- package/package.json +3 -3
- package/src/styles/motion.css +8 -0
- package/src/styles/primitives.css +7 -0
|
@@ -5,21 +5,26 @@ import { useImportRepo } from "../../git/ImportRepoDialog.js";
|
|
|
5
5
|
import { useEnvironmentChoices } from "../../git/useEnvironmentChoices.js";
|
|
6
6
|
import { draftFolderPath, draftLocalFolder, recentHostFolders, recentLocalFolders } from "../headless/draft-target.js";
|
|
7
7
|
import { useEffect, useMemo, useState } from "react";
|
|
8
|
-
import { LOCAL_HOST_KEY } from "zidane/chat/pure";
|
|
8
|
+
import { LOCAL_HOST_KEY, placeEnvironmentKind, placeOfPick } from "zidane/chat/pure";
|
|
9
9
|
//#region src/chat/composer/use-draft-target.ts
|
|
10
|
+
const OFFLINE_WAITS = { offlineWaits: true };
|
|
10
11
|
/**
|
|
11
12
|
* The new-chat draft's target, reset with the draft.
|
|
12
13
|
*
|
|
13
14
|
* @param options - The open session and the app's folder, sessions and servers.
|
|
14
15
|
*/
|
|
15
16
|
function useDraftTarget(options) {
|
|
16
|
-
const { session, defaultFolder, setDefaultFolder, sessions, servers, onLocalFolder, request } = options;
|
|
17
|
+
const { session, defaultFolder, setDefaultFolder, sessions, servers, onLocalFolder, request, place } = options;
|
|
17
18
|
const isNewSession = session == null;
|
|
18
19
|
const recentFolders = useMemo(() => recentLocalFolders(sessions), [sessions]);
|
|
19
20
|
const [folderlessDraft, setFolderlessDraft] = useState(false);
|
|
20
21
|
const [environment, setEnvironment] = useState(null);
|
|
21
22
|
const [hostId, setHostId] = useState(LOCAL_HOST_KEY);
|
|
22
23
|
const [remoteFolder, setRemoteFolder] = useState(null);
|
|
24
|
+
const [requestedMachineFolder, setRequestedMachineFolder] = useState(null);
|
|
25
|
+
const [appliedPlace, setAppliedPlace] = useState(null);
|
|
26
|
+
const [placeIssue, setPlaceIssue] = useState(null);
|
|
27
|
+
const [placeCheck, setPlaceCheck] = useState(null);
|
|
23
28
|
const server = isNewSession && hostId !== LOCAL_HOST_KEY ? servers.find((host) => host.id === hostId) : void 0;
|
|
24
29
|
const [error, setError] = useState(null);
|
|
25
30
|
const sessionId = session?.id;
|
|
@@ -42,9 +47,39 @@ function useDraftTarget(options) {
|
|
|
42
47
|
setEnvironment(null);
|
|
43
48
|
setError(null);
|
|
44
49
|
}
|
|
50
|
+
if (newSession) setAppliedPlace(null);
|
|
51
|
+
}
|
|
52
|
+
const placeSaved = !place || place.hostId === LOCAL_HOST_KEY || servers.some((host) => host.id === place.hostId);
|
|
53
|
+
const placeKey = `${place ? JSON.stringify(place) : ""}\u0000${placeSaved}`;
|
|
54
|
+
if (isNewSession && appliedPlace !== placeKey) {
|
|
55
|
+
setAppliedPlace(placeKey);
|
|
56
|
+
const target = place && placeSaved ? place.hostId : LOCAL_HOST_KEY;
|
|
57
|
+
const kind = place && placeSaved ? placeEnvironmentKind(place) : void 0;
|
|
58
|
+
setHostId(target);
|
|
59
|
+
setResetKeys((keys) => ({
|
|
60
|
+
...keys,
|
|
61
|
+
hostId: target
|
|
62
|
+
}));
|
|
63
|
+
setEnvironment(kind ? {
|
|
64
|
+
kind,
|
|
65
|
+
branch: ""
|
|
66
|
+
} : null);
|
|
67
|
+
setRemoteFolder(target !== LOCAL_HOST_KEY && !place?.machine ? place?.folder ?? null : null);
|
|
68
|
+
setRequestedMachineFolder(kind && place?.machine && place.folder ? {
|
|
69
|
+
kind,
|
|
70
|
+
folder: place.folder
|
|
71
|
+
} : null);
|
|
72
|
+
setPlaceIssue(place && !placeSaved ? {
|
|
73
|
+
kind: "unsaved",
|
|
74
|
+
hostName: place.hostName ?? place.hostId,
|
|
75
|
+
...place.hostUrl ? { hostUrl: place.hostUrl } : {}
|
|
76
|
+
} : null);
|
|
77
|
+
setPlaceCheck(target !== LOCAL_HOST_KEY && (place?.machine || place?.folder) ? {
|
|
78
|
+
...place.machine ? { machine: place.machine } : {},
|
|
79
|
+
...place.folder ? { folder: place.folder } : {}
|
|
80
|
+
} : null);
|
|
45
81
|
}
|
|
46
82
|
const [appliedRequest, setAppliedRequest] = useState(0);
|
|
47
|
-
const [requestedMachineFolder, setRequestedMachineFolder] = useState(null);
|
|
48
83
|
if (isNewSession && request && request.seq !== appliedRequest) {
|
|
49
84
|
setAppliedRequest(request.seq);
|
|
50
85
|
setHostId(request.hostId);
|
|
@@ -63,6 +98,8 @@ function useDraftTarget(options) {
|
|
|
63
98
|
folder: request.machineFolder
|
|
64
99
|
} : null);
|
|
65
100
|
setError(null);
|
|
101
|
+
setPlaceCheck(null);
|
|
102
|
+
setPlaceIssue(null);
|
|
66
103
|
}
|
|
67
104
|
if (hostId !== LOCAL_HOST_KEY && !servers.some((host) => host.id === hostId)) setHostId(LOCAL_HOST_KEY);
|
|
68
105
|
const folderState = {
|
|
@@ -72,7 +109,7 @@ function useDraftTarget(options) {
|
|
|
72
109
|
defaultFolder
|
|
73
110
|
};
|
|
74
111
|
const folderPath = draftFolderPath(folderState);
|
|
75
|
-
const environmentChoices = useEnvironmentChoices(isNewSession ? server ? remoteFolder ?? "" : folderPath ?? "" : null, server?.id);
|
|
112
|
+
const environmentChoices = useEnvironmentChoices(isNewSession ? server ? remoteFolder ?? "" : folderPath ?? "" : null, server?.id, OFFLINE_WAITS);
|
|
76
113
|
const descriptor = isNewSession ? resolveDraftDescriptor(environmentChoices, environment) : void 0;
|
|
77
114
|
const machine = descriptor?.machine;
|
|
78
115
|
const [machineFolder, setMachineFolder] = useState(null);
|
|
@@ -85,6 +122,18 @@ function useDraftTarget(options) {
|
|
|
85
122
|
setMachineFolder(requested?.folder ?? null);
|
|
86
123
|
if (requested) setRequestedMachineFolder(null);
|
|
87
124
|
}
|
|
125
|
+
if (isNewSession && placeCheck?.machine && server && environmentChoices.length > 0) {
|
|
126
|
+
if (!environmentChoices.some((d) => d.machine?.name === placeCheck.machine)) {
|
|
127
|
+
setEnvironment(null);
|
|
128
|
+
setRequestedMachineFolder(null);
|
|
129
|
+
setPlaceIssue({
|
|
130
|
+
kind: "machine-gone",
|
|
131
|
+
machine: placeCheck.machine,
|
|
132
|
+
hostName: server.name
|
|
133
|
+
});
|
|
134
|
+
setPlaceCheck(null);
|
|
135
|
+
} else if (!placeCheck.folder) setPlaceCheck(null);
|
|
136
|
+
}
|
|
88
137
|
const localFolder = draftLocalFolder({
|
|
89
138
|
...folderState,
|
|
90
139
|
onMachine: Boolean(machine)
|
|
@@ -125,6 +174,38 @@ function useDraftTarget(options) {
|
|
|
125
174
|
};
|
|
126
175
|
}, [rootKey, listFolders]);
|
|
127
176
|
const remoteRootListing = rootKey && rootRead?.key === rootKey ? rootRead.root : null;
|
|
177
|
+
const checkHost = isNewSession && server && placeCheck?.folder && (!placeCheck.machine || machine) ? server.id : null;
|
|
178
|
+
const checkMachine = checkHost && placeCheck?.machine ? machine?.id ?? null : null;
|
|
179
|
+
const checkFolder = checkHost ? placeCheck?.folder ?? null : null;
|
|
180
|
+
useEffect(() => {
|
|
181
|
+
if (!checkHost || !checkFolder || !listFolders) return void 0;
|
|
182
|
+
let cancelled = false;
|
|
183
|
+
listFolders({
|
|
184
|
+
hostId: checkHost,
|
|
185
|
+
...checkMachine ? { machineId: checkMachine } : {},
|
|
186
|
+
path: checkFolder
|
|
187
|
+
}).then((listed) => {
|
|
188
|
+
if (cancelled) return;
|
|
189
|
+
setPlaceCheck(null);
|
|
190
|
+
if (listed.ok) return;
|
|
191
|
+
if (checkMachine) setMachineFolder(null);
|
|
192
|
+
else setRemoteFolder(null);
|
|
193
|
+
setPlaceIssue({
|
|
194
|
+
kind: "folder-gone",
|
|
195
|
+
folder: checkFolder
|
|
196
|
+
});
|
|
197
|
+
}).catch(() => {
|
|
198
|
+
if (!cancelled) setPlaceCheck(null);
|
|
199
|
+
});
|
|
200
|
+
return () => {
|
|
201
|
+
cancelled = true;
|
|
202
|
+
};
|
|
203
|
+
}, [
|
|
204
|
+
checkHost,
|
|
205
|
+
checkMachine,
|
|
206
|
+
checkFolder,
|
|
207
|
+
listFolders
|
|
208
|
+
]);
|
|
128
209
|
const cloneSource = server && canClone && !folderlessDraft ? defaultFolder : null;
|
|
129
210
|
const [originRead, setOriginRead] = useState(null);
|
|
130
211
|
useEffect(() => {
|
|
@@ -148,7 +229,25 @@ function useDraftTarget(options) {
|
|
|
148
229
|
const origin = cloneSource && originRead?.key === cloneSource ? originRead.origin : null;
|
|
149
230
|
const remoteClone = remoteFolder === null && remoteRootListing && origin ? resolveRemoteClone(origin, remoteRootListing) : null;
|
|
150
231
|
const [cloning, setCloning] = useState(false);
|
|
151
|
-
const
|
|
232
|
+
const serverId = server?.id;
|
|
233
|
+
const serverFolders = useMemo(() => serverId ? recentHostFolders(sessions, serverId) : [], [serverId, sessions]);
|
|
234
|
+
const serverName = server?.name;
|
|
235
|
+
const serverUrl = server?.url;
|
|
236
|
+
const pickedKind = descriptor?.kind;
|
|
237
|
+
const pickedFolder = machine ? machineFolder : server ? remoteFolder : folderPath;
|
|
238
|
+
const here = useMemo(() => placeOfPick({
|
|
239
|
+
hostId: serverId ?? LOCAL_HOST_KEY,
|
|
240
|
+
...serverName ? { hostName: serverName } : {},
|
|
241
|
+
...serverUrl ? { hostUrl: serverUrl } : {},
|
|
242
|
+
...pickedKind ? { kind: pickedKind } : {},
|
|
243
|
+
folder: pickedFolder
|
|
244
|
+
}), [
|
|
245
|
+
serverId,
|
|
246
|
+
serverName,
|
|
247
|
+
serverUrl,
|
|
248
|
+
pickedKind,
|
|
249
|
+
pickedFolder
|
|
250
|
+
]);
|
|
152
251
|
const pickLocal = (folder) => {
|
|
153
252
|
setFolderlessDraft(false);
|
|
154
253
|
setDefaultFolder(folder);
|
|
@@ -171,6 +270,20 @@ function useDraftTarget(options) {
|
|
|
171
270
|
},
|
|
172
271
|
...server ? { server } : {},
|
|
173
272
|
setHostId,
|
|
273
|
+
setPlace: (nextHost, kind) => {
|
|
274
|
+
setError(null);
|
|
275
|
+
setEnvironment({
|
|
276
|
+
kind,
|
|
277
|
+
branch: ""
|
|
278
|
+
});
|
|
279
|
+
if (nextHost === hostId) return;
|
|
280
|
+
setHostId(nextHost);
|
|
281
|
+
setResetKeys((keys) => ({
|
|
282
|
+
...keys,
|
|
283
|
+
hostId: nextHost
|
|
284
|
+
}));
|
|
285
|
+
setRemoteFolder(null);
|
|
286
|
+
},
|
|
174
287
|
remoteFolder,
|
|
175
288
|
setRemoteFolder,
|
|
176
289
|
serverFolders,
|
|
@@ -189,6 +302,9 @@ function useDraftTarget(options) {
|
|
|
189
302
|
machineFolder,
|
|
190
303
|
setMachineFolder,
|
|
191
304
|
machineHost,
|
|
305
|
+
placeIssue,
|
|
306
|
+
dismissPlaceIssue: () => setPlaceIssue(null),
|
|
307
|
+
here,
|
|
192
308
|
error,
|
|
193
309
|
setError
|
|
194
310
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModelPickRef } from "../headless/composer/models.js";
|
|
2
|
-
import { SessionKnobs } from "zidane/chat/pure";
|
|
2
|
+
import { NewChatPlace, NewChatPlaceSource, SessionKnobs } from "zidane/chat/pure";
|
|
3
3
|
import { Settings } from "zidane/chat";
|
|
4
4
|
//#region src/chat/composer/use-new-session-defaults.d.ts
|
|
5
5
|
/** Where the default model comes from. */
|
|
@@ -22,6 +22,10 @@ interface NewSessionDefaults {
|
|
|
22
22
|
defaultAccount: string | null;
|
|
23
23
|
/** Where the model comes from, `null` until resolved. */
|
|
24
24
|
modelSource: NewSessionModelSource | null;
|
|
25
|
+
/** Where new chats start (the space's, else the global one); `null`: this computer. */
|
|
26
|
+
place: NewChatPlace | null;
|
|
27
|
+
/** Whose place {@link NewSessionDefaults.place} is. */
|
|
28
|
+
placeSource: NewChatPlaceSource | null;
|
|
25
29
|
/** Sets the folder and remembers it (`null`: none, nothing remembered). */
|
|
26
30
|
setDefaultFolder: (path: string | null) => void;
|
|
27
31
|
/** Picks the agent for this chat (`null`: back to the space's). */
|
|
@@ -2,13 +2,15 @@ import { useComposerHost } from "./ComposerHostProvider.js";
|
|
|
2
2
|
import { settledResource } from "../headless/composer/remember-model-pick.js";
|
|
3
3
|
import { defaultModelPatch, rememberedDefaultModel } from "../headless/composer/new-session-defaults.js";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
-
import { DEFAULT_MODEL_PICK, defaultSessionAgent, defaultSessionKnobs, defaultSessionModel, formatModelSetting, parseModelSetting } from "zidane/chat/pure";
|
|
5
|
+
import { DEFAULT_MODEL_PICK, LOCAL_HOST_KEY, defaultSessionAgent, defaultSessionKnobs, defaultSessionModel, formatModelSetting, newChatPlace, parseModelSetting } from "zidane/chat/pure";
|
|
6
6
|
//#region src/chat/composer/use-new-session-defaults.ts
|
|
7
7
|
/**
|
|
8
8
|
* What a new session starts with: the folder (the one last used,
|
|
9
9
|
* `ComposerHost.folders`), the agent, the model pick and its knobs. The
|
|
10
10
|
* space's settings preset wins; else the model the host remembers
|
|
11
|
-
* (`ComposerHost.prefs`), else the built-in default.
|
|
11
|
+
* (`ComposerHost.prefs`), else the built-in default. Where it runs is the
|
|
12
|
+
* space's place, else the global one (`newChatPlace`); a place on this
|
|
13
|
+
* computer with a folder opens there instead of the folder last used.
|
|
12
14
|
*/
|
|
13
15
|
const UNRESOLVED = {
|
|
14
16
|
providerKey: null,
|
|
@@ -39,6 +41,15 @@ function useNewSessionDefaults(settings, spaceId) {
|
|
|
39
41
|
const newSessionKnobs = useMemo(() => defaultSessionKnobs(settings, spaceId), [settings, spaceId]);
|
|
40
42
|
const presetKey = preset ? formatModelSetting(preset) : null;
|
|
41
43
|
const defaultAgentId = agentPick ?? defaultSessionAgent(settings, spaceId) ?? "build";
|
|
44
|
+
const resolvedPlace = useMemo(() => newChatPlace(settings, spaceId), [settings, spaceId]);
|
|
45
|
+
const placeKey = resolvedPlace ? JSON.stringify(resolvedPlace) : "";
|
|
46
|
+
const placed = useMemo(() => resolvedPlace ?? null, [placeKey]);
|
|
47
|
+
const placeFolder = placed?.place.hostId === LOCAL_HOST_KEY ? placed.place.folder ?? null : null;
|
|
48
|
+
const [shownPlaceFolder, setShownPlaceFolder] = useState(null);
|
|
49
|
+
if (placeFolder !== shownPlaceFolder) {
|
|
50
|
+
setShownPlaceFolder(placeFolder);
|
|
51
|
+
if (placeFolder) setDefaultFolderState(placeFolder);
|
|
52
|
+
}
|
|
42
53
|
const presetModel = useMemo(() => {
|
|
43
54
|
const parsed = parseModelSetting(presetKey ?? void 0);
|
|
44
55
|
return parsed ? {
|
|
@@ -101,12 +112,12 @@ function useNewSessionDefaults(settings, spaceId) {
|
|
|
101
112
|
if (!folders) return void 0;
|
|
102
113
|
let cancelled = false;
|
|
103
114
|
folders.lastUsed().then((last) => {
|
|
104
|
-
if (!cancelled) setDefaultFolderState(last);
|
|
115
|
+
if (!cancelled && !placeFolder) setDefaultFolderState(last);
|
|
105
116
|
}).catch(() => void 0);
|
|
106
117
|
return () => {
|
|
107
118
|
cancelled = true;
|
|
108
119
|
};
|
|
109
|
-
}, [folders]);
|
|
120
|
+
}, [folders, placeFolder]);
|
|
110
121
|
useEffect(() => {
|
|
111
122
|
if (!defaultFolder || !locationOf) return void 0;
|
|
112
123
|
let cancelled = false;
|
|
@@ -133,6 +144,8 @@ function useNewSessionDefaults(settings, spaceId) {
|
|
|
133
144
|
defaultModelId: model.modelId,
|
|
134
145
|
defaultAccount: model.account,
|
|
135
146
|
modelSource: model.source,
|
|
147
|
+
place: placed?.place ?? null,
|
|
148
|
+
placeSource: placed?.source ?? null,
|
|
136
149
|
setDefaultFolder,
|
|
137
150
|
setDefaultAgentId,
|
|
138
151
|
setDefaultModel
|
|
@@ -33,6 +33,7 @@ declare const CHIP_LABELS: {
|
|
|
33
33
|
interactionAnsweredBy: (who: string) => string;
|
|
34
34
|
badgePathUnavailable: string;
|
|
35
35
|
badgeNoComposer: string;
|
|
36
|
+
badgeActionFailed: string;
|
|
36
37
|
badgeCopied: string;
|
|
37
38
|
badgeOpenIn: (app: string) => string;
|
|
38
39
|
badgeOpenInBrowserPane: string;
|
|
@@ -33,6 +33,7 @@ const CHIP_LABELS = {
|
|
|
33
33
|
interactionAnsweredBy: (who) => `Answered by ${who}`,
|
|
34
34
|
badgePathUnavailable: "Path unavailable.",
|
|
35
35
|
badgeNoComposer: "No chat to add to here",
|
|
36
|
+
badgeActionFailed: "That action didn't work.",
|
|
36
37
|
badgeCopied: "Copied",
|
|
37
38
|
badgeOpenIn: (app) => `Open in ${app}`,
|
|
38
39
|
badgeOpenInBrowserPane: "Open in browser pane"
|
|
@@ -18,8 +18,6 @@ declare const DEFAULT_COMPOSER_EDITOR_LABELS: {
|
|
|
18
18
|
placeholderShell: string;
|
|
19
19
|
placeholderSearch: string;
|
|
20
20
|
placeholderChat: string;
|
|
21
|
-
placeholderSteer: string;
|
|
22
|
-
placeholderQueue: string;
|
|
23
21
|
/** The `#` popover's scope (its Tab hint). */
|
|
24
22
|
chatScopeProject: string;
|
|
25
23
|
chatScopeAll: string;
|
|
@@ -18,8 +18,6 @@ const DEFAULT_COMPOSER_EDITOR_LABELS = {
|
|
|
18
18
|
placeholderShell: "Run a shell command…",
|
|
19
19
|
placeholderSearch: "Search this conversation…",
|
|
20
20
|
placeholderChat: "Chat with Zidane…",
|
|
21
|
-
placeholderSteer: "Enter adds it to the run. Alt+Enter sends it when the run ends.",
|
|
22
|
-
placeholderQueue: "Enter sends it when the run ends. Alt+Enter adds it to the run.",
|
|
23
21
|
/** The `#` popover's scope (its Tab hint). */
|
|
24
22
|
chatScopeProject: "This project",
|
|
25
23
|
chatScopeAll: "All projects",
|
|
@@ -4,6 +4,26 @@
|
|
|
4
4
|
* offers, the folder it is in, and when that folder makes the window's draft
|
|
5
5
|
* scope. The app keeps the picks (they reset with the draft) and feeds them in.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Why a new chat cannot start where its default place says. The draft shows it:
|
|
9
|
+
*
|
|
10
|
+
* - `unsaved`: the place names a server this device has not saved (settings synced from another device).
|
|
11
|
+
* The draft starts on this computer.
|
|
12
|
+
* - `machine-gone`: the machine is no longer one of the server's. The draft starts on the server itself.
|
|
13
|
+
* - `folder-gone`: the folder is not there any more. The draft starts in the usual folder.
|
|
14
|
+
*/
|
|
15
|
+
type DraftPlaceIssue = {
|
|
16
|
+
kind: 'unsaved';
|
|
17
|
+
hostName: string;
|
|
18
|
+
hostUrl?: string;
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'machine-gone';
|
|
21
|
+
machine: string;
|
|
22
|
+
hostName: string;
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'folder-gone';
|
|
25
|
+
folder: string;
|
|
26
|
+
};
|
|
7
27
|
/** A session row as {@link recentLocalFolders} reads it. */
|
|
8
28
|
interface DraftFolderSource {
|
|
9
29
|
/** The session's folder (`''`: none). */
|
|
@@ -55,4 +75,4 @@ declare function draftFolderPath(state: DraftFolderState): string | null;
|
|
|
55
75
|
*/
|
|
56
76
|
declare function draftLocalFolder(state: DraftFolderState): string | null;
|
|
57
77
|
//#endregion
|
|
58
|
-
export { DraftFolderSource, DraftFolderState, draftFolderPath, draftLocalFolder, recentHostFolders, recentLocalFolders };
|
|
78
|
+
export { DraftFolderSource, DraftFolderState, DraftPlaceIssue, draftFolderPath, draftLocalFolder, recentHostFolders, recentLocalFolders };
|
|
@@ -29,8 +29,23 @@ function createFixtureHost(fixture, options = {}) {
|
|
|
29
29
|
return t;
|
|
30
30
|
};
|
|
31
31
|
const changed = /* @__PURE__ */ new Set();
|
|
32
|
+
/** The session's row as `query` lists it, or its deletion. */
|
|
32
33
|
const announce = (id) => {
|
|
33
|
-
|
|
34
|
+
const session = list.get().find((s) => s.id === id);
|
|
35
|
+
const spaceId = spaceOf.get(id);
|
|
36
|
+
const change = session ? {
|
|
37
|
+
op: "update",
|
|
38
|
+
sessionId: id,
|
|
39
|
+
row: {
|
|
40
|
+
...session,
|
|
41
|
+
cwd: session.group ?? "",
|
|
42
|
+
...spaceId ? { spaceId } : {}
|
|
43
|
+
}
|
|
44
|
+
} : {
|
|
45
|
+
op: "delete",
|
|
46
|
+
sessionId: id
|
|
47
|
+
};
|
|
48
|
+
for (const listener of [...changed]) listener(change);
|
|
34
49
|
};
|
|
35
50
|
const patch = (id, change) => {
|
|
36
51
|
list.set((all) => all.map((s) => s.id === id ? {
|
|
@@ -96,7 +111,7 @@ function createFixtureHost(fixture, options = {}) {
|
|
|
96
111
|
},
|
|
97
112
|
onChanged(listener) {
|
|
98
113
|
changed.add(listener);
|
|
99
|
-
return () => changed.delete(listener);
|
|
114
|
+
return () => void changed.delete(listener);
|
|
100
115
|
},
|
|
101
116
|
views: {
|
|
102
117
|
getViews: async () => ({ ...views }),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Readable } from "./store.js";
|
|
2
2
|
import { SessionArchiveFilter, SidebarListSession } from "./sidebar/types.js";
|
|
3
3
|
import { SidebarViewsHost } from "./sidebar/view.js";
|
|
4
|
-
import { SessionRemoval } from "./sidebar/directory.js";
|
|
4
|
+
import { SessionRemoval, SessionRowChange } from "./sidebar/directory.js";
|
|
5
5
|
import { ChatBadgeActions, ChatChipDetails, ChatPaths, ChatReferences, ChatSearchSync, ChatSiteIcons } from "./transcript-host.js";
|
|
6
6
|
import { ChatBlockRuns } from "./block-runs.js";
|
|
7
7
|
import { PromptSegmentRef } from "zidane/chat/pure";
|
|
@@ -211,8 +211,8 @@ interface ChatHost {
|
|
|
211
211
|
search?(query: string, filter?: {
|
|
212
212
|
archive?: SessionArchiveFilter;
|
|
213
213
|
}): Promise<readonly SessionSearchHit[]>;
|
|
214
|
-
/** Fires
|
|
215
|
-
onChanged?(listener: (
|
|
214
|
+
/** Fires with each session row change (created, renamed, moved, archived, run, deleted), its new row included. */
|
|
215
|
+
onChanged?(listener: (change: SessionRowChange<SidebarListSession>) => void): () => void;
|
|
216
216
|
/**
|
|
217
217
|
* Fires with a session's facets when extensions computed new ones (`sessions:facets`): every value, keyed
|
|
218
218
|
* `<extensionId>.<key>`. Absent: facets change with the next read.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Readable, Writable, constant, useReadable, writable } from "./store.js";
|
|
2
2
|
import { SessionNotification, SessionNotificationStore, createNotificationStore } from "./sidebar/notifications.js";
|
|
3
3
|
import { SessionActivityFilter, SessionArchiveFilter, SidebarExtensionView, SidebarGroupBy, SidebarListSession, SidebarOrigin, SidebarSortBy, SidebarView, VIEW_CHOICE } from "./sidebar/types.js";
|
|
4
|
-
import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SidebarLastSessions, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, SpaceSwitcherPrefs, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./sidebar/view.js";
|
|
4
|
+
import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SIDEBAR_VIEW_VERSION, SidebarLastSessions, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, SpaceSwitcherPrefs, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./sidebar/view.js";
|
|
5
5
|
import { AGENT_GROUPING, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, SidebarContributionStores, SidebarContributions, SidebarGrouping, SidebarItemEntry, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSpace, claimChildSessions, clearedViewFilters, createDecorator, extensionSpaceOf, filterQueryOf, filtersForSpace, itemsForSpace, mergeSidebarSpaces, nextSavedViewName, resolveGrouping, resolveSort, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn } from "./sidebar/query.js";
|
|
6
|
-
import { DirectoryServer, DirectorySettings, ProjectInSpace, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionRef, SessionRemoval, availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./sidebar/directory.js";
|
|
6
|
+
import { DirectoryServer, DirectorySettings, ProjectInSpace, RuntimeNow, RuntimeOrigin, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionRef, SessionRemoval, SessionRowChange, availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./sidebar/directory.js";
|
|
7
7
|
import { ChatBadgeActions, ChatChipDetails, ChatCommandFacts, ChatCommit, ChatContextFacts, ChatPaths, ChatReferences, ChatReferencesChange, ChatResolvedPath, ChatSearchState, ChatSearchSync, ChatSessionFacts, ChatSiteIcons, ChatSkillFacts } from "./transcript-host.js";
|
|
8
8
|
import { ChatBlockRunOptions, ChatBlockRunTransport, ChatBlockRuns, LIVE_BLOCK_RUN_LINES, LiveBlockRun, createChatBlockRuns } from "./block-runs.js";
|
|
9
9
|
import { ChatAttachment, ChatAttachmentOriginal, ChatEvent, ChatHost, ChatInteraction, ChatModel, ChatModelProvider, ChatSession, ChatSessionStatus, SendInput, SessionSearchHit, Transcript, TranscriptState } from "./host.js";
|
|
@@ -19,6 +19,11 @@ import { ChatLabels, DEFAULT_CHAT_LABELS, secretExpiryWords } from "./labels.js"
|
|
|
19
19
|
import { HostStatus, HostView, hostReachable, hostStatusLabel } from "./hosts.js";
|
|
20
20
|
import { SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, createSessionBadges } from "./sidebar/badges.js";
|
|
21
21
|
import { SessionWindowMode, SidebarEnvironmentHost, SidebarHost } from "./sidebar/host.js";
|
|
22
|
+
import { DeltaBucket, SMOOTH_TICK_MS, drainBucket, safeSurrogateSlice, tickBucket } from "./smooth-stream.js";
|
|
23
|
+
import { OtherStreamSignal, SessionFallbackModel, SessionPageState, SessionRetryState, SessionStreamPage, SessionStreamSignal } from "./streams/types.js";
|
|
24
|
+
import { DrainPlan } from "./streams/pacer.js";
|
|
25
|
+
import { FrameScheduler, defaultFrameScheduler } from "./streams/scheduler.js";
|
|
26
|
+
import { PendingEcho, SessionStreamStore, SessionStreamStoreOptions, SessionStreamWrite } from "./streams/store.js";
|
|
22
27
|
import { ComposerMode, caretEffectivelyAtStart, composeSubmitText, decodeHistoryEntry, encodeHistoryDraft, exitsModeOnKey, modeForTypedChar, unsentDraft } from "./composer-modes.js";
|
|
23
28
|
import { beginChipWork, chipWorkBusy, resetChipWorkForTests, whenChipsSettle } from "./chip-settle.js";
|
|
24
29
|
import { commandRef, shortUrl, urlRefs } from "./badge-refs.js";
|
|
@@ -29,7 +34,6 @@ import { ChipViewLabels, commandName, commandView, commitView, sessionForToken,
|
|
|
29
34
|
import { createSiteIcons, siteOrigin } from "./site-icons.js";
|
|
30
35
|
import { CalendarOptions, ListableSession, PROJECT_GROUP_CAP, RELATIVE_TIME_DATE_AFTER_DAYS, SessionGroupBy, SessionListOptions, SessionListRow, SessionSortBy, buildSessionRows, compareSessions, dateBucket, filterSessions, formatElapsedShort, relativeTime } from "./session-list.js";
|
|
31
36
|
import { CHUNK_THRESHOLD, OpenFence, openFenceOf, splitMarkdown, withoutPartialFence } from "./markdown-chunks.js";
|
|
32
|
-
import { DeltaBucket, SMOOTH_TICK_MS, drainBucket, safeSurrogateSlice, tickBucket } from "./smooth-stream.js";
|
|
33
37
|
import { PromptOrigin } from "./prompt-origin.js";
|
|
34
38
|
import { BashExitMeta, Cluster, DotVariant, ExchangeFoldStats, GroupCluster, Owned, Row, SpawnMeta, ToolRowModel, firstRowId, parseBashExitMeta } from "./transcript/rows.js";
|
|
35
39
|
import { collapseEvents, inheritRowIdentity, refusedSpawn, toolFailed } from "./transcript/collapse.js";
|
|
@@ -42,10 +46,6 @@ import { RunFailure, failureTooltip, markRunFailures } from "./transcript/run-fa
|
|
|
42
46
|
import { AuthCardPlan, AuthFixes, AuthSettingsTarget, authFailureDetails, createAuthFixes, isAuthFixed, planAuthCard } from "./transcript/auth-failure.js";
|
|
43
47
|
import { SelectStops, computeSelectStops, rowTurnIds, stopForRow } from "./transcript/select-stops.js";
|
|
44
48
|
import "./transcript/index.js";
|
|
45
|
-
import { FrameScheduler, defaultFrameScheduler } from "./streams/scheduler.js";
|
|
46
|
-
import { OtherStreamSignal, SessionFallbackModel, SessionPageState, SessionRetryState, SessionStreamPage, SessionStreamSignal } from "./streams/types.js";
|
|
47
|
-
import { DrainPlan } from "./streams/pacer.js";
|
|
48
|
-
import { SessionStreamStore, SessionStreamStoreOptions, SessionStreamWrite } from "./streams/store.js";
|
|
49
49
|
import { LoadEarlierOptions, SessionStreams, SessionStreamsOptions, createSessionStreams } from "./streams/session-streams.js";
|
|
50
50
|
import { mergeLiveTail } from "./streams/merge.js";
|
|
51
51
|
import { mergePromptPreviews, missingPreviewData } from "./streams/prompt-previews.js";
|
|
@@ -53,7 +53,7 @@ import { SessionStreamActions, createSessionStreamActions } from "./streams/acti
|
|
|
53
53
|
import { selectEditEvents, stableSelection } from "./streams/selectors.js";
|
|
54
54
|
import "./streams/index.js";
|
|
55
55
|
import { NO_PROVIDER_ERROR, NewSessionDefaults, NewSessionRequest, SendAttachment, SendDraft, SendFlowDeps, SendPromptAttachment, SendRequest, newSessionRequest, promptAttachments, promptRefs, sendPrompt, shellCommandOf, wireOriginal } from "./send-flow.js";
|
|
56
|
-
import { DraftFolderSource, DraftFolderState, draftFolderPath, draftLocalFolder, recentHostFolders, recentLocalFolders } from "./draft-target.js";
|
|
56
|
+
import { DraftFolderSource, DraftFolderState, DraftPlaceIssue, draftFolderPath, draftLocalFolder, recentHostFolders, recentLocalFolders } from "./draft-target.js";
|
|
57
57
|
import { DraftScope, DraftScopeState, DraftScopeStore, DraftScopeStoreOptions, createDraftScopeStore, draftScopeOf } from "./draft-scope.js";
|
|
58
58
|
import { TurnPromptDraft, promptDraftOf } from "./turn-prompt.js";
|
|
59
59
|
import { DEFAULT_SIDEBAR_LABELS, SidebarLabels } from "./sidebar/labels.js";
|
|
@@ -79,4 +79,4 @@ import { EffortPickerTarget, defaultModelPatch, effortPickerTarget, rememberedDe
|
|
|
79
79
|
import { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel } from "./composer/conversation-badges.js";
|
|
80
80
|
import { ModelNames, ModelNamesProvider, ModelNamesStore, createModelNames, modelNamesOf, namerFor } from "./composer/model-names.js";
|
|
81
81
|
import "./composer/index.js";
|
|
82
|
-
export { AGENT_GROUPING, type AuthCardPlan, type AuthFixes, type AuthSettingsTarget, type BashExitMeta, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, CalendarOptions, ChatAttachment, ChatAttachmentOriginal, ChatBadgeActions, ChatBlockRunOptions, ChatBlockRunTransport, ChatBlockRuns, ChatChipDetails, ChatCommandFacts, ChatCommit, ChatContextFacts, ChatEvent, ChatHost, ChatInteraction, ChatLabels, ChatModel, ChatModelProvider, ChatPaths, ChatReferences, ChatReferencesChange, ChatResolvedPath, ChatSearchState, ChatSearchSync, ChatSession, ChatSessionFacts, ChatSessionStatus, ChatSiteIcons, ChatSkillFacts, ChipResolution, ChipViewLabels, type Cluster, type CommandArgSuggestionSummary, type CommandSummary, CompactionProgress, CompactionProgressStore, CompactionSignal, ComposerAgentProfile, ComposerAgents, ComposerAttachment, ComposerAutocomplete, ComposerCacheImpact, ComposerCacheImpactChange, ComposerChromeLabels, ComposerCommandArgs, ComposerCompletions, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerEffort, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerLabels, type ComposerListScope, type ComposerLists, ComposerMode, ComposerModelEntry, ComposerModelOption, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerPromptSuggestion, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerScope, ComposerSessionView, ComposerSharedGhost, ComposerSuggestions, ConversationBadge, ConversationBadgeData, ConversationBadgeInput, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DeltaBucket, DirectoryServer, DirectorySettings, DotStateInput, type DotVariant, DraftFolderSource, DraftFolderState, DraftScope, DraftScopeState, DraftScopeStore, DraftScopeStoreOptions, type DrainPlan, EMPTY_RUN_METER, EffortPickerTarget, type ExchangeFoldStats, FileChip, FileChipKind, type FileEntry, type FoldActionItem, type FoldActionState, type FrameScheduler, type GroupCluster, HostStatus, HostView, ImageModelRow, InboxSummary, LIVE_BLOCK_RUN_LINES, type LazyList, ListableSession, LiveBlockRun, LiveCostStatus, LiveStreamProgress, type LoadEarlierOptions, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, ModelCatalogRow, ModelKnobs, ModelKnobsMemory, ModelKnobsStore, ModelNames, ModelNamesProvider, ModelNamesStore, ModelPickRef, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, NewSessionDefaults, NewSessionRequest, OpenFence, type OtherStreamSignal, type Owned, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, type PairingResult, PathResolver, PathResolverOptions, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, type PromptAttachment, type PromptOrigin, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, Readable, ReferenceStore, ReferenceStoreOptions, ReferenceViewEntry, type ResourceSnapshot, type Row, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, type RunFailure, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, SESSION_HISTORY_LIMIT, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SMOOTH_TICK_MS, SecretTimeLeft, type SelectStops, SendAttachment, SendDraft, SendFlowDeps, SendInput, SendPromptAttachment, SendRequest, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, type SessionFallbackModel, SessionGroupBy, SessionHistory, SessionHistoryDirection, SessionHistoryOptions, SessionHistoryPage, SessionHistoryState, SessionHistoryStore, SessionListOptions, SessionListRow, SessionNotification, SessionNotificationStore, type SessionPageState, SessionRef, SessionRemoval, type SessionRetryState, SessionSearchHit, SessionSortBy, type SessionStreamActions, type SessionStreamPage, type SessionStreamSignal, SessionStreamStore, type SessionStreamStoreOptions, type SessionStreamWrite, type SessionStreams, type SessionStreamsOptions, SessionWindowMode, SetDefaultModel, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, SidebarContributionStores, SidebarContributions, SidebarDotState, SidebarEnvironmentHost, SidebarExtensionView, SidebarGroupBy, SidebarGrouping, SidebarHost, SidebarItemEntry, SidebarLabels, SidebarLastSessions, SidebarListRow, SidebarListSession, SidebarNode, SidebarOrigin, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSortBy, SidebarSpace, SidebarView, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, type SkillConfig, SpaceSwitcherPrefs, type SpawnMeta, type ToolPairing, type ToolRowModel, Transcript, TranscriptState, TurnPromptDraft, VIEW_CHOICE, Writable, activityLabel, authFailureDetails, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createAuthFixes, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionHistory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isAuthFixed, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSessionHistory, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, positionSuffix, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, secretExpiryWords, secretTimeLeft, secretTimeLeftIso, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, wireOriginal, withPinnedProject, withoutPartialFence, writable };
|
|
82
|
+
export { AGENT_GROUPING, type AuthCardPlan, type AuthFixes, type AuthSettingsTarget, type BashExitMeta, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, CalendarOptions, ChatAttachment, ChatAttachmentOriginal, ChatBadgeActions, ChatBlockRunOptions, ChatBlockRunTransport, ChatBlockRuns, ChatChipDetails, ChatCommandFacts, ChatCommit, ChatContextFacts, ChatEvent, ChatHost, ChatInteraction, ChatLabels, ChatModel, ChatModelProvider, ChatPaths, ChatReferences, ChatReferencesChange, ChatResolvedPath, ChatSearchState, ChatSearchSync, ChatSession, ChatSessionFacts, ChatSessionStatus, ChatSiteIcons, ChatSkillFacts, ChipResolution, ChipViewLabels, type Cluster, type CommandArgSuggestionSummary, type CommandSummary, CompactionProgress, CompactionProgressStore, CompactionSignal, ComposerAgentProfile, ComposerAgents, ComposerAttachment, ComposerAutocomplete, ComposerCacheImpact, ComposerCacheImpactChange, ComposerChromeLabels, ComposerCommandArgs, ComposerCompletions, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerEffort, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerLabels, type ComposerListScope, type ComposerLists, ComposerMode, ComposerModelEntry, ComposerModelOption, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerPromptSuggestion, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerScope, ComposerSessionView, ComposerSharedGhost, ComposerSuggestions, ConversationBadge, ConversationBadgeData, ConversationBadgeInput, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DeltaBucket, DirectoryServer, DirectorySettings, DotStateInput, type DotVariant, DraftFolderSource, DraftFolderState, DraftPlaceIssue, DraftScope, DraftScopeState, DraftScopeStore, DraftScopeStoreOptions, type DrainPlan, EMPTY_RUN_METER, EffortPickerTarget, type ExchangeFoldStats, FileChip, FileChipKind, type FileEntry, type FoldActionItem, type FoldActionState, type FrameScheduler, type GroupCluster, HostStatus, HostView, ImageModelRow, InboxSummary, LIVE_BLOCK_RUN_LINES, type LazyList, ListableSession, LiveBlockRun, LiveCostStatus, LiveStreamProgress, type LoadEarlierOptions, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, ModelCatalogRow, ModelKnobs, ModelKnobsMemory, ModelKnobsStore, ModelNames, ModelNamesProvider, ModelNamesStore, ModelPickRef, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, NewSessionDefaults, NewSessionRequest, OpenFence, type OtherStreamSignal, type Owned, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, type PairingResult, PathResolver, PathResolverOptions, type PendingEcho, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, type PromptAttachment, type PromptOrigin, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, Readable, ReferenceStore, ReferenceStoreOptions, ReferenceViewEntry, type ResourceSnapshot, type Row, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, type RunFailure, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, RuntimeNow, RuntimeOrigin, SESSION_HISTORY_LIMIT, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SIDEBAR_VIEW_VERSION, SMOOTH_TICK_MS, SecretTimeLeft, type SelectStops, SendAttachment, SendDraft, SendFlowDeps, SendInput, SendPromptAttachment, SendRequest, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, type SessionFallbackModel, SessionGroupBy, SessionHistory, SessionHistoryDirection, SessionHistoryOptions, SessionHistoryPage, SessionHistoryState, SessionHistoryStore, SessionListOptions, SessionListRow, SessionNotification, SessionNotificationStore, type SessionPageState, SessionRef, SessionRemoval, type SessionRetryState, SessionRowChange, SessionSearchHit, SessionSortBy, type SessionStreamActions, type SessionStreamPage, type SessionStreamSignal, SessionStreamStore, type SessionStreamStoreOptions, type SessionStreamWrite, type SessionStreams, type SessionStreamsOptions, SessionWindowMode, SetDefaultModel, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, SidebarContributionStores, SidebarContributions, SidebarDotState, SidebarEnvironmentHost, SidebarExtensionView, SidebarGroupBy, SidebarGrouping, SidebarHost, SidebarItemEntry, SidebarLabels, SidebarLastSessions, SidebarListRow, SidebarListSession, SidebarNode, SidebarOrigin, SidebarQueryLayer, SidebarRowChip, SidebarRowDecoration, SidebarSortBy, SidebarSpace, SidebarView, SidebarViewMap, SidebarViewRecord, SidebarViews, SidebarViewsHost, SidebarViewsOptions, SidebarViewsStorage, type SkillConfig, SpaceSwitcherPrefs, type SpawnMeta, type ToolPairing, type ToolRowModel, Transcript, TranscriptState, TurnPromptDraft, VIEW_CHOICE, Writable, activityLabel, authFailureDetails, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createAuthFixes, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionHistory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isAuthFixed, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSessionHistory, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, positionSuffix, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, secretExpiryWords, secretTimeLeft, secretTimeLeftIso, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, wireOriginal, withPinnedProject, withoutPartialFence, writable };
|
|
@@ -57,7 +57,7 @@ import { PINNED_PROJECTS_KEY, parsePinnedProjects, withPinnedProject } from "./s
|
|
|
57
57
|
import { activityLabel, createSessionActivity, reduceActivity } from "./sidebar/activity.js";
|
|
58
58
|
import { createCompactionProgress, reduceCompaction } from "./sidebar/compaction.js";
|
|
59
59
|
import { createSessionBadges } from "./sidebar/badges.js";
|
|
60
|
-
import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./sidebar/view.js";
|
|
60
|
+
import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SIDEBAR_VIEW_VERSION, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./sidebar/view.js";
|
|
61
61
|
import { SESSION_HISTORY_LIMIT, createSessionHistory, parseSessionHistory } from "./sidebar/history.js";
|
|
62
62
|
import { createNotificationStore } from "./sidebar/notifications.js";
|
|
63
63
|
import { AGENT_GROUPING, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, claimChildSessions, clearedViewFilters, createDecorator, extensionSpaceOf, filterQueryOf, filtersForSpace, itemsForSpace, mergeSidebarSpaces, nextSavedViewName, resolveGrouping, resolveSort, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn } from "./sidebar/query.js";
|
|
@@ -65,4 +65,4 @@ import { availableProjectsOf, createSessionDirectory, filterDirectorySessions, p
|
|
|
65
65
|
import { deriveDotState } from "./sidebar/dot-state.js";
|
|
66
66
|
import { deleteSessionPrompt, environmentKindLabel, environmentSummaryText, runsInRemoteSandbox } from "./sidebar/environment.js";
|
|
67
67
|
import { createComposerLists } from "./composer/composer-sources.js";
|
|
68
|
-
export { AGENT_GROUPING, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, EMPTY_RUN_METER, LIVE_BLOCK_RUN_LINES, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, SESSION_HISTORY_LIMIT, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SMOOTH_TICK_MS, SessionStreamStore, VIEW_CHOICE, activityLabel, authFailureDetails, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createAuthFixes, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionHistory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isAuthFixed, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSessionHistory, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, positionSuffix, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, secretExpiryWords, secretTimeLeft, secretTimeLeftIso, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, wireOriginal, withPinnedProject, withoutPartialFence, writable };
|
|
68
|
+
export { AGENT_GROUPING, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, DEFAULT_CHAT_LABELS, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, EMPTY_RUN_METER, LIVE_BLOCK_RUN_LINES, MAIN_SESSION_ICON_KEY, MAX_EXTENSION_COMPOSER_BADGES, MAX_ROW_CHIPS, MODEL_PICKER_STORAGE_KEY, NO_PROVIDER_ERROR, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_GROUP_CAP, PROJECT_ICONS_KEY, REFERENCES_STORAGE_KEY, RELATIVE_TIME_DATE_AFTER_DAYS, SESSION_HISTORY_LIMIT, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SIDEBAR_VIEW_VERSION, SMOOTH_TICK_MS, SessionStreamStore, VIEW_CHOICE, activityLabel, authFailureDetails, availableProjectsOf, batchThinkingRuns, batchToolRuns, beginChipWork, buildHostSidebarRows, buildQuerySidebarRows, buildSessionRows, buildSidebarRows, caretEffectivelyAtStart, chipForPath, chipWorkBusy, claimChildSessions, classifyInlineCode, clearedViewFilters, clusterByOwner, collapseEvents, commandName, commandRef, commandView, commitModelPick, commitView, compareSessions, composeLiveCost, composeSubmitText, computeSelectStops, constant, conversationBadges, createAuthFixes, createChatBlockRuns, createCompactionProgress, createComposerLists, createDecorator, createDraftScopeStore, createModelKnobs, createModelNames, createModelPickerPrefs, createNotificationStore, createPathResolver, createReferenceStore, createRunEstimates, createRunMeter, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionHistory, createSessionStreamActions, createSessionStreams, createSidebarViews, createSiteIcons, dateBucket, decodeHistoryEntry, defaultFrameScheduler, defaultModelPatch, deleteSessionPrompt, deriveDotState, dockRunReceipts, dotVariantFor, draftFolderPath, draftLocalFolder, draftScopeOf, drainBucket, effortPickerTarget, encodeHistoryDraft, environmentKindLabel, environmentSummaryText, exitsModeOnKey, extensionSpaceOf, failureTooltip, filterDirectorySessions, filterQueryOf, filterSessions, filtersForSpace, findCommand, findLastStreamingRow, firstGrapheme, firstRowId, foldActionItems, foldExchanges, foldWorkerRows, formatElapsedShort, formatSessionCostLabel, groupsByFolder, hostReachable, hostStatusLabel, inheritRowIdentity, isAuthFixed, isProjectIcon, isProjectMember, itemRows, itemsForSpace, lastModelChainOf, markRunFailures, mergeLiveTail, mergePromptPreviews, mergeSidebarSpaces, missingPreviewData, modeForTypedChar, modelKnobsOf, modelNamesOf, namerFor, nestSidebarRows, nestToolCalls, nestedCallVisible, newSessionRequest, nextSavedViewName, openFenceOf, pairToolEvents, parseBashExitMeta, parseModelPickerPrefs, parsePinnedProjects, parseProjectIcons, parseSessionHistory, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, positionSuffix, projectKeyOf, projectPathOf, promptAttachments, promptDraftOf, promptRefs, readSidebarViews, recentHostFolders, recentLocalFolders, reduceActivity, reduceCompaction, refusedSpawn, relativeTime, rememberableChain, rememberedDefaultModel, rememberedPick, repoGroups, resetChipWorkForTests, resolveBadgePanel, resolveChipPath, resolveGrouping, resolveSort, rowTurnIds, runsInRemoteSandbox, safeSurrogateSlice, secretExpiryWords, secretTimeLeft, secretTimeLeftIso, selectEditEvents, sendPrompt, sessionForToken, sessionRefsOf, sessionView, settledResource, shellCommandOf, shortUrl, sidebarContributionsOf, siteOrigin, skillName, skillView, spaceMembership, splitMarkdown, stableSelection, stopForRow, switcherSpaces, tickBucket, toolAction, toolFailed, unsentDraft, urlRefs, useReadable, viewFilterOf, viewFiltersOn, whenChipsSettle, wireAttachmentsToChat, wireOriginal, withPinnedProject, withoutPartialFence, writable };
|
|
@@ -99,7 +99,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
99
99
|
authSignedInRetrying: string;
|
|
100
100
|
authFixed: string;
|
|
101
101
|
authTryAgain: string;
|
|
102
|
-
|
|
102
|
+
authSignInFailed: string;
|
|
103
103
|
sessionEventLabel: (title: string, verb: string, needsAttention: boolean) => string;
|
|
104
104
|
clickToAnswer: string;
|
|
105
105
|
openSession: string;
|
|
@@ -160,7 +160,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
160
160
|
/** Copy button of a diagram frame. */
|
|
161
161
|
copyDiagramSource: string;
|
|
162
162
|
/** Under a fence that could not be drawn; `at` is `line 3, column 7` or empty. */
|
|
163
|
-
|
|
163
|
+
diagramNotDrawn: (at: string) => string;
|
|
164
164
|
/** Where a diagram error is. */
|
|
165
165
|
diagramErrorAt: (line: number, column: number) => string;
|
|
166
166
|
stopCommand: string;
|
|
@@ -190,7 +190,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
190
190
|
/** The output kept only its end. */
|
|
191
191
|
blockRunTruncated: string;
|
|
192
192
|
/** The panel when the block could not run. */
|
|
193
|
-
|
|
193
|
+
blockRunError: string;
|
|
194
194
|
/** After a failed run: it may have wanted input, which a terminal gives. */
|
|
195
195
|
blockRunNeedsTerminal: string;
|
|
196
196
|
working: string;
|
|
@@ -218,9 +218,8 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
218
218
|
loadingEarlierHistory: string;
|
|
219
219
|
composerLabel: string;
|
|
220
220
|
composerPlaceholder: string;
|
|
221
|
-
composerPlaceholderSteer: string;
|
|
222
|
-
composerPlaceholderQueue: string;
|
|
223
221
|
sendMessage: string;
|
|
222
|
+
composerSendFailed: string;
|
|
224
223
|
sendHint: string;
|
|
225
224
|
stopRun: string;
|
|
226
225
|
stopHint: string;
|
|
@@ -265,7 +264,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
265
264
|
modelsJumpToProvider: string;
|
|
266
265
|
modelsJumpHint: (provider: string, digit: number | null) => string;
|
|
267
266
|
modelsLoading: string;
|
|
268
|
-
|
|
267
|
+
modelsLoadError: string;
|
|
269
268
|
modelsNoProviders: string;
|
|
270
269
|
modelsNoMatch: (query: string) => string;
|
|
271
270
|
modelsTypeAnId: string;
|
|
@@ -322,6 +321,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
322
321
|
inboxRecent: string;
|
|
323
322
|
inboxPreviousSession: string;
|
|
324
323
|
unsupportedInteraction: (tool: string) => string;
|
|
324
|
+
answerSendFailed: string;
|
|
325
325
|
planRejectNote: string;
|
|
326
326
|
planReviseNote: string;
|
|
327
327
|
planRejectPlaceholder: string;
|
|
@@ -386,6 +386,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
386
386
|
filterSorts: {
|
|
387
387
|
recency: string;
|
|
388
388
|
createdTime: string;
|
|
389
|
+
lastUserMessage: string;
|
|
389
390
|
alphabetical: string;
|
|
390
391
|
};
|
|
391
392
|
filterAllProjects: string;
|
|
@@ -477,6 +478,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
477
478
|
interactionAnsweredBy: (who: string) => string;
|
|
478
479
|
badgePathUnavailable: string;
|
|
479
480
|
badgeNoComposer: string;
|
|
481
|
+
badgeActionFailed: string;
|
|
480
482
|
badgeCopied: string;
|
|
481
483
|
badgeOpenIn: (app: string) => string;
|
|
482
484
|
badgeOpenInBrowserPane: string;
|
|
@@ -512,6 +514,9 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
512
514
|
previous: string;
|
|
513
515
|
next: string;
|
|
514
516
|
loading: string;
|
|
517
|
+
noticeDetails: string;
|
|
518
|
+
noticeStack: string;
|
|
519
|
+
noticeDismiss: string;
|
|
515
520
|
filePath: (path: string) => string;
|
|
516
521
|
rename: string;
|
|
517
522
|
current: string;
|
|
@@ -529,6 +534,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
529
534
|
modalBack: string;
|
|
530
535
|
screenBack: (screen: string) => string;
|
|
531
536
|
screenBackKey: string;
|
|
537
|
+
screenNavBack: (screen: string) => string;
|
|
532
538
|
paletteLabel: string;
|
|
533
539
|
paletteFilter: string;
|
|
534
540
|
paletteBack: string;
|
|
@@ -592,6 +598,7 @@ declare const DEFAULT_CHAT_LABELS: {
|
|
|
592
598
|
openInNewTab: string;
|
|
593
599
|
terminal: string;
|
|
594
600
|
terminalLoadFailed: (message: string) => string;
|
|
601
|
+
terminalStartFailed: string;
|
|
595
602
|
terminalExited: (code: number) => string;
|
|
596
603
|
};
|
|
597
604
|
/** The shape of the chat label dictionary: every key of {@link DEFAULT_CHAT_LABELS}. Some values are functions that build a string. */
|