Uoink 3.12.0 / tool reference
undo_library_apply
Reverse the latest applicable library apply by replaying its stored inverse as a new journal operation.
Inputs
apply_idRequiredtext
expected_projection_revisionRequiredwhole number
operation_keyRequiredtext
user_intent_tokenRequiredtext
Full input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$defs": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"client": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"hash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"token": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{43,128}$"
},
"revision": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"evidence": {
"type": "object",
"properties": {
"basis": {
"type": "string",
"enum": [
"packet",
"fetched_full"
]
},
"kind": {
"type": "string",
"enum": [
"timed_clip",
"text_only"
]
},
"excerpt_id": {
"$ref": "#/$defs/hash"
},
"card_hash": {
"$ref": "#/$defs/hash"
},
"quote": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"basis",
"kind",
"excerpt_id",
"card_hash",
"quote"
],
"additionalProperties": false
},
"membership": {
"type": "object",
"properties": {
"shelf_id": {
"$ref": "#/$defs/id"
},
"shelf_path": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"minItems": 1,
"maxItems": 3
},
"confidence": {
"$ref": "#/$defs/confidence"
},
"evidence": {
"$ref": "#/$defs/evidence"
}
},
"required": [
"shelf_id",
"shelf_path",
"confidence",
"evidence"
],
"additionalProperties": false
},
"result": {
"oneOf": [
{
"type": "object",
"properties": {
"outcome": {
"const": "assigned"
},
"memberships": {
"type": "array",
"items": {
"$ref": "#/$defs/membership"
},
"minItems": 1,
"maxItems": 3
}
},
"required": [
"outcome",
"memberships"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"outcome": {
"type": "string",
"enum": [
"unmapped",
"unsupported",
"error"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"outcome",
"reason"
],
"additionalProperties": false
}
]
},
"usage": {
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"const": "reported"
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"input_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"output_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"cache_read_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"cache_create_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"wall_time_ms": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
}
},
"required": [
"status",
"model",
"input_tokens",
"output_tokens",
"wall_time_ms"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"const": "unavailable"
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"wall_time_ms": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
}
},
"required": [
"status",
"reason"
],
"additionalProperties": false
}
]
}
},
"type": "object",
"properties": {
"apply_id": {
"$ref": "#/$defs/id"
},
"expected_projection_revision": {
"$ref": "#/$defs/revision"
},
"operation_key": {
"$ref": "#/$defs/key"
},
"user_intent_token": {
"$ref": "#/$defs/token"
}
},
"required": [
"apply_id",
"expected_projection_revision",
"operation_key",
"user_intent_token"
],
"additionalProperties": false
}Outputs and behavior
Reverse the latest applicable library apply by replaying its stored inverse as a new journal operation. Use to undo the apply that produced the current projection revision; use apply_reshelving for a new proposal or pin_shelf for one item's shelf choice. Requires a dashboard user_intent_token. The inverse is itself reversible; identical operation_key retries replay the receipt, and stale revisions are refused.
The registry does not publish an output schema for this tool. The description above is its documented behavior; response fields beyond it are not specified here.
Example call
Example tool name and arguments, generated from the input schema. Replace placeholder strings and sample numbers with your own values. This is a request template, not a recorded call or response.
{
"name": "undo_library_apply",
"arguments": {
"apply_id": "YOUR_APPLY_ID",
"expected_projection_revision": 0,
"operation_key": "YOUR_OPERATION_KEY",
"user_intent_token": "REPLACE_WITH_REAL_TOKEN____________________"
}
}Clients
This tool is available to MCP clients using stdio or http.
The registry records transport support, not individual client test results. See the MCP setup reference for named clients, configuration, and tool-list limits.
Source
Uoink 3.12.0 tool registry. Synced .