ticket: https://bukittechnology.atlassian.net/browse/KM-475
- Rename env vars: VITE_API_BASE_URL → VITE_AGENTIC_API_BASE_URL,
VITE_INTERVIEW_API_BASE_URL → VITE_ORCHESTRATION_API_BASE_URL
(applied to .env, .env.example, server.js)
- Split base URL routing in api.ts: all orchestration endpoints
(auth, rooms, documents, DB clients, data catalog) now use
VITE_ORCHESTRATION_API_BASE_URL; only streamChat() uses
VITE_AGENTIC_API_BASE_URL
- Fix envelope unwrapping: all /api/v1/* responses are wrapped in
{ status, message, data } — add .then(res => res.data ?? []) to
getRooms, getRoom, getDocuments, getDatabaseClients,
getDatabaseClientTypes, connectDatabase, ingestDatabaseClient
- Fix request format: processDocument and deleteDocument now send
JSON body instead of query params; connectDatabase moves user_id
into request body; uploadDocument moves user_id into FormData field
- Fix type mismatches: DocumentStatus "pending" → "uploaded",
MessageResponse.stage adds "in_prog…
[KM-476] [DED][FE] Knowledge (Document and DB) Flow Page
ticket: https://bukittechnology.atlassian.net/browse/KM-476
- Implement connectDatabase, getDatabaseClientTypes, getDatabaseClients,
deleteDatabaseClient, and ingestDatabaseClient in api.ts with correct
request/response shapes per API contract
- Add DbTypeField, DbTypeInfo, DatabaseClient, and IngestResponse types;
remove placeholder PostgresCredentials and ConnectDatabaseResponse
- Replace hard-coded DB_TYPES with dynamic fetch from GET /dbtypes endpoint
- Add "Connection Name" required field to credentials form
- Render form fields dynamically from API schema (supports all db_type variants:
postgres, mysql, supabase, sqlserver, bigquery, snowflake)
- Refresh connection list from GET /database-clients/{user_id} after connect
to confirm persisted data from backend
- Add "Databases" section in main view listing connected clients with
Ingest and Delete actions per connection