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> |
||
|---|---|---|
| .. | ||
| dist | ||
| src | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
@emotion/cache
createCache
createCache allows for low level customization of how styles get inserted by emotion. It's intended to be used with the <CacheProvider/> component to override the default cache, which is created with sensible defaults for most applications.
import createCache from '@emotion/cache'
export const myCache = createCache({
key: 'my-prefix-key',
stylisPlugins: [
/* your plugins here */
]
})
Primary use cases
-
Using emotion in embedded contexts such as an
<iframe/> -
Setting a nonce on any
<style/>tag emotion creates for security purposes -
Using emotion with a developer defined
<style/>tag -
Using emotion with custom Stylis plugins
Options
nonce
string
A nonce that will be set on each style tag that emotion inserts for Content Security Policies.
stylisPlugins
Array<Function>
A Stylis plugins that will be run by Stylis during preprocessing. Read the Stylis docs to find out more. This can be used for many purposes such as RTL.
Note:
Prefixer is just a plugin which happens to be put in default
stylisPlugins. If you plan to use customstylisPluginsand you want to have your styles prefixed automatically you must include prefixer in your customstylisPlugins. You can importprefixerfrom thestylismodule to do that (import { prefixer } from 'stylis');
key
string (Pattern: [^a-z-])
The prefix before class names. It will also be set as the value of the data-emotion attribute on the style tags that emotion inserts and it's used in the attribute name that marks style elements in renderStylesToString and renderStylesToNodeStream. This is required if using multiple emotion caches in the same app.
container
Node
A DOM node that emotion will insert all of its style tags into. This is useful for inserting styles into iframes or windows.
prepend
boolean
A boolean representing whether to prepend rather than append style tags into the specified container DOM node.