- Add Update Network Access endpoint and UI for ADB ACL management
- Add inline prompt editor with auto-save in Terraform agent menu
- Persist resize bar positions across re-renders (Explorer + Terraform)
- Restore full Terraform session state from history (files, plan, outputs, OCI config)
- Parse free-form Resource Plan format (model often skips ```plan blocks)
- Auto-refresh resource state after Start/Stop actions
- Clear previous apply/destroy outputs on Re-plan
- Deduplicate CIS Compliance Scanner MCP server on startup
- Show ACL IPs in Explorer for Autonomous Databases
- Detect user IP via /api/oci/my-ip endpoint
- Add SQLite-based resource type validation with suggestions for invalid types
- Increase Terraform max_tokens from 32K to 100K for large infra generation
- Generate resource reference at startup to survive volume mount overwrites
- Add invalid resource type examples to system prompt (RPC peer, subnet route table)
- Add prompt size logging for Terraform agent
- Translate remaining Portuguese code comment to English
- Add 3-layer protection pipeline for model-generated Terraform code:
1. Frontend auto-split: splits monolithic HCL into multiple files by resource type
2. Backend auto-split: Python port as last defense before writing to disk
3. Backend deduplication: removes monolithic leftovers with duplicate resources
- Fix single-line block expansion to handle ALL HCL blocks (nested included):
ingress_security_rules, egress_security_rules, route_rules, match_criteria, etc.
- Add prompt size logging for terraform agent diagnostics
- Strengthen system prompt: minimum 3 files, final reminder section
Always declare variable "region", remove invalid resource types with
correct alternatives, and ensure RPC dependencies exist on both sides
before peering.
Ensure subnets always reference valid route tables, DRG attachments
point to existing resources, and RPC peering has correct peer_id
and peer_region_name configuration.
Cross-references, CIDRs, security lists, route tables, dependencies,
resource type names, valid arguments, and variable declarations must
all be verified before the model delivers any code.
- fmTf now merges new code blocks with existing S.tfFiles: updated files
are replaced by name, untouched files are preserved, new files are added
- System prompt changed: model generates ONLY the files that need fixing
instead of all 25 files, drastically reducing output size
- Prevents model from discarding existing work when correcting errors
- Inject existing workspace files + plan/apply output into Terraform chat
context so model corrects in-place instead of regenerating from scratch
- Add "REGRA CRÍTICA: Correção de Arquivos Existentes" to system prompt
requiring the model to preserve file structure and fix surgically
- Increase Terraform Agent max_tokens from 16K to 32K
- Remove "Nova conversa" button from Terraform toolbar
- Move Start/Stop Instance and ADB buttons from Terraform Resources
panel to OCI Account Explorer (instances and databases tabs)
- Remove unused _ociResOid helper and old action functions
Change the system prompt from "single file by default" to "multiple files
by default" organized by function (variables.tf, networking.tf, compute.tf,
etc.), which was causing the model to only generate 1-2 files.
- Add dropdown menu (⋮) in Terraform toolbar with "Atualizar Referência TF" button
- Remove standalone reference-status API endpoint, keep only refresh-reference
- Button triggers `terraform providers schema -json` regeneration with progress feedback
- Shows line count and update timestamp after successful refresh
- Update README with new line counts
- Add gen_tf_reference.py to generate OCI Terraform provider resource catalog (~937 resources) from `terraform providers schema -json`
- Auto-inject categorized resource reference into Terraform Agent system prompt to prevent invalid resource type names
- Build-time reference generation in Dockerfile, refreshable via POST /api/terraform/refresh-reference
- Provider alias detection with brace-matching parser for multi-region deployments
- Clean old .tf files before writing new ones on Re-plan
- Message timestamps in terraform chat and history
- Partial DOM rendering to eliminate screen flickering
- Layout overflow fix (no scroll beyond viewport)
Add Terraform Agent tab with AI-powered IaC generation (plan/apply/destroy lifecycle,
workspace management, compartment selection, Terraform CLI v1.7.5 in container).
Expand OCI Explorer from 6 to 40+ resource types across 8 categories with tree-view
navigation and resizable panels. Add compartment filtering and error tracking to MCP
CIS server, increase tool timeout to 30min with auto-retry. Add chat sidebar, chat
audit logs, and tune memory compaction (6K threshold, 20 recent messages). Trim model
catalog from 69 to 15 curated models. Update README for v2.1.
Keep only the best model per provider family (Meta, Google, OpenAI, xAI).
Remove Codex variants, Image/Audio/Search models, ProtectAI, and redundant
versions. GPT-4.1 is now pre-selected when creating a new GenAI config.
Async chat processing eliminates 504 timeouts - POST returns immediately,
backend processes in background, frontend polls for results with timestamps.
Scale to ~12 simultaneous chats via 8 uvicorn workers + 16-thread executor.
Parallelized MCP data collection, 2h session cache, 5min tool timeout.
Full dead code cleanup across backend, frontend, MCP, docker, and nginx.
Add image/PDF/text file upload in chat via new /api/chat/upload endpoint
with OCI GenAI ImageContent and DocumentContent support. Frontend shows
attach button, file preview, and handles multipart upload seamlessly.
Add optional regions parameter to all CIS MCP scan tools for targeting
specific OCI regions instead of full tenancy. Session cache scoped by
config+regions for concurrent multi-region scans.
Add orphaned report auto-detection on progress poll (marks as failed if
process not found). Increase nginx proxy timeout to 15 minutes. Improve
$api error handling for non-JSON responses (504 HTML pages).
Update README to v1.9.
Replace lightweight cis_runner.py with Oracle's official cis_reports.py engine
(6660 lines, 48 CIS + 11 OBP checks). Add granular execution parameters (Level,
OBP, Raw Data, Redact), per-report file storage with category browser, tenancy
filter in Downloads, and individual file download.
Add CIS Engine auto-update: check/download latest cis_reports.py from Oracle's
GitHub repo with automatic patch reapplication (admin UI card + 3 new endpoints).
Save engine version to app_settings on startup.
Update README to v1.8 with new features, API endpoints, and versioning table.
GPT-5.2 Pro and its dated variant only support the Responses API,
not Chat Completions. OCI GenAI uses chat/completions internally,
causing a 400 error. Also trim debug log to a shorter format.
Remove temperature, max_tokens, top_p, top_k, frequency/presence
penalty fields from the GenAI Config tab. That tab is now focused
on adding custom models not in the catalog.
Parameters are now managed exclusively in the Chat tab via the
collapsible gear panel, available for both direct models and saved
configs. Inline params override stored defaults when using presets.
Users can now pick any model from the full catalog directly in the Chat
tab using optgroups by provider (OpenAI, Google, Meta, Cohere, xAI),
without needing to pre-configure it in GenAI Config. OCI credentials,
region, and compartment auto-fill from the selected credential.
A collapsible parameters panel (temperature, max_tokens, top_p, top_k,
frequency/presence penalty) is available via the gear icon.
Saved GenAI configs still appear at the top of the dropdown as presets.
OpenAI models reject 'max_tokens' and require 'max_completion_tokens'.
Also skip 'top_k' for OpenAI as it is unsupported. Detection is based
on the provider field in the model catalog.
Models like OpenAI GPT-5.2 require the full OCID rather than the short
model_id. The catalog now maps model IDs to OCIDs per region (us-ashburn-1).
_call_genai and _embed_text resolve the OCID for the configured region
at runtime, falling back to short model_id for unmapped regions.
New models added from OCI portal: GPT-5.3/5.2/5.1/5 Codex, GPT Image
1/1.5, Llama Guard 4, ProtectAI DeBERTa, OpenAI Text Embedding 3
Large/Small. Total: 69 chat + 11 embedding models.
Add all models available in OCI GenAI Ashburn region including
OpenAI GPT-5.2/5.1/5/4.1/4o, o1/o3/o4-mini, GPT Audio,
xAI Grok 4.1/4 reasoning/non-reasoning variants, and update
README with complete model table and Model IDs.
- Add PUT endpoints for editing OCI, GenAI, ADB, and MCP configurations
- Add edit buttons in all config tables with inline form pre-fill
- Add OpenAI GPT-oss 120B and 20B models to GenAI catalog
- Add Cohere Embed v4.0 (Multimodal, 1536d) to embedding catalog
- Update OCI list endpoint to return user_ocid and fingerprint for editing
- Add S.editing state management with cancel support
- Bump version to 1.4
Added stdin=subprocess.DEVNULL to OCI CLI subprocess call so it fails fast
instead of hanging when a passphrase prompt would occur. Added detection of
encrypted PEM keys at upload time — rejects with clear error message if
passphrase is missing. Improved error message when passphrase-related
errors are detected during test.
Private keys with passphrase caused EOFError in Docker containers since
getpass cannot prompt without a TTY. Added optional "Key Passphrase" field
to OCI credentials form. When provided, pass_phrase is written to the OCI
config file so both the CLI and SDK can read the key without prompting.
Backend: new config_logs table with _config_log() helper, instrumented across
all test/save/upload/report/ingest endpoints (OCI, GenAI, ADB, MCP). Added
GET/DELETE /api/config-logs with filtering by type, severity, and auto-cleanup
of logs older than 30 days.
Frontend: inline "Log de Atividades" panel at the bottom of each config tab
(OCI, GenAI, ADB, MCP) with severity filter dropdown. Replaced all remaining
alert() calls in test functions with inline sm() messages. GenAI config now
auto-fills Region and Compartment OCID when selecting an OCI credential.
Add a new Embeddings menu in the sidebar for managing vector embeddings
separately from ADB config. Supports embedding CIS reports (chunked by
section) and uploading .txt files (chunked by paragraphs). Includes
listing and deleting individual embeddings from the ADB vector store.
- Add _chunk_report_by_section() for CIS report sectional chunking
- Add _chunk_text_file() for paragraph-based text chunking
- Add POST /api/embeddings/report/{rid} endpoint
- Add POST /api/embeddings/upload endpoint (multipart)
- Add GET /api/embeddings/{vid}/list with pagination
- Add DELETE /api/embeddings/{vid}/{doc_id}
- Add Embeddings tab in frontend with 3 cards (list, report, upload)
- Remove ingestion section from ADB Vector tab