dolibarr 25.0.0-alpha
ToolEmailCleaner Class Reference

Class ToolEmailCleaner. More...

Inheritance diagram for ToolEmailCleaner:
Collaboration diagram for ToolEmailCleaner:

Public Member Functions

 getDefinitions ()
 Returns tool definitions.
 
 getCategories ()
 Return categories this tool belongs to.
 
 execute (string $name, array $args)
 Execute tool.
 
- Public Member Functions inherited from McpTool
 __construct ($db, $user, $conf)
 Constructor.
 
 isSystem ()
 Return true if this is a system/infrastructure tool that must always remain visible and executable regardless of the admin allow-list.
 
 getRequiredRights (string $toolName)
 Rights the caller must hold to run a tool of this class.
 
 writeConfirmationPreview (string $toolName, array $args)
 Preview of what a call would write, or NO_WRITE for a read tool.
 

Private Member Functions

 canReadEmailData ()
 Check read permission for technical email data.
 
 listEmailCleanerRuns (array $args)
 List cleaner runs.
 
 getEmailCleanerRun (array $args)
 Get one cleaner run.
 
 getEmailThreadContext (array $args)
 Get only the technical email thread context from a cleaner run.
 
 getEmailHandoffPayload (array $args)
 Get handoff payload.
 
 isTableAvailable (string $tableWithoutPrefix)
 Check if a table is available.
 
 decodeJsonOrRaw (string $raw)
 Decode json string, fallback to raw.
 
 sanitizeLimit ($raw)
 Sanitize limit.
 
 sanitizeConfidenceOrNull ($raw)
 Sanitize confidence value or return null.
 
 appendComplianceMetadata (array $result)
 Append compliance disclosure to MCP responses.
 

Additional Inherited Members

- Public Attributes inherited from McpTool
const RIGHTS_UNDECLARED = 'undeclared'
 Default of getRequiredRights(): the class never declared anything, deny.
 
const NO_WRITE = ''
 Returned by writeConfirmationPreview() when the tool writes nothing.
 

Detailed Description

Class ToolEmailCleaner.

Definition at line 28 of file email_cleaner.class.php.

Member Function Documentation

◆ appendComplianceMetadata()

ToolEmailCleaner::appendComplianceMetadata ( array $result)
private

Append compliance disclosure to MCP responses.

Parameters
array<string,mixed>$result Tool output
Returns
array<string,mixed>

Definition at line 520 of file email_cleaner.class.php.

Referenced by execute().

◆ canReadEmailData()

ToolEmailCleaner::canReadEmailData ( )
private

Check read permission for technical email data.

Returns
bool True if user can read email data, false otherwise

Definition at line 177 of file email_cleaner.class.php.

References conf(), getDolGlobalInt(), isModEnabled(), and user.

Referenced by execute().

◆ decodeJsonOrRaw()

ToolEmailCleaner::decodeJsonOrRaw ( string $raw)
private

Decode json string, fallback to raw.

Parameters
string$rawRaw value from database storage
Returns
mixed

Definition at line 462 of file email_cleaner.class.php.

Referenced by getEmailCleanerRun(), and listEmailCleanerRuns().

◆ execute()

ToolEmailCleaner::execute ( string $name,
array $args )

Execute tool.

Parameters
string$nameTool function name
array<string,mixed>$args Tool arguments
Returns
mixed

Reimplemented from McpTool.

Definition at line 140 of file email_cleaner.class.php.

References appendComplianceMetadata(), canReadEmailData(), getEmailCleanerRun(), getEmailHandoffPayload(), getEmailThreadContext(), and listEmailCleanerRuns().

◆ getCategories()

ToolEmailCleaner::getCategories ( )

Return categories this tool belongs to.

Returns
array<string>

Reimplemented from McpTool.

Definition at line 128 of file email_cleaner.class.php.

◆ getDefinitions()

ToolEmailCleaner::getDefinitions ( )

Returns tool definitions.

Returns
list<array<string,mixed>>

Reimplemented from McpTool.

Definition at line 43 of file email_cleaner.class.php.

References getDolGlobalInt(), and isModEnabled().

◆ getEmailCleanerRun()

ToolEmailCleaner::getEmailCleanerRun ( array $args)
private

Get one cleaner run.

Parameters
array<string,mixed>$args Selector arguments
Returns
array<string,mixed>

Definition at line 298 of file email_cleaner.class.php.

References conf(), decodeJsonOrRaw(), and isTableAvailable().

Referenced by execute(), getEmailHandoffPayload(), and getEmailThreadContext().

◆ getEmailHandoffPayload()

ToolEmailCleaner::getEmailHandoffPayload ( array $args)
private

Get handoff payload.

Parameters
array<string,mixed>$args Handoff selector arguments
Returns
array<string,mixed>

Definition at line 411 of file email_cleaner.class.php.

References getEmailCleanerRun().

Referenced by execute().

◆ getEmailThreadContext()

ToolEmailCleaner::getEmailThreadContext ( array $args)
private

Get only the technical email thread context from a cleaner run.

Parameters
array<string,mixed>$args Selector arguments
Returns
array<string,mixed>

Definition at line 375 of file email_cleaner.class.php.

References getEmailCleanerRun().

Referenced by execute().

◆ isTableAvailable()

ToolEmailCleaner::isTableAvailable ( string $tableWithoutPrefix)
private

Check if a table is available.

Parameters
string$tableWithoutPrefixSQL table name without DB prefix
Returns
bool True if table exists, false otherwise

Definition at line 443 of file email_cleaner.class.php.

Referenced by getEmailCleanerRun(), and listEmailCleanerRuns().

◆ listEmailCleanerRuns()

ToolEmailCleaner::listEmailCleanerRuns ( array $args)
private

List cleaner runs.

Parameters
array<string,mixed>$args Filter and pagination arguments
Returns
array<string,mixed>

Definition at line 206 of file email_cleaner.class.php.

References conf(), decodeJsonOrRaw(), isTableAvailable(), sanitizeConfidenceOrNull(), and sanitizeLimit().

Referenced by execute().

◆ sanitizeConfidenceOrNull()

ToolEmailCleaner::sanitizeConfidenceOrNull ( $raw)
private

Sanitize confidence value or return null.

Parameters
mixed$rawUser-provided confidence value
Returns
float|null Sanitized confidence value (0.0-1.0) or null if invalid

Definition at line 499 of file email_cleaner.class.php.

Referenced by listEmailCleanerRuns().

◆ sanitizeLimit()

ToolEmailCleaner::sanitizeLimit ( $raw)
private

Sanitize limit.

Parameters
mixed$rawUser-provided limit
Returns
int Sanitized limit value (positive integer, defaults to 20 if invalid)

Definition at line 481 of file email_cleaner.class.php.

Referenced by listEmailCleanerRuns().


The documentation for this class was generated from the following file: