feat(saas): full SquareMCP SaaS platform v1

- JWT auth with bcrypt password hashing, cookie sessions, forgot/reset password
- Per-user encrypted credential storage (Redis + AES-256-GCM) for all 9 platforms
- Usage tracking with monthly limits per plan (free/starter/growth/enterprise)
- Invoice generation and retrieval (admin + user views)
- Admin panel with customer listing (role-based access)
- Web app UI at app.squaremcp.com — login, dashboard, connections, usage, invoices
- Unified auth middleware: API key, OAuth Bearer, and JWT cookie support
- Facebook Graph API fixes: published_posts endpoint, photo/video post support
- TikTok sandbox compliance: SELF_ONLY privacy for unaudited apps
- URL verification files for TikTok app review
This commit is contained in:
Garfield
2026-05-13 08:42:33 -04:00
parent 7796de12bf
commit a5e4c55885
46 changed files with 4054 additions and 171 deletions

View File

@@ -2,6 +2,14 @@ import "./index.css";
import { Composition } from "remotion";
import { SquareMCPLinkedIn } from "./SquareMCPLinkedIn";
import { SquareMCPHeroLoop } from "./SquareMCPHeroLoop";
import {
SquareMCPTikTokCTA,
SquareMCPTikTokDemo,
SquareMCPTikTokFull,
SquareMCPTikTokHook,
SquareMCPTikTokProblem,
SquareMCPTikTokProof,
} from "./SquareMCPTikTok";
export const RemotionRoot = () => {
return (
@@ -22,6 +30,54 @@ export const RemotionRoot = () => {
width={1920}
height={1080}
/>
<Composition
id="SquareMCPTikTokFull"
component={SquareMCPTikTokFull}
durationInFrames={30 * 30}
fps={30}
width={1080}
height={1920}
/>
<Composition
id="SquareMCPTikTokHook"
component={SquareMCPTikTokHook}
durationInFrames={3 * 30}
fps={30}
width={1080}
height={1920}
/>
<Composition
id="SquareMCPTikTokProblem"
component={SquareMCPTikTokProblem}
durationInFrames={5 * 30}
fps={30}
width={1080}
height={1920}
/>
<Composition
id="SquareMCPTikTokDemo"
component={SquareMCPTikTokDemo}
durationInFrames={12 * 30}
fps={30}
width={1080}
height={1920}
/>
<Composition
id="SquareMCPTikTokProof"
component={SquareMCPTikTokProof}
durationInFrames={5 * 30}
fps={30}
width={1080}
height={1920}
/>
<Composition
id="SquareMCPTikTokCTA"
component={SquareMCPTikTokCTA}
durationInFrames={5 * 30}
fps={30}
width={1080}
height={1920}
/>
</>
);
};