{
  "name": "FrostSkyNet Data Tools",
  "status": "preview; mainnet settlement and public indexing unverified",
  "website": "https://frostskynet-tools.frostskynet-api.workers.dev",
  "api": "https://route-a-worker.frostskynet-api.workers.dev",
  "network": "eip155:8453",
  "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "payTo": "0x3a1121e787586a504fF74FC53E3AcEE19faDE698",
  "tools": [
    {
      "method": "POST",
      "path": "/clean",
      "description": "Converts text, JSON or JSONL to cleaned JSONL using fixed rules. Removes empty, short and duplicate rows; can repair some encoding issues. No AI or CSV parsing.",
      "priceUsdc": "0.005",
      "maxRequestBodyBytes": 51200,
      "inputSchema": {
        "properties": {
          "input": {
            "type": "string",
            "minLength": 1,
            "description": "Nonempty input text. Limit applies to the entire UTF-8 JSON request body including options and escaping, not just this string."
          },
          "options": {
            "type": "object",
            "description": "Optional settings.",
            "properties": {
              "minChars": {
                "type": "integer",
                "description": "Drop rows shorter than this (1-1000, default 3).",
                "minimum": 1,
                "maximum": 1000
              },
              "keepDuplicates": {
                "type": "boolean",
                "description": "Keep duplicate rows (default false)."
              }
            }
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    },
    {
      "method": "POST",
      "path": "/judge",
      "description": "Scores JSONL rows using fixed rules and adds _quality. Detects some PII and bad-word patterns; optional redaction and score filtering. Detection is incomplete and can produce false positives. No AI.",
      "priceUsdc": "0.01",
      "maxRequestBodyBytes": 10240,
      "inputSchema": {
        "properties": {
          "input": {
            "type": "string",
            "minLength": 1,
            "description": "Nonempty input text. Limit applies to the entire UTF-8 JSON request body including options and escaping, not just this string."
          },
          "options": {
            "type": "object",
            "description": "Optional settings.",
            "properties": {
              "stripPii": {
                "type": "boolean",
                "description": "Redact PII in text (default false, flag only)."
              },
              "stripBadWords": {
                "type": "boolean",
                "description": "Mask bad language with **** (default false, flag only)."
              },
              "filter": {
                "type": "boolean",
                "description": "Drop rows below minScore (default false, keep all)."
              },
              "minScore": {
                "type": "integer",
                "description": "Score threshold for filter (0-100, default 70).",
                "minimum": 0,
                "maximum": 100
              }
            }
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    },
    {
      "method": "POST",
      "path": "/format",
      "description": "Converts JSONL rows to JSONL, chat training examples or Markdown. Returns the serialized result as an output string with stats. No AI.",
      "priceUsdc": "0.005",
      "maxRequestBodyBytes": 51200,
      "inputSchema": {
        "properties": {
          "input": {
            "type": "string",
            "minLength": 1,
            "description": "Nonempty input text. Limit applies to the entire UTF-8 JSON request body including options and escaping, not just this string."
          },
          "options": {
            "type": "object",
            "description": "Optional settings.",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "jsonl",
                  "chat",
                  "markdown",
                  "md"
                ],
                "description": "Output layout. 'md' is alias for 'markdown'. Default 'jsonl'."
              },
              "system": {
                "type": "string",
                "description": "System prompt for chat mode (max 2000 chars).",
                "maxLength": 2000
              },
              "keepScores": {
                "type": "boolean",
                "description": "Keep _quality fields in jsonl/chat output (default false)."
              }
            }
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  ]
}
