tflogs
ActiveTool of InsideOut (Riley)
MONITORING: Fetch Terraform deployment logs with pagination Fetches logs from a running or completed Terraform deployment job. For **completed jobs**: uses REST endpoint for instant retrieval (supports `tail` for server-side filtering). For **running jobs**: streams via SSE with timeout-based pagination. **PAGINATION** (running jobs only): Use `last_event_id` from the response to fetch more: 1. First call: `tflogs(session_id='...')` → get logs + `last_event_id` 2. Next call: `tflogs(session_id='...', last_event_id='...')` → get NEW logs only 3. Repeat until `complete: true` in response **RESPONSE FIELDS**: - `logs`: Array of log messages collected - `last_event_id`: Pass this back to get more logs (pagination cursor, SSE only) - `complete`: true if job finished, false if more logs may be available - `total_logs`: total log entries before tail truncation REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: job_id to target a specific deployment (use tfruns to discover IDs), timeout (default 50s, max 55s), last_event_id (for pagination), tail (return only last N entries) ⚠️ CONTEXT WARNING: Deploy logs can be hundreds of lines. Use tail: 50 for completed jobs to avoid blowing up the context window.
Parameters schema
{
"type": "object",
"required": [
"session_id"
],
"properties": {
"tail": {
"type": [
"null",
"integer"
],
"maximum": 10000,
"minimum": 0,
"description": "Return only the last N log entries. Use 0 (or omit) for all available entries."
},
"job_id": {
"type": "string",
"description": "Optional. Target a specific job. Use tfruns to discover job IDs. When omitted, streams the latest job for the session."
},
"timeout": {
"type": [
"null",
"integer"
],
"maximum": 55,
"minimum": 1,
"description": "Max seconds to collect logs. Default 50, max 55."
},
"session_id": {
"type": "string",
"pattern": "^sess_v2_[0-9A-Za-z]+\\?token=[0-9a-f]+$",
"description": "Session ID from convoopen — pass back EXACTLY as returned, including the ?token=... suffix (format: sess_v2_*?token=*). The suffix is part of the session credential; never strip it when summarizing."
},
"last_event_id": {
"type": "string",
"description": "Resume cursor for pagination. Pass back the last_event_id from a previous tflogs response to fetch only newer entries."
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
InsideOut (Riley)
https://github.com/luthersystems/insideout-agent-skills
2/7 registries