gitextract_09zdyiuf/ ├── .env.example ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── eslint.config.js ├── index.html ├── package.json ├── src/ │ ├── App.css │ ├── App.tsx │ ├── api/ │ │ └── client.ts │ ├── components/ │ │ ├── Approval/ │ │ │ ├── Approval.css │ │ │ ├── ApprovalFooter.tsx │ │ │ ├── ApprovalViewRegistry.tsx │ │ │ ├── DefaultApproval.tsx │ │ │ ├── EmailApproval.css │ │ │ ├── EmailApproval.tsx │ │ │ ├── GitHubPRApproval.css │ │ │ ├── GitHubPRApproval.tsx │ │ │ ├── GitHubPRReviewApproval.css │ │ │ ├── GitHubPRReviewApproval.tsx │ │ │ ├── GoogleDocsApproval.css │ │ │ ├── GoogleDocsApproval.tsx │ │ │ ├── GoogleSheetsApproval.css │ │ │ ├── GoogleSheetsApproval.tsx │ │ │ └── index.ts │ │ ├── Board/ │ │ │ ├── Board.css │ │ │ └── Board.tsx │ │ ├── Column/ │ │ │ ├── Column.css │ │ │ └── Column.tsx │ │ ├── CommandPalette/ │ │ │ ├── CommandPalette.css │ │ │ ├── CommandPalette.tsx │ │ │ └── index.ts │ │ ├── CommentableText/ │ │ │ ├── CommentableText.css │ │ │ └── CommentableText.tsx │ │ ├── DiffViewer/ │ │ │ ├── DiffViewer.css │ │ │ ├── DiffViewer.tsx │ │ │ └── index.ts │ │ ├── GitHubCallback.tsx │ │ ├── GoogleCallback.tsx │ │ ├── Header/ │ │ │ ├── Header.css │ │ │ ├── Header.tsx │ │ │ └── WeftLogo.tsx │ │ ├── Home/ │ │ │ ├── Home.css │ │ │ └── Home.tsx │ │ ├── MCP/ │ │ │ ├── MCP.css │ │ │ ├── MCPOAuthCallback.css │ │ │ ├── MCPOAuthCallback.tsx │ │ │ ├── MCPServerConnect.css │ │ │ ├── MCPServerConnect.tsx │ │ │ └── index.ts │ │ ├── Settings/ │ │ │ ├── AccountsSection.css │ │ │ ├── AccountsSection.tsx │ │ │ ├── BoardSettings.css │ │ │ ├── BoardSettings.tsx │ │ │ ├── MCPSection.css │ │ │ ├── MCPSection.tsx │ │ │ ├── index.ts │ │ │ └── sections/ │ │ │ ├── CredentialsSection.tsx │ │ │ ├── DangerSection.tsx │ │ │ ├── GeneralSection.tsx │ │ │ ├── IntegrationsSection.tsx │ │ │ └── index.ts │ │ ├── Task/ │ │ │ ├── AgentSection.css │ │ │ ├── AgentSection.tsx │ │ │ ├── RunHistory.css │ │ │ ├── RunHistory.tsx │ │ │ ├── TaskCard.css │ │ │ ├── TaskCard.tsx │ │ │ ├── TaskModal.css │ │ │ └── TaskModal.tsx │ │ ├── Toast/ │ │ │ ├── Toast.css │ │ │ ├── Toast.tsx │ │ │ ├── ToastContainer.tsx │ │ │ ├── WorkflowToastListener.tsx │ │ │ └── index.ts │ │ ├── Workflow/ │ │ │ ├── EmailViewerModal.css │ │ │ ├── EmailViewerModal.tsx │ │ │ ├── PlanReviewView.css │ │ │ ├── PlanReviewView.tsx │ │ │ ├── Workflow.css │ │ │ ├── WorkflowProgress.tsx │ │ │ └── index.ts │ │ └── common/ │ │ ├── Button.css │ │ ├── Button.tsx │ │ ├── ErrorBoundary.css │ │ ├── ErrorBoundary.tsx │ │ ├── Input.css │ │ ├── Input.tsx │ │ ├── McpIcon.tsx │ │ ├── Modal.css │ │ ├── Modal.tsx │ │ ├── RichTextEditor.css │ │ ├── RichTextEditor.tsx │ │ └── index.ts │ ├── constants.ts │ ├── context/ │ │ ├── AuthContext.tsx │ │ ├── BoardContext.tsx │ │ ├── ToastContext.tsx │ │ └── boardReducer.ts │ ├── hooks/ │ │ ├── index.ts │ │ ├── useApprovalComments.ts │ │ ├── useIsMobile.ts │ │ └── useUrlDetection.ts │ ├── index.css │ ├── main.tsx │ ├── types/ │ │ └── index.ts │ ├── utils/ │ │ └── diffParser.ts │ └── vite-env.d.ts ├── tests/ │ ├── mocks/ │ │ └── cloudflare-sandbox.ts │ └── worker/ │ ├── auth.test.ts │ ├── board-access.integration.test.ts │ └── user-isolation.test.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json ├── tsconfig.worker.json ├── vite.config.ts ├── vitest.config.ts ├── vitest.config.workers.ts ├── worker/ │ ├── BoardDO.ts │ ├── UserDO.ts │ ├── auth.ts │ ├── constants.ts │ ├── db/ │ │ ├── index.ts │ │ └── schema.ts │ ├── github/ │ │ ├── GitHubMCP.ts │ │ ├── githubTools.ts │ │ ├── index.ts │ │ └── oauth.ts │ ├── google/ │ │ ├── DocsMCP.ts │ │ ├── GmailMCP.ts │ │ ├── SheetsMCP.ts │ │ ├── docsTools.ts │ │ ├── gmailTools.ts │ │ ├── index.ts │ │ ├── markdownToDocs.ts │ │ ├── oauth.ts │ │ └── sheetsTools.ts │ ├── handlers/ │ │ ├── boards.ts │ │ ├── oauth.ts │ │ └── workflows.ts │ ├── index.ts │ ├── mcp/ │ │ ├── AccountMCPRegistry.ts │ │ ├── MCPBridge.ts │ │ ├── MCPClient.ts │ │ ├── SchemaConverter.ts │ │ ├── index.ts │ │ └── oauth/ │ │ ├── discovery.ts │ │ ├── flow.ts │ │ ├── index.ts │ │ ├── pkce.ts │ │ └── types.ts │ ├── sandbox/ │ │ ├── SandboxMCP.ts │ │ └── sandboxTools.ts │ ├── services/ │ │ ├── BoardService.ts │ │ ├── CredentialService.ts │ │ ├── MCPOAuthService.ts │ │ ├── MCPService.ts │ │ ├── ScheduleService.ts │ │ ├── WorkflowService.ts │ │ └── index.ts │ ├── utils/ │ │ ├── crypto.ts │ │ ├── logger.ts │ │ ├── oauth-state.ts │ │ ├── response.ts │ │ ├── transformations.ts │ │ └── zodTools.ts │ └── workflows/ │ └── AgentWorkflow.ts ├── worker-configuration.d.ts └── wrangler.jsonc