Open Mookse opened 6 months ago
To implement the "Answer Questions" feature with the flow you've described, you can design the interface and server interaction as follows:
Sidebar Option: Include an "Answer Questions" option in the sidebar for logged-in members. This creates an intuitive pathway for members to engage with the feature.
Listing Contribution Topics: When a member selects "Answer Questions," display a list of ongoing Contribution topics. This list can be dynamically loaded from the server, showing titles or brief descriptions of each topic.
Topic Selection and Interaction:
Contributions[x].questions
.Displaying Questions: Present the questions to the member in a conversational format, possibly within a chat interface. This can make the experience more engaging and personal.
Member Response: Allow members to type their responses, which are then sent back to the server for processing or storage.
Endpoint for Questions: Create a dedicated endpoint on the server to handle requests for Contribution topics and their associated questions.
Fetching Contribution Topics: When a request is made to this endpoint, fetch the relevant Contribution topics and their details from your database or storage solution.
Generating Chat Objects:
Contributions[x].questions
.Sending Response: Send the chat object back to the frontend where it can be displayed to the member.
Handling Responses: When a member submits their answers, handle this submission appropriately – storing responses, updating member profiles, or triggering any subsequent actions.
This approach ensures a smooth user experience and effective backend handling, balancing member engagement with resource management.
Evo-Agent (evolution-assistant) should operate in distinct phases: create, init, develop, mature, maintain, retire
For this ticket, focus on incorporating capture functionality (which is working, but
gpt-assistant.metadata
was not an effective route to pursue, as they deprecated immediately...) into the new model where file would be dynamically created from core (no longer limited to 512 char) and attached to member's bound avatar on openAI - need only happen once per permutation, but should be tracked as such.Phase 0:
create
Phase 1:
init
Architectural
node.js backend
contribution_questions
database containerclass-extenders.mjs::this.#getQuestions()
routes.js
/members/:mid/contributions/:cid
/members
base chat: adhere to new JSON object_memberRouter.post('/category', category)
functions.mjs
contributions()
contributions()
(or create new) with ability to process incoming answerscategory()
[passes action to avatar, ergoclass-extenders.mjs
]class-extenders.mjs
avatar
category()
async
, will alter what's immediately necessary and store at "leisure"setContribution()
Contribution
objects between communication with other services inside of avatar protectedthis.#
scopeJSON objects
messages.json
message_member_chat
properties
: ["agent", "category", "contributions", "id", "message", "response_time", "purpose", "type"]required
: ["agent", "category", "contributions", "id", "message", "type"]EJS frontend
members.html
chat()
parameter to message_member_chat object structure (not a class currently)_widget-contributions.html
Assistants
Outstanding Optionals
function
agent call, or whatever similarfunction
trigger would continue to add,context
directly or as summaryPhase 2:
develop
optional, convert to new issue? Alpha will be fine up to phase 1
Phase notes