Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Vivacity's client management system for RTOs | Saving you Time, Money and Compliance
BusinessTypeScript · PLpgSQLGitHub @vivacityrtoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Unicorn
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
There are several ways of editing your application.
Simply visit the Lovable Project and start prompting.
Changes made via Lovable will be committed automatically to this repo.
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
The only requirement is having Node.js & npm installed - install with nvm
• Navigate to the desired file(s).
• Click the "Edit" button (pencil icon) at the top right of the file view.
• Make your changes and commit the changes.Read the full README ↗URL: https://lovable.dev/projects/7abb2c2a-f78c-4be6-b1cd-d9d294bff530
There are several ways of editing your application.
Use Lovable
Simply visit the Lovable Project and start prompting.
Changes made via Lovable will be committed automatically to this repo.
Use your preferred IDE
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
The only requirement is having Node.js & npm installed - install with nvm
Follow these steps:
# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>
# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>
# Step 3: Install the necessary dependencies.
npm i
# Step 4: Start the development server with auto-reloading and an instant preview.
npm run dev
Edit a file directly in GitHub
Use GitHub Codespaces
This project is built with:
Simply open Lovable and click on Share -> Publish.
Yes, you can!
To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.
Read more here: Setting up a custom domain
Every user-JWT edge function gates the caller through
public.check_permission via supabase/functions/_shared/requireCaller.ts.
Do not add new unicorn_role / global_role / is_vivacity_internal /
role_type allowlists. public.users has no role_type column — that
legacy check failed closed.
import { requireCaller, FeatureKeys, allowTenantMember } from "../_shared/requireCaller.ts";
const caller = await requireCaller(req, admin, {
featureKey: FeatureKeys.staffEmailSend,
orAllow: ({ userId, admin }) => allowTenantMember(admin, userId, tenant_id),
});
if (!caller.ok) return caller.response;
check_permission always admits Super Admin. Other roles come from
role_permissions. Unknown feature keys return false (fail closed).
module.feature.action. Reuse an existing key when the allowed-set matches;
add a new key (and seed role_permissions in the same PR) when the
capability is distinct.
| Prefix | Meaning | Typical grants |
|---|---|---|
admin.* | Privileged administration | Super Admin full; others none unless noted |
staff.* | Any Vivacity internal staff | All internal roles full (incl. Team Member) |
staff.addin.use | Outlook add-in | Super Admin / Team Leader / Team Member |
admin.integrations.xero_connect | Connect/disconnect Xero | Super Admin + Integrator |
clients.* / packages.* / audits.* / academy.* / eos.* | Product modules | Per the Role Permissions editor |
Staff capability keys (prefer the specific one):
staff.internal — generic fallback for is_vivacity_internalstaff.sharepoint.usestaff.email.send — composed + Graph send; tenant members via orAllowstaff.documents.generatestaff.ai.usestaff.research.usestaff.meetings.usestaff.billing.xero_viewstaff.integrations.tgaDo not put a user-JWT gate on cron / webhook / token-redeem workers.
Leave mixed staff-OR-tenant-admin paths as requireCaller + orAllow
(allowClientAdmin / allowTenantMember). Do not fold client Admin into
role_permissions — they are not is_vivacity_internal.