From ca696c48108530c47d402ca49c062a300e09a892 Mon Sep 17 00:00:00 2001 From: Amolith Date: Sun, 5 Jul 2026 02:30:48 +0000 Subject: [PATCH] docs: document agent messaging workflow Update the manpage source and generated man/html docs for agent-skill, stdin/password-command handling, sent archive cursors, MAM list/receive fields, compact XML output, and send-then-wait usage. Amp-Thread-ID: https://ampcode.com/threads/T-019f2fe4-f392-7688-8b2f-8d40eb9fa4b8 --- doc/xmppc.1 | 123 ++- doc/xmppc.1.adoc | 76 +- doc/xmppc.1.html | 2282 ++++++++++++++++++++++++---------------------- 3 files changed, 1375 insertions(+), 1106 deletions(-) diff --git a/doc/xmppc.1 b/doc/xmppc.1 index 14f172ccd9c21538a203e5f4ba3b6c350d80b07c..b0b63d70c2e9741ad37b4bd0ce5d50c18a7f2b61 100644 --- a/doc/xmppc.1 +++ b/doc/xmppc.1 @@ -2,12 +2,12 @@ .\" Title: xmppc .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 07/29/2023 +.\" Date: 07/05/2026 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" -.TH "XMPPC" "1" "07/29/2023" "\ \&" "\ \&" +.TH "XMPPC" "1" "07/05/2026" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -34,11 +34,15 @@ xmppc \- XMPP Command line Tool \fIxmppc\fR [\fIOPTIONS\fR] \-m \fIMODE\fR \fICOMMAND\fR [\&...] .sp \fIxmppc\fR [\-a \fIACCOUNT\fR] [\-j \fIJID\fR] [\-p \fIPASSWORD\fR] \-m \fIMODE\fR \fICOMMAND\fR [\&...] +.sp +\fIxmppc\fR \fIagent\-skill\fR [\fIinstall\fR] .SH "DESCRIPTION" .sp xmppc is a XMPP command line tool\&. You need an XMPP Account to use this tool\&. The account information can be defined via command line argument \-j \fIJID\fR\&. If no password is provided via \-p \fIPASSWORD\fR xmppc will ask the user to enter the password\&. Another option is to define 1 or more accounts within a configuration file\&. The option \-a \fIACCOUNT\fR can be used to select the account\&. .sp The argument \-m \fIMODE\fR defines the xmppc \fIMODE\fR which should be used (roster, message, pgp, omemo, openpgp, monitor, bookmark, mam, discovery)\&. The \fICOMMAND\fR and the args required by the \fICOMMAND\fR depends on the chosen \fIMODE\fR\&. +.sp +The \fIagent\-skill\fR command prints or installs instructions for agent use\&. It does not connect to XMPP\&. .SH "OPTIONS" .PP \fB\-a, \-\-attribute\fR \fIACCOUNT\fR @@ -55,7 +59,9 @@ of the XMPP Account\&. .PP \fB\-p, \-\-pwd\fR \fIPWD\fR .RS 4 -Password of the XMPP Account\&. +Password of the XMPP Account\&. Use +\fI\-\fR +to read the password from stdin\&. .RE .PP \fB\-v\fR \fIVERBOSE\fR, Verbose flags\&. \-v[v[v[v]]] @@ -67,6 +73,13 @@ Password of the XMPP Account\&. .RS 4 Print program version number and help .RE +.PP +\fBagent\-skill\fR [\fIinstall\fR] +.RS 4 +Print the agent\-facing xmppc instructions\&. With +\fIinstall\fR, write a small agent skill that tells agents to run +\fIxmppc agent\-skill\fR\&. +.RE .SH "MODES AND COMMANDS" .sp xmppc modes\&. @@ -113,7 +126,25 @@ The message mode can be used to send unencrypted messages to another xmpp accoun .IP \(bu 2.3 .\} \fBchat \fR -\- Sending unencrypted message to jid +\- Sending unencrypted message to jid\&. On success, prints one compact XML record after the sent stanza appears in MAM: +.sp +.if n \{\ +.RS 4 +.\} +.nf + +.fi +.if n \{\ +.RE +.\} +.sp +The +\fIarchive\-id\fR +is the MAM archive cursor\&. Use it as +\fImam receive after\-id\fR +when waiting for a reply\&. The +\fImessage\-id\fR +is the client stanza id and is not a MAM cursor\&. .RE .RE .PP @@ -238,8 +269,59 @@ Message Archive Management (XEP\-0313) .sp -1 .IP \(bu 2.3 .\} -\fBlist \fR -\- List messages from +\fBlist [field=value \&...]\fR +\- List archived messages\&. A bare +\fIjid\fR +is shorthand for +\fIwith=jid\fR\&. Supported fields are +\fIwith\fR, +\fIstart\fR, +\fIend\fR, +\fIafter\-id\fR, +\fIbefore\-id\fR, +\fIids\fR, and +\fImax\fR\&. Field arguments are unordered\&. If no range or id field is supplied, +\fIstart=\-5m\fR +is used\&. +\fImax\fR +defaults to 5 and is capped at 50\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +\fBreceive after\-id= [timeout=300s] [max=5]\fR +\- Poll MAM with RSM +\fIafter\fR +until at least one newer archived message is available or the timeout is reached\&. Prints at most +\fImax\fR +messages\&. If no message arrives before the timeout, prints nothing\&. +.sp +\fIlist\fR +and +\fIreceive\fR +print one compact XML record per archived message: +.sp +.if n \{\ +.RS 4 +.\} +.nf +escaped body +.fi +.if n \{\ +.RE +.\} +.sp +The +\fIid\fR +attribute is the MAM archive cursor\&. The +\fImessage\-id\fR +attribute is the client stanza id\&. .RE .RE .PP @@ -271,6 +353,16 @@ Service Discovery (XEP\-0030) \- item request for .RE .RE +.SH "SEND\-THEN\-WAIT WORKFLOW" +.sp +To send a message and then wait for a reply, capture the \fI\fR line from \fImessage chat\fR, extract its \fIarchive\-id\fR, and pass that value to \fImam receive\fR as \fIafter\-id\fR\&. This skips the sender\(cqs outgoing archived message and waits for newer archived messages in the conversation\&. +.sp +If \fIarchive\-id\fR is empty, the message was sent but the archive cursor was not resolved before timeout\&. Fall back to \fImam list\fR over a recent time window, find the line whose \fImessage\-id\fR matches the \fI\fR \fImessage\-id\fR, then use that line\(cqs \fIid\fR as the receive cursor\&. +.SH "AGENT SKILL" +.sp +\fIxmppc agent\-skill\fR prints the agent\-facing contract for using xmppc safely\&. Agents should read $HOME/\&.config/xmppc/AGENTS\&.md when it exists for local policy, allowed accounts, and preferred contacts\&. Agents must not print secrets, password commands, or $HOME/\&.config/xmppc\&.conf\&. +.sp +\fIxmppc agent\-skill install\fR writes the small skill $HOME/\&.config/agents/skills/communicating\-through\-xmppc/SKILL\&.md\&. The installed skill points agents back to \fIxmppc agent\-skill\fR for the current command contract\&. .SH "ENVIRONMENT VARIABLES" .sp .RS 4 @@ -340,6 +432,25 @@ pwd=password3 .RE .\} .RE +.sp +Instead of \fIpwd\fR, an account may use \fIpwd\-cmd\fR to read the password from a local command: +.sp +.if n \{\ +.RS 4 +.\} +.nf +[account4] +jid=account4@domain\&.tld +pwd\-cmd=pass show xmpp/account4 +.fi +.if n \{\ +.RE +.\} +.PP +\fB$HOME/\&.config/xmppc/AGENTS\&.md\fR +.RS 4 +Optional user\-written policy for agents using xmppc\&. This file can describe allowed accounts, contacts, and usage rules without exposing secrets\&. +.RE .SH "EXIT STATUS" .PP \fB0\fR diff --git a/doc/xmppc.1.adoc b/doc/xmppc.1.adoc index d2dfa04e5315d0c289ce9ac9f97e4bb4c9c43de5..83fcdf36241a5ca9908952cb1d4d859cf0730816 100644 --- a/doc/xmppc.1.adoc +++ b/doc/xmppc.1.adoc @@ -12,6 +12,8 @@ SYNOPSIS 'xmppc' [-a 'ACCOUNT'] [-j 'JID'] [-p 'PASSWORD'] -m 'MODE' 'COMMAND' [...] +'xmppc' 'agent-skill' ['install'] + DESCRIPTION ----------- @@ -25,6 +27,9 @@ The argument -m 'MODE' defines the xmppc 'MODE' which should be used (roster, message, pgp, omemo, openpgp, monitor, bookmark, mam, discovery). The 'COMMAND' and the args required by the 'COMMAND' depends on the chosen 'MODE'. +The 'agent-skill' command prints or installs instructions for agent use. It does +not connect to XMPP. + OPTIONS ------- @@ -35,7 +40,7 @@ OPTIONS 'JID' of the XMPP Account. *-p, --pwd* 'PWD':: - Password of the XMPP Account. + Password of the XMPP Account. Use '-' to read the password from stdin. *-v* 'VERBOSE':: Verbose flags. -v[v[v[v]]]:: @@ -44,6 +49,10 @@ OPTIONS *--help*:: Print program version number and help +*agent-skill* ['install']:: + Print the agent-facing xmppc instructions. With 'install', write a small + agent skill that tells agents to run 'xmppc agent-skill'. + MODES AND COMMANDS ------------------ @@ -60,7 +69,16 @@ roster. The roster is the XMPP list of contacts. The message mode can be used to send unencrypted messages to another xmpp account. -* *chat * - Sending unencrypted message to jid +* *chat * - Sending unencrypted message to jid. On success, + prints one compact XML record after the sent stanza appears in MAM: ++ +---- + +---- ++ +The 'archive-id' is the MAM archive cursor. Use it as 'mam receive after-id' when +waiting for a reply. The 'message-id' is the client stanza id and is not a MAM +cursor. *-m pgp*:: PGP Mode (XEP-0027) @@ -90,7 +108,24 @@ Monitot mode *-m mam*:: Message Archive Management (XEP-0313) -* *list * - List messages from +* *list [field=value ...]* - List archived messages. A bare 'jid' is + shorthand for 'with=jid'. Supported fields are 'with', 'start', 'end', + 'after-id', 'before-id', 'ids', and 'max'. Field arguments are unordered. + If no range or id field is supplied, 'start=-5m' is used. 'max' defaults to 5 + and is capped at 50. +* *receive after-id= [timeout=300s] [max=5]* - Poll MAM with RSM + 'after' until at least one newer archived message is available or the timeout + is reached. Prints at most 'max' messages. If no message arrives before the + timeout, prints nothing. ++ +'list' and 'receive' print one compact XML record per archived message: ++ +---- +escaped body +---- ++ +The 'id' attribute is the MAM archive cursor. The 'message-id' attribute is the +client stanza id. *-m discovery*:: Service Discovery (XEP-0030) @@ -98,6 +133,30 @@ Monitot mode * *item * - item request for +SEND-THEN-WAIT WORKFLOW +----------------------- +To send a message and then wait for a reply, capture the '' line from +'message chat', extract its 'archive-id', and pass that value to 'mam receive' +as 'after-id'. This skips the sender's outgoing archived message and waits for +newer archived messages in the conversation. + +If 'archive-id' is empty, the message was sent but the archive cursor was not +resolved before timeout. Fall back to 'mam list' over a recent time window, find +the line whose 'message-id' matches the '' 'message-id', then use that +line's 'id' as the receive cursor. + +AGENT SKILL +----------- +'xmppc agent-skill' prints the agent-facing contract for using xmppc safely. +Agents should read +$HOME/.config/xmppc/AGENTS.md+ when it exists for local policy, +allowed accounts, and preferred contacts. Agents must not print secrets, +password commands, or +$HOME/.config/xmppc.conf+. + +'xmppc agent-skill install' writes the small skill ++$HOME/.config/agents/skills/communicating-through-xmppc/SKILL.md+. The installed +skill points agents back to 'xmppc agent-skill' for the current command contract. + + ENVIRONMENT VARIABLES --------------------- @@ -131,6 +190,17 @@ Example: jid=account3@domain.tld pwd=password3 +Instead of 'pwd', an account may use 'pwd-cmd' to read the password from a local +command: + + [account4] + jid=account4@domain.tld + pwd-cmd=pass show xmpp/account4 + +*$HOME/.config/xmppc/AGENTS.md*:: +Optional user-written policy for agents using xmppc. This file can describe +allowed accounts, contacts, and usage rules without exposing secrets. + EXIT STATUS ----------- *0*:: diff --git a/doc/xmppc.1.html b/doc/xmppc.1.html index 7a40240220bebda6d9ee782ddfc205930ca1ec03..9bee2450839f8b8ac0441eab48db13b414290f1d 100644 --- a/doc/xmppc.1.html +++ b/doc/xmppc.1.html @@ -1,1097 +1,1185 @@ - - - - - - -XMPPC(1) - - - - - -
-
-

NAME

-
-

xmppc - XMPP Command line Tool

-
-
-
-

SYNOPSIS

-
-

xmppc [OPTIONS] -m MODE COMMAND [<args>…]

-

xmppc [-a ACCOUNT] [-j JID] [-p PASSWORD] -m MODE COMMAND [<args>…]

-
-
-
-

DESCRIPTION

-
-

xmppc is a XMPP command line tool. You need an XMPP Account to use this tool. -The account information can be defined via command line argument -j JID. If no -password is provided via -p PASSWORD xmppc will ask the user to enter the -password. Another option is to define 1 or more accounts within a configuration -file. The option -a ACCOUNT can be used to select the account.

-

The argument -m MODE defines the xmppc MODE which should be used (roster, -message, pgp, omemo, openpgp, monitor, bookmark, mam, discovery). The COMMAND -and the args required by the COMMAND depends on the chosen MODE.

-
-
-
-

OPTIONS

-
-
-
--a, --attribute ACCOUNT -
-
-

- ACCOUNT is a name of a xmpp account defined within the configuration file. -

-
-
--j, --jid JID -
-
-

- JID of the XMPP Account. -

-
-
--p, --pwd PWD -
-
-

- Password of the XMPP Account. -

-
-
--v VERBOSE -
-
-Verbose flags. -v[v[v[v]]] -
-
-

- -v is WARN -vv is INFO --vvv is DEBUG -vvvv is TRACE -

-
-
---help -
-
-

- Print program version number and help -

-
-
-
-
-
-

MODES AND COMMANDS

-
-

xmppc modes.

-
-
--m roster -
-
-

-The Roster mode can be used to provided information of the xmpp account’s -roster. The roster is the XMPP list of contacts. -

-
    -
  • -

    -list - List all contacts -

    -
  • -
  • -

    -export - Exports all contacts -

    -
  • -
-
-
--m message -
-
-

-The message mode can be used to send unencrypted messages to another xmpp -account. -

-
    -
  • -

    -chat <jid> <message> - Sending unencrypted message to jid -

    -
  • -
-
-
--m pgp -
-
-

-PGP Mode (XEP-0027) -

-
    -
  • -

    -chat <jid> <message> - Sending pgp encrypted message to jid -

    -
  • -
-
-
--m omemo -
-
-

-OMEMO Mode (XEP-0384) -

-
    -
  • -

    -list - List the device IDs and fingerprints -

    -
  • -
-
-
--m openpgp -
-
-

-openpgp mode (XEP-0373) -

-
    -
  • -

    -signcrypt <jid> <message> - Sending pgp signed and encrypted message to jid -

    -
  • -
-
-
--m monitor -
-
-

-Monitot mode -

-
    -
  • -

    -stanza - Stanza Monitor -

    -
  • -
  • -

    -monitor - microblog Monitor microblog (XEP-0277) -

    -
  • -
-
-
--m bookmark -
-
-

-Bookmark mode (XEP-0048) -

-
    -
  • -

    -list - List bookmarks -

    -
  • -
-
-
--m mam -
-
-

-Message Archive Management (XEP-0313) -

-
    -
  • -

    -list <jid> - List messages from <jid> -

    -
  • -
-
-
--m discovery -
-
-

-Service Discovery (XEP-0030) -

-
    -
  • -

    -info <jid> - info request for <jid> -

    -
  • -
  • -

    -item <jid> - item request for <jid> -

    -
  • -
-
-
-
-
-
-

ENVIRONMENT VARIABLES

-
-
    -
  • -

    -HOME -

    -
  • -
-
-
-
-

EXAMPLES

-
-
-
-
xmppc --jid user@domain.tld --pwd "secret" --mode roster list
-xmppc --jid user@domain.tld --mode pgp chat friend@domain.tld "Hello"
-xmppc -a account1 --mode discovery item conference@domain.tld
-xmppc --mode bookmark list
-
-
-
-
-

FILES

-
-

Configuration file to setup accounts.

-
-
-~/.config/xmppc.conf -
-
-

-Example: -

-
-
-
[default]
-jid=account1@domain.tld
-pwd=password1
-
-
-
-
[account2]
-jid=account2@domain.tld
-
-
-
-
[account3]
-jid=account3@domain.tld
-pwd=password3
-
-
-
-
-
-
-

EXIT STATUS

-
-
-
-0 -
-
-

- Success -

-
-
-1 -
-
-

- Failure -

-
-
-
-
- -
-

AUTHOR

-
-
    -
  • -

    -DebXWoody (OpenPGP: A602F76893F138B4A8EFDDD5C2DC916F35751C24) -

    -
  • -
-
-
- -
-

COPYING

-
-

Copyright (C) 2020 Anoxinon e.V. Free use of this software is -granted under the terms of the GNU General Public License (GPL).

-
-
-
-

- - - + + + + + + +XMPPC(1) + + + + + +
+
+

NAME

+
+

xmppc - XMPP Command line Tool

+
+
+
+

SYNOPSIS

+
+

xmppc [OPTIONS] -m MODE COMMAND [<args>…]

+

xmppc [-a ACCOUNT] [-j JID] [-p PASSWORD] -m MODE COMMAND [<args>…]

+

xmppc agent-skill [install]

+
+
+
+

DESCRIPTION

+
+

xmppc is a XMPP command line tool. You need an XMPP Account to use this tool. +The account information can be defined via command line argument -j JID. If no +password is provided via -p PASSWORD xmppc will ask the user to enter the +password. Another option is to define 1 or more accounts within a configuration +file. The option -a ACCOUNT can be used to select the account.

+

The argument -m MODE defines the xmppc MODE which should be used (roster, +message, pgp, omemo, openpgp, monitor, bookmark, mam, discovery). The COMMAND +and the args required by the COMMAND depends on the chosen MODE.

+

The agent-skill command prints or installs instructions for agent use. It does +not connect to XMPP.

+
+
+
+

OPTIONS

+
+
+
+-a, --attribute ACCOUNT +
+
+

+ ACCOUNT is a name of a xmpp account defined within the configuration file. +

+
+
+-j, --jid JID +
+
+

+ JID of the XMPP Account. +

+
+
+-p, --pwd PWD +
+
+

+ Password of the XMPP Account. Use - to read the password from stdin. +

+
+
+-v VERBOSE +
+
+Verbose flags. -v[v[v[v]]] +
+
+

+ -v is WARN -vv is INFO --vvv is DEBUG -vvvv is TRACE +

+
+
+--help +
+
+

+ Print program version number and help +

+
+
+agent-skill [install] +
+
+

+ Print the agent-facing xmppc instructions. With install, write a small + agent skill that tells agents to run xmppc agent-skill. +

+
+
+
+
+
+

MODES AND COMMANDS

+
+

xmppc modes.

+
+
+-m roster +
+
+

+The Roster mode can be used to provided information of the xmpp account’s +roster. The roster is the XMPP list of contacts. +

+
    +
  • +

    +list - List all contacts +

    +
  • +
  • +

    +export - Exports all contacts +

    +
  • +
+
+
+-m message +
+
+

+The message mode can be used to send unencrypted messages to another xmpp +account. +

+
    +
  • +

    +chat <jid> <message> - Sending unencrypted message to jid. On success, + prints one compact XML record after the sent stanza appears in MAM: +

    +
    +
    +
    <sent archive-id="mam-id" message-id="stanza-id" to="jid"/>
    +
    +

    The archive-id is the MAM archive cursor. Use it as mam receive after-id when +waiting for a reply. The message-id is the client stanza id and is not a MAM +cursor.

    +
  • +
+
+
+-m pgp +
+
+

+PGP Mode (XEP-0027) +

+
    +
  • +

    +chat <jid> <message> - Sending pgp encrypted message to jid +

    +
  • +
+
+
+-m omemo +
+
+

+OMEMO Mode (XEP-0384) +

+
    +
  • +

    +list - List the device IDs and fingerprints +

    +
  • +
  • +

    +delete-device-list - Deletes the OMEMO device list +

    +
  • +
+
+
+-m openpgp +
+
+

+openpgp mode (XEP-0373) +

+
    +
  • +

    +signcrypt <jid> <message> - Sending pgp signed and encrypted message to jid +

    +
  • +
+
+
+-m monitor +
+
+

+Monitot mode +

+
    +
  • +

    +stanza - Stanza Monitor +

    +
  • +
  • +

    +monitor - microblog Monitor microblog (XEP-0277) +

    +
  • +
+
+
+-m bookmark +
+
+

+Bookmark mode (XEP-0048) +

+
    +
  • +

    +list - List bookmarks +

    +
  • +
+
+
+-m mam +
+
+

+Message Archive Management (XEP-0313) +

+
    +
  • +

    +list <jid> [field=value …] - List archived messages. A bare jid is + shorthand for with=jid. Supported fields are with, start, end, + after-id, before-id, ids, and max. Field arguments are unordered. + If no range or id field is supplied, start=-5m is used. max defaults to 5 + and is capped at 50. +

    +
  • +
  • +

    +receive <jid> after-id=<mam-id> [timeout=300s] [max=5] - Poll MAM with RSM + after until at least one newer archived message is available or the timeout + is reached. Prints at most max messages. If no message arrives before the + timeout, prints nothing. +

    +

    list and receive print one compact XML record per archived message:

    +
    +
    +
    <message id="mam-id" message-id="stanza-id" stamp="..." from="..." to="..."><body>escaped body</body></message>
    +
    +

    The id attribute is the MAM archive cursor. The message-id attribute is the +client stanza id.

    +
  • +
+
+
+-m discovery +
+
+

+Service Discovery (XEP-0030) +

+
    +
  • +

    +info <jid> - info request for <jid> +

    +
  • +
  • +

    +item <jid> - item request for <jid> +

    +
  • +
+
+
+
+
+
+

SEND-THEN-WAIT WORKFLOW

+
+

To send a message and then wait for a reply, capture the <sent …/> line from +message chat, extract its archive-id, and pass that value to mam receive +as after-id. This skips the sender’s outgoing archived message and waits for +newer archived messages in the conversation.

+

If archive-id is empty, the message was sent but the archive cursor was not +resolved before timeout. Fall back to mam list over a recent time window, find +the line whose message-id matches the <sent …/> message-id, then use that +line’s id as the receive cursor.

+
+
+
+

AGENT SKILL

+
+

xmppc agent-skill prints the agent-facing contract for using xmppc safely. +Agents should read $HOME/.config/xmppc/AGENTS.md when it exists for local policy, +allowed accounts, and preferred contacts. Agents must not print secrets, +password commands, or $HOME/.config/xmppc.conf.

+

xmppc agent-skill install writes the small skill +$HOME/.config/agents/skills/communicating-through-xmppc/SKILL.md. The installed +skill points agents back to xmppc agent-skill for the current command contract.

+
+
+
+

ENVIRONMENT VARIABLES

+
+
    +
  • +

    +HOME +

    +
  • +
+
+
+
+

EXAMPLES

+
+
+
+
xmppc --jid user@domain.tld --pwd "secret" --mode roster list
+xmppc --jid user@domain.tld --mode pgp chat friend@domain.tld "Hello"
+xmppc -a account1 --mode discovery item conference@domain.tld
+xmppc --mode bookmark list
+
+
+
+
+

FILES

+
+

Configuration file to setup accounts.

+
+
+~/.config/xmppc.conf +
+
+

+Example: +

+
+
+
[default]
+jid=account1@domain.tld
+pwd=password1
+
+
+
+
[account2]
+jid=account2@domain.tld
+
+
+
+
[account3]
+jid=account3@domain.tld
+pwd=password3
+
+
+
+

Instead of pwd, an account may use pwd-cmd to read the password from a local +command:

+
+
+
[account4]
+jid=account4@domain.tld
+pwd-cmd=pass show xmpp/account4
+
+
+
+$HOME/.config/xmppc/AGENTS.md +
+
+

+Optional user-written policy for agents using xmppc. This file can describe +allowed accounts, contacts, and usage rules without exposing secrets. +

+
+
+
+
+
+

EXIT STATUS

+
+
+
+0 +
+
+

+ Success +

+
+
+1 +
+
+

+ Failure +

+
+
+
+
+ +
+

AUTHOR

+
+
    +
  • +

    +DebXWoody +

    +
  • +
+
+
+ +
+

COPYING

+
+

Copyright (C) 2020 Anoxinon e.V. Free use of this software is +granted under the terms of the GNU General Public License (GPL).

+
+
+
+

+ + +