Textual A2A skills reference

pii-detect

Locates sensitive values in a provided text string.

Input

A text string, optionally prefixed with /detect.

The maximum string length is set as the value of the Textual environment variable SOLAR_A2A_MAX_TEXT_LENGTH. The default is 500000.

Output

A JSON artifact that contains:

  • The detected entities. For each entity, the response includes:

    • The entity type.

    • The text of the entity.

    • The start and end location of the entity in the text string.

    • The confidence score for the detection.

  • The number of words in the text string.

For example:

{
  "DetectTextEntities": [
    { 
       "type": "NAME_GIVEN",
       "text": "Jane",
       "start":  8,
       "end": 12,
       "score": 0.99 
    },
    {
        "type": "EMAIL",
        "text": "[email protected]"
        "start": 22,
        "end": 42,
        "score": 0.99
     }
  ],
  "ModelBasedEntities": [],
  "FilteredSpans":      [],
  "WordCount":          7
}

pii-redact

Replaces sensitive values in a text string with realistic synthesized values.

The maximum string length is set as the value of the Textual environment variable SOLAR_A2A_MAX_TEXT_LENGTH. The default is 500000.

Input

A text string, optionally prefixed with /redact.

Output

An artifact that contains:

  • The redacted text.

  • The list of detected entities. This is the same information provided in the output of pii-detect.

file-redact

Replaces sensitive values in a standalone file. Supports the following file types:

  • PDF

  • Image

  • Plain text

  • Microsoft Office document

Returns the redacted file.

Input

A message that contains a binary part that consists of:

  • The name of the file.

  • The raw bytes of the file.

The maximum file size is set as the value of the Textual environment variable SOLAR_A2A_MAX_FILE_SIZE_MB. The default is 100 MB.

Filenames are sanitized against path traversal (../etc/passwdpasswd). Invalid characters are replaced with _.

For example:

Output

The redacted file as an artifact part.

The output file has the same filename and content type as the input file.

Tracking the status of the redaction

Asynchronous.

The task starts as submitted, transitions to working, and completes with the redacted file.

Progress events are published on the A2A streaming channel. To track the status, clients can either:

  • Subscribe using the message/stream or the SSE endpoint.

  • Poll tasks/get.

Timeouts and concurrency

The timeout for the redaction is determined by the value of the Textual environment variable SOLAR_A2A_JOB_TIMEOUT_IN_MINUTES. The default 30 minutes.

The number of concurrent tasks for a given organization is determined by the value of the Textual environment variable SOLAR_A2A_MAX_CONCURRENT_TASKS_PER_ORG. The default is 5. When the number of concurrent tasks exceeds the maximum, the task fails and returns an error.

Last updated

Was this helpful?