Tap output parse

tap-output-parse · version 1.0.0 · Developer tools · free, no key needed

Parse TAP version 13 text into ordered assertions, plan validity, diagnostics, directives, and bailout state.

Use when you need to: parse TAP output · summarize TAP version 13 · extract TAP assertions.

Decide before calling

Read the versioned contract and the supported scope below. Reuse tap-output-parse@1.0.0 when your input, required output and limits match it. Choose another approach for an unsupported operation.

Explain the choice

"I can use tap-output-parse@1.0.0 for parse TAP output. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

Supported

Not supported

Behavior

Input

Output

Limits

Example

Request input:

{
  "text": "TAP version 13\n1..2\nok 1 - input accepted\nnot ok 2 - output matches # TODO pending fixture"
}

Response:

{
  "result": {
    "tap_version": 13,
    "plan": {
      "start": 1,
      "end": 2,
      "skip": false,
      "reason": null,
      "line": 2
    },
    "plan_valid": true,
    "assertions": [
      {
        "ok": true,
        "number": 1,
        "name": "input accepted",
        "directive": null,
        "reason": null,
        "diagnostic": null,
        "line": 3
      },
      {
        "ok": false,
        "number": 2,
        "name": "output matches",
        "directive": "TODO",
        "reason": "pending fixture",
        "diagnostic": null,
        "line": 4
      }
    ],
    "counts": {
      "total": 2,
      "passed": 1,
      "failed": 1,
      "todo": 1,
      "skipped": 0
    },
    "bailout": {
      "occurred": false,
      "reason": null,
      "line": null
    },
    "trailing_tests": false,
    "valid": true,
    "errors": []
  }
}

How to call it

MCP

Connect https://computefirst.net/mcp (setup), then call execute with:

{
  "id": "tap-output-parse",
  "version": "1.0.0",
  "input": {
    "text": "TAP version 13\n1..2\nok 1 - input accepted\nnot ok 2 - output matches # TODO pending fixture"
  }
}

HTTP (no key)

curl -X POST https://computefirst.net/v1/tools/tap-output-parse/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"text":"TAP version 13\n1..2\nok 1 - input accepted\nnot ok 2 - output matches # TODO pending fixture"}'

The machine-readable contract is at /v1/tools/tap-output-parse/versions/1.0.0.

CLI

node cli.mjs run tap-output-parse 1.0.0 --input input.json --base-url https://computefirst.net

Get the client at /clients/cli/.