Aroha-Labs / mira-sdk-python

0 stars 1 forks source link

[Console] Flow builder EPIC #69

Open satyajit1401 opened 1 month ago

satyajit1401 commented 1 month ago

Flow (in staging)

Status: Planning Project: Mira Console (https://www.notion.so/Mira-Console-114ede3f0f0b8113bb9fd518732d977d?pvs=21) Sub-tasks: Sprint 21 tasks (https://www.notion.so/Sprint-21-tasks-11aede3f0f0b80cca5f2f8b28274b174?pvs=21) Parent EPIC: Flow Builder (https://www.notion.so/Flow-Builder-114ede3f0f0b81e4bd42c51d4528b950?pvs=21) Type: Epic sprint: Sprint 21

Overview

This interface represents a flow-building environment where users can create and customize. It allows for constructing both simple and complex flows by combining various components.

User Story

As a user who needs to create AI-powered workflows, I want a simple and flexible interface to build custom flows so that I can easily create and modify AI workflows to suit my specific needs, whether they are simple or complex.

Elements

Flow Information

Element Sub-Element Description
Name of the flow - Displays the name of the current flow
Last edited timestamp - Shows when the flow was last modified
Flow version - Indicates the version of the flow

Utilities

Element Sub-Element Description
Add Primitive component - Functionality to add a new primitive component to the page
Test Flow - Functionality to run the entir flow.

The functionality should display in real time, which component is being run. For each component there will be 4 styates, yets to bee run, running, success and failure Failed component shoulf have proper error handling informing reason of failure. Succesful runs should show

Start Component

Element Sub-Element Description
Inputs Input parameters Displays already added input parameters
Input name Editable name of the input
Input type Editable type (string, number, date)
Input description Editable description of the input
Add input parameter Functionality to add a new input parameter
Delete parameter Functionality to delete a parameter

Primitive Component

Element Sub-Element Description
Model Selected model Displays the currently selected model (default: llama8B)
Change model Shows available models for selection and user can change the model with one click
Input parameters - Displays the input parameters of the primitive component
Input name Editable name of the input
Input reference Editable reference to input parameter (this can be an inout from the start component or output of other primitive components)
The field displays and filters all available refernces as user types
Add input parameter Functionality to add a new input parameter
Delete parameter Functionality to delete a parameter
Prompt - Large text area for system prompt with pre-populated helper text.
Helper text shoul say “ You can use {variable name} method to introduct variables from the inout parameters”
Adding variables Functionality to add input variabvles of the compinent into the prompt.
The field displays and iflters through all available variables once user initialtes a variable by typing “{”
Output parameter Output name Editable name of the output
Add Description Editable description of the output
Add data (optional) Link existing data set Functionality to search and select available data sets, and link them to the component with a single click
Add new files /data sets Clear messaging asking the user to use the data manger to create new/edit data sets, with the functionality of opening the data manager in a new tab
Delete component - Functionality to deletecomponent, function asks for confirmation before deleting

End Component

Element Sub-Element Description
Outputs Output parameter Displays already added output parameters
Output name Editable name of the Output
Output reference Editable reference to Output parameter (this can be an Outpiut from any of other primitive components)
Displays and filters all available refernces as user types
Add Output parameter Functionality to add a new input parameter
Delete output parameter Functionality to delete an output parameter

Tasks

Sprint 21