@aion0/forge 0.5.25 → 0.5.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.forge/memory/graph.json +1 -0
- package/.forge/memory/knowledge.json +18 -0
- package/.forge/memory/meta.json +7 -0
- package/.forge/worktrees/pipeline-0a33c50d/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-0a33c50d/README.md +136 -0
- package/.forge/worktrees/pipeline-0a33c50d/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-0a33c50d/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-0a33c50d/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-0a33c50d/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-0a33c50d/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-0a33c50d/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-0a33c50d/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-0a33c50d/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-0a33c50d/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-0a33c50d/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-0a33c50d/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-0a33c50d/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-0a33c50d/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-0a33c50d/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-0a33c50d/install.sh +29 -0
- package/.forge/worktrees/pipeline-0a33c50d/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/claude-process.ts +352 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/pipeline.ts +1438 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-0a33c50d/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-0a33c50d/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-0a33c50d/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-0a33c50d/package.json +74 -0
- package/.forge/worktrees/pipeline-0a33c50d/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-0a33c50d/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-0a33c50d/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-0a33c50d/publish.sh +133 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-0a33c50d/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-0a33c50d/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-0a33c50d/start.sh +31 -0
- package/.forge/worktrees/pipeline-0a33c50d/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-0a33c50d/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-2ba01c10/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-2ba01c10/README.md +136 -0
- package/.forge/worktrees/pipeline-2ba01c10/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-2ba01c10/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-2ba01c10/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-2ba01c10/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-2ba01c10/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-2ba01c10/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-2ba01c10/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-2ba01c10/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-2ba01c10/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-2ba01c10/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-2ba01c10/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-2ba01c10/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-2ba01c10/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-2ba01c10/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-2ba01c10/install.sh +29 -0
- package/.forge/worktrees/pipeline-2ba01c10/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/claude-process.ts +352 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/pipeline.ts +1438 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-2ba01c10/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-2ba01c10/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-2ba01c10/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-2ba01c10/package.json +74 -0
- package/.forge/worktrees/pipeline-2ba01c10/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-2ba01c10/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-2ba01c10/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-2ba01c10/publish.sh +133 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-2ba01c10/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-2ba01c10/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-2ba01c10/start.sh +31 -0
- package/.forge/worktrees/pipeline-2ba01c10/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-2ba01c10/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-3156a8b3/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-3156a8b3/README.md +136 -0
- package/.forge/worktrees/pipeline-3156a8b3/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-3156a8b3/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-3156a8b3/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-3156a8b3/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-3156a8b3/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-3156a8b3/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-3156a8b3/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-3156a8b3/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-3156a8b3/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-3156a8b3/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-3156a8b3/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-3156a8b3/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-3156a8b3/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-3156a8b3/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-3156a8b3/install.sh +29 -0
- package/.forge/worktrees/pipeline-3156a8b3/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/claude-process.ts +351 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-3156a8b3/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-3156a8b3/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-3156a8b3/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-3156a8b3/package.json +74 -0
- package/.forge/worktrees/pipeline-3156a8b3/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-3156a8b3/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-3156a8b3/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-3156a8b3/publish.sh +133 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-3156a8b3/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-3156a8b3/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-3156a8b3/start.sh +31 -0
- package/.forge/worktrees/pipeline-3156a8b3/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-3156a8b3/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-316c6574/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-316c6574/README.md +136 -0
- package/.forge/worktrees/pipeline-316c6574/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-316c6574/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-316c6574/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-316c6574/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-316c6574/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-316c6574/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-316c6574/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-316c6574/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-316c6574/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-316c6574/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-316c6574/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-316c6574/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-316c6574/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-316c6574/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-316c6574/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-316c6574/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-316c6574/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-316c6574/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-316c6574/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-316c6574/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-316c6574/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-316c6574/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-316c6574/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-316c6574/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-316c6574/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-316c6574/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-316c6574/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-316c6574/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-316c6574/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-316c6574/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-316c6574/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-316c6574/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-316c6574/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-316c6574/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-316c6574/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-316c6574/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-316c6574/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-316c6574/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-316c6574/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-316c6574/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-316c6574/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-316c6574/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-316c6574/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-316c6574/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-316c6574/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-316c6574/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-316c6574/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-316c6574/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-316c6574/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-316c6574/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-316c6574/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-316c6574/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-316c6574/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-316c6574/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-316c6574/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-316c6574/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-316c6574/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-316c6574/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-316c6574/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-316c6574/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-316c6574/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-316c6574/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-316c6574/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-316c6574/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-316c6574/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-316c6574/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-316c6574/install.sh +29 -0
- package/.forge/worktrees/pipeline-316c6574/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-316c6574/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-316c6574/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-316c6574/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-316c6574/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-316c6574/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-316c6574/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-316c6574/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-316c6574/lib/claude-process.ts +361 -0
- package/.forge/worktrees/pipeline-316c6574/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-316c6574/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-316c6574/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-316c6574/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-316c6574/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-316c6574/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-316c6574/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-316c6574/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-316c6574/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-316c6574/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-316c6574/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-316c6574/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-316c6574/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-316c6574/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-316c6574/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-316c6574/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-316c6574/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-316c6574/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-316c6574/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-316c6574/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-316c6574/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-316c6574/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-316c6574/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-316c6574/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-316c6574/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-316c6574/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-316c6574/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-316c6574/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-316c6574/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-316c6574/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-316c6574/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-316c6574/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-316c6574/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-316c6574/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-316c6574/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-316c6574/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-316c6574/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-316c6574/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-316c6574/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-316c6574/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-316c6574/package.json +74 -0
- package/.forge/worktrees/pipeline-316c6574/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-316c6574/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-316c6574/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-316c6574/publish.sh +133 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-316c6574/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-316c6574/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-316c6574/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-316c6574/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-316c6574/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-316c6574/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-316c6574/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-316c6574/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-316c6574/start.sh +31 -0
- package/.forge/worktrees/pipeline-316c6574/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-316c6574/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-44a94121/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-44a94121/README.md +136 -0
- package/.forge/worktrees/pipeline-44a94121/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-44a94121/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-44a94121/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-44a94121/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-44a94121/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-44a94121/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-44a94121/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-44a94121/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-44a94121/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-44a94121/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-44a94121/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-44a94121/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-44a94121/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-44a94121/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-44a94121/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-44a94121/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-44a94121/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-44a94121/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-44a94121/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-44a94121/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-44a94121/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-44a94121/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-44a94121/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-44a94121/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-44a94121/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-44a94121/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-44a94121/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-44a94121/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-44a94121/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-44a94121/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-44a94121/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-44a94121/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-44a94121/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-44a94121/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-44a94121/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-44a94121/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-44a94121/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-44a94121/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-44a94121/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-44a94121/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-44a94121/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-44a94121/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-44a94121/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-44a94121/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-44a94121/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-44a94121/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-44a94121/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-44a94121/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-44a94121/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-44a94121/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-44a94121/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-44a94121/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-44a94121/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-44a94121/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-44a94121/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-44a94121/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-44a94121/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-44a94121/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-44a94121/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-44a94121/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-44a94121/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-44a94121/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-44a94121/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-44a94121/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-44a94121/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-44a94121/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-44a94121/install.sh +29 -0
- package/.forge/worktrees/pipeline-44a94121/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-44a94121/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-44a94121/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-44a94121/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-44a94121/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-44a94121/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-44a94121/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-44a94121/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-44a94121/lib/claude-process.ts +351 -0
- package/.forge/worktrees/pipeline-44a94121/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-44a94121/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-44a94121/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-44a94121/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-44a94121/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-44a94121/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-44a94121/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-44a94121/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-44a94121/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-44a94121/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-44a94121/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-44a94121/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-44a94121/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-44a94121/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-44a94121/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-44a94121/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-44a94121/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-44a94121/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-44a94121/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-44a94121/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-44a94121/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-44a94121/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-44a94121/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-44a94121/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-44a94121/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-44a94121/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-44a94121/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-44a94121/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-44a94121/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-44a94121/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-44a94121/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-44a94121/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-44a94121/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-44a94121/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-44a94121/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-44a94121/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-44a94121/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-44a94121/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-44a94121/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-44a94121/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-44a94121/package.json +74 -0
- package/.forge/worktrees/pipeline-44a94121/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-44a94121/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-44a94121/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-44a94121/publish.sh +133 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-44a94121/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-44a94121/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-44a94121/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-44a94121/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-44a94121/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-44a94121/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-44a94121/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-44a94121/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-44a94121/start.sh +31 -0
- package/.forge/worktrees/pipeline-44a94121/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-44a94121/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-d1757a50/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-d1757a50/README.md +136 -0
- package/.forge/worktrees/pipeline-d1757a50/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-d1757a50/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-d1757a50/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-d1757a50/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-d1757a50/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-d1757a50/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-d1757a50/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-d1757a50/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-d1757a50/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-d1757a50/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-d1757a50/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-d1757a50/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-d1757a50/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-d1757a50/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-d1757a50/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-d1757a50/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-d1757a50/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-d1757a50/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-d1757a50/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-d1757a50/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-d1757a50/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-d1757a50/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-d1757a50/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-d1757a50/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-d1757a50/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-d1757a50/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-d1757a50/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-d1757a50/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-d1757a50/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-d1757a50/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-d1757a50/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-d1757a50/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-d1757a50/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-d1757a50/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-d1757a50/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-d1757a50/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-d1757a50/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-d1757a50/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-d1757a50/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-d1757a50/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-d1757a50/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-d1757a50/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-d1757a50/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-d1757a50/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-d1757a50/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-d1757a50/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-d1757a50/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-d1757a50/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-d1757a50/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-d1757a50/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-d1757a50/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-d1757a50/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-d1757a50/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-d1757a50/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-d1757a50/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-d1757a50/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-d1757a50/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-d1757a50/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-d1757a50/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-d1757a50/install.sh +29 -0
- package/.forge/worktrees/pipeline-d1757a50/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/claude-process.ts +361 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-d1757a50/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-d1757a50/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-d1757a50/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-d1757a50/package.json +74 -0
- package/.forge/worktrees/pipeline-d1757a50/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-d1757a50/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-d1757a50/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-d1757a50/publish.sh +133 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-d1757a50/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-d1757a50/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-d1757a50/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-d1757a50/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-d1757a50/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-d1757a50/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-d1757a50/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-d1757a50/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-d1757a50/start.sh +31 -0
- package/.forge/worktrees/pipeline-d1757a50/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-d1757a50/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-d59c2fe2/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-d59c2fe2/README.md +136 -0
- package/.forge/worktrees/pipeline-d59c2fe2/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-d59c2fe2/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-d59c2fe2/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-d59c2fe2/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-d59c2fe2/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-d59c2fe2/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-d59c2fe2/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-d59c2fe2/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-d59c2fe2/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-d59c2fe2/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-d59c2fe2/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-d59c2fe2/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-d59c2fe2/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-d59c2fe2/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-d59c2fe2/install.sh +29 -0
- package/.forge/worktrees/pipeline-d59c2fe2/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/claude-process.ts +361 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-d59c2fe2/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-d59c2fe2/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-d59c2fe2/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-d59c2fe2/package.json +74 -0
- package/.forge/worktrees/pipeline-d59c2fe2/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-d59c2fe2/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-d59c2fe2/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-d59c2fe2/publish.sh +133 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-d59c2fe2/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-d59c2fe2/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-d59c2fe2/start.sh +31 -0
- package/.forge/worktrees/pipeline-d59c2fe2/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-d59c2fe2/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-d6a6ef23/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-d6a6ef23/README.md +136 -0
- package/.forge/worktrees/pipeline-d6a6ef23/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-d6a6ef23/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-d6a6ef23/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-d6a6ef23/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-d6a6ef23/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-d6a6ef23/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-d6a6ef23/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-d6a6ef23/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-d6a6ef23/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-d6a6ef23/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-d6a6ef23/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-d6a6ef23/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-d6a6ef23/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-d6a6ef23/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-d6a6ef23/install.sh +29 -0
- package/.forge/worktrees/pipeline-d6a6ef23/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/claude-process.ts +352 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/pipeline.ts +1438 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-d6a6ef23/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-d6a6ef23/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-d6a6ef23/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-d6a6ef23/package.json +74 -0
- package/.forge/worktrees/pipeline-d6a6ef23/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-d6a6ef23/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-d6a6ef23/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-d6a6ef23/publish.sh +133 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-d6a6ef23/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-d6a6ef23/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-d6a6ef23/start.sh +31 -0
- package/.forge/worktrees/pipeline-d6a6ef23/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-d6a6ef23/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-e7f78b7a/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-e7f78b7a/README.md +136 -0
- package/.forge/worktrees/pipeline-e7f78b7a/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-e7f78b7a/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-e7f78b7a/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-e7f78b7a/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-e7f78b7a/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-e7f78b7a/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-e7f78b7a/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-e7f78b7a/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-e7f78b7a/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-e7f78b7a/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-e7f78b7a/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-e7f78b7a/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-e7f78b7a/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-e7f78b7a/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-e7f78b7a/install.sh +29 -0
- package/.forge/worktrees/pipeline-e7f78b7a/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/claude-process.ts +352 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-e7f78b7a/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-e7f78b7a/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-e7f78b7a/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-e7f78b7a/package.json +74 -0
- package/.forge/worktrees/pipeline-e7f78b7a/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-e7f78b7a/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-e7f78b7a/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-e7f78b7a/publish.sh +133 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-e7f78b7a/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-e7f78b7a/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-e7f78b7a/start.sh +31 -0
- package/.forge/worktrees/pipeline-e7f78b7a/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-e7f78b7a/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-e97c13c7/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-e97c13c7/README.md +136 -0
- package/.forge/worktrees/pipeline-e97c13c7/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-e97c13c7/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-e97c13c7/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-e97c13c7/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-e97c13c7/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-e97c13c7/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-e97c13c7/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-e97c13c7/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-e97c13c7/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-e97c13c7/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-e97c13c7/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-e97c13c7/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-e97c13c7/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-e97c13c7/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-e97c13c7/install.sh +29 -0
- package/.forge/worktrees/pipeline-e97c13c7/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/claude-process.ts +352 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/pipeline.ts +1438 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-e97c13c7/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-e97c13c7/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-e97c13c7/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-e97c13c7/package.json +74 -0
- package/.forge/worktrees/pipeline-e97c13c7/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-e97c13c7/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-e97c13c7/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-e97c13c7/publish.sh +133 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-e97c13c7/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-e97c13c7/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-e97c13c7/start.sh +31 -0
- package/.forge/worktrees/pipeline-e97c13c7/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-e97c13c7/tsconfig.json +42 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/CLAUDE.md +86 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/README.md +136 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/RELEASE_NOTES.md +11 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/agents/route.ts +17 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/auth/[...nextauth]/route.ts +3 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/auth/verify/route.ts +46 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude/[id]/route.ts +31 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude/[id]/stream/route.ts +63 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude/route.ts +28 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude-sessions/[projectName]/entries/route.ts +23 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude-sessions/[projectName]/live/route.ts +72 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude-sessions/[projectName]/route.ts +37 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude-sessions/sync/route.ts +17 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/claude-templates/route.ts +145 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/code/route.ts +299 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/delivery/[id]/route.ts +62 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/delivery/route.ts +40 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/detect-cli/route.ts +46 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/docs/route.ts +176 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/docs/sessions/route.ts +54 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/favorites/route.ts +26 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/flows/route.ts +6 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/flows/run/route.ts +19 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/git/route.ts +149 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/help/route.ts +84 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/issue-scanner/route.ts +116 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/logs/route.ts +100 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/mobile-chat/route.ts +115 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/monitor/route.ts +74 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/notifications/route.ts +42 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/notify/test/route.ts +33 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/online/route.ts +40 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/pipelines/[id]/route.ts +41 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/pipelines/route.ts +90 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/plugins/route.ts +75 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/preview/[...path]/route.ts +64 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/preview/route.ts +156 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/project-pipelines/route.ts +91 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/project-sessions/route.ts +61 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/projects/route.ts +26 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/sessions/[id]/chat/route.ts +64 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/sessions/[id]/messages/route.ts +9 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/sessions/[id]/route.ts +17 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/sessions/route.ts +20 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/settings/route.ts +64 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/skills/local/route.ts +228 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/skills/route.ts +182 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/smith-templates/route.ts +81 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/status/route.ts +12 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tabs/route.ts +25 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tasks/[id]/route.ts +51 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tasks/[id]/stream/route.ts +77 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tasks/link/route.ts +37 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tasks/route.ts +44 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tasks/session/route.ts +14 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/telegram/route.ts +23 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/templates/route.ts +6 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/terminal-bell/route.ts +35 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/terminal-cwd/route.ts +19 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/terminal-state/route.ts +15 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/tunnel/route.ts +26 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/upgrade/route.ts +43 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/usage/route.ts +20 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/version/route.ts +78 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/watchers/route.ts +33 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/workspace/[id]/agents/route.ts +35 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/workspace/[id]/memory/route.ts +23 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/workspace/[id]/smith/route.ts +22 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/workspace/[id]/stream/route.ts +28 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/api/workspace/route.ts +100 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/global-error.tsx +21 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/globals.css +52 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/icon.ico +0 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/icon.png +0 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/icon.svg +106 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/layout.tsx +17 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/login/LoginForm.tsx +96 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/login/page.tsx +10 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/mobile/page.tsx +9 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/app/page.tsx +21 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/bin/forge-server.mjs +484 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/check-forge-status.sh +71 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/cli/mw.ts +579 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/BrowserPanel.tsx +175 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ChatPanel.tsx +191 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ClaudeTerminal.tsx +267 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/CodeViewer.tsx +787 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ConversationEditor.tsx +411 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ConversationGraphView.tsx +347 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ConversationTerminalView.tsx +303 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/Dashboard.tsx +807 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/DashboardWrapper.tsx +9 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/DeliveryFlowEditor.tsx +491 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/DeliveryList.tsx +230 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/DeliveryWorkspace.tsx +589 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/DocTerminal.tsx +187 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/DocsViewer.tsx +574 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/HelpDialog.tsx +169 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/HelpTerminal.tsx +141 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/InlinePipelineView.tsx +111 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/LogViewer.tsx +194 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/MarkdownContent.tsx +73 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/MobileView.tsx +385 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/MonitorPanel.tsx +122 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/NewSessionModal.tsx +93 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/NewTaskModal.tsx +492 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/PipelineEditor.tsx +570 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/PipelineView.tsx +1018 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/PluginsPanel.tsx +472 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ProjectDetail.tsx +1618 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ProjectList.tsx +108 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/ProjectManager.tsx +401 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/SessionList.tsx +74 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/SessionView.tsx +726 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/SettingsModal.tsx +1647 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/SkillsPanel.tsx +969 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/StatusBar.tsx +99 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/TabBar.tsx +46 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/TaskBoard.tsx +113 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/TaskDetail.tsx +372 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/TerminalLauncher.tsx +398 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/TunnelToggle.tsx +206 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/UsagePanel.tsx +207 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/WebTerminal.tsx +1683 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/WorkspaceTree.tsx +221 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/components/WorkspaceView.tsx +4048 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/dev-test.sh +5 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/docs/Forge_Memory_Layer_Design.docx +0 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/docs/Forge_Strategy_Research_2026.docx +0 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/docs/LOCAL-DEPLOY.md +144 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/docs/roadmap-multi-agent-workflow.md +330 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/forge-logo.png +0 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/forge-logo.svg +106 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/hooks/useSidebarResize.ts +52 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/install.sh +29 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/instrumentation.ts +35 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/agents/claude-adapter.ts +104 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/agents/generic-adapter.ts +64 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/agents/index.ts +245 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/agents/types.ts +70 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/artifacts.ts +106 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/auth.ts +62 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/docker.yaml +70 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/http.yaml +66 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/jenkins.yaml +92 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/llm-vision.yaml +85 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/playwright.yaml +111 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/shell-command.yaml +60 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/slack.yaml +48 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/builtin-plugins/webhook.yaml +56 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/claude-process.ts +352 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/claude-sessions.ts +266 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/claude-templates.ts +227 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/cloudflared.ts +424 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/crypto.ts +67 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/delivery.ts +787 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/dirs.ts +99 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/flows.ts +86 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/forge-mcp-server.ts +717 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/forge-skills/forge-inbox.md +38 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/forge-skills/forge-send.md +47 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/forge-skills/forge-status.md +32 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/forge-skills/forge-workspace-sync.md +37 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/00-overview.md +40 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/01-settings.md +194 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/02-telegram.md +41 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/03-tunnel.md +31 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/04-tasks.md +52 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/05-pipelines.md +460 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/06-skills.md +43 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/07-projects.md +73 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/08-rules.md +53 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/09-issue-autofix.md +55 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/10-troubleshooting.md +89 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/11-workspace.md +810 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/help-docs/CLAUDE.md +62 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/init.ts +266 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/issue-scanner.ts +298 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/logger.ts +79 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/notifications.ts +75 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/notify.ts +108 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/password.ts +97 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/pipeline-scheduler.ts +373 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/pipeline.ts +1441 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/plugins/executor.ts +347 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/plugins/registry.ts +228 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/plugins/types.ts +103 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/project-sessions.ts +53 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/projects.ts +86 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/session-manager.ts +156 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/session-utils.ts +53 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/session-watcher.ts +345 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/settings.ts +195 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/skills.ts +458 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/task-manager.ts +949 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/telegram-bot.ts +1477 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/telegram-standalone.ts +83 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/terminal-server.ts +70 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/terminal-standalone.ts +421 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/usage-scanner.ts +249 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/__tests__/state-machine.test.ts +388 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/__tests__/workspace.test.ts +311 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/agent-bus.ts +416 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/agent-worker.ts +655 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/backends/api-backend.ts +262 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/backends/cli-backend.ts +491 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/index.ts +82 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/manager.ts +136 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/orchestrator.ts +3400 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/persistence.ts +309 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/presets.ts +649 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/requests.ts +287 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/session-monitor.ts +240 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/skill-installer.ts +275 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/smith-memory.ts +498 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/types.ts +241 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace/watch-manager.ts +560 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/lib/workspace-standalone.ts +911 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/middleware.ts +51 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/next.config.ts +26 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/package.json +74 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/pnpm-lock.yaml +3719 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/pnpm-workspace.yaml +1 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/postcss.config.mjs +7 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/publish.sh +133 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/README.md +66 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/results/.gitignore +2 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/run.ts +635 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/01-text-utils/task.md +26 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/01-text-utils/validator.sh +46 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/02-pagination/setup.sh +19 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/02-pagination/task.md +48 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/02-pagination/validator.sh +69 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/03-bug-fix/setup.sh +82 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/03-bug-fix/task.md +30 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/bench/tasks/03-bug-fix/validator.sh +29 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/scripts/verify-usage.ts +178 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/config/index.ts +129 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/core/db/database.ts +259 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/core/memory/strategy.ts +32 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/core/providers/chat.ts +65 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/core/providers/registry.ts +60 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/core/session/manager.ts +190 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/src/types/index.ts +129 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/start.sh +31 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/templates/smith-lead.json +45 -0
- package/.forge/worktrees/pipeline-ecd7cb0f/tsconfig.json +42 -0
- package/RELEASE_NOTES.md +30 -5
- package/app/api/workspace/[id]/stream/route.ts +3 -0
- package/app/api/workspace/route.ts +20 -41
- package/app/mobile/page.tsx +2 -1
- package/app/page.tsx +2 -1
- package/components/WebTerminal.tsx +27 -1
- package/lib/claude-process.ts +14 -5
- package/lib/forge-mcp-server.ts +20 -5
- package/lib/help-docs/05-pipelines.md +44 -2
- package/lib/pipeline.ts +181 -24
- package/lib/task-manager.ts +5 -3
- package/lib/terminal-standalone.ts +2 -2
- package/lib/workspace/index.ts +3 -1
- package/lib/workspace/manager.ts +1 -1
- package/lib/workspace/orchestrator.ts +23 -8
- package/lib/workspace-standalone.ts +67 -0
- package/middleware.ts +2 -2
- package/next-env.d.ts +1 -1
- package/package.json +1 -1
- package/start.sh +1 -0
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
4
|
+
|
|
5
|
+
interface PluginSource {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
icon: string;
|
|
9
|
+
version: string;
|
|
10
|
+
author: string;
|
|
11
|
+
description: string;
|
|
12
|
+
source: 'builtin' | 'local' | 'registry';
|
|
13
|
+
installed: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface PluginInstance {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
source: string; // plugin definition ID
|
|
20
|
+
icon: string;
|
|
21
|
+
config: Record<string, any>;
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface PluginDetail {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
icon: string;
|
|
29
|
+
version: string;
|
|
30
|
+
author?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
config: Record<string, { type: string; label?: string; description?: string; required?: boolean; default?: any; options?: string[] }>;
|
|
33
|
+
params: Record<string, { type: string; label?: string; description?: string; required?: boolean; default?: any }>;
|
|
34
|
+
actions: Record<string, { run: string; method?: string; url?: string; command?: string }>;
|
|
35
|
+
defaultAction?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default function PluginsPanel() {
|
|
39
|
+
const [plugins, setPlugins] = useState<PluginSource[]>([]);
|
|
40
|
+
const [instances, setInstances] = useState<PluginInstance[]>([]);
|
|
41
|
+
const [selectedId, setSelectedId] = useState<string | null>(null);
|
|
42
|
+
const [selectedInstance, setSelectedInstance] = useState<string | null>(null);
|
|
43
|
+
const [detail, setDetail] = useState<PluginDetail | null>(null);
|
|
44
|
+
const [installedConfig, setInstalledConfig] = useState<Record<string, any> | null>(null);
|
|
45
|
+
const [configValues, setConfigValues] = useState<Record<string, any>>({});
|
|
46
|
+
const [configSaved, setConfigSaved] = useState(false);
|
|
47
|
+
const [filter, setFilter] = useState<'all' | 'installed'>('all');
|
|
48
|
+
const [loading, setLoading] = useState(true);
|
|
49
|
+
const [testResult, setTestResult] = useState<{ ok: boolean; output: any; error?: string; duration?: number } | null>(null);
|
|
50
|
+
const [testAction, setTestAction] = useState('');
|
|
51
|
+
const [testParams, setTestParams] = useState('{}');
|
|
52
|
+
const [testing, setTesting] = useState(false);
|
|
53
|
+
// New instance form
|
|
54
|
+
const [showNewInstance, setShowNewInstance] = useState(false);
|
|
55
|
+
const [newInstanceName, setNewInstanceName] = useState('');
|
|
56
|
+
|
|
57
|
+
const fetchPlugins = useCallback(async () => {
|
|
58
|
+
setLoading(true);
|
|
59
|
+
try {
|
|
60
|
+
const [allRes, instRes] = await Promise.all([
|
|
61
|
+
fetch('/api/plugins'),
|
|
62
|
+
fetch('/api/plugins?installed=true'),
|
|
63
|
+
]);
|
|
64
|
+
const allData = await allRes.json();
|
|
65
|
+
const instData = await instRes.json();
|
|
66
|
+
setPlugins(allData.plugins || []);
|
|
67
|
+
// Build instances list from installed plugins
|
|
68
|
+
const inst: PluginInstance[] = (instData.plugins || []).map((p: any) => ({
|
|
69
|
+
id: p.id,
|
|
70
|
+
name: p.instanceName || p.definition?.name || p.id,
|
|
71
|
+
source: p.source || p.id,
|
|
72
|
+
icon: p.definition?.icon || '🔌',
|
|
73
|
+
config: p.config || {},
|
|
74
|
+
enabled: p.enabled !== false,
|
|
75
|
+
}));
|
|
76
|
+
setInstances(inst);
|
|
77
|
+
} catch {} finally { setLoading(false); }
|
|
78
|
+
}, []);
|
|
79
|
+
|
|
80
|
+
useEffect(() => { fetchPlugins(); }, [fetchPlugins]);
|
|
81
|
+
|
|
82
|
+
const selectPlugin = useCallback(async (id: string, instanceId?: string) => {
|
|
83
|
+
setSelectedId(id);
|
|
84
|
+
setSelectedInstance(instanceId || null);
|
|
85
|
+
setTestResult(null);
|
|
86
|
+
setShowNewInstance(false);
|
|
87
|
+
try {
|
|
88
|
+
const lookupId = instanceId || id;
|
|
89
|
+
const res = await fetch(`/api/plugins?id=${lookupId}`);
|
|
90
|
+
const data = await res.json();
|
|
91
|
+
setDetail(data.plugin || null);
|
|
92
|
+
setInstalledConfig(data.config ?? null);
|
|
93
|
+
setConfigValues(data.config || {});
|
|
94
|
+
if (data.plugin?.defaultAction) setTestAction(data.plugin.defaultAction);
|
|
95
|
+
else if (data.plugin?.actions) setTestAction(Object.keys(data.plugin.actions)[0] || '');
|
|
96
|
+
} catch {}
|
|
97
|
+
}, []);
|
|
98
|
+
|
|
99
|
+
const handleInstall = async () => {
|
|
100
|
+
if (!selectedId) return;
|
|
101
|
+
await fetch('/api/plugins', {
|
|
102
|
+
method: 'POST',
|
|
103
|
+
headers: { 'Content-Type': 'application/json' },
|
|
104
|
+
body: JSON.stringify({ action: 'install', id: selectedId, config: {} }),
|
|
105
|
+
});
|
|
106
|
+
await fetchPlugins();
|
|
107
|
+
await selectPlugin(selectedId);
|
|
108
|
+
// Auto-open new instance form after install
|
|
109
|
+
setShowNewInstance(true);
|
|
110
|
+
setNewInstanceName('');
|
|
111
|
+
setConfigValues({});
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
const handleUninstall = async () => {
|
|
115
|
+
const id = selectedInstance || selectedId;
|
|
116
|
+
if (!id) return;
|
|
117
|
+
await fetch('/api/plugins', {
|
|
118
|
+
method: 'POST',
|
|
119
|
+
headers: { 'Content-Type': 'application/json' },
|
|
120
|
+
body: JSON.stringify({ action: 'uninstall', id }),
|
|
121
|
+
});
|
|
122
|
+
setInstalledConfig(null);
|
|
123
|
+
setSelectedInstance(null);
|
|
124
|
+
await fetchPlugins();
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
const handleSaveConfig = async () => {
|
|
128
|
+
const id = selectedInstance || selectedId;
|
|
129
|
+
if (!id || !detail) return;
|
|
130
|
+
// Merge schema defaults with user-entered values
|
|
131
|
+
const finalConfig: Record<string, any> = {};
|
|
132
|
+
for (const [key, schema] of Object.entries(detail.config)) {
|
|
133
|
+
finalConfig[key] = configValues[key] ?? (schema as any).default ?? '';
|
|
134
|
+
}
|
|
135
|
+
await fetch('/api/plugins', {
|
|
136
|
+
method: 'POST',
|
|
137
|
+
headers: { 'Content-Type': 'application/json' },
|
|
138
|
+
body: JSON.stringify({ action: 'update_config', id, config: finalConfig }),
|
|
139
|
+
});
|
|
140
|
+
setConfigSaved(true);
|
|
141
|
+
setTimeout(() => setConfigSaved(false), 2000);
|
|
142
|
+
await selectPlugin(selectedId!, selectedInstance || undefined);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
const handleCreateInstance = async () => {
|
|
146
|
+
if (!selectedId || !newInstanceName.trim() || !detail) return;
|
|
147
|
+
// Merge schema defaults with user-entered values
|
|
148
|
+
const finalConfig: Record<string, any> = {};
|
|
149
|
+
for (const [key, schema] of Object.entries(detail.config)) {
|
|
150
|
+
finalConfig[key] = configValues[key] ?? (schema as any).default ?? '';
|
|
151
|
+
}
|
|
152
|
+
const res = await fetch('/api/plugins', {
|
|
153
|
+
method: 'POST',
|
|
154
|
+
headers: { 'Content-Type': 'application/json' },
|
|
155
|
+
body: JSON.stringify({ action: 'create_instance', source: selectedId, name: newInstanceName.trim(), config: finalConfig }),
|
|
156
|
+
});
|
|
157
|
+
const data = await res.json();
|
|
158
|
+
if (!res.ok) {
|
|
159
|
+
alert(data.error || 'Failed to create instance');
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
setShowNewInstance(false);
|
|
163
|
+
setNewInstanceName('');
|
|
164
|
+
await fetchPlugins();
|
|
165
|
+
// Auto-select the new instance
|
|
166
|
+
if (data.instanceId) {
|
|
167
|
+
await selectPlugin(selectedId, data.instanceId);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
const handleTest = async () => {
|
|
172
|
+
const id = selectedInstance || selectedId;
|
|
173
|
+
if (!id || !testAction) return;
|
|
174
|
+
setTesting(true);
|
|
175
|
+
setTestResult(null);
|
|
176
|
+
try {
|
|
177
|
+
let params = {};
|
|
178
|
+
try { params = JSON.parse(testParams); } catch {}
|
|
179
|
+
const res = await fetch('/api/plugins', {
|
|
180
|
+
method: 'POST',
|
|
181
|
+
headers: { 'Content-Type': 'application/json' },
|
|
182
|
+
body: JSON.stringify({ action: 'test', id, actionName: testAction, params }),
|
|
183
|
+
});
|
|
184
|
+
setTestResult(await res.json());
|
|
185
|
+
} catch (err: any) {
|
|
186
|
+
setTestResult({ ok: false, output: {}, error: err.message });
|
|
187
|
+
} finally { setTesting(false); }
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
const filtered = filter === 'installed' ? plugins.filter(p => p.installed || instances.some(i => i.source === p.id)) : plugins;
|
|
191
|
+
const pluginInstances = (id: string) => instances.filter(i => i.source === id && i.id !== id);
|
|
192
|
+
|
|
193
|
+
if (loading) return <div className="p-4 text-xs text-[var(--text-secondary)]">Loading plugins...</div>;
|
|
194
|
+
|
|
195
|
+
return (
|
|
196
|
+
<div className="flex-1 flex flex-col min-h-0">
|
|
197
|
+
{/* Header */}
|
|
198
|
+
<div className="flex items-center justify-between px-4 py-2 border-b border-[var(--border)] shrink-0">
|
|
199
|
+
<div className="flex items-center gap-2">
|
|
200
|
+
<span className="text-xs font-semibold text-[var(--text-primary)]">Plugins</span>
|
|
201
|
+
<span className="text-[10px] text-[var(--text-secondary)]">{instances.length} instances from {plugins.filter(p => p.installed).length} plugins</span>
|
|
202
|
+
</div>
|
|
203
|
+
<div className="flex items-center bg-[var(--bg-tertiary)] rounded p-0.5">
|
|
204
|
+
{(['all', 'installed'] as const).map(f => (
|
|
205
|
+
<button key={f} onClick={() => setFilter(f)}
|
|
206
|
+
className={`text-[10px] px-2 py-0.5 rounded transition-colors ${filter === f ? 'bg-[var(--bg-secondary)] text-[var(--text-primary)] shadow-sm' : 'text-[var(--text-secondary)]'}`}
|
|
207
|
+
>{f === 'all' ? 'All' : 'Installed'}</button>
|
|
208
|
+
))}
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
<div className="flex-1 flex min-h-0">
|
|
213
|
+
{/* Plugin list with instances */}
|
|
214
|
+
<div className="w-56 overflow-y-auto shrink-0 border-r border-[var(--border)]">
|
|
215
|
+
{filtered.length === 0 && (
|
|
216
|
+
<div className="p-4 text-xs text-[var(--text-secondary)] text-center">No plugins found</div>
|
|
217
|
+
)}
|
|
218
|
+
{filtered.map(p => {
|
|
219
|
+
const pInstances = pluginInstances(p.id);
|
|
220
|
+
const isSelected = selectedId === p.id && !selectedInstance;
|
|
221
|
+
return (
|
|
222
|
+
<div key={p.id}>
|
|
223
|
+
<div
|
|
224
|
+
onClick={() => selectPlugin(p.id)}
|
|
225
|
+
className={`px-3 py-2 cursor-pointer border-b border-[var(--border)]/50 transition-colors ${
|
|
226
|
+
isSelected ? 'bg-[var(--bg-secondary)]' : 'hover:bg-[var(--bg-tertiary)]'
|
|
227
|
+
}`}
|
|
228
|
+
>
|
|
229
|
+
<div className="flex items-center gap-2">
|
|
230
|
+
<span className="text-sm">{p.icon}</span>
|
|
231
|
+
<span className="text-[11px] font-semibold text-[var(--text-primary)] truncate flex-1">{p.name}</span>
|
|
232
|
+
{p.installed && <span className="w-1.5 h-1.5 rounded-full bg-green-400 shrink-0" />}
|
|
233
|
+
</div>
|
|
234
|
+
<div className="text-[10px] text-[var(--text-secondary)] mt-0.5 line-clamp-1">{p.description}</div>
|
|
235
|
+
<div className="flex items-center gap-2 mt-1">
|
|
236
|
+
<span className="text-[9px] text-[var(--text-secondary)]">v{p.version}</span>
|
|
237
|
+
{pInstances.length > 0 && <span className="text-[9px] text-[var(--accent)]">{pInstances.length} instance{pInstances.length > 1 ? 's' : ''}</span>}
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
{/* Instances */}
|
|
241
|
+
{pInstances.map(inst => (
|
|
242
|
+
<div key={inst.id}
|
|
243
|
+
onClick={() => selectPlugin(p.id, inst.id)}
|
|
244
|
+
className={`pl-8 pr-3 py-1.5 cursor-pointer border-b border-[var(--border)]/30 transition-colors ${
|
|
245
|
+
selectedInstance === inst.id ? 'bg-[var(--bg-secondary)]' : 'hover:bg-[var(--bg-tertiary)]'
|
|
246
|
+
}`}
|
|
247
|
+
>
|
|
248
|
+
<div className="flex items-center gap-1.5">
|
|
249
|
+
<span className="text-[9px]">{p.icon}</span>
|
|
250
|
+
<span className="text-[10px] text-[var(--text-primary)] truncate">{inst.name}</span>
|
|
251
|
+
<span className={`w-1.5 h-1.5 rounded-full shrink-0 ${inst.enabled ? 'bg-green-400' : 'bg-gray-500'}`} />
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
))}
|
|
255
|
+
</div>
|
|
256
|
+
);
|
|
257
|
+
})}
|
|
258
|
+
</div>
|
|
259
|
+
|
|
260
|
+
{/* Detail panel */}
|
|
261
|
+
<div className="flex-1 overflow-y-auto p-4">
|
|
262
|
+
{!selectedId || !detail ? (
|
|
263
|
+
<div className="flex-1 flex items-center justify-center text-xs text-[var(--text-secondary)] h-full">
|
|
264
|
+
Select a plugin to view details
|
|
265
|
+
</div>
|
|
266
|
+
) : (
|
|
267
|
+
<div className="space-y-4 max-w-xl">
|
|
268
|
+
{/* Header */}
|
|
269
|
+
<div className="flex items-center gap-3">
|
|
270
|
+
<span className="text-2xl">{detail.icon}</span>
|
|
271
|
+
<div>
|
|
272
|
+
<h2 className="text-sm font-semibold text-[var(--text-primary)]">
|
|
273
|
+
{selectedInstance ? instances.find(i => i.id === selectedInstance)?.name || selectedInstance : detail.name}
|
|
274
|
+
</h2>
|
|
275
|
+
<p className="text-[10px] text-[var(--text-secondary)]">
|
|
276
|
+
{selectedInstance ? `Instance of ${detail.name}` : `v${detail.version} by ${detail.author || 'unknown'}`}
|
|
277
|
+
</p>
|
|
278
|
+
</div>
|
|
279
|
+
<div className="flex-1" />
|
|
280
|
+
<div className="flex items-center gap-1.5">
|
|
281
|
+
{/* Create instance button (only for installed base plugins) */}
|
|
282
|
+
{installedConfig !== null && !selectedInstance && (
|
|
283
|
+
<button onClick={() => { setShowNewInstance(true); setNewInstanceName(''); setConfigValues({}); }}
|
|
284
|
+
className="text-[10px] px-3 py-1 rounded bg-[var(--accent)]/20 text-[var(--accent)] hover:bg-[var(--accent)]/30 transition-colors"
|
|
285
|
+
>+ Instance</button>
|
|
286
|
+
)}
|
|
287
|
+
{installedConfig !== null || selectedInstance ? (
|
|
288
|
+
<button onClick={handleUninstall}
|
|
289
|
+
className="text-[10px] px-3 py-1 rounded bg-red-500/20 text-red-400 hover:bg-red-500/30 transition-colors"
|
|
290
|
+
>{selectedInstance ? 'Delete' : 'Uninstall'}</button>
|
|
291
|
+
) : (
|
|
292
|
+
<button onClick={handleInstall}
|
|
293
|
+
className="text-[10px] px-3 py-1 rounded bg-[var(--accent)]/20 text-[var(--accent)] hover:bg-[var(--accent)]/30 transition-colors"
|
|
294
|
+
>Install</button>
|
|
295
|
+
)}
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
|
|
299
|
+
{/* New instance form */}
|
|
300
|
+
{showNewInstance && (
|
|
301
|
+
<div className="rounded border border-[var(--accent)]/30 bg-[var(--accent)]/5 p-3 space-y-2">
|
|
302
|
+
<h3 className="text-[11px] font-semibold text-[var(--accent)]">New Instance</h3>
|
|
303
|
+
<div>
|
|
304
|
+
<label className="text-[10px] text-[var(--text-secondary)] block mb-0.5">Instance Name</label>
|
|
305
|
+
<input value={newInstanceName} onChange={e => setNewInstanceName(e.target.value)}
|
|
306
|
+
placeholder={`e.g., ${detail.name} Production`}
|
|
307
|
+
className="w-full bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1 text-[11px] text-[var(--text-primary)]"
|
|
308
|
+
/>
|
|
309
|
+
</div>
|
|
310
|
+
{/* Config fields for new instance */}
|
|
311
|
+
{Object.entries(detail.config).map(([key, schema]) => (
|
|
312
|
+
<div key={key}>
|
|
313
|
+
<label className="text-[10px] text-[var(--text-secondary)] block mb-0.5">
|
|
314
|
+
{schema.label || key} {schema.required && <span className="text-red-400">*</span>}
|
|
315
|
+
{schema.description && <span className="text-[8px] text-[var(--text-secondary)]/60 ml-1">{schema.description}</span>}
|
|
316
|
+
</label>
|
|
317
|
+
{schema.type === 'select' ? (
|
|
318
|
+
<select
|
|
319
|
+
value={configValues[key] || schema.default || ''}
|
|
320
|
+
onChange={e => setConfigValues({ ...configValues, [key]: e.target.value })}
|
|
321
|
+
className="w-full bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1 text-[11px] text-[var(--text-primary)]"
|
|
322
|
+
>
|
|
323
|
+
<option value="">Select...</option>
|
|
324
|
+
{(schema.options || []).map((o: string) => <option key={o} value={o}>{o}</option>)}
|
|
325
|
+
</select>
|
|
326
|
+
) : schema.type === 'boolean' ? (
|
|
327
|
+
<input type="checkbox"
|
|
328
|
+
checked={configValues[key] === true || configValues[key] === 'true'}
|
|
329
|
+
onChange={e => setConfigValues({ ...configValues, [key]: e.target.checked })}
|
|
330
|
+
className="accent-[var(--accent)]"
|
|
331
|
+
/>
|
|
332
|
+
) : (
|
|
333
|
+
<input
|
|
334
|
+
type={schema.type === 'secret' ? 'password' : schema.type === 'number' ? 'number' : 'text'}
|
|
335
|
+
value={configValues[key] ?? schema.default ?? ''}
|
|
336
|
+
onChange={e => setConfigValues({ ...configValues, [key]: e.target.value })}
|
|
337
|
+
placeholder={schema.description || ''}
|
|
338
|
+
className="w-full bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1 text-[11px] text-[var(--text-primary)]"
|
|
339
|
+
/>
|
|
340
|
+
)}
|
|
341
|
+
</div>
|
|
342
|
+
))}
|
|
343
|
+
<div className="flex gap-2">
|
|
344
|
+
<button onClick={handleCreateInstance} disabled={!newInstanceName.trim()}
|
|
345
|
+
className="text-[10px] px-3 py-1 rounded bg-[var(--accent)] text-white hover:opacity-90 disabled:opacity-40"
|
|
346
|
+
>Create</button>
|
|
347
|
+
<button onClick={() => setShowNewInstance(false)}
|
|
348
|
+
className="text-[10px] px-3 py-1 rounded text-[var(--text-secondary)] hover:text-[var(--text-primary)]"
|
|
349
|
+
>Cancel</button>
|
|
350
|
+
</div>
|
|
351
|
+
</div>
|
|
352
|
+
)}
|
|
353
|
+
|
|
354
|
+
{detail.description && !showNewInstance && (
|
|
355
|
+
<p className="text-[11px] text-[var(--text-secondary)]">{detail.description}</p>
|
|
356
|
+
)}
|
|
357
|
+
|
|
358
|
+
{/* Actions */}
|
|
359
|
+
{!showNewInstance && (
|
|
360
|
+
<div>
|
|
361
|
+
<h3 className="text-[11px] font-semibold text-[var(--text-primary)] mb-1.5">Actions</h3>
|
|
362
|
+
<div className="grid gap-1.5">
|
|
363
|
+
{Object.entries(detail.actions).map(([name, action]) => (
|
|
364
|
+
<div key={name} className="flex items-center gap-2 px-2.5 py-1.5 rounded bg-[var(--bg-tertiary)]">
|
|
365
|
+
<span className="text-[10px] font-mono font-semibold text-[var(--accent)]">{name}</span>
|
|
366
|
+
<span className="text-[9px] px-1.5 py-0.5 rounded bg-[var(--bg-secondary)] text-[var(--text-secondary)]">{action.run}</span>
|
|
367
|
+
{action.url && <span className="text-[9px] text-[var(--text-secondary)] truncate">{action.method || 'GET'} {action.url}</span>}
|
|
368
|
+
{action.command && <span className="text-[9px] text-[var(--text-secondary)] truncate font-mono">{action.command.slice(0, 60)}</span>}
|
|
369
|
+
{detail.defaultAction === name && <span className="text-[8px] px-1 py-0.5 rounded bg-[var(--accent)]/10 text-[var(--accent)]">default</span>}
|
|
370
|
+
</div>
|
|
371
|
+
))}
|
|
372
|
+
</div>
|
|
373
|
+
</div>
|
|
374
|
+
)}
|
|
375
|
+
|
|
376
|
+
{/* Hint: create instance if base plugin has no instances */}
|
|
377
|
+
{!showNewInstance && !selectedInstance && installedConfig !== null && pluginInstances(selectedId!).length === 0 && Object.keys(detail.config).length > 0 && (
|
|
378
|
+
<div className="rounded border border-dashed border-[var(--accent)]/30 bg-[var(--accent)]/5 p-3 text-center">
|
|
379
|
+
<p className="text-[11px] text-[var(--text-secondary)] mb-2">Create an instance to configure and use this plugin</p>
|
|
380
|
+
<button onClick={() => { setShowNewInstance(true); setNewInstanceName(''); setConfigValues({}); }}
|
|
381
|
+
className="text-[10px] px-3 py-1 rounded bg-[var(--accent)] text-white hover:opacity-90"
|
|
382
|
+
>+ Create First Instance</button>
|
|
383
|
+
</div>
|
|
384
|
+
)}
|
|
385
|
+
|
|
386
|
+
{/* Config (for installed plugins and instances) */}
|
|
387
|
+
{!showNewInstance && Object.keys(detail.config).length > 0 && installedConfig !== null && (
|
|
388
|
+
<div>
|
|
389
|
+
<h3 className="text-[11px] font-semibold text-[var(--text-primary)] mb-1.5">Configuration</h3>
|
|
390
|
+
<div className="space-y-2">
|
|
391
|
+
{Object.entries(detail.config).map(([key, schema]) => (
|
|
392
|
+
<div key={key}>
|
|
393
|
+
<label className="text-[10px] text-[var(--text-secondary)] block mb-0.5">
|
|
394
|
+
{schema.label || key} {schema.required && <span className="text-red-400">*</span>}
|
|
395
|
+
</label>
|
|
396
|
+
{schema.type === 'select' ? (
|
|
397
|
+
<select
|
|
398
|
+
value={configValues[key] || schema.default || ''}
|
|
399
|
+
onChange={e => setConfigValues({ ...configValues, [key]: e.target.value })}
|
|
400
|
+
className="w-full bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1 text-[11px] text-[var(--text-primary)]"
|
|
401
|
+
>
|
|
402
|
+
<option value="">Select...</option>
|
|
403
|
+
{(schema.options || []).map(o => <option key={o} value={o}>{o}</option>)}
|
|
404
|
+
</select>
|
|
405
|
+
) : schema.type === 'boolean' ? (
|
|
406
|
+
<input type="checkbox"
|
|
407
|
+
checked={configValues[key] === true || configValues[key] === 'true'}
|
|
408
|
+
onChange={e => setConfigValues({ ...configValues, [key]: e.target.checked })}
|
|
409
|
+
className="accent-[var(--accent)]"
|
|
410
|
+
/>
|
|
411
|
+
) : (
|
|
412
|
+
<input
|
|
413
|
+
type={schema.type === 'secret' ? 'password' : schema.type === 'number' ? 'number' : 'text'}
|
|
414
|
+
value={configValues[key] ?? schema.default ?? ''}
|
|
415
|
+
onChange={e => setConfigValues({ ...configValues, [key]: e.target.value })}
|
|
416
|
+
placeholder={schema.description || ''}
|
|
417
|
+
className="w-full bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1 text-[11px] text-[var(--text-primary)]"
|
|
418
|
+
/>
|
|
419
|
+
)}
|
|
420
|
+
</div>
|
|
421
|
+
))}
|
|
422
|
+
<button onClick={handleSaveConfig}
|
|
423
|
+
className="text-[10px] px-3 py-1 rounded bg-[var(--accent)]/20 text-[var(--accent)] hover:bg-[var(--accent)]/30 transition-colors"
|
|
424
|
+
>{configSaved ? 'Saved!' : 'Save Config'}</button>
|
|
425
|
+
</div>
|
|
426
|
+
</div>
|
|
427
|
+
)}
|
|
428
|
+
|
|
429
|
+
{/* Run Action (only for instances) */}
|
|
430
|
+
{!showNewInstance && selectedInstance && (
|
|
431
|
+
<div>
|
|
432
|
+
<h3 className="text-[11px] font-semibold text-[var(--text-primary)] mb-1.5">Run Action</h3>
|
|
433
|
+
<div className="space-y-2">
|
|
434
|
+
<div className="flex items-center gap-2">
|
|
435
|
+
<select value={testAction} onChange={e => setTestAction(e.target.value)}
|
|
436
|
+
className="bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1 text-[11px] text-[var(--text-primary)]"
|
|
437
|
+
>
|
|
438
|
+
{Object.keys(detail.actions).map(a => <option key={a} value={a}>{a}</option>)}
|
|
439
|
+
</select>
|
|
440
|
+
<button onClick={handleTest} disabled={testing}
|
|
441
|
+
className="text-[10px] px-3 py-1 rounded bg-[var(--accent)] text-white hover:opacity-90 transition-opacity disabled:opacity-50"
|
|
442
|
+
>{testing ? 'Running...' : 'Run'}</button>
|
|
443
|
+
</div>
|
|
444
|
+
<textarea
|
|
445
|
+
value={testParams}
|
|
446
|
+
onChange={e => setTestParams(e.target.value)}
|
|
447
|
+
placeholder='{"key": "value"}'
|
|
448
|
+
rows={3}
|
|
449
|
+
className="w-full bg-[var(--bg-tertiary)] border border-[var(--border)] rounded px-2 py-1.5 text-[10px] font-mono text-[var(--text-primary)] resize-y"
|
|
450
|
+
/>
|
|
451
|
+
{testResult && (
|
|
452
|
+
<div className={`rounded p-2.5 text-[10px] font-mono ${testResult.ok ? 'bg-green-500/10 border border-green-500/20' : 'bg-red-500/10 border border-red-500/20'}`}>
|
|
453
|
+
<div className="flex items-center gap-2 mb-1">
|
|
454
|
+
<span className={testResult.ok ? 'text-green-400' : 'text-red-400'}>{testResult.ok ? 'OK' : 'FAILED'}</span>
|
|
455
|
+
{testResult.duration && <span className="text-[var(--text-secondary)]">{testResult.duration}ms</span>}
|
|
456
|
+
</div>
|
|
457
|
+
{testResult.error && <div className="text-red-400 mb-1">{testResult.error}</div>}
|
|
458
|
+
<pre className="text-[var(--text-secondary)] whitespace-pre-wrap break-all max-h-40 overflow-y-auto">
|
|
459
|
+
{JSON.stringify(testResult.output, null, 2)}
|
|
460
|
+
</pre>
|
|
461
|
+
</div>
|
|
462
|
+
)}
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
)}
|
|
466
|
+
</div>
|
|
467
|
+
)}
|
|
468
|
+
</div>
|
|
469
|
+
</div>
|
|
470
|
+
</div>
|
|
471
|
+
);
|
|
472
|
+
}
|