Files
triangles_v5/scripts/tri/tri-completion.bash
T
Sami Ahmed d81a36f875 Add tri CLI wrapper: wallet + secure messaging for agents and humans
A bash command interface to trianglesd RPC designed for Hermes, Krystie,
and Sami to manage TRI wallets and communicate via the built-in secure
messaging system (smessage).

Features:
- Info: status, balance, peers, staking info
- Wallet: addresses, send, transactions
- Secure messaging: inbox, outbox, send (encrypted via ECDH over Tor P2P)
- Raw RPC passthrough for any daemon command
- Bash + zsh completion
- SSH-tunneled RPC for remote node access
- Config at /etc/tri/nodes.conf (shared between agents)

Files:
- scripts/tri/tri                    Main script
- scripts/tri/nodes.conf.example     Config template
- scripts/tri/tri-completion.bash    Bash completion
- scripts/tri/_tri_zsh_completion    Zsh completion
- scripts/tri/README.md              Documentation

Tested against live DNS3 node (block 2,207,455, 4 peers).
Secure messaging verified: send → inbox → outbox all working.
2026-06-19 21:09:33 -07:00

41 lines
1.2 KiB
Bash

# bash/zsh completion for tri command
# Install: source this file or place in /etc/bash_completion.d/
_tri_complete() {
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# Top-level commands
local top_cmds="status balance peers stake address send tx msg raw help"
local addr_subcmds="new list balance"
local msg_subcmds="inbox outbox send anon keys enable pubkey unlock"
if [[ ${COMP_CWORD} -eq 1 ]]; then
COMPREPLY=($(compgen -W "${top_cmds}" -- "${cur}"))
return 0
fi
# Subcommand completion
if [[ ${COMP_CWORD} -eq 2 ]]; then
case "${COMP_WORDS[1]}" in
address|addr)
COMPREPLY=($(compgen -W "${addr_subcmds}" -- "${cur}"))
return 0
;;
msg|message|messages)
COMPREPLY=($(compgen -W "${msg_subcmds}" -- "${cur}"))
return 0
;;
esac
fi
# Address completion for send/msg send (would need wallet addresses in practice)
# For now, no further completion
return 0
}
complete -F _tri_complete tri