feat(ui): v1 launch — consumer hero, onboarding flow, Obsidian app card
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
FROM node:20-alpine AS builder
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
COPY scripts/ ./scripts/
|
||||
RUN npm install
|
||||
COPY tsconfig.json ./
|
||||
COPY src/ ./src/
|
||||
@@ -9,6 +10,7 @@ RUN npx tsc
|
||||
FROM node:20-alpine
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
COPY scripts/ ./scripts/
|
||||
RUN npm install --omit=dev
|
||||
COPY --from=builder /app/dist ./dist
|
||||
EXPOSE 3456
|
||||
|
||||
@@ -510,7 +510,7 @@ app.get('/login', (req, res) => {
|
||||
<div class="card">
|
||||
<div class="logo">Square<span>MCP</span></div>
|
||||
<h1>Sign in to continue</h1>
|
||||
<p class="sub">Connect your SquareMCP account to authorize access.</p>
|
||||
<p class="sub">One login connects Claude and ChatGPT to your notes, email, and social accounts.</p>
|
||||
${errMsg ? `<p class="error">${errMsg}</p>` : ''}
|
||||
<form method="POST" action="/login">
|
||||
<input type="hidden" name="return_to" value="${safeReturnTo.replace(/"/g, '"')}">
|
||||
|
||||
@@ -768,6 +768,11 @@ function filterPaths(fullSpec: Record<string, unknown>, allowed: Set<string>): R
|
||||
}
|
||||
|
||||
const CHATGPT_PATHS = new Set([
|
||||
// Obsidian
|
||||
'/api/obsidian/search',
|
||||
'/api/obsidian/note',
|
||||
'/api/obsidian/note/append',
|
||||
'/api/obsidian/sync',
|
||||
// Email
|
||||
'/api/email/profile',
|
||||
'/api/email/search',
|
||||
@@ -815,7 +820,7 @@ export function getOpenApiSpecChatGPT(serverUrl: string) {
|
||||
info: {
|
||||
...full.info,
|
||||
title: 'SquareMCP',
|
||||
description: 'AI Social Media Gateway — send WhatsApp, email, LinkedIn, Instagram, Facebook, Twitter/X, TikTok, Telegram, and Discord messages from ChatGPT.',
|
||||
description: 'AI assistant for Obsidian notes, email, and social media — search and edit your vault, manage email, and post to WhatsApp, LinkedIn, Instagram, Facebook, Twitter/X, TikTok, Telegram, and Discord from ChatGPT.',
|
||||
},
|
||||
paths: filterPaths(full, CHATGPT_PATHS),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user