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.
Custom dropdown with search filter and max-height scroll (220px).
Models grouped by provider with sticky group headers. Click outside
to close. Handles 60+ models without overwhelming the UI.
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.
- Add "Personalizado (usar OCID)" option in model select dropdown
- Validate OCID is required when custom model is selected
- Improve Model OCID field hint text explaining portal usage
- Show "OCID Personalizado" label in config table for custom models
- Allows using any OCI GenAI model via OCID from the portal
- 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
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.
mcpTypeFields() used getElementById('mt') but radio buttons only had name="mt",
causing all fields to disappear when switching server types. Replaced with
querySelector for checked radio. Also added loading spinners, inline messages
(replacing alert()), and state refresh after async operations in uWallet, uMcp,
lnkMcp, sOci, sGenai, sAdb, sMcp, embedFile, and embedReport.
Replace confusing table+upload card layout with individual server cards,
radio button type selector with dynamic fields, and inline actions per server.
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