Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
30 changes: 22 additions & 8 deletions Localize/lang/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,11 +143,13 @@
"1D047X": "Required. The value to convert to XML.",
"1Fn5n+": "Required. The URI encoded string.",
"1GWzEL": "No results found for the specified filters",
"1Gsrs4": "You can ask questions or describe changes you want to make to your workflow.",
"1HhCtq": "Headers",
"1KFpTX": "(UTC+03:00) Minsk",
"1KMc+6": "The integer should be between [{min}, {max}]",
"1LSKq8": "Basics",
"1NBvKu": "Convert the parameter argument to a floating-point number",
"1NVeRR": "This assistant can help you learn about your workflows, answer questions about Azure Logic Apps, and make changes to your workflow.",
"1Orv4i": "Details",
"1REu5/": "See less",
"1Xke9D": "open functions drawer",
Expand Down Expand Up @@ -331,6 +333,7 @@
"5L2vIX": "Subscription",
"5LV34t": "The ''{invalidProperties}'' properties are invalid for the ''{authType}'' authentication type.",
"5OvGgn": "Body",
"5R1r3q": "Create a new connection",
"5SAQOb": "Authority",
"5Tqzsm": "Categorization",
"5U6Dee": "Action Result",
Expand Down Expand Up @@ -897,6 +900,7 @@
"I2Ztna": "Loop automatically added when connecting a repeating source element. No function required.",
"I3mifR": "Is skipped",
"I41vZ/": "(UTC-11:00) Coordinated Universal Time-11",
"I9lfbc": "✅ Workflow updated successfully.",
"IA+Ogm": "22",
"IAmvpa": "(UTC-08:00) Coordinated Universal Time-08",
"IBFBR2": "Remove loop",
Expand Down Expand Up @@ -1173,6 +1177,7 @@
"OdNhwc": "Ungroup",
"OeSQhS": "Create a new Azure Storage Account",
"Oep6va": "Submit",
"OevhEs": "↩️ Workflow change has been undone.",
"OgJ9eG": "(UTC+08:00) Taipei",
"OhbvXz": "(UTC+11:00) Norfolk Island",
"Oib1mL": "{hours}h {minutes}m",
Expand Down Expand Up @@ -1321,6 +1326,7 @@
"RvpHdu": "(UTC+11:00) Solomon Is., New Caledonia",
"RxGxr+": "Line number",
"RxbkcI": "Unsupported token type: {controls}",
"S+9l11": "Ask a question or describe a workflow change...",
"S0N/tx": "Resubmit a workflow run from this action",
"S138/4": "Format text as bold. Shortcut: ⌘B",
"S2KtbJ": "Select date and time",
Expand Down Expand Up @@ -1506,6 +1512,7 @@
"Vq9q5J": "Built-in",
"Vqs8hE": "Actions",
"VtRDnx": "Set the valid duration for this API key. Securely save the key after generation. This key appears only once and isn't stored in Azure, so you can't view the key later. Lost API keys require regenerating new ones.",
"VuvZff": "Add a response action that returns a 200 status code.",
"Vx6fwP": "Added this action",
"VysSj3": "View code",
"W+mUyI": "Next",
Expand Down Expand Up @@ -1637,7 +1644,6 @@
"YTJ78g": "Learn how to assign it",
"YUbSFS": "Yes/No",
"YV6qd0": "Agent activity",
"YW1rx0": "Create a new connection",
"YWD/RY": "condition, collapse",
"YWws/r": "Output names should not be empty.",
"YX0jQs": "All",
Expand Down Expand Up @@ -1850,11 +1856,13 @@
"_1D047X.comment": "Required string parameter to be converted using xml function",
"_1Fn5n+.comment": "Required URI encoded string parameter to be converted using uriComponentToBinary function",
"_1GWzEL.comment": "Text displayed when no results are found in the browse grid",
"_1Gsrs4.comment": "Chatbot outro message when workflow editing is enabled",
"_1HhCtq.comment": "headers",
"_1KFpTX.comment": "Time zone value ",
"_1KMc+6.comment": "Error validation message for integers being out of range",
"_1LSKq8.comment": "Accessibility label for the basics section",
"_1NBvKu.comment": "Label for description of custom float Function",
"_1NVeRR.comment": "Chatbot introduction message when workflow editing is enabled",
"_1Orv4i.comment": "Title for the details section",
"_1REu5/.comment": "Select to view fewer token options.",
"_1Xke9D.comment": "aria label to open functions drawer",
Expand Down Expand Up @@ -2038,6 +2046,7 @@
"_5L2vIX.comment": "Label for subscription id field",
"_5LV34t.comment": "Error message when having multiple invalid authentication properties",
"_5OvGgn.comment": "The title of the body field in the static result query action",
"_5R1r3q.comment": "Button text to create a new connection",
"_5SAQOb.comment": "Authority Label Display Name",
"_5Tqzsm.comment": "Categorization section title",
"_5U6Dee.comment": "The label for the action result dropdown in the unit test panel.",
Expand Down Expand Up @@ -2604,6 +2613,7 @@
"_I2Ztna.comment": "Message explaining user does not need to add a loop function",
"_I3mifR.comment": "Skipped run",
"_I41vZ/.comment": "Time zone value ",
"_I9lfbc.comment": "Chatbot message confirming a workflow modification was applied",
"_IA+Ogm.comment": "Hour of the day",
"_IAmvpa.comment": "Time zone value ",
"_IBFBR2.comment": "Remove loop for the connection",
Expand Down Expand Up @@ -2880,6 +2890,7 @@
"_OdNhwc.comment": "Ungroup button",
"_OeSQhS.comment": "Description for the Azure Storage Account create popup",
"_Oep6va.comment": "Submit button",
"_OevhEs.comment": "Chatbot message confirming a workflow modification was undone",
"_OgJ9eG.comment": "Time zone value ",
"_OhbvXz.comment": "Time zone value ",
"_Oib1mL.comment": "This is a time duration in abbreviated format",
Expand Down Expand Up @@ -3028,6 +3039,7 @@
"_RvpHdu.comment": "Time zone value ",
"_RxGxr+.comment": "The title of the line number field in the static result parseJson action",
"_RxbkcI.comment": "Exception for unsupported token types",
"_S+9l11.comment": "Chatbot input placeholder when workflow editing is enabled",
"_S0N/tx.comment": "accessibility text for the resubmit button",
"_S138/4.comment": "label to make bold text for Mac users",
"_S2KtbJ.comment": "Label for custom date time picker",
Expand Down Expand Up @@ -3213,6 +3225,7 @@
"_Vq9q5J.comment": "Filter by In App category of connectors",
"_Vqs8hE.comment": "Actions button",
"_VtRDnx.comment": "Description for the MCP generate keys section",
"_VuvZff.comment": "Chatbot suggestion message to add a response action to the workflow",
"_Vx6fwP.comment": "Chatbot added operation sentence format",
"_VysSj3.comment": "Button for View Code",
"_W+mUyI.comment": "Placeholder text for the Next button in the suggested workflow description",
Expand Down Expand Up @@ -3344,7 +3357,6 @@
"_YTJ78g.comment": "Link text to learn how to assign the required role for the session pool in Azure Container Apps",
"_YUbSFS.comment": "Placeholder title for a newly inserted Boolean parameter",
"_YV6qd0.comment": "Chat view tab title",
"_YW1rx0.comment": "Button text to create a new connection",
"_YWD/RY.comment": "condition",
"_YWws/r.comment": "Invalid output names",
"_YX0jQs.comment": "All templates tab",
Expand Down Expand Up @@ -3562,7 +3574,6 @@
"_dDYCuU.comment": "Link text to open URL",
"_dEe6Ob.comment": "Error validation message",
"_dIYzFU.comment": "Tooltip text for the \"...\" menu that you select to show more items",
"_dK7mXq.comment": "Info message shown on parameters step when the connection is locked",
"_dKCp2j.comment": "Chatbot query start of sentence for asking for more explaination on an item that the user can should complete.",
"_dKW11v.comment": "Info message during workflow selection",
"_dL9V5t.comment": "Text to show label for managed identity selector",
Expand Down Expand Up @@ -3738,6 +3749,7 @@
"_h8JTcA.comment": "Shows how many tools are selected",
"_hA5Aif.comment": "The tab label for the publish tab on the configure template wizard",
"_hCrg+6.comment": "Cannot delete the last run after edge",
"_hFjNA8.comment": "Chatbot introduction message to suggest what it can help with",
"_hGbRBS.comment": "All tab label",
"_hHDJhD.comment": "Placeholder title for a newly inserted File parameter",
"_hHNj31.comment": "Cancel button text",
Expand Down Expand Up @@ -3878,7 +3890,6 @@
"_k8fofe.comment": "Error message shown when app creation fails",
"_kBSLfu.comment": "Duplicate property name error message",
"_kEI2xx.comment": "The title of the message field in the static result parseJson action",
"_kEjmTx.comment": "Chatbot introduction message to suggest what it can help with",
"_kH7x1w.comment": "Label for the App Service plan field",
"_kHcCxH.comment": "This is a time duration in abbreviated format",
"_kHs5R4.comment": "Chatbot flow preview message reminding user to check workflow actions",
Expand Down Expand Up @@ -3933,6 +3944,7 @@
"_lL5oRE.comment": "Microsoft tab label",
"_lLhS3T.comment": "Button text for creating new workflows",
"_lM9qrG.comment": "Time zone value ",
"_lO+med.comment": "Chatbot message when a workflow modification is proposed for review",
"_lPTdSf.comment": "Button text for run trigger",
"_lQNKUB.comment": "Describes connection being added",
"_lR7V87.comment": "Section header for the functions section",
Expand All @@ -3952,6 +3964,7 @@
"_ljAOR6.comment": "Label for description of custom body Function",
"_lk/Qic.comment": "Connector text",
"_lkgjxD.comment": "Required string parameter for end time",
"_lmqT4k.comment": "Info message shown on parameters step when the connection is locked",
"_lo77/t.comment": "Summary label",
"_lqF8H5.comment": "An accessible label for collapse toggle icon",
"_lsH37F.comment": "tool tip explaining what schema validation setting does",
Expand Down Expand Up @@ -4120,6 +4133,7 @@
"_p0BE2D.comment": "Button text to trigger clone in the create workflow panel",
"_p1IEXb.comment": "Label for button to open dynamic content token picker",
"_p2eSD1.comment": "Button text for opening panel for editing workflows",
"_p4+r7z.comment": "Chatbot suggestion message to add error handling to the workflow",
"_p5ZID0.comment": "Time zone value ",
"_p8AKOz.comment": "Label for the description textfield",
"_pC2nr2.comment": "Placeholder text for Key",
Expand Down Expand Up @@ -4615,7 +4629,6 @@
"_zb3lE6.comment": "Chatbot message telling user to set up action in order to save the workflow",
"_zcZpHT.comment": "Label for description of custom parseDateTime Function",
"_zeVnUJ.comment": "Required parameter for value in encodeXmlValue function",
"_zec5Ay.comment": "Chatbot stop generating flow button alt text",
"_zhMe58.comment": "Label for clear search button",
"_ziYCiA.comment": "Header text for summary",
"_zj7R+4.comment": "Button text for creating the logic app",
Expand Down Expand Up @@ -4779,7 +4792,6 @@
"dDYCuU": "Learn more",
"dEe6Ob": "Enter a valid JSON.",
"dIYzFU": "More…",
"dK7mXq": "The connection for this MCP server is locked and cannot be changed.",
"dKCp2j": "Tell me more about",
"dKW11v": "Currently, templates only support workflows from the same Logic App instance.",
"dL9V5t": "Managed identity",
Expand Down Expand Up @@ -4955,6 +4967,7 @@
"h8JTcA": "{count} {count, plural, one {tool} other {tools}} selected",
"hA5Aif": "Publish",
"hCrg+6": "Actions must have one or more run after configurations",
"hFjNA8": "Some things you can try:",
"hGbRBS": "All",
"hHDJhD": "File content",
"hHNj31": "Cancel",
Expand Down Expand Up @@ -5095,7 +5108,6 @@
"k8fofe": "An error occurred while creating the app. Unknown error.",
"kBSLfu": "Duplicate property name",
"kEI2xx": "Message",
"kEjmTx": "Some things you can ask:",
"kH7x1w": "App Service plan",
"kHcCxH": "{minutes}m {seconds}s",
"kHs5R4": "Check these actions to see if any parameters need to be set.",
Expand Down Expand Up @@ -5150,6 +5162,7 @@
"lL5oRE": "Microsoft",
"lLhS3T": "Create new workflows",
"lM9qrG": "(UTC+13:00) Nuku'alofa",
"lO+med": "I have a workflow change ready. Review the proposal below.",
"lPTdSf": "Run trigger",
"lQNKUB": "A line for the parent element is added automatically.",
"lR7V87": "Functions",
Expand All @@ -5169,6 +5182,7 @@
"ljAOR6": "Shorthand for actions('actionName').outputs.body",
"lk/Qic": "connector",
"lkgjxD": "Required. A string that contains the end time.",
"lmqT4k": "The connection for this MCP server is locked and cannot be changed.",
"lo77/t": "Summary",
"lqF8H5": "Collapse static result",
"lsH37F": "Validate request body against the schema provided. In case there is a mismatch, HTTP 400 will be returned",
Expand Down Expand Up @@ -5337,6 +5351,7 @@
"p0BE2D": "Clone",
"p1IEXb": "Enter the data from previous step. You can also add data by typing the '/' character.",
"p2eSD1": "Edit",
"p4+r7z": "Add error handling to this workflow.",
"p5ZID0": "(UTC+03:00) Kuwait, Riyadh",
"p8AKOz": "Description",
"pC2nr2": "Enter key",
Expand Down Expand Up @@ -5832,7 +5847,6 @@
"zb3lE6": "To save this workflow, finish setting up this action:",
"zcZpHT": "Converts a string, with optionally a locale and a format to a date",
"zeVnUJ": "Required. The string to be encoded as a valid XML element value.",
"zec5Ay": "Stop",
"zhMe58": "Clear search",
"ziYCiA": "Summary",
"zj7R+4": "Create",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,26 @@ const CodeViewEditor = forwardRef(({ workflowKind, isConsumption }: CodeViewProp
hasChanges: () => changesMade,
}));

if (isNullOrUndefined(code)) {
return null;
}

return (
<div>
{isNullOrUndefined(code) ? null : (
<MonacoEditor
height="95vh"
language={EditorLanguage.json}
value={code}
overviewRulerBorder={true}
scrollBeyondLastLine={false}
fontSize={13}
onContentChanged={handleContentChanged}
/>
)}
<div style={{ flex: '1 1 0', minHeight: 0, overflow: 'hidden' }}>
<MonacoEditor
height="100%"
language={EditorLanguage.json}
value={code}
overviewRulerBorder={true}
scrollBeyondLastLine={false}
noBorder={true}
fontSize={13}
onContentChanged={handleContentChanged}
/>
</div>
);
});

CodeViewEditor.displayName = 'CodeViewEditor';

export default CodeViewEditor;
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,19 @@ const CodeViewEditor = forwardRef(({ workflowKind, isConsumption }: CodeViewProp
hasChanges: () => changesMade,
}));

return (
<div>
{isNullOrUndefined(code) ? null : (
<CodeMirrorEditor
height="100vh"
language={EditorLanguage.json}
value={code}
overviewRulerBorder={true}
scrollBeyondLastLine={false}
fontSize={13}
onContentChanged={handleContentChanged}
indentWithTab={true}
/>
)}
return isNullOrUndefined(code) ? null : (
<div style={{ flex: '1 1 0', minHeight: 0, overflow: 'hidden' }}>
<CodeMirrorEditor
height="100%"
language={EditorLanguage.json}
value={code}
overviewRulerBorder={true}
scrollBeyondLastLine={false}
noBorder={true}
fontSize={13}
onContentChanged={handleContentChanged}
indentWithTab={true}
/>
</div>
);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,20 @@ export const DesignerCommandBar = ({
const editorItems: ICommandBarItemProps[] = useMemo(
() => [
...baseStartItems,
{
key: 'copilot',
text: 'Assistant',
iconProps: { iconName: 'Chat' },
disabled: !isCopilotReady,
onClick: () => {
enableCopilot?.();
LoggerService().log({
level: LogEntryLevel.Warning,
area: 'chatbot',
message: 'workflow assistant opened',
});
},
},
{
key: 'run',
text: 'Run',
Expand Down Expand Up @@ -407,20 +421,6 @@ export const DesignerCommandBar = ({
},
onClick: () => !!dispatch(openPanel({ panelMode: 'Error' })),
},
{
key: 'copilot',
text: 'Assistant',
iconProps: { iconName: 'Chat' },
disabled: !isCopilotReady,
onClick: () => {
enableCopilot?.();
LoggerService().log({
level: LogEntryLevel.Warning,
area: 'chatbot',
message: 'workflow assistant opened',
});
},
},
{
key: 'document',
text: 'Document',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ import {
DocumentOnePageColumnsRegular,
ArrowSyncFilled,
CheckmarkCircleRegular,
ChatSparkleFilled,
ChatSparkleRegular,
} from '@fluentui/react-icons';

const UndoIcon = bundleIcon(ArrowUndoFilled, ArrowUndoRegular);
Expand All @@ -85,6 +87,7 @@ const ConnectionsIcon = bundleIcon(LinkFilled, LinkRegular);
const ErrorsIcon = bundleIcon(ErrorCircleFilled, ErrorCircleRegular);
const DocumentOnePageAddIcon = bundleIcon(DocumentOnePageAddFilled, DocumentOnePageAddRegular);
const DocumentOnePageColumnsIcon = bundleIcon(DocumentOnePageColumnsFilled, DocumentOnePageColumnsRegular);
const ChatIcon = bundleIcon(ChatSparkleFilled, ChatSparkleRegular);

const useStyles = makeStyles({
viewModeContainer: {
Expand Down Expand Up @@ -202,7 +205,10 @@ export const DesignerCommandBar = ({
queryClient.invalidateQueries({ queryKey: ['foundryAgentVersions'] });
}).catch(console.error);
await saveWorkflow(serializedWorkflow, customCodeFilesWithData, () => dispatch(resetDesignerDirtyState(undefined)), autoSave);
if (Object.keys(serializedWorkflow?.definition?.triggers ?? {}).length > 0) {
// Only refresh callback URL on explicit saves, not auto-saves.
// The callback URL doesn't change on draft saves, so calling it on every
// auto-save cycle just generates unnecessary network requests.
if (!autoSave && Object.keys(serializedWorkflow?.definition?.triggers ?? {}).length > 0) {
updateCallbackUrl(designerState, dispatch);
}
if (autoSave) {
Expand Down Expand Up @@ -470,9 +476,6 @@ export const DesignerCommandBar = ({
Assertions
</MenuItem>
<MenuDivider />
<MenuItem disabled={!isCopilotReady} onClick={() => enableCopilot?.()}>
Assistant
</MenuItem>
<MenuItem
disabled={haveErrors || isDownloadingDocument}
onClick={() => downloadDocument()}
Expand Down Expand Up @@ -503,6 +506,9 @@ export const DesignerCommandBar = ({
}}
>
<ViewModeSelect />
<ToolbarButton aria-label="Assistant" icon={<ChatIcon />} disabled={!isCopilotReady} onClick={() => enableCopilot?.()}>
Assistant
</ToolbarButton>
<div style={{ flexGrow: 1 }} />
<DraftSaveNotification />
<SaveButton />
Expand Down
Loading
Loading