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>
70 lines
1.0 KiB
TypeScript
70 lines
1.0 KiB
TypeScript
export {
|
||
// Type-only exports
|
||
AcceptedPlugin,
|
||
|
||
AnyNode,
|
||
atRule,
|
||
AtRule,
|
||
AtRuleProps,
|
||
Builder,
|
||
ChildNode,
|
||
ChildProps,
|
||
comment,
|
||
Comment,
|
||
CommentProps,
|
||
Container,
|
||
ContainerProps,
|
||
CssSyntaxError,
|
||
decl,
|
||
Declaration,
|
||
DeclarationProps,
|
||
// postcss function / namespace
|
||
default,
|
||
document,
|
||
Document,
|
||
DocumentProps,
|
||
FilePosition,
|
||
fromJSON,
|
||
Helpers,
|
||
Input,
|
||
|
||
JSONHydrator,
|
||
// This is a class, but it’s not re-exported. That’s why it’s exported as type-only here.
|
||
type LazyResult,
|
||
list,
|
||
Message,
|
||
Node,
|
||
NodeErrorOptions,
|
||
NodeProps,
|
||
OldPlugin,
|
||
parse,
|
||
Parser,
|
||
// @ts-expect-error This value exists, but it’s untyped.
|
||
plugin,
|
||
Plugin,
|
||
PluginCreator,
|
||
Position,
|
||
Postcss,
|
||
ProcessOptions,
|
||
Processor,
|
||
Result,
|
||
root,
|
||
Root,
|
||
RootProps,
|
||
rule,
|
||
Rule,
|
||
RuleProps,
|
||
Source,
|
||
SourceMap,
|
||
SourceMapOptions,
|
||
Stringifier,
|
||
// Value exports from postcss.mjs
|
||
stringify,
|
||
Syntax,
|
||
TransformCallback,
|
||
Transformer,
|
||
Warning,
|
||
|
||
WarningOptions
|
||
} from './postcss.js'
|