openvibers/openvibe.chat Commits

Vibe's rail: Your agents (recurring work in plain words, with a memory, a schedule and quiet hours, on openvibe.actor/me/agents) (#176)

OP OpenVibers committed 20 days ago · 542e10e034 · 2 files, +3 −0

Changes

ddiff --git a/server/web/vibe-pages.js b/server/web/vibe-pages.js
iindex aaf863b..8451e1a 100644
---- a/server/web/vibe-pages.js
++++ b/server/web/vibe-pages.js
@@@ -55,6 +55,7 @@ const ICON = {
tasks: '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6h11M9 12h11M9 18h11"/><path d="m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17"/></svg>',
computer: '<svg viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="4" width="18" height="12" rx="2"/><path d="M8 20h8M12 16v4"/></svg>',
team: '<svg viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="4" width="18" height="14" rx="2"/><path d="M7 9h6M7 13h10"/></svg>',
++ agents: '<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3 2"/></svg>',
search: '<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="6.5"/><path d="m20 20-4.2-4.2"/></svg>',
};
@@@ -95,6 +96,7 @@ ${signedIn ? `<form class="vb-search" action="/vibe" method="get" role="search">
<nav class="vb-rail-list" aria-label="Chats with Vibe">${list}</nav>
<nav class="vb-rail-more" aria-label="More of OpenVibe.Chat">
<a href="https://openvibe.actor/tasks" title="Every task you gave an agent, one-off or recurring, with what it cost">${ICON.tasks}<span>Tasks</span></a>
++<a href="https://openvibe.actor/me/agents" title="Recurring work in plain words: an agent with standing instructions, a memory you can edit, a schedule and quiet hours">${ICON.agents}<span>Your agents</span></a>
<a href="https://openvibe.bot/machines" title="Your computers and robots: pair one, see its screen, set what agents may do on it">${ICON.computer}<span>Computers &amp; robots</span></a>
<a href="/work" title="A room where your team and Vibe work together: a work queue, alerts and a shared screen">${ICON.team}<span>Work together</span></a>
<a href="/messages">${ICON.messages}<span>Messages</span></a>
ddiff --git a/test/vibe.test.js b/test/vibe.test.js
iindex 31933f6..367bfbb 100644
---- a/test/vibe.test.js
++++ b/test/vibe.test.js
@@@ -130,6 +130,7 @@ t('the app page: signed out it invites a sign-in, signed in it lists the chats a
assert.ok(signed.text.includes('class="vb-chat" href="/vibe/v-'), 'the rail lists their chats');
// The rail leads to the rest of the person's agent: their tasks, their computers and robots, team workspaces.
assert.ok(/href="https:\/\/openvibe\.actor\/tasks"[^>]*>[\s\S]*?<span>Tasks<\/span>/.test(signed.text), 'Tasks');
++ assert.ok(/href="https:\/\/openvibe\.actor\/me\/agents"[^>]*>[\s\S]*?<span>Your agents<\/span>/.test(signed.text), 'Your agents: recurring work');
assert.ok(/href="https:\/\/openvibe\.bot\/machines"[^>]*>[\s\S]*?<span>Computers &amp; robots<\/span>/.test(signed.text), 'Computers & robots');
assert.ok(/href="\/work"[^>]*>[\s\S]*?<span>Work together<\/span>/.test(signed.text), 'Work together');
const form = await web('POST', '/vibe', ann, { message: 'hello from a form' });