Files
mesh-contracts/seats/node-launcher/seat.json
T
jschoubben df74b712c0 SD-M3: every other seat at the seat list's grain, in its reading order (ADR 0613 §2)
Converted mechanically from mesh-sdk's compiled list at 5a38a12 by a program kept out of the repository; the three new
registry seats follow npm-package-registry, operator-channel the mesh's own seats.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 11:50:54 +01:00

69 lines
1.9 KiB
JSON

{
"format": 1,
"seat": "node-launcher",
"scope": "node",
"grain": "seat-list",
"decision": "novox/hq ADR 0208",
"verbs": [
{
"name": "menu",
"description": "Put a menu of choices in front of the operator and answer with the one chosen, or nothing when the menu was dismissed — the dmenu-compatible contract.",
"input": {
"properties": {
"choices": {
"description": "the lines to choose between, in order",
"items": {
"type": "string"
},
"type": "array"
},
"prompt": {
"description": "what the menu asks (optional)",
"type": "string"
}
},
"required": [
"choices"
],
"type": "object"
}
},
{
"name": "secret",
"description": "Ask the operator for a value in a prompt that does not show what is typed, and answer it sealed to the key the asker gives — never in the clear — or cancelled when the prompt was dismissed or not answered in time.",
"optional": true,
"input": {
"properties": {
"module": {
"description": "the module whose own secret is asked for",
"type": "string"
},
"node": {
"description": "the machine the module runs on",
"type": "string"
},
"seal_to": {
"description": "the asker's public sealing key: the answer is sealed to it",
"type": "string"
},
"secret": {
"description": "the own secret's name",
"type": "string"
},
"timeout_seconds": {
"description": "give up after this long (optional)",
"type": "string"
}
},
"required": [
"module",
"secret",
"node",
"seal_to"
],
"type": "object"
}
}
]
}