addedInput schema / additionalProperties
Added value: +false
addedInput schema / properties / contextLength / default
Added value: +30
addedInput schema / properties / contextLength / description
Added value: +"Characters of context on each side when includeContext is true. Clamped to 10-200."
addedInput schema / properties / contextLength / maximum
Added value: +200
addedInput schema / properties / contextLength / minimum
Added value: +10
addedInput schema / properties / customSchemes / default
Added value: +""
addedInput schema / properties / customSchemes / description
Added value: +"Comma-separated scheme list (e.g. \"myapp,custom\") used only when extractionMode is custom. Required and non-empty in that mode."
addedInput schema / properties / extractionMode / default
Added value: +"all"
addedInput schema / properties / extractionMode / description
Added value: +"Which schemes to match. all = http/https/ftp plus many app schemes and bare www. links; http = http or https; https = https only; ftp = ftp or ftps; custom = use customSchemes."
addedInput schema / properties / extractionMode / enum
Added value: +[
+ "all",
+ "http",
+ "https",
+ "ftp",
+ "custom"
+]
addedInput schema / properties / includeContext / default
Added value: +false
addedInput schema / properties / includeContext / description
Added value: +"Include surrounding text around each match."
addedInput schema / properties / removeDuplicates / default
Added value: +true
addedInput schema / properties / removeDuplicates / description
Added value: +"Drop case-insensitive duplicate URLs from the results."
addedInput schema / properties / sortResults / default
Added value: +false
addedInput schema / properties / sortResults / description
Added value: +"Sort results alphabetically by URL."
addedInput schema / properties / text / description
Added value: +"Source text to scan for URLs. Required and non-empty."
addedInput schema / properties / text / minLength
Added value: +1
changedInput schema / required
Previous value: -[
- "text",
- "extractionMode",
- "customSchemes",
- "removeDuplicates",
- "sortResults",
- "includeContext",
- "contextLength"
-]New value: +[
+ "text"
+]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "error": {
+ "description": "Error message when success is false.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "options": {
+ "description": "Resolved options actually applied.",
+ "properties": {
+ "contextLength": {
+ "description": "Context length applied.",
+ "type": "integer"
+ },
+ "customSchemes": {
+ "description": "Custom schemes applied.",
+ "type": "string"
+ },
+ "extractionMode": {
+ "description": "Mode applied.",
+ "type": "string"
+ },
+ "includeContext": {
+ "description": "Context inclusion applied.",
+ "type": "boolean"
+ },
+ "removeDuplicates": {
+ "description": "Dedupe applied.",
+ "type": "boolean"
+ },
+ "sortResults": {
+ "description": "Sort applied.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "stats": {
+ "description": "Original-text metrics and extraction summary.",
+ "properties": {
+ "extraction": {
+ "properties": {
+ "duplicatesRemoved": {
+ "description": "totalFound minus uniqueUrls.",
+ "type": "integer"
+ },
+ "extractionMode": {
+ "description": "The mode used.",
+ "type": "string"
+ },
+ "schemes": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "description": "Per-scheme match counts.",
+ "type": "object"
+ },
+ "totalFound": {
+ "description": "URLs matched before dedupe.",
+ "type": "integer"
+ },
+ "uniqueUrls": {
+ "description": "URLs after dedupe.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "original": {
+ "properties": {
+ "characters": {
+ "description": "Character count of input.",
+ "type": "integer"
+ },
+ "lines": {
+ "description": "Line count of input.",
+ "type": "integer"
+ },
+ "text": {
+ "description": "The input text.",
+ "type": "string"
+ },
+ "words": {
+ "description": "Alphabetic word count of input.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "success": {
+ "description": "True when extraction succeeded.",
+ "type": "boolean"
+ },
+ "urls": {
+ "description": "Matched URLs, after dedupe/sort.",
+ "items": {
+ "properties": {
+ "context": {
+ "description": "Surrounding text, empty when includeContext is false.",
+ "type": "string"
+ },
+ "line": {
+ "description": "One-based line number of the match.",
+ "type": "integer"
+ },
+ "position": {
+ "description": "Zero-based character offset of the match.",
+ "type": "integer"
+ },
+ "scheme": {
+ "description": "Lowercased scheme, or \"unknown\".",
+ "type": "string"
+ },
+ "url": {
+ "description": "The matched URL string.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}