feat: 重构为 Monorepo 架构并实现 HTTP Server

架构变更:
- 采用 pnpm workspaces 实现 Monorepo 结构
- 将现有代码迁移到 packages/core
- 新增 packages/server HTTP 服务层

Server 功能:
- REST API: 会话管理、工具管理、配置管理
- WebSocket: 实时双向通信支持
- SSE: 服务端事件推送
- Hono + Bun 作为运行时

API 端点:
- GET/POST /api/sessions - 会话 CRUD
- GET/POST /api/sessions/:id/messages - 消息管理
- GET /api/sessions/:id/events - SSE 事件流
- WS /api/ws/:sessionId - WebSocket 连接
- GET/POST /api/tools - 工具管理
- GET/PUT /api/config - 配置管理
This commit is contained in:
2025-12-12 10:42:20 +08:00
parent 59dbed926e
commit 5e32375f0e
301 changed files with 3281 additions and 43 deletions
+59
View File
@@ -0,0 +1,59 @@
// Types
export type {
AgentMode,
PermissionAction,
PermissionRule,
AgentBashPermission,
AgentFilePermission,
AgentGitPermission,
AgentPermission,
AgentModelConfig,
AgentToolConfig,
AgentInfo,
AgentConfigFile,
AgentExecutionContext,
AgentExecutionResult,
} from './types.js';
// Registry
export { AgentRegistry, agentRegistry } from './registry.js';
// Executor
export { AgentExecutor } from './executor.js';
// Manager
export {
AgentManager,
getAgentManager,
resetAgentManager,
type BackgroundAgent,
type BackgroundAgentStatus,
} from './manager.js';
// Permission Merger
export {
SYSTEM_DEFAULT_PERMISSION,
mergePermissions,
matchRule,
checkBashPermission,
checkFilePathPermission,
} from './permission-merger.js';
// Config Loader
export {
loadAgentConfig,
saveAgentConfig,
getConfigTemplate,
} from './config-loader.js';
// Presets
export {
presetAgents,
getPresetAgentNames,
isPresetAgent,
generalAgent,
exploreAgent,
codeReviewerAgent,
buildAgent,
planAgent,
} from './presets/index.js';