ref(ai): remove org_id from provider configuration
Some checks failed
CI Code / Code Coverage (pull_request) Failing after 10m47s
CI Code / Check spelling (pull_request) Failing after 10m58s
CI Code / Check coding style (pull_request) Failing after 11m10s
CI Code / Linux (ubuntu) (pull_request) Failing after 11m30s
CI Code / Linux (debian) (pull_request) Failing after 11m42s
CI Code / Linux (arch) (pull_request) Failing after 11m54s

The org_id field was removed from AIProvider as it was no longer
populated through the command surface. The /ai set org command was
previously removed, leaving org_id as dead code.

This change removes org_id from:
- AIProvider struct definition
- ai_provider_new() and ai_provider_unref()
- ai_add_provider() API signature
- _build_curl_headers() (OpenAI-Organization header)
- cmd_ai_set() and cmd_ai_providers()
- All unit tests
This commit is contained in:
2026-05-11 22:58:39 +00:00
parent b1dbe714e8
commit 6fe8c370df
4 changed files with 25 additions and 43 deletions

View File

@@ -190,12 +190,11 @@ ai_json_escape(const gchar* str)
* ======================================================================== */
static AIProvider*
ai_provider_new(const gchar* name, const gchar* api_url, const gchar* org_id)
ai_provider_new(const gchar* name, const gchar* api_url)
{
AIProvider* provider = g_new0(AIProvider, 1);
provider->name = g_strdup(name);
provider->api_url = g_strdup(api_url ? api_url : "");
provider->org_id = g_strdup(org_id);
provider->project_id = NULL;
provider->default_model = NULL;
provider->settings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
@@ -226,7 +225,6 @@ ai_provider_unref(AIProvider* provider)
g_free(provider->name);
g_free(provider->api_url);
g_free(provider->org_id);
g_free(provider->project_id);
g_free(provider->default_model);
g_hash_table_destroy(provider->settings);
@@ -284,8 +282,8 @@ ai_client_init(void)
providers_ac = autocomplete_new();
/* Add default providers */
ai_add_provider("openai", DEFAULT_OPENAI_URL, NULL);
ai_add_provider("perplexity", DEFAULT_PERPLEXITY_URL, NULL);
ai_add_provider("openai", DEFAULT_OPENAI_URL);
ai_add_provider("perplexity", DEFAULT_PERPLEXITY_URL);
/* Load saved API keys from config */
ai_load_keys();
@@ -332,7 +330,7 @@ ai_get_provider(const gchar* name)
}
AIProvider*
ai_add_provider(const gchar* name, const gchar* api_url, const gchar* org_id)
ai_add_provider(const gchar* name, const gchar* api_url)
{
if (!name || !api_url)
return NULL;
@@ -347,14 +345,12 @@ ai_add_provider(const gchar* name, const gchar* api_url, const gchar* org_id)
/* Update existing provider */
g_free(existing->api_url);
existing->api_url = g_strdup(api_url);
g_free(existing->org_id);
existing->org_id = g_strdup(org_id);
log_info("Updated provider: %s", name);
return ai_provider_ref(existing);
}
/* Create new provider (ref_count=1 owned by hash table) */
AIProvider* provider = ai_provider_new(name, api_url, org_id);
AIProvider* provider = ai_provider_new(name, api_url);
g_hash_table_insert(providers, g_strdup(name), provider);
/* Sync autocomplete */
@@ -567,7 +563,7 @@ typedef struct
} ai_request_t;
/**
* Build curl headers with auth and optional org header.
* Build curl headers with auth.
* Returns headers list (caller must free with curl_slist_free_all).
*/
static struct curl_slist*
@@ -578,11 +574,6 @@ _build_curl_headers(AIProvider* provider, const gchar* api_key)
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, auth_header);
if (provider && provider->org_id && strlen(provider->org_id) > 0) {
auto_gchar gchar* org_header = g_strdup_printf("OpenAI-Organization: %s", provider->org_id);
headers = curl_slist_append(headers, org_header);
}
return headers;
}