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>
96 lines
2.6 KiB
TypeScript
96 lines
2.6 KiB
TypeScript
import { MenuItemBase } from './base';
|
|
import { Image } from '../image';
|
|
/** A metadata for the about predefined menu item. */
|
|
export interface AboutMetadata {
|
|
/** Sets the application name. */
|
|
name?: string;
|
|
/** The application version. */
|
|
version?: string;
|
|
/**
|
|
* The short version, e.g. "1.0".
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **Windows / Linux:** Appended to the end of `version` in parentheses.
|
|
*/
|
|
shortVersion?: string;
|
|
/**
|
|
* The authors of the application.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **macOS:** Unsupported.
|
|
*/
|
|
authors?: string[];
|
|
/**
|
|
* Application comments.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **macOS:** Unsupported.
|
|
*/
|
|
comments?: string;
|
|
/** The copyright of the application. */
|
|
copyright?: string;
|
|
/**
|
|
* The license of the application.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **macOS:** Unsupported.
|
|
*/
|
|
license?: string;
|
|
/**
|
|
* The application website.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **macOS:** Unsupported.
|
|
*/
|
|
website?: string;
|
|
/**
|
|
* The website label.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **macOS:** Unsupported.
|
|
*/
|
|
websiteLabel?: string;
|
|
/**
|
|
* The credits.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **Windows / Linux:** Unsupported.
|
|
*/
|
|
credits?: string;
|
|
/**
|
|
* The application icon.
|
|
*
|
|
* #### Platform-specific
|
|
*
|
|
* - **Windows:** Unsupported.
|
|
*/
|
|
icon?: string | Uint8Array | ArrayBuffer | number[] | Image;
|
|
}
|
|
/** Options for creating a new predefined menu item. */
|
|
export interface PredefinedMenuItemOptions {
|
|
/** The text of the new predefined menu item. */
|
|
text?: string;
|
|
/** The predefined item type */
|
|
item: 'Separator' | 'Copy' | 'Cut' | 'Paste' | 'SelectAll' | 'Undo' | 'Redo' | 'Minimize' | 'Maximize' | 'Fullscreen' | 'Hide' | 'HideOthers' | 'ShowAll' | 'CloseWindow' | 'Quit' | 'Services' | {
|
|
About: AboutMetadata | null;
|
|
};
|
|
}
|
|
/** A predefined (native) menu item which has a predefined behavior by the OS or by tauri. */
|
|
export declare class PredefinedMenuItem extends MenuItemBase {
|
|
/** @ignore */
|
|
protected constructor(rid: number, id: string);
|
|
/** Create a new predefined menu item. */
|
|
static new(opts?: PredefinedMenuItemOptions): Promise<PredefinedMenuItem>;
|
|
/** Returns the text of this predefined menu item. */
|
|
text(): Promise<string>;
|
|
/** Sets the text for this predefined menu item. */
|
|
setText(text: string): Promise<void>;
|
|
}
|