Capabilities
Whitespace Cleaner
Remove repeated spaces, trailing whitespace and excess blank lines safely.
How this capability is exposed
- Stable ID
ursy.io:whitespace-cleaner- Owning service
- URSY.io
- Runtime
- @ursy/runtime · 1.0.0
- Execution modes
- browser, node, mcp-local, remote_transient
- Remote execution
- Available at the owning service
- Remote endpoint
https://api.ursy.io/v1/run
Capability declarations describe what the service exposes. They are not a guarantee of availability or permission to execute an operation.
Accepted contract
{
"schema": "ursy.io/capability/v1",
"id": "ursy.io:whitespace-cleaner",
"slug": "whitespace-cleaner",
"name": "Whitespace Cleaner",
"version": "1.0.0",
"summary": "Remove repeated spaces, trailing whitespace and excess blank lines safely.",
"intents": [
"remove extra whitespace"
],
"aliases": [],
"keywords": [],
"category": "text-tools",
"deterministic": true,
"side_effects": false,
"network_required": false,
"execution": {
"preferred": "local",
"supported": [
"browser",
"node",
"mcp-local",
"remote_transient"
],
"local_executable": true,
"remote_safe": true,
"remote_enabled": true,
"remote_endpoint": "https://api.ursy.io/v1/run"
},
"privacy": {
"input_leaves_device_by_default": false,
"payload_logged": false
},
"input_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 5242880
},
"locale": {
"type": "string",
"minLength": 2,
"maxLength": 35,
"pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$",
"default": "en-US",
"description": "Locale for display text; numerical result fields are locale independent."
}
},
"required": [
"text"
],
"additionalProperties": false
},
"output_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 26214400
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"maxLength": 100
},
"value": {
"type": [
"string",
"number"
],
"maxLength": 1000
}
},
"additionalProperties": false
},
"maxItems": 10
}
},
"required": [
"text",
"metrics"
],
"additionalProperties": false
},
"examples": [
{
"input": {
"text": " One\t two \n three "
},
"output": {
"text": "One two\nthree",
"metrics": [
{
"label": "Before",
"value": "21"
},
{
"label": "After",
"value": "13"
}
]
}
}
],
"limits": {
"max_input_bytes": 5308416,
"max_output_bytes": 26214400,
"max_json_depth": 100,
"max_csv_cells": 1000000
},
"canonical_url": "https://ursy.io/text-tools/whitespace-cleaner/",
"descriptor_url": "https://ursy.io/wp-json/ursy-tools/v2/capabilities/whitespace-cleaner",
"runtime": {
"package": "@ursy/runtime",
"version": "1.0.0",
"module": "@ursy/runtime",
"entry": "run",
"slug": "whitespace-cleaner"
},
"health": {
"status": "ok",
"last_tested": "2026-09-11T17:24:33.220Z",
"runtime_version": "1.0.0",
"golden_fixtures": 1,
"node_contract_tests": 2,
"browser_verified": true,
"tests_passed": 5,
"tests_total": 5,
"test_suite": "tests/runtime-canary.test.mjs",
"browser_suite": "tests/runtime-browser.py"
},
"audit": {
"classification": "A",
"engine": "text-transform",
"mode": "whitespace",
"headless_possible": true,
"notes": "Deterministic calculation/text core can be separated from the existing DOM workbench; schemas and regression fixtures remain required."
},
"assumptions": [],
"formulae": [],
"input_schema_id": "ursy.io:whitespace-cleaner:input_schema",
"output_schema_id": "ursy.io:whitespace-cleaner:output_schema",
"service_id": "ursy-io",
"parent_id": "",
"source_url": "https://ursy.io/wp-json/ursy-tools/v2/catalog",
"source_type": "capability_manifest",
"verified_at": "2026-10-14 03:01:34",
"revision": "cd0a978dc23748653c7d3c844b5528a95ce65ad13033ae2732272632ca87ac94",
"type": "capabilities",
"source": {
"url": "https://ursy.io/wp-json/ursy-tools/v2/catalog",
"type": "capability_manifest"
},
"last_verified_at": "2026-10-14 03:01:34",
"stale": false
}