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_idRequired

text

expected_projection_revisionRequired

whole number

operation_keyRequired

text

user_intent_tokenRequired

text

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 .

Synced tool manifest / Registry at source commit 318fd0c