io.zzstoatzz.phi.getAbilities
Schema Diff
+1 -1
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"ability": {
5
5
"description": "One registered function tool.",
6
6
"properties": {
7
7
"description": {
8
8
"description": "The tool's docstring — what the model is shown.",
9
9
"type": "string"
10
10
},
11
11
"name": {
12
12
"description": "The tool name the model calls.",
13
13
"type": "string"
14
14
},
15
15
"operator_only": {
16
-
"description": "Whether the tool is gated to the operator via the like-as-approval mechanism.",
16
+
"description": "Whether the tool's primary action requires operator authorization. Mixed tools describe per-action restrictions in their descriptions.",
17
17
"type": "boolean"
18
18
},
19
19
"risk": {
20
20
"ref": "#risk",
21
21
"type": "ref"
22
22
}
23
23
},
24
24
"required": [
25
25
"name",
26
26
"description",
27
27
"operator_only",
28
28
"risk"
29
29
],
30
30
"type": "object"
31
31
},
32
32
"main": {
33
33
"description": "Phi's currently-registered function tools, computed live from the running code rather than hand-maintained, so it cannot drift from what she can actually do. Every tool carries a risk declaration: a tool without one is not a valid tool, and the test suite refuses it. Served at /xrpc/io.zzstoatzz.phi.getAbilities; /api/abilities is kept as an alias.",
34
34
"output": {
35
35
"encoding": "application/json",
36
36
"schema": {
37
37
"properties": {
38
38
"abilities": {
39
39
"items": {
40
40
"ref": "#ability",
41
41
"type": "ref"
42
42
},
43
43
"type": "array"
44
44
}
45
45
},
46
46
"required": [
47
47
"abilities"
48
48
],
49
49
"type": "object"
50
50
}
51
51
},
52
52
"type": "query"
53
53
},
54
54
"risk": {
55
55
"description": "What this tool can cost if it goes wrong. Required on every tool — the declaration is what makes a tool valid. Magnitude is ordered by reach and reversibility, not by how often the tool is used.",
56
56
"properties": {
57
57
"magnitude": {
58
58
"description": "none: reads only, changes nothing. low: changes phi's own private state, reversible. moderate: publicly visible under her name, reversible by her. high: reaches other people's attention, spends real money, or cannot be undone with the tools she has.",
59
59
"knownValues": [
60
60
"none",
61
61
"low",
62
62
"moderate",
63
63
"high"
64
64
],
65
65
"type": "string"
66
66
},
67
67
"reason": {
68
68
"description": "One sentence saying what specifically could go wrong. Written to be read by a person in the cockpit and by the policy judge when it evaluates a proposed call, so it names the concrete failure rather than restating the magnitude.",
69
69
"maxLength": 400,
70
70
"type": "string"
71
71
}
72
72
},
73
73
"required": [
74
74
"magnitude",
75
75
"reason"
76
76
],
77
77
"type": "object"
78
78
}
79
79
},
80
80
"id": "io.zzstoatzz.phi.getAbilities",
81
81
"lexicon": 1
82
82
}