Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,28 @@ codeunit 4315 "Agent Task Builder"
/// </summary>
/// <param name="From">The sender of the message.</param>
/// <param name="MessageText">The message text.</param>
/// <param name="AgentTaskMessageBuilder">The agent task message builder.</param>
/// <returns>This instance of the Agent Task Builder.</returns>
procedure AddTaskMessage(From: Text[250]; MessageText: Text): codeunit "Agent Task Builder"
begin
FeatureAccessManagement.AgentTaskManagementPreviewEnabled(true);
AgentTaskBuilderImpl.AddTaskMessage(From, MessageText);
AgentTaskBuilderImpl.AddTaskMessage(From, MessageText, true);
exit(this);
end;

/// <summary>
/// Add a task message to the task.
/// Only a single message can be added to the task.
/// This OnPrem overload allows bypassing message sanitization.
/// </summary>
/// <param name="From">The sender of the message.</param>
/// <param name="MessageText">The message text.</param>
/// <param name="SanitizeMessage">Specifies if the message should be sanitized. Set to false to bypass sanitization.</param>
/// <returns>This instance of the Agent Task Builder.</returns>
[Scope('OnPrem')]
procedure AddTaskMessage(From: Text[250]; MessageText: Text; SanitizeMessage: Boolean): codeunit "Agent Task Builder"
begin
FeatureAccessManagement.AgentTaskManagementPreviewEnabled(true);
AgentTaskBuilderImpl.AddTaskMessage(From, MessageText, SanitizeMessage);
exit(this);
end;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,26 @@ codeunit 4316 "Agent Task Message Builder"
procedure Initialize(MessageText: Text): codeunit "Agent Task Message Builder"
begin
FeatureAccessManagement.AgentTaskManagementPreviewEnabled(true);
AgentTaskMsgBuilderImpl.Initialize(MessageText);
AgentTaskMsgBuilderImpl.Initialize(AgentTaskMsgBuilderImpl.SanitizeMessage(MessageText));
exit(this);
end;

/// <summary>
/// Initialize the agent task message builder with the mandatory parameter.
/// From value will be set to the current user.
/// This OnPrem overload allows bypassing message sanitization.
/// </summary>
/// <param name="MessageText">The text of the message.</param>
/// <param name="SanitizeMessage">Specifies if the message should be sanitized. Set to false to bypass sanitization.</param>
/// <returns>This instance of the Agent Task Message Builder.</returns>
[Scope('OnPrem')]
procedure Initialize(MessageText: Text; SanitizeMessage: Boolean): codeunit "Agent Task Message Builder"
begin
FeatureAccessManagement.AgentTaskManagementPreviewEnabled(true);
if SanitizeMessage then
AgentTaskMsgBuilderImpl.Initialize(AgentTaskMsgBuilderImpl.SanitizeMessage(MessageText))
else
AgentTaskMsgBuilderImpl.Initialize(MessageText);
exit(this);
end;

Expand All @@ -41,7 +60,26 @@ codeunit 4316 "Agent Task Message Builder"
procedure Initialize(From: Text[250]; MessageText: Text): codeunit "Agent Task Message Builder"
begin
FeatureAccessManagement.AgentTaskManagementPreviewEnabled(true);
AgentTaskMsgBuilderImpl.Initialize(From, MessageText);
AgentTaskMsgBuilderImpl.Initialize(From, AgentTaskMsgBuilderImpl.SanitizeMessage(MessageText));
exit(this);
end;

/// <summary>
/// Initialize the agent task message builder with the mandatory parameters.
/// This OnPrem overload allows bypassing message sanitization.
/// </summary>
/// <param name="From">Text indicating the sender of the message.</param>
/// <param name="MessageText">The text of the message.</param>
/// <param name="SanitizeMessage">Specifies if the message should be sanitized. Set to false to bypass sanitization.</param>
/// <returns>This instance of the Agent Task Message Builder.</returns>
[Scope('OnPrem')]
procedure Initialize(From: Text[250]; MessageText: Text; SanitizeMessage: Boolean): codeunit "Agent Task Message Builder"
begin
FeatureAccessManagement.AgentTaskManagementPreviewEnabled(true);
if SanitizeMessage then
AgentTaskMsgBuilderImpl.Initialize(From, AgentTaskMsgBuilderImpl.SanitizeMessage(MessageText))
else
AgentTaskMsgBuilderImpl.Initialize(From, MessageText);
exit(this);
end;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,15 @@ codeunit 4310 "Agent Task Builder Impl."
procedure AddTaskMessage(From: Text[250]; MessageText: Text): codeunit "Agent Task Builder Impl."
begin
GlobalAgentTaskMessageBuilder.Initialize(From, MessageText);
MessageSet := true;
exit(this);
end;

[Scope('OnPrem')]
procedure AddTaskMessage(From: Text[250]; MessageText: Text; SanitizeMessage: Boolean): codeunit "Agent Task Builder Impl."
begin
GlobalAgentTaskMessageBuilder.Initialize(From, MessageText, SanitizeMessage);
MessageSet := true;
exit(this);
end;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

namespace System.Agents;

using System;

codeunit 4311 "Agent Task Msg. Builder Impl."
{
Access = Internal;
Expand Down Expand Up @@ -259,4 +261,12 @@ codeunit 4311 "Agent Task Msg. Builder Impl."
exit('text/plain');
exit('');
end;

internal procedure SanitizeMessage(MessageBody: Text): Text
var
AppHTMLSanitizer: DotNet AppHtmlSanitizer;
begin
AppHTMLSanitizer := AppHTMLSanitizer.AppHtmlSanitizer();
exit(AppHTMLSanitizer.SanitizeEmail(MessageBody));
end;
}
6 changes: 6 additions & 0 deletions src/System Application/App/Agent/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@
"name": "User Settings",
"publisher": "Microsoft",
"version": "28.0.0.0"
},
{
"id": "7e3b999e-1182-45d2-8b82-d5127ddba9b2",
"name": "DotNet Aliases",
"publisher": "Microsoft",
"version": "28.0.0.0"
}
],
"propagateDependencies": true,
Expand Down
Loading