From 97868b7ed2284d9cba504c65ce5ff75fd0117f28 Mon Sep 17 00:00:00 2001 From: Didactyl User Date: Thu, 9 Apr 2026 11:14:35 -0400 Subject: [PATCH] v0.2.35 - Remove top-level dm_protocol from genesis configs and set user-settings kind 30078 dm_protocol to both --- README.md | 4 ++-- genesis.jsonc.example | 6 +----- genesis.lt.didactyl.jsonc | 6 +----- genesis.lt.simon.jsonc | 5 +---- src/main.h | 4 ++-- tests/configs/test_genesis.jsonc | 8 +++++++- tests/configs/test_genesis.jsonc.example | 8 +++++++- 7 files changed, 21 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 3e0f11a..ebdd9a7 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.34 +## Current Status — v0.2.35 **Active build — this project is barely working. Experiment at your own risk.** -> Last release update: v0.2.34 — Remove since filter from kind 1059 DM subscription to fix NIP-17 gift-wrap receive - randomized created_at on gift wraps was being filtered out by g_start_time +> Last release update: v0.2.35 — Remove top-level dm_protocol from genesis configs and set user-settings kind 30078 dm_protocol to both - 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/genesis.jsonc.example b/genesis.jsonc.example index 9368d5e..185d23b 100644 --- a/genesis.jsonc.example +++ b/genesis.jsonc.example @@ -14,17 +14,13 @@ "pubkey": "npub1REPLACE_WITH_ADMIN_PUBKEY" }, - // ─── DM Protocol ─────────────────────────────────────────────────── - // Supported values: "nip04", "nip17", or "both". - "dm_protocol": "nip04", - // ─── Encrypted Startup Config Events ─────────────────────────────── // These are published as NIP-44 encrypted kind 30078 self-events on first run. "encrypted_events": [ { "kind": 30078, "d_tag": "user-settings", - "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"openai\",\"api_key\":\"sk-REPLACE_WITH_API_KEY\",\"model\":\"gpt-4o-mini\",\"base_url\":\"https://api.openai.com/v1\",\"max_tokens\":512,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1REPLACE_WITH_ADMIN_PUBKEY\",\"dm_protocol\":\"nip04\",\"max_turns\":40}}" + "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"openai\",\"api_key\":\"sk-REPLACE_WITH_API_KEY\",\"model\":\"gpt-4o-mini\",\"base_url\":\"https://api.openai.com/v1\",\"max_tokens\":512,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1REPLACE_WITH_ADMIN_PUBKEY\",\"dm_protocol\":\"both\",\"max_turns\":40}}" } ], diff --git a/genesis.lt.didactyl.jsonc b/genesis.lt.didactyl.jsonc index a17b12a..b8f049f 100644 --- a/genesis.lt.didactyl.jsonc +++ b/genesis.lt.didactyl.jsonc @@ -11,10 +11,6 @@ "pubkey": "npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06" }, - // ─── DM Protocol ────────────────────────────────────────────────── - // Supported values: "nip04", "nip17", or "both". - "dm_protocol": "nip04", - // ─── HTTP Admin API ─────────────────────────────────────────────── // Local API for model/context inspection and runtime controls. "api": { @@ -29,7 +25,7 @@ { "kind": 30078, "d_tag": "user-settings", - "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"ppq\",\"api_key\":\"sk-LshAWvFC0KOFgrUYiP6NmT\",\"model\":\"claude-opus-4.6\",\"base_url\":\"https://api.ppq.ai\",\"max_tokens\":200000,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06\",\"dm_protocol\":\"nip04\",\"max_turns\":40}}" + "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"ppq\",\"api_key\":\"sk-LshAWvFC0KOFgrUYiP6NmT\",\"model\":\"claude-opus-4.6\",\"base_url\":\"https://api.ppq.ai\",\"max_tokens\":200000,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06\",\"dm_protocol\":\"both\",\"max_turns\":40}}" } ], diff --git a/genesis.lt.simon.jsonc b/genesis.lt.simon.jsonc index 2b34c82..3b88fee 100644 --- a/genesis.lt.simon.jsonc +++ b/genesis.lt.simon.jsonc @@ -9,9 +9,6 @@ "admin": { "pubkey": "npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06" }, - // ─── DM Protocol ────────────────────────────────────────────────── - // Supported values: "nip04", "nip17", or "both". - "dm_protocol": "nip04", // ─── HTTP Admin API ─────────────────────────────────────────────── // Local API for model/context inspection and runtime controls. "api": { @@ -25,7 +22,7 @@ { "kind": 30078, "d_tag": "user-settings", - "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"ppq\",\"api_key\":\"sk-L9kd0LkZaoeaua0qqosnHy\",\"model\":\"claude-haiku-4.5\",\"base_url\":\"https://api.ppq.ai\",\"max_tokens\":512,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06\",\"dm_protocol\":\"nip04\",\"max_turns\":40}}" + "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"ppq\",\"api_key\":\"sk-L9kd0LkZaoeaua0qqosnHy\",\"model\":\"claude-haiku-4.5\",\"base_url\":\"https://api.ppq.ai\",\"max_tokens\":512,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1rmz9gu6de0m0u4ysrn39crrud099ahvfgs6pvasl4hpjr5ud7yus54xv06\",\"dm_protocol\":\"both\",\"max_turns\":40}}" } ], // ─── Startup Events ─────────────────────────────────────────────── diff --git a/src/main.h b/src/main.h index 59241fa..86fda2e 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 34 -#define DIDACTYL_VERSION "v0.2.34" +#define DIDACTYL_VERSION_PATCH 35 +#define DIDACTYL_VERSION "v0.2.35" // Agent metadata #define DIDACTYL_NAME "Didactyl" diff --git a/tests/configs/test_genesis.jsonc b/tests/configs/test_genesis.jsonc index 0215462..52dea06 100644 --- a/tests/configs/test_genesis.jsonc +++ b/tests/configs/test_genesis.jsonc @@ -7,7 +7,6 @@ "admin": { "pubkey": "npub1REPLACE_WITH_TEST_ADMIN_PUBKEY" }, - "dm_protocol": "nip04", "llm": { "provider": "https://api.ppq.ai", "api_key": "sk-SBI2Pga0J6n8jpPorHbRHC", @@ -21,6 +20,13 @@ "port": 8485, "bind_address": "127.0.0.1" }, + "encrypted_events": [ + { + "kind": 30078, + "d_tag": "user-settings", + "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"https://api.ppq.ai\",\"api_key\":\"sk-SBI2Pga0J6n8jpPorHbRHC\",\"model\":\"claude-haiku-4.5\",\"base_url\":\"https://api.ppq.ai\",\"max_tokens\":10000,\"temperature\":0.7},\"didactyl\":{\"admin_pubkey\":\"npub1REPLACE_WITH_TEST_ADMIN_PUBKEY\",\"dm_protocol\":\"both\",\"max_turns\":40}}" + } + ], "startup_events": [ { "kind": 0, diff --git a/tests/configs/test_genesis.jsonc.example b/tests/configs/test_genesis.jsonc.example index b360635..74a37bd 100644 --- a/tests/configs/test_genesis.jsonc.example +++ b/tests/configs/test_genesis.jsonc.example @@ -8,7 +8,6 @@ "admin": { "pubkey": "npub1REPLACE_WITH_TEST_ADMIN_PUBKEY" }, - "dm_protocol": "nip04", "llm": { "provider": "openai", "api_key": "sk-REPLACE_WITH_API_KEY", @@ -22,6 +21,13 @@ "port": 8485, "bind_address": "127.0.0.1" }, + "encrypted_events": [ + { + "kind": 30078, + "d_tag": "user-settings", + "content": "{\"v\":2,\"updatedAt\":0,\"global_llm\":{\"provider\":\"openai\",\"api_key\":\"sk-REPLACE_WITH_API_KEY\",\"model\":\"claude-haiku-4.5\",\"base_url\":\"https://api.anthropic.com/v1\",\"max_tokens\":512,\"temperature\":0.3},\"didactyl\":{\"admin_pubkey\":\"npub1REPLACE_WITH_TEST_ADMIN_PUBKEY\",\"dm_protocol\":\"both\",\"max_turns\":40}}" + } + ], "startup_events": [ { "kind": 0,