tftsr-devops_investigation/node_modules/extract-zip/package.json
Shaun Arman 8839075805 feat: initial implementation of TFTSR IT Triage & RCA application
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>
2026-03-14 22:36:25 -05:00

81 lines
1.8 KiB
JSON

{
"name": "extract-zip",
"version": "2.0.1",
"description": "unzip a zip file into a directory using 100% javascript",
"main": "index.js",
"types": "index.d.ts",
"bin": {
"extract-zip": "cli.js"
},
"scripts": {
"ava": "ava",
"coverage": "nyc ava",
"lint": "yarn lint:js && yarn lint:ts && yarn tsd",
"lint:js": "eslint .",
"lint:ts": "eslint --config .eslintrc.typescript.js --ext .ts .",
"test": "yarn lint && ava",
"tsd": "tsd"
},
"files": [
"cli.js",
"index.d.ts"
],
"author": "max ogden",
"license": "BSD-2-Clause",
"repository": "maxogden/extract-zip",
"keywords": [
"unzip",
"zip",
"extract"
],
"engines": {
"node": ">= 10.17.0"
},
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
"yauzl": "^2.10.0"
},
"optionalDependencies": {
"@types/yauzl": "^2.9.1"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^3.2.0",
"@typescript-eslint/parser": "^3.2.0",
"ava": "^3.5.1",
"eslint": "^7.2.0",
"eslint-config-standard": "^14.1.1",
"eslint-plugin-ava": "^10.2.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
"fs-extra": "^9.0.0",
"husky": "^4.2.3",
"lint-staged": "^10.0.9",
"nyc": "^15.0.0",
"tsd": "^0.11.0",
"typescript": "^3.8.3"
},
"eslintConfig": {
"extends": [
"eslint:recommended",
"plugin:ava/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:node/recommended",
"plugin:promise/recommended",
"standard"
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.js": "yarn lint:js --fix",
"*.ts": "yarn lint:ts --fix"
}
}