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>
248 lines
9.2 KiB
TypeScript
248 lines
9.2 KiB
TypeScript
import pkg from '../package.json';
|
|
import type { Questionnair } from './types.js';
|
|
export { pkg };
|
|
export declare const colorItBold: import("chalk").ChalkInstance;
|
|
export declare const colorIt: import("chalk").ChalkInstance;
|
|
export type PACKAGE_MANAGER = 'npm' | 'pnpm' | 'yarn' | 'bun';
|
|
export declare const DEFAULT_NPM_TAG = "latest";
|
|
export declare const ASCII_ROBOT = "\n -:...........................-:.\n + +\n `` + `...` `...` + `\n ./+/ + .:://:::` `::///::` ` + ++/.\n .+oo+ + /:+ooo+-/ /-+ooo+-/ ./ + +oo+.\n -ooo+ + /-+ooo+-/ /-+ooo+-/ .: + +ooo.\n -+o+ + `::///:-` `::///::` + +o+-\n ``. /. ````` ````` .: .``\n .----------------------------.\n `-::::::::::::::::::::::::::::::::::::::::-`\n .+oooo/:------------------------------:/oooo+.\n `.--/oooo- :oooo/--.`\n .::-``:oooo` .oooo-``-::.\n ./-` -oooo`--.: :.-- .oooo- `-/.\n -/` `-/oooo////////////////////////////////////oooo/.` `/-\n`+` `/+oooooooooooooooooooooooooooooooooooooooooooooooo+:` .+`\n-/ +o/.:oooooooooooooooooooooooooooooooooooooooooooo:-/o/ +.\n-/ .o+ -oooosoooososssssooooo------------------:oooo- `oo` +.\n-/ .o+ -oooodooohyyssosshoooo` .oooo- oo. +.\n-/ .o+ -oooodooysdooooooyyooo` `.--.`` .:::-oooo- oo. +.\n-/ .o+ -oooodoyyodsoooooyyooo.//-..-:/:.`.//.`./oooo- oo. +.\n-/ .o+ -oooohsyoooyysssysoooo+-` `-:::. .oooo- oo. +.\n-/ .o+ -ooooosooooooosooooooo+//////////////////oooo- oo. +.\n-/ .o+ -oooooooooooooooooooooooooooooooooooooooooooo- oo. +.\n-/ .o+ -oooooooooooooooooooooooooooooooooooooooooooo- oo. +.\n-+////o+` -oooo---:///:----://::------------------:oooo- `oo////+-\n+ooooooo/`-oooo``:-```.:`.:.`.+/- .::::::::::` .oooo-`+ooooooo+\noooooooo+`-oooo`-- `/` .:+ -/-`/` .:::::::::: .oooo-.+oooooooo\n+-/+://-/ -oooo-`:`.o-`:.:-````.: .///:`````` -oooo-`/-//:+:-+\n: :..--:-:.+ooo+/://o+/-.-:////:-....-::::-....--/+ooo+.:.:--.-- /\n- /./`-:-` .:///+/ooooo/+///////////////+++ooooo/+///:. .-:.`+./ :\n:-:/. :`ooooo`/` .:.ooooo : ./---\n :`ooooo`/` .:.ooooo :\n :`ooooo./` .:-ooooo :\n :`ooooo./` .:-ooooo :\n `...:-+++++:/. ./:+++++-:...`\n :-.````````/../ /.-:````````.:-\n -/::::::::://:/+ `+/:+::::::::::+.\n :oooooooooooo++/ +++oooooooooooo-\n";
|
|
export declare const PROGRAM_TITLE: string;
|
|
export declare const UNSUPPORTED_NODE_VERSION: string;
|
|
export declare const INSTALL_COMMAND: Record<PACKAGE_MANAGER, string>;
|
|
export declare const EXECUTER: Record<PACKAGE_MANAGER, string>;
|
|
export declare const EXECUTE_COMMAND: Record<PACKAGE_MANAGER, string>;
|
|
export declare const DEV_FLAG: Record<PACKAGE_MANAGER, string>;
|
|
export declare const SUPPORTED_PACKAGE_MANAGERS: PACKAGE_MANAGER[];
|
|
export declare const CONFIG_HELPER_INTRO = "\n===============================\n\uD83E\uDD16 WDIO Configuration Wizard \uD83E\uDDD9\n===============================\n";
|
|
export declare const CLI_EPILOGUE: string;
|
|
/**
|
|
* We have to use a string hash for value because InquirerJS default values do not work if we have
|
|
* objects as a `value` to be stored from the user's answers.
|
|
*/
|
|
export declare const SUPPORTED_PACKAGES: {
|
|
runner: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
framework: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
reporter: ({
|
|
name: string;
|
|
value: string;
|
|
checked: boolean;
|
|
} | {
|
|
name: string;
|
|
value: string;
|
|
checked?: undefined;
|
|
})[];
|
|
plugin: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
service: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
};
|
|
export declare const configHelperSuccessMessage: ({ projectRootDir, runScript, extraInfo }: {
|
|
projectRootDir: string;
|
|
runScript: string;
|
|
extraInfo: string;
|
|
}) => string;
|
|
export declare const isNuxtProject: boolean;
|
|
export declare const SUPPORTED_CONFIG_FILE_EXTENSION: string[];
|
|
export declare const CONFIG_HELPER_SERENITY_BANNER = "\nLearn more about Serenity/JS:\n \uD83D\uDD17 https://serenity-js.org/\n \uD83D\uDD17 https://serenity-js.org/handbook/test-runners/webdriverio/\n";
|
|
export declare function usesSerenity(answers: Questionnair): boolean;
|
|
declare enum ProtocolOptions {
|
|
HTTPS = "https",
|
|
HTTP = "http"
|
|
}
|
|
export declare enum BackendChoice {
|
|
Local = "On my local machine",
|
|
Experitest = "In the cloud using Experitest",
|
|
Saucelabs = "In the cloud using Sauce Labs",
|
|
Browserstack = "In the cloud using BrowserStack",
|
|
OtherVendors = "In the cloud using Testingbot or LambdaTest or a different service",
|
|
Grid = "I have my own Selenium cloud"
|
|
}
|
|
export declare enum RegionOptions {
|
|
US = "us",
|
|
EU = "eu"
|
|
}
|
|
export declare enum ElectronBuildToolChoice {
|
|
ElectronForge = "Electron Forge (https://www.electronforge.io/)",
|
|
ElectronBuilder = "electron-builder (https://www.electron.build/)",
|
|
SomethingElse = "Something else"
|
|
}
|
|
export declare const SUPPORTED_BROWSER_RUNNER_PRESETS: ({
|
|
name: string;
|
|
value: string;
|
|
} | {
|
|
name: string;
|
|
value: null;
|
|
})[];
|
|
declare function isBrowserRunner(answers: Questionnair): boolean;
|
|
export declare const TESTING_LIBRARY_PACKAGES: Record<string, string>;
|
|
export declare const E2E_ENVIRONMENTS: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
export declare const MOBILE_ENVIRONMENTS: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
export declare const BROWSER_ENVIRONMENTS: ({
|
|
name: string;
|
|
value: string;
|
|
checked: boolean;
|
|
} | {
|
|
name: string;
|
|
value: string;
|
|
checked?: undefined;
|
|
})[];
|
|
export declare const QUESTIONNAIRE: ({
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
when?: undefined;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: ({
|
|
name: string;
|
|
value: string;
|
|
} | {
|
|
name: string;
|
|
value: null;
|
|
})[];
|
|
when: typeof isBrowserRunner;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
default: boolean;
|
|
when: (answers: Questionnair) => string | false | undefined;
|
|
choices?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: ElectronBuildToolChoice[];
|
|
when: (answers: Questionnair) => boolean;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: BackendChoice[];
|
|
when: (answers: Questionnair) => boolean;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
default: string;
|
|
when: (answers: Questionnair) => boolean;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
when: (answers: Questionnair) => boolean | undefined;
|
|
choices?: undefined;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
default: string;
|
|
when: (answers: Questionnair) => boolean | undefined;
|
|
choices?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
default: ProtocolOptions;
|
|
choices: ProtocolOptions[];
|
|
when: (answers: Questionnair) => boolean;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: RegionOptions[];
|
|
when: (answers: Questionnair) => boolean;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
default: boolean;
|
|
when: (answers: Questionnair) => boolean;
|
|
choices?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: (answers: Questionnair) => {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
when?: undefined;
|
|
default?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
when: (answers: Questionnair) => boolean;
|
|
default: (answers: Questionnair) => true | Promise<boolean>;
|
|
choices?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
default: (answers: Questionnair) => Promise<string>;
|
|
when: (answers: Questionnair) => boolean | undefined;
|
|
choices?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
default: never[];
|
|
when?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: string;
|
|
choices: (answers: Questionnair) => ({
|
|
name: string;
|
|
value: string;
|
|
} | undefined)[];
|
|
default: (answers: Questionnair) => string[];
|
|
when?: undefined;
|
|
} | {
|
|
type: string;
|
|
name: string;
|
|
message: () => string;
|
|
default: boolean;
|
|
choices?: undefined;
|
|
when?: undefined;
|
|
})[];
|
|
export declare const COMMUNITY_PACKAGES_WITH_TS_SUPPORT: string[];
|
|
export declare const DEPENDENCIES_INSTALLATION_MESSAGE = "\nTo install dependencies, execute:\n%s\n";
|
|
//# sourceMappingURL=constants.d.ts.map
|