1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"name": "Compose toys",
"description": "Composition toys: a caller that passes a progress callback, a lookup that invokes it, and an even-n policy.",
"actions": [
{ "entry": "caller", "label": "Call", "description": "Calls nsid with input plus a progress callback and returns the outcome." },
{ "entry": "lookup", "label": "Lookup", "description": "Doubles n, calling the progress capability first when given one." },
{ "entry": "even", "label": "Even policy", "description": "Policy: allows calls whose input n is even." }
],
"config": [{ "key": "n", "label": "n", "type": "integer", "description": "The n lookup doubles when a call gives none." }],
"calls": [],
"implements": [{ "nsid": "com.example.compose.lookup", "entry": "lookup" }],
"hooks": [
{ "nsid": "com.example.compose.lookup", "reason": "the example's lookup: another instance doubles n" },
{ "nsid": "com.example.compose.confirm", "reason": "the example's confirm: the caller's handler" }
]
}