Implements Phases 1-8 of the TFTSR implementation plan. Rust backend (Tauri 2.x, src-tauri/): - Multi-provider AI: OpenAI-compatible, Anthropic, Gemini, Mistral, Ollama - PII detection engine: 11 regex patterns with overlap resolution - SQLCipher AES-256 encrypted database with 10 versioned migrations - 28 Tauri IPC commands for triage, analysis, document, and system ops - Ollama: hardware probe, model recommendations, pull/delete with events - RCA and blameless post-mortem Markdown document generators - PDF export via printpdf - Audit log: SHA-256 hash of every external data send - Integration stubs for Confluence, ServiceNow, Azure DevOps (v0.2) Frontend (React 18 + TypeScript + Vite, src/): - 9 pages: full triage workflow NewIssue→LogUpload→Triage→Resolution→RCA→Postmortem→History+Settings - 7 components: ChatWindow, TriageProgress, PiiDiffViewer, DocEditor, HardwareReport, ModelSelector, UI primitives - 3 Zustand stores: session, settings (persisted), history - Type-safe tauriCommands.ts matching Rust backend types exactly - 8 IT domain system prompts (Linux, Windows, Network, K8s, DB, Virt, HW, Obs) DevOps: - .woodpecker/test.yml: rustfmt, clippy, cargo test, tsc, vitest on every push - .woodpecker/release.yml: linux/amd64 + linux/arm64 builds, Gogs release upload Verified: - cargo check: zero errors - tsc --noEmit: zero errors - vitest run: 13/13 unit tests passing Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
144 lines
2.9 KiB
TypeScript
144 lines
2.9 KiB
TypeScript
export const constants: {
|
|
signals: Record<string, number>
|
|
errnos: Record<string, number>
|
|
priority: Record<string, number>
|
|
}
|
|
|
|
export const EOL: '\r\n' | '\n'
|
|
|
|
export const devNull: '\\\\.\\nul' | '/dev/null'
|
|
|
|
export function platform(): 'android' | 'darwin' | 'ios' | 'linux' | 'win32'
|
|
|
|
export function arch(): 'arm' | 'arm64' | 'ia32' | 'x64'
|
|
|
|
export function type(): string
|
|
|
|
export function version(): string
|
|
|
|
export function release(): string
|
|
|
|
export function machine(): string
|
|
|
|
export function execPath(): string
|
|
|
|
export function pid(): number
|
|
|
|
export function ppid(): number
|
|
|
|
export function cwd(): string
|
|
|
|
export function chdir(dir: string): string
|
|
|
|
export function tmpdir(): string
|
|
|
|
export function homedir(): string
|
|
|
|
export function hostname(): string
|
|
|
|
export interface NetworkInterface {
|
|
address: string
|
|
netmask: string
|
|
family: 'IPv4' | 'IPv6'
|
|
cidr: string
|
|
mac: string
|
|
internal: boolean
|
|
scopeid?: number
|
|
}
|
|
|
|
export function networkInterfaces(): Record<string, NetworkInterface[]>
|
|
|
|
export function kill(pid: number, signal?: string | number): void
|
|
|
|
export interface UserInfo {
|
|
uid: number
|
|
gid: number
|
|
username: string
|
|
homedir: string
|
|
shell: string | null
|
|
}
|
|
|
|
export function userInfo(): UserInfo
|
|
|
|
export function endianness(): 'LE' | 'BE'
|
|
|
|
export function availableParallelism(): number
|
|
|
|
export interface CpuUsage {
|
|
user: number
|
|
system: number
|
|
}
|
|
|
|
export function cpuUsage(previous?: CpuUsage): CpuUsage
|
|
|
|
export function threadCpuUsage(previous?: CpuUsage): CpuUsage
|
|
|
|
export function resourceUsage(): {
|
|
userCPUTime: number
|
|
systemCPUTime: number
|
|
maxRSS: number
|
|
sharedMemorySize: number
|
|
unsharedDataSize: number
|
|
unsharedStackSize: number
|
|
minorPageFault: number
|
|
majorPageFault: number
|
|
swappedOut: number
|
|
fsRead: number
|
|
fsWrite: number
|
|
ipcSent: number
|
|
ipcReceived: number
|
|
signalsCount: number
|
|
voluntaryContextSwitches: number
|
|
involuntaryContextSwitches: number
|
|
}
|
|
|
|
export function memoryUsage(): {
|
|
rss: number
|
|
heapTotal: number
|
|
heapUsed: number
|
|
external: number
|
|
}
|
|
|
|
export function freemem(): number
|
|
|
|
export function totalmem(): number
|
|
|
|
export function availableMemory(): number
|
|
|
|
export function constrainedMemory(): number
|
|
|
|
export function uptime(): number
|
|
|
|
export function loadavg(): ArrayLike<number>
|
|
|
|
export function cpus(): {
|
|
model: string
|
|
speed: number
|
|
times: {
|
|
user: number
|
|
nice: number
|
|
sys: number
|
|
idle: number
|
|
irq: number
|
|
}
|
|
}[]
|
|
|
|
export function getProcessTitle(): string
|
|
|
|
export function setProcessTitle(title: unknown): void
|
|
|
|
export function getPriority(pid?: number): number
|
|
|
|
export function setPriority(priority: number): void
|
|
export function setPriority(pid: number, priority: number): void
|
|
|
|
export function getEnvKeys(): string[]
|
|
|
|
export function getEnv(name: string): string | undefined
|
|
|
|
export function hasEnv(name: string): boolean
|
|
|
|
export function setEnv(name: string, value: string): void
|
|
|
|
export function unsetEnv(name: string): void
|