SwarmOps
ReferenceMcp toolsrepair

Page kind: Reference

repair#

Describes v0.11.0Last changed View as Markdown

Rebuilds what the journal can rebuild (its offsets, the index, the ref files), quarantines damaged objects and drops damaged cache entries, then verifies; the journal itself is never cut. dry_run lists the actions only.

Metadata
Since
0.4.0
Mutates
yes
Identity required
no
Envelope op
repair
Cli command
swarmops repair
Request type
RepairReq
Annotations
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false}
Max result chars
null
CLI command
swarmops repair

Input schema#

arguments is a RepairReq: swarmops schema RepairReq prints the type. A field the type does not know is ignored.

FieldTypeRequiredDefaultDescription
dry_runbooleannofalseList what it would do, each with done: false, and write nothing.

JSON Schema#

As tools/list gives it: each $ref replaced by its definition, so that it stands alone.

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "`repair`: rebuild what the journal can rebuild (`journal.off`, the index, the ref files),\nquarantine damaged objects and drop damaged cache entries. It never cuts the journal.",
  "properties": {
    "dry_run": {
      "default": false,
      "description": "List what it would do, each with `done: false`, and write nothing.",
      "type": "boolean"
    }
  },
  "title": "RepairReq",
  "type": "object"
}

Annotations#

It removes or rewrites store files that the journal and the objects stand for, and moves no ref and records nothing. Run again, it finds its work done.

AnnotationValueMeaning
destructiveHinttrueTrue: a tool that changes the store may overwrite or delete what is there, not only add to it.
idempotentHinttrueTrue: calling it again with the same arguments changes nothing more.
openWorldHintfalseTrue: it reaches beyond a closed set of things. Every tool here stays inside the store.
readOnlyHintfalseTrue: the tool does not change its environment, the store.

Its entry in tools/list carries no _meta.

CLI command#

swarmops repair runs the same operation and prints the same envelope.

Examples#

No recorded example yet.

Return information#

A tool result: the envelope, whose op is repair, as structuredContent and again as the text of its one content block. isError is true exactly when the envelope's ok is false. On success the envelope's result is what swarmops repair returns.

Errors#

A failed call is a tool result with isError: true; the envelope's error.code is one of the error codes.

  • E_INVALID_ARG: arguments that do not fit RepairReq, a field named twice among them included, or that break one of the server's own rules.
  • E_NOT_A_REPO: the server's store is not there; the server serves on.
  • E_INTERNAL: the operation panicked, a bug.

Then the errors of the operation, as swarmops repair lists them.

See also#

On this page