Files
orca/src/preload/api/ai-vault-api.ts
T
Brennan Benson 8d908764dc Revert "Keep same-machine folders with matching Git remotes in separate projects (#32272)" (#34662)
* Revert "Keep same-machine folders with matching Git remotes in separate projects (#32272)"

This reverts commit 29a5f89b8a.

On a machine with several clones of one repo, #32272 moved the oldest clone
into the shared cross-host project. Shared Windows QA machines have several
orca clones, so everyone's sidebar "orca" project suddenly gained that
machine's main checkout and its worktrees. Revert until the intended
grouping is decided.

Conflicts resolved against later main: Settings files moved into
settings/repository (imports adjusted), and two test files later deleted on
main stay deleted.

* Use checked types in restored test fixtures

* Combine restored fixture type imports
2026-10-27 20:38:35 -07:00

63 lines
2.6 KiB
TypeScript

import type {
AiVaultSearchRequest,
AiVaultSearchResponse,
AiVaultSearchStatus
} from '../../shared/ai-vault-search-types'
import type {
AiVaultDeleteSessionArgs,
AiVaultDeleteSessionResult
} from '../../shared/ai-vault-session-deletion'
import type {
AiVaultFirstUserPromptArgs,
AiVaultFirstUserPromptResult,
AiVaultListArgs,
AiVaultListResult,
AiVaultSubagentListArgs,
AiVaultSubagentListResult
} from '../../shared/ai-vault-types'
import type {
AiVaultSessionTitlesArgs,
AiVaultSessionTitlesResult
} from '../../shared/ai-vault-session-title'
import type {
AiVaultPrepareSessionResumeRequest,
AiVaultPrepareSessionResumeResult
} from '../../shared/ai-vault-resume-preparation'
import type { ExecutionHostId, ExecutionHostScope } from '../../shared/execution-host'
import type {
AiVaultScanProgress,
AiVaultScanProgressUpdate
} from '../../shared/ai-vault-scan-progress'
export type AiVaultApi = {
/** Omitted host means this host; `all` is merged by this desktop across every enumerated host. */
searchSessions: (
request: AiVaultSearchRequest,
executionHostScope?: ExecutionHostScope
) => Promise<AiVaultSearchResponse>
/** Status describes one index, so it never accepts the `all` scope. */
searchStatus: (executionHostScope?: ExecutionHostId) => Promise<AiVaultSearchStatus>
/** Paired servers only; SSH rejects as unsupported, older servers as host-too-old. */
setSearchEnabled: (
executionHostId: ExecutionHostId,
enabled: boolean
) => Promise<AiVaultSearchStatus>
/** Rebuilds the local index after deletion. */
clearSearchIndex: () => Promise<void>
listSessions: (args?: AiVaultListArgs) => Promise<AiVaultListResult>
resolveSessionTitles: (args: AiVaultSessionTitlesArgs) => Promise<AiVaultSessionTitlesResult>
cancelListSessions: (args: { requestToken: string }) => Promise<void>
prepareSessionResume: (
args: AiVaultPrepareSessionResumeRequest
) => Promise<AiVaultPrepareSessionResumeResult>
listSubagentSessions: (args: AiVaultSubagentListArgs) => Promise<AiVaultSubagentListResult>
getFirstUserPrompt: (args: AiVaultFirstUserPromptArgs) => Promise<AiVaultFirstUserPromptResult>
/** Moves a deletable session's transcript to the OS trash; local sessions only. */
deleteSession: (args: AiVaultDeleteSessionArgs) => Promise<AiVaultDeleteSessionResult>
/** Fires when any app window regains OS focus. */
onWindowFocused: (callback: () => void) => () => void
/** The local scan entry for a request key, if it is still retained. */
getScanProgress: (scanKey: string) => Promise<AiVaultScanProgress | null>
onScanProgress: (callback: (update: AiVaultScanProgressUpdate) => void) => () => void
}