diff --git a/src/ui/ManagementPortal/components/Sidebar.vue b/src/ui/ManagementPortal/components/Sidebar.vue
index 408c82ef3..841f99495 100644
--- a/src/ui/ManagementPortal/components/Sidebar.vue
+++ b/src/ui/ManagementPortal/components/Sidebar.vue
@@ -26,6 +26,7 @@
+
diff --git a/src/ui/ManagementPortal/js/api.ts b/src/ui/ManagementPortal/js/api.ts
index 166ab7880..6daf14b00 100644
--- a/src/ui/ManagementPortal/js/api.ts
+++ b/src/ui/ManagementPortal/js/api.ts
@@ -543,6 +543,25 @@ export default {
/*
Prompts
*/
+ async getPrompts(): Promise[] | null> {
+ try {
+ const data = await this.fetch(`/instances/${this.instanceId}/providers/FoundationaLLM.Prompt/prompts?api-version=${this.apiVersion}`);
+ return data as ResourceProviderGetResult[];
+ } catch (error) {
+ return null;
+ }
+ },
+
+ async getPromptByName(promptName: string): Promise | null> {
+ // Attempt to retrieve the prompt. If it doesn't exist, return an empty object.
+ try {
+ const data = await this.fetch(`/instances/${this.instanceId}/providers/FoundationaLLM.Prompt/prompts/${promptName}?api-version=${this.apiVersion}`);
+ return data[0];
+ } catch (error) {
+ return null;
+ }
+ },
+
async getPrompt(promptId: string): Promise | null> {
// Attempt to retrieve the prompt. If it doesn't exist, return an empty object.
try {
diff --git a/src/ui/ManagementPortal/pages/prompts/create.vue b/src/ui/ManagementPortal/pages/prompts/create.vue
new file mode 100644
index 000000000..3a312fc78
--- /dev/null
+++ b/src/ui/ManagementPortal/pages/prompts/create.vue
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
{{ loadingStatusText }}
+
+
+
+
+
+
+ No special characters or spaces, use letters and numbers with dashes and underscores only.
+
+
+
+
+
+
+
+
+ Provide a description to help others understand the prompt's purpose.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ui/ManagementPortal/pages/prompts/edit/[promptName].vue b/src/ui/ManagementPortal/pages/prompts/edit/[promptName].vue
new file mode 100644
index 000000000..994d336db
--- /dev/null
+++ b/src/ui/ManagementPortal/pages/prompts/edit/[promptName].vue
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/src/ui/ManagementPortal/pages/prompts/index.vue b/src/ui/ManagementPortal/pages/prompts/index.vue
new file mode 100644
index 000000000..891f9890a
--- /dev/null
+++ b/src/ui/ManagementPortal/pages/prompts/index.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
{{ loadingStatusText }}
+
+
+
+
+
+
+
+ No prompts found.
+
+
+ Loading agent prompts. Please wait.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Edit {{data.resource.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+