2.1 KiB
2.1 KiB
| name | description |
|---|---|
| link-extractor | Infrastructure operator that POSTs a URL to a link extraction service and returns the response verbatim. All normalization, categorization, and deduplication are handled by the service. This operator does not modify, filter, or interpret the response in any way. |
⚠️ Critical — Read Before Any Action
Do NOT fetch the URL yourself. Do NOT use web_fetch, curl, or any browser tool. The ONLY permitted action is a single POST to the extraction service endpoint. If you are about to use any other tool to retrieve the page, stop — that is a violation.
Input
The task payload is a JSON string with the following fields:
| Field | Required | Description |
|---|---|---|
url |
Yes | The target URL to extract links from |
service |
No | Base URL of the extraction service. Defaults to http://192.168.100.203:5003 |
Examples:
{"url": "https://coinmarketcap.com/currencies/bitcoin/"}
{"url": "https://coinmarketcap.com/currencies/bitcoin/", "service": "http://192.168.100.203:5003"}
Procedure
- Read
servicefrom the task payload. If not provided, usehttp://192.168.100.203:5003. - POST the
urlto<service>/analyze_url. - Return the service response verbatim. Do not modify, rename, filter, or reformat it.
Service
POST /analyze_url
Request:
{"url": "<input_url>"}
Response (pass through as-is):
{
"source_url": "<input_url>",
"total_links": <integer>,
"links": ["<url>", ...],
"categorized": {
"twitter": ["<url>", ...],
"github": ["<url>", ...],
"docs": ["<url>", ...],
"other": ["<url>", ...]
}
}
Error Handling
If the service request fails, return:
{"error": "fetch_failed", "url": "<requested_url>", "service": "<service_url>"}
Do not retry. Do not return partial results.