Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a0e90dff0 | ||
|
|
0ce9de002b |
@@ -55,11 +55,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.0.73
|
||||
## Current Status — v0.0.75
|
||||
|
||||
**Active build — this project is barely working. Experiment at your own risk.**
|
||||
|
||||
> Last release update: v0.0.73 — Refined Nostr handler and tool dispatch/schema updates for relay and my-events flows
|
||||
> Last release update: v0.0.75 — Add rsync deploy script and wizard root-shell handoff for service install path
|
||||
|
||||
- Connects to configured relays with auto-reconnect and relay state transition logging
|
||||
- Publishes configured startup events per relay as each relay becomes connected
|
||||
|
||||
22
deploy_lt.sh
Executable file
22
deploy_lt.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SOURCE_BINARY="$SCRIPT_DIR/didactyl_static_x86_64"
|
||||
REMOTE_TARGET="ubuntu@laantungir.net:~/didactyl"
|
||||
|
||||
if ! command -v rsync >/dev/null 2>&1; then
|
||||
echo "ERROR: rsync is not installed or not in PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$SOURCE_BINARY" ]; then
|
||||
echo "ERROR: Source binary not found: $SOURCE_BINARY"
|
||||
echo "Build it first so didactyl_static_x86_64 exists."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Deploying $SOURCE_BINARY to $REMOTE_TARGET"
|
||||
rsync -avz --progress "$SOURCE_BINARY" "$REMOTE_TARGET"
|
||||
echo "Deployment complete."
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#define DIDACTYL_DEFAULT_SKILL_D_TAG "didactyl-default"
|
||||
#define DIDACTYL_DEFAULT_SKILL_KIND 31124
|
||||
#define DIDACTYL_DEFAULT_SKILL_TAGS_JSON "[[\"app\",\"didactyl\"],[\"scope\",\"private\"]]"
|
||||
#define DIDACTYL_DEFAULT_SKILL_TAGS_JSON "[[\"d\",\"didactyl-default\"],[\"app\",\"didactyl\"],[\"scope\",\"private\"]]"
|
||||
|
||||
#define DIDACTYL_STARTUP_KIND_PROFILE 0
|
||||
#define DIDACTYL_STARTUP_KIND_CONTACTS 3
|
||||
|
||||
@@ -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 0
|
||||
#define DIDACTYL_VERSION_PATCH 73
|
||||
#define DIDACTYL_VERSION "v0.0.73"
|
||||
#define DIDACTYL_VERSION_PATCH 75
|
||||
#define DIDACTYL_VERSION "v0.0.75"
|
||||
|
||||
// Agent metadata
|
||||
#define DIDACTYL_NAME "Didactyl"
|
||||
|
||||
@@ -1373,7 +1373,24 @@ static int install_system_service_with_dedicated_user(const didactyl_config_t* c
|
||||
if (!cfg || cfg->keys.nsec[0] == '\0') return -1;
|
||||
|
||||
if (geteuid() != 0) {
|
||||
fprintf(stderr, "%sSystem install requires root (run with sudo).%s\n", ANSI_RED, ANSI_RESET);
|
||||
fprintf(stderr, "%sSystem install requires root.%s\n", ANSI_RED, ANSI_RESET);
|
||||
fprintf(stderr, " You can open a root shell now and then re-run this install step.\n");
|
||||
print_option('o', "pen root shell now (sudo -i)");
|
||||
print_option('r', "eturn without installing");
|
||||
wizard_option_t root_opts[] = {{'o', ""}, {'r', ""}};
|
||||
char root_choice = read_menu_choice(root_opts, 2);
|
||||
|
||||
if (root_choice == 'o') {
|
||||
char* sudo_argv[] = {"sudo", "-i", NULL};
|
||||
if (run_command_local(sudo_argv) != 0) {
|
||||
fprintf(stderr, "%sFailed to open root shell via sudo.%s\n", ANSI_RED, ANSI_RESET);
|
||||
} else {
|
||||
fprintf(stderr, "%sReturned from root shell.%s\n", ANSI_YELLOW, ANSI_RESET);
|
||||
}
|
||||
fprintf(stderr,
|
||||
" Re-run didactyl as root and choose install again to complete system service setup.\n");
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user