- Add docs/wiki/ with 11 wiki pages (Home, Architecture, Database, AI-Providers, PII-Detection, IPC-Commands, CICD-Pipeline, Security-Model, Integrations, Development-Setup, Troubleshooting) - Add wiki-sync step to .woodpecker/test.yml: syncs docs/wiki/*.md to the Gogs wiki git repo on every push to master - Add Wiki Maintenance section to CLAUDE.md: code→wiki file mapping so Claude and contributors know which wiki page to update per change Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
6.2 KiB
IPC Commands
All backend commands are typed wrappers in src/lib/tauriCommands.ts. The Rust handlers live in src-tauri/src/commands/.
Database Commands
create_issue
createIssueCmd(title: string, description: string, severity: string, category: string) → Issue
Creates a new issue. Generates UUID v7. Returns the created Issue.
get_issue
getIssueCmd(issueId: string) → IssueDetail
Returns a nested IssueDetail — use detail.issue.title, not detail.title.
interface IssueDetail {
issue: Issue;
log_files: LogFile[];
resolution_steps: ResolutionStep[];
conversations: AiConversation[];
}
list_issues
listIssuesCmd(query: IssueListQuery) → IssueSummary[]
Paginated list. Supports filter by status, severity, category; sort by created_at/updated_at.
update_issue
updateIssueCmd(issueId: string, updates: Partial<IssueUpdate>) → IssueDetail
Partial update. Only provided fields are changed.
delete_issue
deleteIssueCmd(issueId: string) → void
Cascades: deletes log_files, pii_spans, conversations, messages, resolution_steps, documents.
search_issues
searchIssuesCmd(query: string) → IssueSummary[]
Full-text search via FTS5 virtual table on title + description.
add_five_why
addFiveWhyCmd(issueId: string, whyNumber: number, question: string, answer?: string) → FiveWhyEntry
Adds a 5-Whys entry (step 1–5). whyNumber maps to step_order.
update_five_why
updateFiveWhyCmd(entryId: string, answer: string) → void
Sets or updates the answer for an existing 5-Whys entry.
add_timeline_event
addTimelineEventCmd(issueId: string, eventType: string, description: string) → TimelineEvent
Records a timestamped event in the issue timeline.
Analysis / PII Commands
upload_log_file
uploadLogFileCmd(issueId: string, filePath: string) → LogFile
Reads the file from disk, computes SHA-256, stores metadata in DB. Returns LogFile record.
detect_pii
detectPiiCmd(logFileId: string) → PiiDetectionResult
Runs 13 PII patterns on the file content. Returns non-overlapping PiiSpan[].
interface PiiDetectionResult {
log_file_id: string;
spans: PiiSpan[];
total_found: number;
}
apply_redactions
applyRedactionsCmd(logFileId: string, approvedSpanIds: string[]) → RedactedLogFile
Rewrites file content with approved redactions. Records SHA-256 in audit log. Returns redacted content path.
AI Commands
analyze_logs
analyzeLogsCmd(issueId: string, logFileIds: string[], providerConfig: ProviderConfig) → AnalysisResult
Sends selected (redacted) log files to the AI provider with an analysis prompt.
chat_message
chatMessageCmd(issueId: string, message: string, providerConfig: ProviderConfig) → ChatResponse
Sends a message in the ongoing triage conversation. Domain system prompt is injected automatically on first message. AI response is parsed for why-level indicators (1–5).
list_providers
listProvidersCmd() → ProviderInfo[]
Returns the list of supported providers with their available models and configuration schema.
Document Commands
generate_rca
generateRcaCmd(issueId: string) → Document
Builds an RCA Markdown document from the issue data, 5-Whys answers, and timeline.
generate_postmortem
generatePostmortemCmd(issueId: string) → Document
Builds a blameless post-mortem Markdown document.
update_document
updateDocumentCmd(docId: string, contentMd: string) → Document
Saves edited Markdown content back to the database.
export_document
exportDocumentCmd(docId: string, format: 'md' | 'pdf', outputDir: string) → string
Exports document to file. Returns the absolute path of the written file. PDF generation uses printpdf.
System / Ollama Commands
check_ollama_installed
checkOllamaInstalledCmd() → OllamaStatus
Checks if Ollama is running on the configured URL (default: localhost:11434).
get_ollama_install_guide
getOllamaInstallGuideCmd(platform: string) → InstallGuide
Returns platform-specific install instructions for Ollama.
list_ollama_models
listOllamaModelsCmd() → OllamaModel[]
Lists all locally available Ollama models.
pull_ollama_model
pullOllamaModelCmd(modelName: string) → void
Downloads a model from the Ollama registry. Streams progress.
delete_ollama_model
deleteOllamaModelCmd(modelName: string) → void
Removes a model from local storage.
detect_hardware
detectHardwareCmd() → HardwareInfo
Probes CPU, RAM, GPU. Returns hardware specifications.
recommend_models
recommendModelsCmd() → ModelRecommendation[]
Returns model recommendations based on detected hardware.
interface ModelRecommendation {
name: string;
size: string; // e.g., "2.0 GB" — a String, not a number
reason: string;
}
get_settings
getSettingsCmd() → AppSettings
Reads app settings from the settings table.
update_settings
updateSettingsCmd(partial: Partial<AppSettings>) → AppSettings
Merges partial settings and persists to DB.
get_audit_log
getAuditLogCmd(filter: AuditLogFilter) → AuditEntry[]
Returns audit log entries. Filter by action, entity_type, date range.
Integration Commands (v0.2 Stubs)
All 6 integration commands currently return "not yet available" errors.
| Command | Purpose |
|---|---|
test_confluence_connection |
Verify Confluence credentials |
publish_to_confluence |
Publish RCA/postmortem to Confluence space |
test_servicenow_connection |
Verify ServiceNow credentials |
create_servicenow_incident |
Create incident from issue |
test_azuredevops_connection |
Verify Azure DevOps credentials |
create_azuredevops_workitem |
Create work item from issue |