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>
83 lines
2.0 KiB
JSON
83 lines
2.0 KiB
JSON
{
|
|
"name": "commander",
|
|
"version": "14.0.3",
|
|
"description": "the complete solution for node.js command-line programs",
|
|
"keywords": [
|
|
"commander",
|
|
"command",
|
|
"option",
|
|
"parser",
|
|
"cli",
|
|
"argument",
|
|
"args",
|
|
"argv"
|
|
],
|
|
"author": "TJ Holowaychuk <tj@vision-media.ca>",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/tj/commander.js.git"
|
|
},
|
|
"scripts": {
|
|
"check": "npm run check:type && npm run check:lint && npm run check:format",
|
|
"check:format": "prettier --check .",
|
|
"check:lint": "eslint .",
|
|
"check:type": "npm run check:type:js && npm run check:type:ts",
|
|
"check:type:ts": "tsd && tsc -p tsconfig.ts.json",
|
|
"check:type:js": "tsc -p tsconfig.js.json",
|
|
"fix": "npm run fix:lint && npm run fix:format",
|
|
"fix:format": "prettier --write .",
|
|
"fix:lint": "eslint --fix .",
|
|
"test": "jest && npm run check:type:ts",
|
|
"test-all": "jest && npm run test-esm && npm run check",
|
|
"test-esm": "node ./tests/esm-imports-test.mjs"
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"lib/*.js",
|
|
"esm.mjs",
|
|
"typings/index.d.ts",
|
|
"typings/esm.d.mts",
|
|
"package-support.json"
|
|
],
|
|
"type": "commonjs",
|
|
"main": "./index.js",
|
|
"exports": {
|
|
".": {
|
|
"require": {
|
|
"types": "./typings/index.d.ts",
|
|
"default": "./index.js"
|
|
},
|
|
"import": {
|
|
"types": "./typings/esm.d.mts",
|
|
"default": "./esm.mjs"
|
|
},
|
|
"default": "./index.js"
|
|
},
|
|
"./esm.mjs": {
|
|
"types": "./typings/esm.d.mts",
|
|
"import": "./esm.mjs"
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.4.0",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/node": "^22.7.4",
|
|
"eslint": "^9.17.0",
|
|
"eslint-config-prettier": "^10.0.1",
|
|
"eslint-plugin-jest": "^29.0.1",
|
|
"globals": "^16.0.0",
|
|
"jest": "^30.0.3",
|
|
"prettier": "^3.2.5",
|
|
"ts-jest": "^29.0.3",
|
|
"tsd": "^0.33.0",
|
|
"typescript": "^5.0.4",
|
|
"typescript-eslint": "^8.12.2"
|
|
},
|
|
"types": "typings/index.d.ts",
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"support": true
|
|
}
|