zidane-ui 9.1.5 → 9.1.6
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/chat/composer/ComposerEditor.js +1 -1
- package/dist/chat/headless/index.d.ts +2 -1
- package/dist/chat/headless/index.js +3 -2
- package/dist/chat/headless/sidebar/history.d.ts +71 -0
- package/dist/chat/headless/sidebar/history.js +174 -0
- package/dist/chat/headless/sidebar/index.d.ts +2 -1
- package/dist/chat/headless/sidebar/index.js +2 -1
- package/dist/chat/headless/sidebar/labels.d.ts +1 -1
- package/dist/chat/transcript/script-input.d.ts +1 -1
- package/dist/dist/{index-BI6RZc60.d.ts → index-DqCio7Nd.d.ts} +2 -2
- package/dist/dist/index.d.ts +1 -1
- package/dist/keybindings/headless/catalog.d.ts +1 -1
- package/dist/keybindings/headless/catalog.js +12 -0
- package/dist/keybindings/headless/key-scope.d.ts +4 -2
- package/dist/keybindings/headless/key-scope.js +17 -2
- package/dist/palette/headless/app-sources.js +10 -0
- package/dist/palette/headless/labels.js +2 -0
- package/dist/session/PlanTracker.js +1 -0
- package/dist/settings/headless/search.d.ts +1 -1
- package/dist/settings/sections/keybindings/labels.d.ts +2 -0
- package/dist/settings/sections/keybindings/labels.js +2 -0
- package/dist/settings/sections/keybindings/rows.js +8 -0
- package/dist/settings/sections/skills/SkillList.js +1 -1
- package/package.json +2 -2
|
@@ -2,8 +2,8 @@ import { plainTextToDocJson } from "./prompt-history-nav.js";
|
|
|
2
2
|
import { suggestionExtension } from "./suggestion-extension.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
import { useLayoutEffect } from "react";
|
|
5
|
-
import { EditorContent, useEditor } from "@tiptap/react";
|
|
6
5
|
import Placeholder from "@tiptap/extension-placeholder";
|
|
6
|
+
import { EditorContent, useEditor } from "@tiptap/react";
|
|
7
7
|
import StarterKit from "@tiptap/starter-kit";
|
|
8
8
|
//#region src/chat/composer/ComposerEditor.tsx
|
|
9
9
|
/**
|
|
@@ -64,6 +64,7 @@ import { COMMON_EMOJI, MAIN_SESSION_ICON_KEY, PROJECT_ICONS_KEY, ProjectIcon, Pr
|
|
|
64
64
|
import { SessionActivity, SessionActivitySignal, SessionActivityStore, activityLabel, createSessionActivity, reduceActivity } from "./sidebar/activity.js";
|
|
65
65
|
import { RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, createRunEstimates, pickRunEstimate } from "./sidebar/estimates.js";
|
|
66
66
|
import { CompactionProgress, CompactionProgressStore, CompactionSignal, createCompactionProgress, reduceCompaction } from "./sidebar/compaction.js";
|
|
67
|
+
import { SESSION_HISTORY_LIMIT, SessionHistory, SessionHistoryDirection, SessionHistoryOptions, SessionHistoryPage, SessionHistoryState, SessionHistoryStore, createSessionHistory, parseSessionHistory } from "./sidebar/history.js";
|
|
67
68
|
import { DotStateInput, SidebarDotState, deriveDotState } from "./sidebar/dot-state.js";
|
|
68
69
|
import { deleteSessionPrompt, environmentKindLabel, environmentSummaryText, runsInRemoteSandbox } from "./sidebar/environment.js";
|
|
69
70
|
import "./sidebar/index.js";
|
|
@@ -78,4 +79,4 @@ import { EffortPickerTarget, defaultModelPatch, effortPickerTarget, rememberedDe
|
|
|
78
79
|
import { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel } from "./composer/conversation-badges.js";
|
|
79
80
|
import { ModelNames, ModelNamesProvider, ModelNamesStore, createModelNames, modelNamesOf, namerFor } from "./composer/model-names.js";
|
|
80
81
|
import "./composer/index.js";
|
|
81
|
-
export { AGENT_GROUPING, type AuthCardPlan, type AuthFixes, type AuthSettingsTarget, type BashExitMeta, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, CHUNK_THRESHOLD, COMMON_EMOJI, CalendarOptions, ChatAttachment, 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, 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, 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, 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, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, planAuthCard, 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, 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, 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, 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, withPinnedProject, withoutPartialFence, writable };
|
|
@@ -50,7 +50,6 @@ import { COMMON_EMOJI, MAIN_SESSION_ICON_KEY, PROJECT_ICONS_KEY, firstGrapheme,
|
|
|
50
50
|
import { DEFAULT_SIDEBAR_LABELS } from "./sidebar/labels.js";
|
|
51
51
|
import { pinSession, pinnedSessions } from "./sidebar/pinned-sessions.js";
|
|
52
52
|
import { caretEffectivelyAtStart, composeSubmitText, decodeHistoryEntry, encodeHistoryDraft, exitsModeOnKey, modeForTypedChar, unsentDraft } from "./composer-modes.js";
|
|
53
|
-
import { createComposerLists } from "./composer/composer-sources.js";
|
|
54
53
|
import { createDraftScopeStore, draftScopeOf } from "./draft-scope.js";
|
|
55
54
|
import { VIEW_CHOICE } from "./sidebar/types.js";
|
|
56
55
|
import { CHATS_BUCKET, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, groupsByFolder, isProjectMember, itemRows, nestSidebarRows, partitionMainSession, projectPathOf, repoGroups } from "./sidebar/rows.js";
|
|
@@ -59,9 +58,11 @@ import { activityLabel, createSessionActivity, reduceActivity } from "./sidebar/
|
|
|
59
58
|
import { createCompactionProgress, reduceCompaction } from "./sidebar/compaction.js";
|
|
60
59
|
import { createSessionBadges } from "./sidebar/badges.js";
|
|
61
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";
|
|
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";
|
|
64
64
|
import { availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./sidebar/directory.js";
|
|
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, 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, withPinnedProject, withoutPartialFence, writable };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Readable } from "../store.js";
|
|
2
|
+
//#region src/chat/headless/sidebar/history.d.ts
|
|
3
|
+
/** A page of the history: a session, or `null` for the new-chat draft. */
|
|
4
|
+
type SessionHistoryPage<K extends string = string> = K | null;
|
|
5
|
+
/** The history as it is kept: its pages, oldest first, and the cursor. */
|
|
6
|
+
interface SessionHistoryState<K extends string = string> {
|
|
7
|
+
/** The pages, oldest first. */
|
|
8
|
+
entries: readonly SessionHistoryPage<K>[];
|
|
9
|
+
/** The cursor: the entry on show (`-1` while there is none). */
|
|
10
|
+
index: number;
|
|
11
|
+
}
|
|
12
|
+
/** Where the history persists (the desktop app: main's database). */
|
|
13
|
+
interface SessionHistoryStore {
|
|
14
|
+
/** The saved history, as stored (checked by {@link parseSessionHistory}). */
|
|
15
|
+
load(): Promise<unknown>;
|
|
16
|
+
/** Saves the history. */
|
|
17
|
+
save(state: SessionHistoryState): Promise<unknown>;
|
|
18
|
+
}
|
|
19
|
+
/** Which way to move. */
|
|
20
|
+
type SessionHistoryDirection = 'back' | 'forward';
|
|
21
|
+
/** The window's page history, outside React. */
|
|
22
|
+
interface SessionHistory<K extends string = string> {
|
|
23
|
+
/** The pages and the cursor. */
|
|
24
|
+
state: Readable<SessionHistoryState<K>>;
|
|
25
|
+
/** Records a page shown other than by {@link back} / {@link forward}. */
|
|
26
|
+
visit(page: SessionHistoryPage<K>): void;
|
|
27
|
+
/** The entry on show becomes `page` (no-op with no entry). */
|
|
28
|
+
replace(page: SessionHistoryPage<K>): void;
|
|
29
|
+
/**
|
|
30
|
+
* The page one step back or forward, or `undefined` when there is none. Reads only.
|
|
31
|
+
*
|
|
32
|
+
* @param direction - Which way.
|
|
33
|
+
* @param canOpen - Whether a session can open now; the draft always can.
|
|
34
|
+
*/
|
|
35
|
+
peek(direction: SessionHistoryDirection, canOpen?: (id: K) => boolean): SessionHistoryPage<K> | undefined;
|
|
36
|
+
/** Moves the cursor back to the page {@link peek} finds and returns it (`undefined`: nowhere to go). */
|
|
37
|
+
back(canOpen?: (id: K) => boolean): SessionHistoryPage<K> | undefined;
|
|
38
|
+
/** Moves the cursor forward to the page {@link peek} finds and returns it (`undefined`: nowhere to go). */
|
|
39
|
+
forward(canOpen?: (id: K) => boolean): SessionHistoryPage<K> | undefined;
|
|
40
|
+
/** Removes a session from every entry (deleted). */
|
|
41
|
+
forget(id: K): void;
|
|
42
|
+
/** Reads the store once and merges it in (resolves at once without a store). */
|
|
43
|
+
load(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
/** Options of {@link createSessionHistory}. */
|
|
46
|
+
interface SessionHistoryOptions {
|
|
47
|
+
/** Where the history persists; absent, it lasts as long as the window. */
|
|
48
|
+
store?: SessionHistoryStore;
|
|
49
|
+
/** The most entries kept (default {@link SESSION_HISTORY_LIMIT}). */
|
|
50
|
+
limit?: number;
|
|
51
|
+
/** A store read or write failed. */
|
|
52
|
+
onError?: (what: 'load' | 'save', error: unknown) => void;
|
|
53
|
+
}
|
|
54
|
+
/** The most entries a history keeps by default. */
|
|
55
|
+
declare const SESSION_HISTORY_LIMIT = 200;
|
|
56
|
+
/**
|
|
57
|
+
* A stored history, checked: entries are session keys (non-empty strings) or `null`, the cursor one of them.
|
|
58
|
+
* Anything malformed reads as no history.
|
|
59
|
+
*
|
|
60
|
+
* @param raw - The stored value.
|
|
61
|
+
* @param limit - The most entries kept.
|
|
62
|
+
*/
|
|
63
|
+
declare function parseSessionHistory<K extends string = string>(raw: unknown, limit?: number): SessionHistoryState<K>;
|
|
64
|
+
/**
|
|
65
|
+
* The history store: in memory, persisted through `store` once {@link SessionHistory.load} has read it.
|
|
66
|
+
*
|
|
67
|
+
* @param options - The store, the cap and the error report.
|
|
68
|
+
*/
|
|
69
|
+
declare function createSessionHistory<K extends string = string>(options?: SessionHistoryOptions): SessionHistory<K>;
|
|
70
|
+
//#endregion
|
|
71
|
+
export { SESSION_HISTORY_LIMIT, SessionHistory, SessionHistoryDirection, SessionHistoryOptions, SessionHistoryPage, SessionHistoryState, SessionHistoryStore, createSessionHistory, parseSessionHistory };
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { writable } from "../store.js";
|
|
2
|
+
//#region src/chat/headless/sidebar/history.ts
|
|
3
|
+
/**
|
|
4
|
+
* A window's page history: the conversations it showed, and the new-chat
|
|
5
|
+
* draft (`null`), in order, with a cursor, like a browser tab's back and
|
|
6
|
+
* forward list.
|
|
7
|
+
*
|
|
8
|
+
* - `visit`: a page shown any way but back / forward. The current page again
|
|
9
|
+
* does nothing; another drops the entries ahead of the cursor and is
|
|
10
|
+
* appended (past the cap, the oldest go).
|
|
11
|
+
* - `back` / `forward`: the nearest entry that opens now (`canOpen`) and is
|
|
12
|
+
* not the page on show. The cursor moves there and the page comes back for
|
|
13
|
+
* the caller to show; the entries passed over stay (a session not listed
|
|
14
|
+
* yet, or open in its own window, may open later).
|
|
15
|
+
* - `replace`: the current entry becomes another page (a draft that became a
|
|
16
|
+
* session is the same page, not a new one).
|
|
17
|
+
* - `forget`: a deleted session leaves; neighbours left equal merge.
|
|
18
|
+
* - Persistence (`store`): `load` reads the saved list once. The pages
|
|
19
|
+
* visited before it answered go after the saved cursor, replacing what was
|
|
20
|
+
* ahead of it; with none, the saved list is taken as it was. Every change
|
|
21
|
+
* after that is saved.
|
|
22
|
+
*
|
|
23
|
+
* Generic over the app's session key.
|
|
24
|
+
*/
|
|
25
|
+
/** The most entries a history keeps by default. */
|
|
26
|
+
const SESSION_HISTORY_LIMIT = 200;
|
|
27
|
+
const EMPTY = {
|
|
28
|
+
entries: [],
|
|
29
|
+
index: -1
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Merges neighbours that are the same page, keeping the cursor on the entry it was on.
|
|
33
|
+
*
|
|
34
|
+
* @param entries - The pages.
|
|
35
|
+
* @param index - The cursor.
|
|
36
|
+
*/
|
|
37
|
+
function collapse(entries, index) {
|
|
38
|
+
const out = [];
|
|
39
|
+
let at = -1;
|
|
40
|
+
entries.forEach((page, i) => {
|
|
41
|
+
if (out.length === 0 || out[out.length - 1] !== page) out.push(page);
|
|
42
|
+
if (i === index) at = out.length - 1;
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
entries: out,
|
|
46
|
+
index: out.length === 0 ? -1 : at === -1 ? out.length - 1 : at
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Drops the oldest entries past `limit`.
|
|
51
|
+
*
|
|
52
|
+
* @param state - The history.
|
|
53
|
+
* @param limit - The most entries kept.
|
|
54
|
+
*/
|
|
55
|
+
function trim(state, limit) {
|
|
56
|
+
const over = state.entries.length - limit;
|
|
57
|
+
if (over <= 0) return state;
|
|
58
|
+
return {
|
|
59
|
+
entries: state.entries.slice(over),
|
|
60
|
+
index: Math.max(0, state.index - over)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* A stored history, checked: entries are session keys (non-empty strings) or `null`, the cursor one of them.
|
|
65
|
+
* Anything malformed reads as no history.
|
|
66
|
+
*
|
|
67
|
+
* @param raw - The stored value.
|
|
68
|
+
* @param limit - The most entries kept.
|
|
69
|
+
*/
|
|
70
|
+
function parseSessionHistory(raw, limit = 200) {
|
|
71
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return EMPTY;
|
|
72
|
+
const { entries, index } = raw;
|
|
73
|
+
if (!Array.isArray(entries) || entries.length === 0) return EMPTY;
|
|
74
|
+
if (!entries.every((page) => page === null || typeof page === "string" && page.length > 0)) return EMPTY;
|
|
75
|
+
return trim(collapse(entries, typeof index === "number" && Number.isInteger(index) ? Math.min(Math.max(index, 0), entries.length - 1) : entries.length - 1), limit);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The history store: in memory, persisted through `store` once {@link SessionHistory.load} has read it.
|
|
79
|
+
*
|
|
80
|
+
* @param options - The store, the cap and the error report.
|
|
81
|
+
*/
|
|
82
|
+
function createSessionHistory(options = {}) {
|
|
83
|
+
const { store, onError } = options;
|
|
84
|
+
const limit = Math.max(1, options.limit ?? 200);
|
|
85
|
+
const state = writable(EMPTY);
|
|
86
|
+
let loaded = !store;
|
|
87
|
+
let loading = null;
|
|
88
|
+
const commit = (next) => {
|
|
89
|
+
const prev = state.get();
|
|
90
|
+
if (prev.index === next.index && prev.entries.length === next.entries.length && prev.entries.every((p, i) => p === next.entries[i])) return;
|
|
91
|
+
state.set(next);
|
|
92
|
+
if (loaded && store) store.save(next).catch((err) => onError?.("save", err));
|
|
93
|
+
};
|
|
94
|
+
const peekIndex = (direction, canOpen) => {
|
|
95
|
+
const { entries, index } = state.get();
|
|
96
|
+
const current = entries[index];
|
|
97
|
+
const step = direction === "back" ? -1 : 1;
|
|
98
|
+
for (let i = index + step; i >= 0 && i < entries.length; i += step) {
|
|
99
|
+
const page = entries[i];
|
|
100
|
+
if (page === current) continue;
|
|
101
|
+
if (page === null || !canOpen || canOpen(page)) return i;
|
|
102
|
+
}
|
|
103
|
+
return -1;
|
|
104
|
+
};
|
|
105
|
+
const go = (direction, canOpen) => {
|
|
106
|
+
const at = peekIndex(direction, canOpen);
|
|
107
|
+
if (at === -1) return void 0;
|
|
108
|
+
const { entries } = state.get();
|
|
109
|
+
commit({
|
|
110
|
+
entries,
|
|
111
|
+
index: at
|
|
112
|
+
});
|
|
113
|
+
return entries[at];
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
state,
|
|
117
|
+
visit(page) {
|
|
118
|
+
const { entries, index } = state.get();
|
|
119
|
+
if (index !== -1 && entries[index] === page) return;
|
|
120
|
+
commit(trim({
|
|
121
|
+
entries: [...entries.slice(0, index + 1), page],
|
|
122
|
+
index: index + 1
|
|
123
|
+
}, limit));
|
|
124
|
+
},
|
|
125
|
+
replace(page) {
|
|
126
|
+
const { entries, index } = state.get();
|
|
127
|
+
if (index === -1 || entries[index] === page) return;
|
|
128
|
+
const next = [...entries];
|
|
129
|
+
next[index] = page;
|
|
130
|
+
commit(collapse(next, index));
|
|
131
|
+
},
|
|
132
|
+
peek(direction, canOpen) {
|
|
133
|
+
const at = peekIndex(direction, canOpen);
|
|
134
|
+
return at === -1 ? void 0 : state.get().entries[at];
|
|
135
|
+
},
|
|
136
|
+
back: (canOpen) => go("back", canOpen),
|
|
137
|
+
forward: (canOpen) => go("forward", canOpen),
|
|
138
|
+
forget(id) {
|
|
139
|
+
const { entries, index } = state.get();
|
|
140
|
+
if (!entries.includes(id)) return;
|
|
141
|
+
let at = index;
|
|
142
|
+
const kept = [];
|
|
143
|
+
entries.forEach((page, i) => {
|
|
144
|
+
if (page === id) {
|
|
145
|
+
if (i <= index) at -= 1;
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
kept.push(page);
|
|
149
|
+
});
|
|
150
|
+
commit(collapse(kept, Math.max(0, Math.min(at, kept.length - 1))));
|
|
151
|
+
},
|
|
152
|
+
load() {
|
|
153
|
+
if (!store) return Promise.resolve();
|
|
154
|
+
loading ??= store.load().then((raw) => {
|
|
155
|
+
const saved = parseSessionHistory(raw, limit);
|
|
156
|
+
const own = state.get();
|
|
157
|
+
if (own.entries.length === 0) return saved;
|
|
158
|
+
const base = saved.entries.slice(0, saved.index + 1);
|
|
159
|
+
return trim(collapse([...base, ...own.entries], base.length + own.index), limit);
|
|
160
|
+
}).catch((err) => {
|
|
161
|
+
onError?.("load", err);
|
|
162
|
+
return null;
|
|
163
|
+
}).then((merged) => {
|
|
164
|
+
loaded = true;
|
|
165
|
+
if (merged) state.set(merged);
|
|
166
|
+
const now = state.get();
|
|
167
|
+
if (now.entries.length > 0) store.save(now).catch((err) => onError?.("save", err));
|
|
168
|
+
});
|
|
169
|
+
return loading;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//#endregion
|
|
174
|
+
export { SESSION_HISTORY_LIMIT, createSessionHistory, parseSessionHistory };
|
|
@@ -13,6 +13,7 @@ import { COMMON_EMOJI, MAIN_SESSION_ICON_KEY, PROJECT_ICONS_KEY, ProjectIcon, Pr
|
|
|
13
13
|
import { SessionActivity, SessionActivitySignal, SessionActivityStore, activityLabel, createSessionActivity, reduceActivity } from "./activity.js";
|
|
14
14
|
import { RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, createRunEstimates, pickRunEstimate } from "./estimates.js";
|
|
15
15
|
import { CompactionProgress, CompactionProgressStore, CompactionSignal, createCompactionProgress, reduceCompaction } from "./compaction.js";
|
|
16
|
+
import { SESSION_HISTORY_LIMIT, SessionHistory, SessionHistoryDirection, SessionHistoryOptions, SessionHistoryPage, SessionHistoryState, SessionHistoryStore, createSessionHistory, parseSessionHistory } from "./history.js";
|
|
16
17
|
import { DotStateInput, SidebarDotState, deriveDotState } from "./dot-state.js";
|
|
17
18
|
import { deleteSessionPrompt, environmentKindLabel, environmentSummaryText, runsInRemoteSandbox } from "./environment.js";
|
|
18
|
-
export { AGENT_GROUPING, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, COMMON_EMOJI, CompactionProgress, CompactionProgressStore, CompactionSignal, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DirectoryServer, DirectorySettings, DotStateInput, MAIN_SESSION_ICON_KEY, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_ICONS_KEY, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionNotification, SessionNotificationStore, SessionRef, SessionRemoval, SessionWindowMode, 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, SpaceSwitcherPrefs, VIEW_CHOICE, activityLabel, availableProjectsOf, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, claimChildSessions, clearedViewFilters, createCompactionProgress, createDecorator, createNotificationStore, createRunEstimates, createSessionActivity, createSessionBadges, createSessionDirectory, createSidebarViews, deleteSessionPrompt, deriveDotState, environmentKindLabel, environmentSummaryText, extensionSpaceOf, filterDirectorySessions, filterQueryOf, filtersForSpace, firstGrapheme, groupsByFolder, isProjectIcon, isProjectMember, itemRows, itemsForSpace, mergeSidebarSpaces, nestSidebarRows, nextSavedViewName, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, readSidebarViews, reduceActivity, reduceCompaction, repoGroups, resolveGrouping, resolveSort, runsInRemoteSandbox, sessionRefsOf, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn, withPinnedProject };
|
|
19
|
+
export { AGENT_GROUPING, BuildQuerySidebarRowsOptions, BuildSidebarRowsOptions, CHATS_BUCKET, COMMON_EMOJI, CompactionProgress, CompactionProgressStore, CompactionSignal, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, DirectoryServer, DirectorySettings, DotStateInput, MAIN_SESSION_ICON_KEY, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_ICONS_KEY, PinsBySpace, ProjectIcon, ProjectIconMap, ProjectInSpace, RunEstimatesRow, RunEstimatesSignal, RunEstimatesStore, SESSION_HISTORY_LIMIT, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, SessionActivity, SessionActivityFilter, SessionActivitySignal, SessionActivityStore, SessionArchiveFilter, SessionBadgesEntry, SessionBadgesSource, SessionBadgesStore, SessionDirectory, SessionDirectoryOptions, SessionDirectorySource, SessionDirectoryState, SessionDirectoryStreams, SessionHistory, SessionHistoryDirection, SessionHistoryOptions, SessionHistoryPage, SessionHistoryState, SessionHistoryStore, SessionNotification, SessionNotificationStore, SessionRef, SessionRemoval, SessionWindowMode, 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, SpaceSwitcherPrefs, VIEW_CHOICE, activityLabel, availableProjectsOf, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, claimChildSessions, clearedViewFilters, createCompactionProgress, createDecorator, createNotificationStore, createRunEstimates, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionHistory, createSidebarViews, deleteSessionPrompt, deriveDotState, environmentKindLabel, environmentSummaryText, extensionSpaceOf, filterDirectorySessions, filterQueryOf, filtersForSpace, firstGrapheme, groupsByFolder, isProjectIcon, isProjectMember, itemRows, itemsForSpace, mergeSidebarSpaces, nestSidebarRows, nextSavedViewName, parsePinnedProjects, parseProjectIcons, parseSessionHistory, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, readSidebarViews, reduceActivity, reduceCompaction, repoGroups, resolveGrouping, resolveSort, runsInRemoteSandbox, sessionRefsOf, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn, withPinnedProject };
|
|
@@ -9,9 +9,10 @@ import { activityLabel, createSessionActivity, reduceActivity } from "./activity
|
|
|
9
9
|
import { createCompactionProgress, reduceCompaction } from "./compaction.js";
|
|
10
10
|
import { createSessionBadges } from "./badges.js";
|
|
11
11
|
import { DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, createSidebarViews, parseSidebarView, parseSwitcherPrefs, readSidebarViews } from "./view.js";
|
|
12
|
+
import { SESSION_HISTORY_LIMIT, createSessionHistory, parseSessionHistory } from "./history.js";
|
|
12
13
|
import { createNotificationStore } from "./notifications.js";
|
|
13
14
|
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 "./query.js";
|
|
14
15
|
import { availableProjectsOf, createSessionDirectory, filterDirectorySessions, projectKeyOf, sessionRefsOf } from "./directory.js";
|
|
15
16
|
import { deriveDotState } from "./dot-state.js";
|
|
16
17
|
import { deleteSessionPrompt, environmentKindLabel, environmentSummaryText, runsInRemoteSandbox } from "./environment.js";
|
|
17
|
-
export { AGENT_GROUPING, CHATS_BUCKET, COMMON_EMOJI, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, MAIN_SESSION_ICON_KEY, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_ICONS_KEY, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, VIEW_CHOICE, activityLabel, availableProjectsOf, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, claimChildSessions, clearedViewFilters, createCompactionProgress, createDecorator, createNotificationStore, createRunEstimates, createSessionActivity, createSessionBadges, createSessionDirectory, createSidebarViews, deleteSessionPrompt, deriveDotState, environmentKindLabel, environmentSummaryText, extensionSpaceOf, filterDirectorySessions, filterQueryOf, filtersForSpace, firstGrapheme, groupsByFolder, isProjectIcon, isProjectMember, itemRows, itemsForSpace, mergeSidebarSpaces, nestSidebarRows, nextSavedViewName, parsePinnedProjects, parseProjectIcons, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, readSidebarViews, reduceActivity, reduceCompaction, repoGroups, resolveGrouping, resolveSort, runsInRemoteSandbox, sessionRefsOf, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn, withPinnedProject };
|
|
18
|
+
export { AGENT_GROUPING, CHATS_BUCKET, COMMON_EMOJI, DEFAULT_SIDEBAR_LABELS, DEFAULT_SIDEBAR_VIEW, DEFAULT_SWITCHER_PREFS, MAIN_SESSION_ICON_KEY, MAX_ROW_CHIPS, NO_SIDEBAR_CONTRIBUTIONS, PINNED_PROJECTS_KEY, PROJECT_ICONS_KEY, SESSION_HISTORY_LIMIT, SIDEBAR_SPACE_KEY, SIDEBAR_SWITCHER_KEY, SIDEBAR_VIEW_KEY, VIEW_CHOICE, activityLabel, availableProjectsOf, buildHostSidebarRows, buildQuerySidebarRows, buildSidebarRows, claimChildSessions, clearedViewFilters, createCompactionProgress, createDecorator, createNotificationStore, createRunEstimates, createSessionActivity, createSessionBadges, createSessionDirectory, createSessionHistory, createSidebarViews, deleteSessionPrompt, deriveDotState, environmentKindLabel, environmentSummaryText, extensionSpaceOf, filterDirectorySessions, filterQueryOf, filtersForSpace, firstGrapheme, groupsByFolder, isProjectIcon, isProjectMember, itemRows, itemsForSpace, mergeSidebarSpaces, nestSidebarRows, nextSavedViewName, parsePinnedProjects, parseProjectIcons, parseSessionHistory, parseSidebarView, parseSwitcherPrefs, partitionMainSession, pickRunEstimate, pinSession, pinnedSessions, projectKeyOf, projectPathOf, readSidebarViews, reduceActivity, reduceCompaction, repoGroups, resolveGrouping, resolveSort, runsInRemoteSandbox, sessionRefsOf, sidebarContributionsOf, spaceMembership, switcherSpaces, viewFilterOf, viewFiltersOn, withPinnedProject };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SecretTimeLeft } from "../secrets.js";
|
|
2
2
|
import { u as AuthFailure } from "../../../dist/timeout-B5pO5I5a.js";
|
|
3
|
-
import {
|
|
3
|
+
import { WC as SecretTtl } from "../../../dist/index-DqCio7Nd.js";
|
|
4
4
|
import "../../../dist/index.js";
|
|
5
5
|
import "../index.js";
|
|
6
6
|
//#region src/chat/headless/sidebar/labels.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolRowModel } from "../headless/transcript/rows.js";
|
|
2
2
|
import "../headless/transcript/index.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Gw as ScriptProgress } from "../../dist/index-DqCio7Nd.js";
|
|
4
4
|
//#region src/chat/transcript/script-input.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* A tool row's progress and how it ended, as `ToolInput` takes them for a Codemode script.
|
|
@@ -6,7 +6,7 @@ import "../node_modules/.bun/@earendil-works_pi-ai@1.3.0_bff1df87cb190f90/node_m
|
|
|
6
6
|
import "../node_modules/.bun/@anthropic-ai_sdk@0.104.2_fff7ddf946fac095/node_modules/@anthropic-ai/sdk/index.js";
|
|
7
7
|
import "../node_modules/.bun/@anthropic-ai_sdk@0.104.2_fff7ddf946fac095/node_modules/@anthropic-ai/sdk/resources2.js";
|
|
8
8
|
import { ReactNode } from "react";
|
|
9
|
-
//#region ../dist/index-
|
|
9
|
+
//#region ../dist/index-DqCio7Nd.d.ts
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/thinking-levels.d.ts
|
|
12
12
|
/**
|
|
@@ -1482,4 +1482,4 @@ interface Settings {
|
|
|
1482
1482
|
activeIcon: string;
|
|
1483
1483
|
}
|
|
1484
1484
|
//#endregion
|
|
1485
|
-
export {
|
|
1485
|
+
export { ScriptCallStatus as Bw, Space as Cf, SessionSort as Eb, ThinkingLevel as FR, ScriptProgress as Gw, DurabilityMode as LD, EditDiffDisplay as Qd, ScriptLineProgress as Vw, SecretTtl as WC, EnvironmentSettings as WE, ScriptOutputLine as Ww, ApprovalMode as Zd, TranscriptDensity as _f, OutputStream as aT, SessionQueryAny as bb, AnsiColor as cT, FacetPath as cb, AnsiStyle as dT, SessionCondition as db, SessionFieldName as fb, SessionGroupOrder as gb, ToolCallDisplay as gf, SessionGroupBy as hb, OutputLine as iT, EnvironmentConfigValue as lD, QueryBound as lb, OpenInTarget as of, SessionFieldPath as pb, Settings as pf, InteractionMode as rf, AnsiSpan as uT, QueryValue as ub, SessionQuery as vb, SessionQueryNot as wb, SpaceIcon as wf, SessionQueryAll as yb };
|
package/dist/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as AuthFailureKind, u as AuthFailure } from "./timeout-B5pO5I5a.js";
|
|
2
2
|
import "./types-2HrgolQz.js";
|
|
3
3
|
import "./oauth-callback-page-DMxIgurj.js";
|
|
4
|
-
import {
|
|
4
|
+
import { Eb as SessionSort, FR as ThinkingLevel, bb as SessionQueryAny, cb as FacetPath, db as SessionCondition, fb as SessionFieldName, gb as SessionGroupOrder, hb as SessionGroupBy, lb as QueryBound, pb as SessionFieldPath, ub as QueryValue, vb as SessionQuery, wb as SessionQueryNot, yb as SessionQueryAll } from "./index-DqCio7Nd.js";
|
|
5
5
|
import "./index-f-XWIoYo.js";
|
|
6
6
|
import "./sandbox-B4OW6oNx.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ParsedBinding, bindingAlternatives, parseBindingSpec, parseBindingSpecs } from "zidane/chat/pure";
|
|
2
2
|
//#region src/keybindings/headless/catalog.d.ts
|
|
3
3
|
/** Every action a key binding can fire. */
|
|
4
|
-
type KeyAction = 'openSettings' | 'openSessionDetails' | 'openModelPicker' | 'openEffortPicker' | 'openTodos' | 'openArtifacts' | 'openMainSession' | 'openUsagePanel' | 'newSession' | 'openKeybindings' | 'openPalette' | 'cancelToolCall' | 'cycleAgent' | 'enterSelectTurnMode' | 'toggleSidebar' | 'sessionGenerateTitle' | 'sessionCompact' | 'sessionExportMarkdown' | 'sessionExportJson' | 'sessionDelete' | 'sessionCopyId' | 'sessionFavorite' | 'zoomIn' | 'zoomOut' | 'zoomReset' | 'panelNext' | 'panelPrev' | 'tabNext' | 'tabPrev' | 'closeTab' | 'toggleTerminal' | 'newTerminal' | 'annotatePage' | 'splitTabRight' | 'splitTabDown';
|
|
4
|
+
type KeyAction = 'openSettings' | 'openSessionDetails' | 'openModelPicker' | 'openEffortPicker' | 'openTodos' | 'openArtifacts' | 'openMainSession' | 'openUsagePanel' | 'newSession' | 'openKeybindings' | 'openPalette' | 'cancelToolCall' | 'cycleAgent' | 'enterSelectTurnMode' | 'toggleSidebar' | 'navigateBack' | 'navigateForward' | 'sessionGenerateTitle' | 'sessionCompact' | 'sessionExportMarkdown' | 'sessionExportJson' | 'sessionDelete' | 'sessionCopyId' | 'sessionFavorite' | 'zoomIn' | 'zoomOut' | 'zoomReset' | 'panelNext' | 'panelPrev' | 'tabNext' | 'tabPrev' | 'closeTab' | 'toggleTerminal' | 'newTerminal' | 'annotatePage' | 'splitTabRight' | 'splitTabDown';
|
|
5
5
|
/** One action of the catalog. */
|
|
6
6
|
interface KeyBindingDef {
|
|
7
7
|
/** The action. */
|
|
@@ -103,6 +103,18 @@ const KEYBINDING_DEFS = [
|
|
|
103
103
|
label: "sidebar",
|
|
104
104
|
description: "show or hide the chats sidebar"
|
|
105
105
|
},
|
|
106
|
+
{
|
|
107
|
+
action: "navigateBack",
|
|
108
|
+
default: "cmd+left | cmd+[",
|
|
109
|
+
label: "back",
|
|
110
|
+
description: "go back to the conversation shown before, like a browser"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
action: "navigateForward",
|
|
114
|
+
default: "cmd+right | cmd+]",
|
|
115
|
+
label: "forward",
|
|
116
|
+
description: "go forward again to the conversation you went back from"
|
|
117
|
+
},
|
|
106
118
|
{
|
|
107
119
|
action: "sessionGenerateTitle",
|
|
108
120
|
default: "ctrl+shift+t",
|
|
@@ -25,8 +25,10 @@ declare function isTypingFocused(): boolean;
|
|
|
25
25
|
/**
|
|
26
26
|
* Whether an app-level binding may fire under `scope`. In the editor,
|
|
27
27
|
* `ctrl+<letter>` without shift belongs to the editor (movement and
|
|
28
|
-
* editing chords)
|
|
29
|
-
*
|
|
28
|
+
* editing chords), and so do `cmd+[` / `cmd+]` (indent). In the editor and
|
|
29
|
+
* text fields, an arrow with ⌘ or ⌥ alone (shift or not) moves the caret.
|
|
30
|
+
* Everything else with shift, meta or a non-letter key is an app intent
|
|
31
|
+
* (settings, panels, zoom).
|
|
30
32
|
*
|
|
31
33
|
* @param scope - Who owns the press.
|
|
32
34
|
* @param spec - The binding.
|
|
@@ -51,18 +51,33 @@ function isTypingFocused() {
|
|
|
51
51
|
}
|
|
52
52
|
return false;
|
|
53
53
|
}
|
|
54
|
+
const ARROWS = /* @__PURE__ */ new Set([
|
|
55
|
+
"left",
|
|
56
|
+
"right",
|
|
57
|
+
"up",
|
|
58
|
+
"down"
|
|
59
|
+
]);
|
|
60
|
+
/** An arrow with ⌘ or ⌥ (not both, no ctrl): a text surface's line, word and document moves. */
|
|
61
|
+
function movesCaret(spec) {
|
|
62
|
+
return ARROWS.has(spec.name) && !spec.ctrl && spec.meta !== spec.alt;
|
|
63
|
+
}
|
|
54
64
|
/**
|
|
55
65
|
* Whether an app-level binding may fire under `scope`. In the editor,
|
|
56
66
|
* `ctrl+<letter>` without shift belongs to the editor (movement and
|
|
57
|
-
* editing chords)
|
|
58
|
-
*
|
|
67
|
+
* editing chords), and so do `cmd+[` / `cmd+]` (indent). In the editor and
|
|
68
|
+
* text fields, an arrow with ⌘ or ⌥ alone (shift or not) moves the caret.
|
|
69
|
+
* Everything else with shift, meta or a non-letter key is an app intent
|
|
70
|
+
* (settings, panels, zoom).
|
|
59
71
|
*
|
|
60
72
|
* @param scope - Who owns the press.
|
|
61
73
|
* @param spec - The binding.
|
|
62
74
|
* @param action - The binding's action (`closeTab` fires everywhere).
|
|
63
75
|
*/
|
|
64
76
|
function bindingAllowedIn(scope, spec, action) {
|
|
77
|
+
if (scope !== "editor" && scope !== "input") return true;
|
|
78
|
+
if (movesCaret(spec)) return false;
|
|
65
79
|
if (scope !== "editor") return true;
|
|
80
|
+
if (spec.meta && !spec.ctrl && !spec.alt && !spec.shift && (spec.name === "[" || spec.name === "]")) return false;
|
|
66
81
|
if (action === "closeTab") return true;
|
|
67
82
|
return !(spec.ctrl && !spec.shift && !spec.meta && !spec.alt && /^[a-z]$/i.test(spec.name));
|
|
68
83
|
}
|
|
@@ -76,6 +76,16 @@ const ACTIONS = {
|
|
|
76
76
|
group: "navigate",
|
|
77
77
|
icon: "i-ph-sidebar-simple"
|
|
78
78
|
},
|
|
79
|
+
navigateBack: {
|
|
80
|
+
group: "navigate",
|
|
81
|
+
icon: "i-ph-arrow-left",
|
|
82
|
+
keywords: ["history", "previous"]
|
|
83
|
+
},
|
|
84
|
+
navigateForward: {
|
|
85
|
+
group: "navigate",
|
|
86
|
+
icon: "i-ph-arrow-right",
|
|
87
|
+
keywords: ["history", "next"]
|
|
88
|
+
},
|
|
79
89
|
panelNext: {
|
|
80
90
|
group: "navigate",
|
|
81
91
|
icon: "i-ph-caret-double-right"
|
|
@@ -62,6 +62,8 @@ const DEFAULT_PALETTE_LABELS = {
|
|
|
62
62
|
openArtifacts: "Show artifacts",
|
|
63
63
|
openUsagePanel: "Show usage",
|
|
64
64
|
toggleSidebar: "Toggle sidebar",
|
|
65
|
+
navigateBack: "Go back",
|
|
66
|
+
navigateForward: "Go forward",
|
|
65
67
|
panelNext: "Next panel tab",
|
|
66
68
|
panelPrev: "Previous panel tab",
|
|
67
69
|
tabNext: "Next tab",
|
|
@@ -162,6 +162,7 @@ function PlanTracker({ sessionId, plan, hideHeader = false, className, style })
|
|
|
162
162
|
}),
|
|
163
163
|
/* @__PURE__ */ jsx("span", {
|
|
164
164
|
"data-testid": "todo-progress",
|
|
165
|
+
className: "flex shrink-0",
|
|
165
166
|
children: /* @__PURE__ */ jsx(MetaChip, { children: labels.todosProgress(progress.completed + progress.cancelled, progress.total) })
|
|
166
167
|
})
|
|
167
168
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { pf as Settings } from "../../dist/index-DqCio7Nd.js";
|
|
2
2
|
import { SettingsSearchEntry, SettingsSection } from "./registry.js";
|
|
3
3
|
import { SettingsChoice, SettingsToggle } from "./catalog.js";
|
|
4
4
|
import { SettingsActionId, SettingsPage } from "./layout.js";
|
|
@@ -52,6 +52,8 @@ declare const DEFAULT_KEYBINDINGS_SECTION_LABELS: {
|
|
|
52
52
|
keybindingsSectionApp: string;
|
|
53
53
|
keybindingsSectionPalette: string;
|
|
54
54
|
keybindingsSectionSidebar: string;
|
|
55
|
+
keybindingsSectionBack: string;
|
|
56
|
+
keybindingsSectionForward: string;
|
|
55
57
|
keybindingsSectionUsage: string;
|
|
56
58
|
keybindingsSectionSettings: string;
|
|
57
59
|
keybindingsSectionKeybindings: string;
|
|
@@ -52,6 +52,8 @@ const DEFAULT_KEYBINDINGS_SECTION_LABELS = {
|
|
|
52
52
|
keybindingsSectionApp: "App",
|
|
53
53
|
keybindingsSectionPalette: "Command palette",
|
|
54
54
|
keybindingsSectionSidebar: "Show or hide the sidebar",
|
|
55
|
+
keybindingsSectionBack: "Back to the previous conversation",
|
|
56
|
+
keybindingsSectionForward: "Forward to the next conversation",
|
|
55
57
|
keybindingsSectionUsage: "Usage",
|
|
56
58
|
keybindingsSectionSettings: "Settings",
|
|
57
59
|
keybindingsSectionKeybindings: "Keybindings",
|
|
@@ -172,6 +172,14 @@ const KEYBINDING_SECTIONS = [
|
|
|
172
172
|
action: "toggleSidebar",
|
|
173
173
|
label: "keybindingsSectionSidebar"
|
|
174
174
|
},
|
|
175
|
+
{
|
|
176
|
+
action: "navigateBack",
|
|
177
|
+
label: "keybindingsSectionBack"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
action: "navigateForward",
|
|
181
|
+
label: "keybindingsSectionForward"
|
|
182
|
+
},
|
|
175
183
|
{
|
|
176
184
|
action: "openUsagePanel",
|
|
177
185
|
label: "keybindingsSectionUsage"
|
|
@@ -6,8 +6,8 @@ import { Checkbox, MetaChip } from "../../../components/Form.js";
|
|
|
6
6
|
import { LoadError } from "../../../components/LoadError.js";
|
|
7
7
|
import { useSettingsHost } from "../../SettingsProvider.js";
|
|
8
8
|
import { useSectionLabels } from "../use-section-labels.js";
|
|
9
|
-
import { useCodeDocument } from "../../../code/editor/useCodeDocument.js";
|
|
10
9
|
import { OpenFileButton, RevealPathButton, useCatalogSharedLabels, useEnabledList, useSettingsResource } from "../shared/catalog.js";
|
|
10
|
+
import { useCodeDocument } from "../../../code/editor/useCodeDocument.js";
|
|
11
11
|
import { formatTokens } from "../../../session/headless/usage-format.js";
|
|
12
12
|
import { DEFAULT_SKILLS_SECTION_LABELS } from "./labels.js";
|
|
13
13
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zidane-ui",
|
|
3
|
-
"version": "9.1.
|
|
3
|
+
"version": "9.1.6",
|
|
4
4
|
"description": "Zidane design system and chat kit: tokens, surface primitives, theme engine, React components, the chat layer (sessions, transcript, composer) and ChatHost adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -536,7 +536,7 @@
|
|
|
536
536
|
"react": "^19.3.0",
|
|
537
537
|
"react-dom": "^19.3.0",
|
|
538
538
|
"unocss": ">=66.0.0",
|
|
539
|
-
"zidane": "^9.1.
|
|
539
|
+
"zidane": "^9.1.6",
|
|
540
540
|
"vitest": ">=3"
|
|
541
541
|
},
|
|
542
542
|
"peerDependenciesMeta": {
|