mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-08-30 00:50:49 +02:00
2f56fc3431
* server : extend file_glob_search for UI pickers * ui : add per-conversation working directory with picker * ui : add path navigation and search scope to cwd picker Treat path-like queries (starting with / or ~) as directory navigation instead of glob-matching the whole query: search the parent for the last segment, and descend into an exactly-typed directory by listing its children. Show the effective search scope in the footer and auto-search on open so the current directory and its siblings appear immediately. Assisted-by: Claude * db : persist per-call tool cwd on tool result messages * ui : abbreviate tool paths under home with a tilde * ui : show the per-call cwd on exec shell rows * ui : clarify the synthetic cwd message for the model * ui : reuse the trailing cwd row on a repeated pick * ui : don't jump when a cwd row is injected mid-chat * chore: Formatting * refactor: Cleanup comments * ui : unify working directory naming and add a synthetic-message flag * ui : render synthetic cwd rows without a scroll jump * ui : decouple the working directory picker into utils and sub-components * ui : add get_info tool call block * chore: Formatting * refactor: Cleanup * refactor: Cleanup * refactor: Cleanup * fix: UI * server : harden file_glob_search listing (kind enum, timeout, symlink guard, absolute base) * ui : use persisted isSynthetic flag for cwd rows, drop legacy formats * ui : cache picker search, fail visibly on native resolve * ui : escape glob metacharacters in picker search glob * ui : simplify auto-scroll pin * chore: Format * fix: Use `SvelteMap` * refactor: Post-review fixes * ui: accept Windows roots in the working directory picker recognize a drive root (C:) and a UNC share (//host/share) as path navigation, alongside the POSIX root and ~, so a query like D:\repos lists that directory instead of glob-matching it under the home dir split below the root, so a bare drive resolves to its root rather than to a drive-relative prefix rewrite backslashes into forward slashes only when the query carries a Windows root, since a backslash is a legal POSIX filename character paths keep travelling with forward slashes, which is what the server returns and what Windows accepts --------- Co-authored-by: Pascal <admin@serveurperso.com>
156 lines
3.7 KiB
TypeScript
156 lines
3.7 KiB
TypeScript
// See https://svelte.dev/docs/kit/types#app.d.ts
|
|
// for information about these interfaces
|
|
|
|
import 'vite-plugin-pwa/pwa-assets';
|
|
import 'vite-plugin-pwa/svelte';
|
|
|
|
// Import chat types from dedicated module
|
|
|
|
import type {
|
|
// API types
|
|
ApiChatCompletionRequest,
|
|
ApiChatCompletionResponse,
|
|
ApiChatCompletionStreamChunk,
|
|
ApiChatCompletionToolCall,
|
|
ApiChatCompletionToolCallDelta,
|
|
ApiChatMessageData,
|
|
ApiChatMessageContentPart,
|
|
ApiContextSizeError,
|
|
ApiErrorResponse,
|
|
ApiLlamaCppServerProps,
|
|
ApiModelDataEntry,
|
|
ApiModelLoadStage,
|
|
ApiModelsSseProgress,
|
|
ApiModelsSseData,
|
|
ApiModelsSseEvent,
|
|
ApiModelListResponse,
|
|
ApiProcessingState,
|
|
ApiRouterModelMeta,
|
|
ApiRouterModelsLoadRequest,
|
|
ApiRouterModelsLoadResponse,
|
|
ApiRouterModelsStatusRequest,
|
|
ApiRouterModelsStatusResponse,
|
|
ApiRouterModelsListResponse,
|
|
ApiRouterModelsUnloadRequest,
|
|
ApiRouterModelsUnloadResponse,
|
|
// Chat types
|
|
ChatAttachmentDisplayItem,
|
|
ChatMessageType,
|
|
ChatRole,
|
|
ChatUploadedFile,
|
|
ChatMessageSiblingInfo,
|
|
ChatMessagePromptProgress,
|
|
ChatMessageTimings,
|
|
// Database types
|
|
DatabaseConversation,
|
|
DatabaseMessage,
|
|
DatabaseMessageExtra,
|
|
DatabaseMessageExtraAudioFile,
|
|
DatabaseMessageExtraVideoFile,
|
|
DatabaseMessageExtraImageFile,
|
|
DatabaseMessageExtraTextFile,
|
|
DatabaseMessageExtraPdfFile,
|
|
DatabaseMessageExtraLegacyContext,
|
|
ExportedConversation,
|
|
ExportedConversations,
|
|
// Model types
|
|
ModelModalities,
|
|
ModelOption,
|
|
ModelLoadProgress,
|
|
// Settings types
|
|
SettingsChatServiceOptions,
|
|
SettingsConfigValue,
|
|
SettingsFieldConfig,
|
|
SettingsConfigType
|
|
} from '$lib/types';
|
|
|
|
import { ServerRole, ServerModelStatus, ModelModality } from '$lib/enums';
|
|
|
|
declare global {
|
|
// namespace App {
|
|
// interface Error {}
|
|
// interface Locals {}
|
|
// interface PageData {}
|
|
// interface PageState {}
|
|
// interface Platform {}
|
|
// }
|
|
|
|
export {
|
|
// API types
|
|
ApiChatCompletionRequest,
|
|
ApiChatCompletionResponse,
|
|
ApiChatCompletionStreamChunk,
|
|
ApiChatCompletionToolCall,
|
|
ApiChatCompletionToolCallDelta,
|
|
ApiChatMessageData,
|
|
ApiChatMessageContentPart,
|
|
ApiContextSizeError,
|
|
ApiErrorResponse,
|
|
ApiLlamaCppServerProps,
|
|
ApiModelDataEntry,
|
|
ApiModelLoadStage,
|
|
ApiModelsSseProgress,
|
|
ApiModelsSseData,
|
|
ApiModelsSseEvent,
|
|
ApiModelListResponse,
|
|
ApiProcessingState,
|
|
ApiRouterModelMeta,
|
|
ApiRouterModelsLoadRequest,
|
|
ApiRouterModelsLoadResponse,
|
|
ApiRouterModelsStatusRequest,
|
|
ApiRouterModelsStatusResponse,
|
|
ApiRouterModelsListResponse,
|
|
ApiRouterModelsUnloadRequest,
|
|
ApiRouterModelsUnloadResponse,
|
|
// Chat types
|
|
ChatAttachmentDisplayItem,
|
|
ChatMessagePromptProgress,
|
|
ChatMessageSiblingInfo,
|
|
ChatMessageTimings,
|
|
ChatMessageType,
|
|
ChatRole,
|
|
ChatUploadedFile,
|
|
// Database types
|
|
DatabaseConversation,
|
|
DatabaseMessage,
|
|
DatabaseMessageExtra,
|
|
DatabaseMessageExtraAudioFile,
|
|
DatabaseMessageExtraVideoFile,
|
|
DatabaseMessageExtraImageFile,
|
|
DatabaseMessageExtraTextFile,
|
|
DatabaseMessageExtraPdfFile,
|
|
DatabaseMessageExtraLegacyContext,
|
|
ExportedConversation,
|
|
ExportedConversations,
|
|
// Enum types
|
|
ModelModality,
|
|
ServerRole,
|
|
ServerModelStatus,
|
|
// Model types
|
|
ModelModalities,
|
|
ModelOption,
|
|
ModelLoadProgress,
|
|
// Settings types
|
|
SettingsChatServiceOptions,
|
|
SettingsConfigValue,
|
|
SettingsFieldConfig,
|
|
SettingsConfigType
|
|
};
|
|
}
|
|
|
|
declare global {
|
|
interface Window {
|
|
idxThemeStyle?: number;
|
|
idxCodeBlock?: number;
|
|
|
|
// File System Access API - missing from older DOM lib versions.
|
|
// Used by ChatFormWorkingDirectory's native folder picker. Feature availability
|
|
// is gated at runtime via `typeof window.showDirectoryPicker === 'function'`.
|
|
showDirectoryPicker: (options?: {
|
|
id?: string;
|
|
mode?: 'read' | 'readwrite';
|
|
startIn?: FileSystemHandle | string;
|
|
}) => Promise<FileSystemDirectoryHandle>;
|
|
}
|
|
}
|