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>
204 lines
4.1 KiB
JSON
204 lines
4.1 KiB
JSON
{
|
|
"bugfix/transform-async-arrows-in-class": {
|
|
"chrome": "55",
|
|
"opera": "42",
|
|
"edge": "15",
|
|
"firefox": "52",
|
|
"safari": "11",
|
|
"node": "7.6",
|
|
"deno": "1",
|
|
"ios": "11",
|
|
"samsung": "6",
|
|
"opera_mobile": "42",
|
|
"electron": "1.6"
|
|
},
|
|
"bugfix/transform-edge-default-parameters": {
|
|
"chrome": "49",
|
|
"opera": "36",
|
|
"edge": "18",
|
|
"firefox": "52",
|
|
"safari": "10",
|
|
"node": "6",
|
|
"deno": "1",
|
|
"ios": "10",
|
|
"samsung": "5",
|
|
"opera_mobile": "36",
|
|
"electron": "0.37"
|
|
},
|
|
"bugfix/transform-edge-function-name": {
|
|
"chrome": "51",
|
|
"opera": "38",
|
|
"edge": "79",
|
|
"firefox": "53",
|
|
"safari": "10",
|
|
"node": "6.5",
|
|
"deno": "1",
|
|
"ios": "10",
|
|
"samsung": "5",
|
|
"opera_mobile": "41",
|
|
"electron": "1.2"
|
|
},
|
|
"bugfix/transform-safari-block-shadowing": {
|
|
"chrome": "49",
|
|
"opera": "36",
|
|
"edge": "12",
|
|
"firefox": "44",
|
|
"safari": "11",
|
|
"node": "6",
|
|
"deno": "1",
|
|
"ie": "11",
|
|
"ios": "11",
|
|
"samsung": "5",
|
|
"opera_mobile": "36",
|
|
"electron": "0.37"
|
|
},
|
|
"bugfix/transform-safari-for-shadowing": {
|
|
"chrome": "49",
|
|
"opera": "36",
|
|
"edge": "12",
|
|
"firefox": "4",
|
|
"safari": "11",
|
|
"node": "6",
|
|
"deno": "1",
|
|
"ie": "11",
|
|
"ios": "11",
|
|
"samsung": "5",
|
|
"rhino": "1.7.13",
|
|
"opera_mobile": "36",
|
|
"electron": "0.37"
|
|
},
|
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": {
|
|
"chrome": "49",
|
|
"opera": "36",
|
|
"edge": "14",
|
|
"firefox": "2",
|
|
"safari": "16.3",
|
|
"node": "6",
|
|
"deno": "1",
|
|
"ios": "16.3",
|
|
"samsung": "5",
|
|
"opera_mobile": "36",
|
|
"electron": "0.37"
|
|
},
|
|
"bugfix/transform-tagged-template-caching": {
|
|
"chrome": "41",
|
|
"opera": "28",
|
|
"edge": "12",
|
|
"firefox": "34",
|
|
"safari": "13",
|
|
"node": "4",
|
|
"deno": "1",
|
|
"ios": "13",
|
|
"samsung": "3.4",
|
|
"rhino": "1.7.14",
|
|
"opera_mobile": "28",
|
|
"electron": "0.21"
|
|
},
|
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining": {
|
|
"chrome": "91",
|
|
"opera": "77",
|
|
"edge": "91",
|
|
"firefox": "74",
|
|
"safari": "13.1",
|
|
"node": "16.9",
|
|
"deno": "1.9",
|
|
"ios": "13.4",
|
|
"samsung": "16",
|
|
"opera_mobile": "64",
|
|
"electron": "13.0"
|
|
},
|
|
"transform-optional-chaining": {
|
|
"chrome": "80",
|
|
"opera": "67",
|
|
"edge": "80",
|
|
"firefox": "74",
|
|
"safari": "13.1",
|
|
"node": "14",
|
|
"deno": "1",
|
|
"ios": "13.4",
|
|
"samsung": "13",
|
|
"rhino": "1.8",
|
|
"opera_mobile": "57",
|
|
"electron": "8.0"
|
|
},
|
|
"proposal-optional-chaining": {
|
|
"chrome": "80",
|
|
"opera": "67",
|
|
"edge": "80",
|
|
"firefox": "74",
|
|
"safari": "13.1",
|
|
"node": "14",
|
|
"deno": "1",
|
|
"ios": "13.4",
|
|
"samsung": "13",
|
|
"rhino": "1.8",
|
|
"opera_mobile": "57",
|
|
"electron": "8.0"
|
|
},
|
|
"transform-parameters": {
|
|
"chrome": "49",
|
|
"opera": "36",
|
|
"edge": "15",
|
|
"firefox": "52",
|
|
"safari": "10",
|
|
"node": "6",
|
|
"deno": "1",
|
|
"ios": "10",
|
|
"samsung": "5",
|
|
"opera_mobile": "36",
|
|
"electron": "0.37"
|
|
},
|
|
"transform-async-to-generator": {
|
|
"chrome": "55",
|
|
"opera": "42",
|
|
"edge": "15",
|
|
"firefox": "52",
|
|
"safari": "10.1",
|
|
"node": "7.6",
|
|
"deno": "1",
|
|
"ios": "10.3",
|
|
"samsung": "6",
|
|
"opera_mobile": "42",
|
|
"electron": "1.6"
|
|
},
|
|
"transform-template-literals": {
|
|
"chrome": "41",
|
|
"opera": "28",
|
|
"edge": "13",
|
|
"firefox": "34",
|
|
"safari": "9",
|
|
"node": "4",
|
|
"deno": "1",
|
|
"ios": "9",
|
|
"samsung": "3.4",
|
|
"opera_mobile": "28",
|
|
"electron": "0.21"
|
|
},
|
|
"transform-function-name": {
|
|
"chrome": "51",
|
|
"opera": "38",
|
|
"edge": "14",
|
|
"firefox": "53",
|
|
"safari": "10",
|
|
"node": "6.5",
|
|
"deno": "1",
|
|
"ios": "10",
|
|
"samsung": "5",
|
|
"opera_mobile": "41",
|
|
"electron": "1.2"
|
|
},
|
|
"transform-block-scoping": {
|
|
"chrome": "50",
|
|
"opera": "37",
|
|
"edge": "14",
|
|
"firefox": "53",
|
|
"safari": "10",
|
|
"node": "6",
|
|
"deno": "1",
|
|
"ios": "10",
|
|
"samsung": "5",
|
|
"opera_mobile": "37",
|
|
"electron": "1.1"
|
|
}
|
|
}
|