Make the messenger the router: it holds every ask, judges each answer and issues the warrant its asker acts on, and keeps no channel's client (hq ADR 0259)

This commit is contained in:
jochen
2026-10-09 17:08:17 +02:00
committed by jschoubben
parent d902e1550e
commit c2c75ceb3b
20 changed files with 2453 additions and 1264 deletions
+61 -13
View File
@@ -9,7 +9,47 @@
"serves": [
"open",
"history",
"notify"
"notify",
"asks"
],
"accepts": [
"ask",
"cancel"
],
"emits": [
"decided"
],
"by-caller": [
"ask",
"cancel",
"decided"
],
"records": [
"asks"
]
},
{
"name": "channel",
"scope": "mesh",
"kinded": true,
"accepts": [
"show",
"edit",
"send"
]
},
{
"name": "intake",
"scope": "mesh",
"kinded": true,
"emits": [
"choice",
"link",
"failed",
"standing"
],
"proofs": [
"code"
]
}
],
@@ -20,36 +60,45 @@
"serves": [
"open",
"history",
"notify"
"notify",
"asks"
]
}
],
"uses": [
"channel"
],
"consumes": [
"mesh-controller.condition-raised",
"mesh-controller.condition-changed",
"mesh-controller.condition-cleared",
"dunst.action-chosen",
"dunst.started"
"intake.choice",
"intake.link",
"intake.failed",
"intake.standing"
],
"emits": [
"refused"
],
"invokes": [
"seat:node-notifier.send",
"seat:mesh-controller.conditions"
],
"state": [
"open",
"sent"
"sent",
{
"name": "asks",
"ttl-seconds": 2592000
},
"identities"
],
"own-secrets": {
"telegram-token": "${dir:state}/telegram-token"
},
"tools": [
"messenger_status",
"messenger_recent",
"messenger_test",
"messenger_check"
"messenger_check",
"messenger_identities",
"messenger_unlink"
],
"resources": [
{
@@ -64,7 +113,7 @@
"path": "${dir:state}/settings.json",
"mode": "0600",
"merge": "json",
"content": "{\n \"telegram-chat-id\": \"\",\n \"desktop-machines\": [],\n \"time-zone\": \"\"\n}\n"
"content": "{\n \"time-zone\": \"\"\n}\n"
}
],
"build": {
@@ -80,8 +129,7 @@
"messenger"
],
"env": {
"MESH_MESSENGER_SETTINGS": "${dir:state}/settings.json",
"MESH_MESSENGER_TELEGRAM_TOKEN_FILE": "${dir:state}/telegram-token"
"MESH_MESSENGER_SETTINGS": "${dir:state}/settings.json"
}
}
]