get_session_state¶
Science¶
A session is a credential, a profile, and a ledger. This tool returns the
policy the caller is working under — view, subject, fence, budgets, review
state — and a short list of calls already made. It does not return the
payload of those calls. Cite the original tool_call_id, not this one.
The tool is exempt from total_calls so a caller can always ask how much
budget remains. Time remaining and review-attempt counts are mechanical
session facts, not a judgement of the event.
Contract¶
Generated from the live registry (ToolSpec). Field names, types and
defaults come from the input and payload models; they are not hand-typed.
| Group | session |
| Class | 1 |
| Tool version | 1.0.0 |
| Highest declared tier | F |
| Timeout | 5 s |
| Budget key | none |
readOnlyHint |
true |
idempotentHint |
true |
Input¶
Input schema has no fields.
Payload¶
| Field | Type | Required | Notes |
|---|---|---|---|
profile |
string | yes | |
view |
string ∈ {blind, full, operator} |
yes | |
subject |
object | null | no | default null |
subject.event_id |
integer | yes | |
expires_at_utc |
string | yes | |
time_remaining_s |
integer | yes | |
budgets |
object | yes | |
fence |
object | yes | |
fence.exclude_after_utc |
string | null | no | default null |
fence.excluded_event_count |
integer | yes | |
fence.exclude_decisions |
boolean | yes | |
review |
object | yes | |
review.status |
string ∈ {not_submitted, rejected, accepted} |
yes | |
review.attempts |
integer | yes | |
review.max_attempts |
integer | yes | |
calls |
array[object] | yes | |
calls[].tool_call_id |
string | yes | |
calls[].tool |
string | yes | |
calls[].ok |
boolean | yes | |
calls[].tier |
string ∈ {F, E, D} |
yes | |
calls[].catalogue_bearing |
boolean | yes | |
calls[].hypothesis |
string | null | no | default null |
calls[].summary |
string | yes | maxLength 120 |
Example request¶
Example payload¶
{
"profile": "generic@1",
"view": "full",
"subject": {
"event_id": 1001
},
"expires_at_utc": "2024-06-15T10:00:00.000Z",
"time_remaining_s": 5410,
"budgets": {
"relocate": {
"used": 1,
"limit": 3
},
"total_calls": {
"used": 17,
"limit": 120
}
},
"fence": {
"exclude_after_utc": null,
"excluded_event_count": 0,
"exclude_decisions": false
},
"review": {
"status": "not_submitted",
"attempts": 0,
"max_attempts": 3
},
"calls": [
{
"tool_call_id": "tc-0001",
"tool": "get_event",
"ok": true,
"tier": "F",
"catalogue_bearing": true,
"hypothesis": null,
"summary": "event 1001: 47.150N 24.500E 10.0 km ML 2.1, 9 phases"
}
]
}
What this tool does not tell you¶
What this tool does not tell you: the contents of any result — only that a
call happened and whether it succeeded. Cite the original tool_call_id, not
this one.