tftsr-devops_investigation/docs/wiki/IPC-Commands.md
Shaun Arman 52f464d8bd docs: add wiki source files and CI auto-sync pipeline
- 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>
2026-03-15 13:45:30 -05:00

6.2 KiB
Raw Blame History

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 15). 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 (15).

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