v0.2.64 - Skip ppq.ai balance check (not supported); fix ppq.ai base URL to /v1 for model discovery
This commit is contained in:
@@ -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.
|
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.63
|
## Current Status — v0.2.64
|
||||||
|
|
||||||
**Active build — this project is barely working. Experiment at your own risk.**
|
**Active build — this project is barely working. Experiment at your own risk.**
|
||||||
|
|
||||||
> Last release update: v0.2.63 — Fix Dockerfile: add missing tool_signer_crypto.c to static build source list
|
> Last release update: v0.2.64 — Skip ppq.ai balance check (not supported); fix ppq.ai base URL to /v1 for model discovery
|
||||||
|
|
||||||
- Connects to configured relays with auto-reconnect and relay state transition logging
|
- Connects to configured relays with auto-reconnect and relay state transition logging
|
||||||
- Publishes configured startup events per relay as each relay becomes connected
|
- Publishes configured startup events per relay as each relay becomes connected
|
||||||
|
|||||||
+2
-2
@@ -12,8 +12,8 @@
|
|||||||
// Using DIDACTYL_ prefix to avoid conflicts with nostr_core_lib VERSION macros
|
// Using DIDACTYL_ prefix to avoid conflicts with nostr_core_lib VERSION macros
|
||||||
#define DIDACTYL_VERSION_MAJOR 0
|
#define DIDACTYL_VERSION_MAJOR 0
|
||||||
#define DIDACTYL_VERSION_MINOR 2
|
#define DIDACTYL_VERSION_MINOR 2
|
||||||
#define DIDACTYL_VERSION_PATCH 63
|
#define DIDACTYL_VERSION_PATCH 64
|
||||||
#define DIDACTYL_VERSION "v0.2.63"
|
#define DIDACTYL_VERSION "v0.2.64"
|
||||||
|
|
||||||
// Agent metadata
|
// Agent metadata
|
||||||
#define DIDACTYL_NAME "Didactyl"
|
#define DIDACTYL_NAME "Didactyl"
|
||||||
|
|||||||
+8
-6
@@ -1740,15 +1740,17 @@ static int extract_balance_value(const cJSON* root, double* out_balance) {
|
|||||||
static void wizard_check_provider_balance(const llm_config_t* llm_cfg) {
|
static void wizard_check_provider_balance(const llm_config_t* llm_cfg) {
|
||||||
if (!llm_cfg || llm_cfg->base_url[0] == '\0') return;
|
if (!llm_cfg || llm_cfg->base_url[0] == '\0') return;
|
||||||
|
|
||||||
const char* paths_ppq[] = {"/credits", "/credit", "/balance", "/v1/credits"};
|
/* ppq.ai does not expose a balance/credits endpoint via API key alone. */
|
||||||
|
if (strcmp(llm_cfg->provider, "ppq") == 0) {
|
||||||
|
fprintf(stderr, " Balance check: skipped for ppq.ai\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const char* paths_routstr[] = {"/balance", "/credits", "/v1/balance"};
|
const char* paths_routstr[] = {"/balance", "/credits", "/v1/balance"};
|
||||||
const char** paths = NULL;
|
const char** paths = NULL;
|
||||||
size_t path_count = 0;
|
size_t path_count = 0;
|
||||||
|
|
||||||
if (strcmp(llm_cfg->provider, "ppq") == 0) {
|
if (strcmp(llm_cfg->provider, "routstr") == 0) {
|
||||||
paths = paths_ppq;
|
|
||||||
path_count = sizeof(paths_ppq) / sizeof(paths_ppq[0]);
|
|
||||||
} else if (strcmp(llm_cfg->provider, "routstr") == 0) {
|
|
||||||
paths = paths_routstr;
|
paths = paths_routstr;
|
||||||
path_count = sizeof(paths_routstr) / sizeof(paths_routstr[0]);
|
path_count = sizeof(paths_routstr) / sizeof(paths_routstr[0]);
|
||||||
} else {
|
} else {
|
||||||
@@ -1923,7 +1925,7 @@ static int prompt_llm_config_with_header(didactyl_config_t* cfg,
|
|||||||
char base_url[OW_MAX_URL_LEN] = {0};
|
char base_url[OW_MAX_URL_LEN] = {0};
|
||||||
if (provider_choice == '1') {
|
if (provider_choice == '1') {
|
||||||
snprintf(provider, sizeof(provider), "%s", "ppq");
|
snprintf(provider, sizeof(provider), "%s", "ppq");
|
||||||
snprintf(base_url, sizeof(base_url), "%s", "https://api.ppq.ai");
|
snprintf(base_url, sizeof(base_url), "%s", "https://api.ppq.ai/v1");
|
||||||
} else if (provider_choice == '2') {
|
} else if (provider_choice == '2') {
|
||||||
snprintf(provider, sizeof(provider), "%s", "routstr");
|
snprintf(provider, sizeof(provider), "%s", "routstr");
|
||||||
snprintf(base_url, sizeof(base_url), "%s", "https://api.routstr.com");
|
snprintf(base_url, sizeof(base_url), "%s", "https://api.routstr.com");
|
||||||
|
|||||||
Reference in New Issue
Block a user