mirror of
https://github.com/stablyai/orca.git
synced 2026-11-02 10:08:13 +00:00
* fix(files): a link to this computer in a paired-server terminal opens here when the host disowns it * fix(files): keep client-local link tabs on this computer; gate the fallback on host support and native clients --------- Co-authored-by: m4air <m4air@Mac.localdomain>
80 lines
1.8 KiB
TypeScript
80 lines
1.8 KiB
TypeScript
import type { RasterImageDimensions } from './raster-image-dimensions'
|
|
|
|
export type RuntimeFileListEntry = {
|
|
relativePath: string
|
|
basename: string
|
|
kind: 'text' | 'binary'
|
|
}
|
|
|
|
export type RuntimeFileListResult = {
|
|
worktree: string
|
|
rootPath: string
|
|
files: RuntimeFileListEntry[]
|
|
totalCount: number
|
|
truncated: boolean
|
|
quickOpenSearchVersion?: number
|
|
}
|
|
|
|
export type RuntimeFileOpenResult = {
|
|
worktree: string
|
|
relativePath: string
|
|
kind: 'markdown' | 'text' | 'binary' | 'image'
|
|
opened: boolean
|
|
}
|
|
|
|
export type RuntimeFileReadResult = {
|
|
worktree: string
|
|
relativePath: string
|
|
content: string
|
|
truncated: boolean
|
|
byteLength: number
|
|
}
|
|
|
|
export type RuntimeTerminalPathOpenTarget =
|
|
| {
|
|
kind: 'worktree-file'
|
|
provider: 'local' | 'ssh'
|
|
relativePath: string
|
|
absolutePath: string
|
|
}
|
|
| {
|
|
kind: 'absolute-file'
|
|
provider: 'local' | 'ssh'
|
|
absolutePath: string
|
|
grantId: string
|
|
readOnly?: true
|
|
}
|
|
| { kind: 'unsupported'; reason: string }
|
|
|
|
export type RuntimeNativeChatFileContext = {
|
|
tabId: string
|
|
sessionId: string
|
|
}
|
|
|
|
// Why: older hosts ignore crossWorkspace, so their refusal is no proof that no host workspace holds the path.
|
|
export const TERMINAL_PATH_CROSS_WORKSPACE_RUNTIME_CAPABILITY =
|
|
'files.resolve-terminal-path.cross-workspace.v1' as const
|
|
|
|
export type RuntimeTerminalPathResolution = {
|
|
worktree: string
|
|
relativePath: string | null
|
|
absolutePath: string | null
|
|
exists: boolean
|
|
isDirectory: boolean
|
|
openTarget?: RuntimeTerminalPathOpenTarget
|
|
}
|
|
|
|
export type RuntimeFilePreviewResult = {
|
|
content: string
|
|
isBinary: boolean
|
|
isImage?: boolean
|
|
mimeType?: string
|
|
imageDimensions?: RasterImageDimensions
|
|
}
|
|
|
|
export type RuntimeFileReadChunkResult = {
|
|
contentBase64: string
|
|
bytesRead: number
|
|
eof: boolean
|
|
}
|