tftsr-devops_investigation/node_modules/lodash/lang.js

59 lines
2.1 KiB
JavaScript
Raw Normal View History

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-15 03:36:25 +00:00
module.exports = {
'castArray': require('./castArray'),
'clone': require('./clone'),
'cloneDeep': require('./cloneDeep'),
'cloneDeepWith': require('./cloneDeepWith'),
'cloneWith': require('./cloneWith'),
'conformsTo': require('./conformsTo'),
'eq': require('./eq'),
'gt': require('./gt'),
'gte': require('./gte'),
'isArguments': require('./isArguments'),
'isArray': require('./isArray'),
'isArrayBuffer': require('./isArrayBuffer'),
'isArrayLike': require('./isArrayLike'),
'isArrayLikeObject': require('./isArrayLikeObject'),
'isBoolean': require('./isBoolean'),
'isBuffer': require('./isBuffer'),
'isDate': require('./isDate'),
'isElement': require('./isElement'),
'isEmpty': require('./isEmpty'),
'isEqual': require('./isEqual'),
'isEqualWith': require('./isEqualWith'),
'isError': require('./isError'),
'isFinite': require('./isFinite'),
'isFunction': require('./isFunction'),
'isInteger': require('./isInteger'),
'isLength': require('./isLength'),
'isMap': require('./isMap'),
'isMatch': require('./isMatch'),
'isMatchWith': require('./isMatchWith'),
'isNaN': require('./isNaN'),
'isNative': require('./isNative'),
'isNil': require('./isNil'),
'isNull': require('./isNull'),
'isNumber': require('./isNumber'),
'isObject': require('./isObject'),
'isObjectLike': require('./isObjectLike'),
'isPlainObject': require('./isPlainObject'),
'isRegExp': require('./isRegExp'),
'isSafeInteger': require('./isSafeInteger'),
'isSet': require('./isSet'),
'isString': require('./isString'),
'isSymbol': require('./isSymbol'),
'isTypedArray': require('./isTypedArray'),
'isUndefined': require('./isUndefined'),
'isWeakMap': require('./isWeakMap'),
'isWeakSet': require('./isWeakSet'),
'lt': require('./lt'),
'lte': require('./lte'),
'toArray': require('./toArray'),
'toFinite': require('./toFinite'),
'toInteger': require('./toInteger'),
'toLength': require('./toLength'),
'toNumber': require('./toNumber'),
'toPlainObject': require('./toPlainObject'),
'toSafeInteger': require('./toSafeInteger'),
'toString': require('./toString')
};