microsoft.opentelemetry.a365.core.models.tool_call_schema module
Typed Agent365 execute-tool argument and result schema models.
The models mirror the Agent365 JSON contract used by the .NET distro. Payloads are
serialized with serialize_tool_call_payload(), which never raises: any failure is
replaced by TOOL_CALL_SERIALIZATION_ERROR_JSON so a span is never orphaned and no
caller exception escapes the telemetry path.
- microsoft.opentelemetry.a365.core.models.tool_call_schema.TOOL_CALL_SCHEMA_VERSION = '1.0'
Schema version emitted on every typed execute-tool payload.
- microsoft.opentelemetry.a365.core.models.tool_call_schema.TOOL_CALL_SERIALIZATION_ERROR_JSON = '{"serialization_error":"Failed to serialize execute tool payload."}'
Diagnostic payload emitted when a typed execute-tool payload cannot be serialized.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallAction(value)[source]
-
Well-known actions taken by an execute-tool call.
- CREATE = 'create'
Creates a resource.
- READ = 'read'
Reads a resource.
- UPDATE = 'update'
Updates a resource.
- DELETE = 'delete'
Deletes a resource.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallOutcomeStatus(value)[source]
-
Well-known statuses for an execute-tool outcome.
- SUCCESS = 'success'
The tool call completed successfully.
- FAILURE = 'failure'
The tool call failed.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolPolicyDecision(value)[source]
-
Well-known policy decisions for an execute-tool result resource.
- ALLOW = 'allow'
The policy allows the tool call.
- DENY = 'deny'
The policy denies the tool call.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallIdentifier(identifier_type=None, value=None, extension_data=<factory>)[source]
Bases:
objectResource identifier for an execute-tool payload.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallContainer(container_id=None, uri=None, container_type=None, extension_data=<factory>)[source]
Bases:
objectContainer that owns or scopes an execute-tool resource.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResource(resource_id=None, uri=None, name=None, resource_type=None, provider=None, identifiers=None, container=None, extension_data=<factory>)[source]
Bases:
objectResource referenced by an execute-tool arguments payload.
- identifiers: list[ToolCallIdentifier] | None = None
- container: ToolCallContainer | None = None
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ExecuteToolCallArguments(action=None, resources=None, parameters=None, schema_version='1.0', extension_data=<factory>)[source]
Bases:
objectStructured arguments for an execute-tool call.
- action: ToolCallAction | str | None = None
- resources: list[ToolCallResource] | None = None
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResultOutcome(status=None, code=None, provider_code=None, message=None, extension_data=<factory>)[source]
Bases:
objectOutcome metadata for an execute-tool result.
- status: ToolCallOutcomeStatus | str | None = None
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResultSensitivity(label_id=None, extension_data=<factory>)[source]
Bases:
objectSensitivity metadata for an execute-tool result resource.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResultPolicy(decision=None, policy_id=None, name=None, extension_data=<factory>)[source]
Bases:
objectPolicy metadata for an execute-tool result resource.
- decision: ToolPolicyDecision | str | None = None
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResultSecurity(xpia_detected=None, extension_data=<factory>)[source]
Bases:
objectSecurity metadata for an execute-tool result resource.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResultPagination(has_more=None, next_cursor=None, total_count=None, extension_data=<factory>)[source]
Bases:
objectPagination metadata for an execute-tool result.
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ToolCallResultResource(resource_id=None, uri=None, name=None, resource_type=None, provider=None, identifiers=None, container=None, outcome=None, sensitivity=None, policy=None, security=None, data=None, extension_data=<factory>)[source]
Bases:
objectResource included in an execute-tool result payload.
- identifiers: list[ToolCallIdentifier] | None = None
- container: ToolCallContainer | None = None
- outcome: ToolCallResultOutcome | None = None
- sensitivity: ToolCallResultSensitivity | None = None
- policy: ToolCallResultPolicy | None = None
- security: ToolCallResultSecurity | None = None
- class microsoft.opentelemetry.a365.core.models.tool_call_schema.ExecuteToolCallResult(outcome=None, resources=None, data=None, pagination=None, schema_version='1.0', extension_data=<factory>)[source]
Bases:
objectStructured result for an execute-tool call.
- outcome: ToolCallResultOutcome | None = None
- resources: list[ToolCallResultResource] | None = None
- pagination: ToolCallResultPagination | None = None
- microsoft.opentelemetry.a365.core.models.tool_call_schema.serialize_tool_call_payload(value)[source]
Serialize a typed execute-tool payload using the Agent365 JSON contract.
The call never raises. When any value in the payload cannot be represented in the schema — an unsupported type, a reference cycle, a non-finite float, an undefined enum value, or invalid extension data — the whole payload is replaced by
TOOL_CALL_SERIALIZATION_ERROR_JSON.- Parameters:
value (
ExecuteToolCallArguments|ExecuteToolCallResult|None) – The typed payload to serialize, orNone.- Return type:
- Returns:
The JSON payload, the diagnostic payload on failure, or
NonewhenvalueisNone.