diff --git a/README.md b/README.md index 07e739a..f892874 100644 --- a/README.md +++ b/README.md @@ -54,11 +54,11 @@ Skills compose by adoption-list order (`10123`) and trigger tags carry runtime e Didactyl will support local inference, which is very privacy preserving. Remote inference does however have it's advantages, and in those cases Didactyl supports using Bitcoin Lightning and eCash inference providers. -## Current Status — v0.2.65 +## Current Status — v0.2.66 **Active build — this project is barely working. Experiment at your own risk.** -> Last release update: v0.2.65 — Update genesis.jsonc.example: fix identity_and_rules skill content (agent name + admin npub), dm_history d_tag and content, relay lists to match all 7 defaults, add ppq.ai/routstr provider examples, add display_name to kind 0 profile +> Last release update: v0.2.66 — Add curl_easy_strerror debugging to nostr_http.c and CA bundle setup in wizard fetch_models_for_llm_config to diagnose ppq.ai /models transport error - Connects to configured relays with auto-reconnect and relay state transition logging - Publishes configured startup events per relay as each relay becomes connected diff --git a/src/main.h b/src/main.h index 56e8d27..6a1e347 100644 --- a/src/main.h +++ b/src/main.h @@ -12,8 +12,8 @@ // Using DIDACTYL_ prefix to avoid conflicts with nostr_core_lib VERSION macros #define DIDACTYL_VERSION_MAJOR 0 #define DIDACTYL_VERSION_MINOR 2 -#define DIDACTYL_VERSION_PATCH 65 -#define DIDACTYL_VERSION "v0.2.65" +#define DIDACTYL_VERSION_PATCH 66 +#define DIDACTYL_VERSION "v0.2.66" // Agent metadata #define DIDACTYL_NAME "Didactyl" diff --git a/src/setup_wizard.c b/src/setup_wizard.c index 250c055..34e0e08 100644 --- a/src/setup_wizard.c +++ b/src/setup_wizard.c @@ -1665,6 +1665,14 @@ static int fetch_models_for_llm_config(const llm_config_t* llm_cfg, cJSON** out_ if (!llm_cfg || !out_models) return -1; *out_models = NULL; + /* Ensure CA bundle is set for HTTPS requests (wizard runs before main() sets it). */ + { + const char* ca_bundle = nostr_http_detect_ca_bundle(); + if (ca_bundle && ca_bundle[0] != '\0') { + nostr_http_set_ca_bundle(ca_bundle); + } + } + if (llm_init(llm_cfg) != 0) { return -1; } @@ -1672,6 +1680,8 @@ static int fetch_models_for_llm_config(const llm_config_t* llm_cfg, cJSON** out_ char* raw = llm_list_models_json(NULL); llm_cleanup(); if (!raw) { + fprintf(stderr, " [debug] fetch_models: llm_list_models_json returned NULL (base_url=%s)\n", + llm_cfg->base_url); return -1; }