Skip to content

dorshitrit/document-reader

v0.1.0

Extract bounded text from PDF, Office and supported text documents. Use file readers for source code.

What this package declares

The file a client reads when it loads this plugin, exactly as this revision carries it.

plugin.json
{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "document-reader",
  "version": "0.1.0",
  "description": "Extract bounded text from PDF, Office and supported text documents. Use file readers for source code.",
  "extensions": {
    "ai.abot.runtime": {
      "version": 1,
      "entrypoint": "./src/index.cjs",
      "catalogGroups": ["read"],
      "capabilities": {
        "document_reader": {
          "description": "Document extraction, not source-code reading. For code (.js, .ts, .html, .css, etc.), select read_one_file or inspect_target when available. Supported documents: PDF, DOCX, XLSX, PPTX, TXT, CSV, Markdown (.md), JSON and RTF. Use source for an attachment id/name or configured-root path; use source_mode=working_path with path beneath the execution working directory. Returns bounded text and logical identities, never physical paths. Changing source_mode does not change supported formats.",
          "routingCapability": "filesystem_inspection",
          "developmentRoles": ["inspect", "verify"],
          "eventPresentation": {
            "metadata": {
              "source": { "param": "source", "kind": "string" },
              "displayTarget": { "param": "path", "kind": "string" },
              "sourceMode": { "param": "source_mode", "kind": "string" },
              "startChar": { "param": "start_char", "kind": "number" },
              "maxChars": { "param": "max_chars", "kind": "number" }
            },
            "resultMetadata": {
              "outputPreview": { "path": "output", "kind": "preview" },
              "startChar": { "path": "data.startChar", "kind": "number" },
              "endChar": { "path": "data.endChar", "kind": "number" },
              "totalCharacters": { "path": "data.totalCharacters", "kind": "number" },
              "inputBytes": { "path": "data.inputBytes", "kind": "number" },
              "sourceTruncated": { "path": "data.truncated", "kind": "boolean" }
            }
          },
          "runtimePathBindings": [
            {
              "operationId": "read_document",
              "param": "path",
              "base": "worker_working_directory",
              "default": "."
            }
          ],
          "skills": ["document_reader_skill"],
          "operations": {
            "read_document": {
              "summary": "Extract document text, not source code. For .js, .ts, .html, .css and other code files, use read_one_file or inspect_target when available. Accepts only PDF, DOCX, XLSX, PPTX, TXT, CSV, MD, JSON and RTF; returns one bounded character window.",
              "outputChannels": {"text": "content", "data": "metadata"},
              "attachmentInput": {
                "param": "source",
                "acceptedMimeTypes": [
                  "application/pdf",
                  "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
                  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                  "application/vnd.openxmlformats-officedocument.presentationml.presentation",
                  "text/plain",
                  "text/csv",
                  "text/markdown",
                  "application/json",
                  "application/rtf"
                ],
                "mode": { "param": "source_mode", "value": "source" }
              },
              "input": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "source_mode": {
                    "type": "string",
                    "enum": ["source", "working_path"]
                  },
                  "source": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "path": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "start_char": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 10000000
                  },
                  "max_chars": {
                    "type": "integer",
                    "minimum": 1000,
                    "maximum": 40000
                  }
                },
                "required": []
              },
              "effect": "read_only",
              "approval": "request_policy"
            }
          }
        }
      }
    }
  }
}

Client extensions

Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.

  • ai.abot.runtime