Files
AirCoding/packages/runtime/src/index.ts
AirCoding 5e282a39b4 feat(round2+round3): 完整实现 A/B/C/D 主线 + round3-F/H 修复
Round2 主线:
- A: 事件落库地基 (RuntimeApp EventStore 单例 + 14 repo wiring)
- B: 执行体对齐 (read-before-edit, verification-before-completion)
- C: 界面对齐 (@opentui/solid, 删除 runtime 依赖)
- D: 经验闭环 (ExperienceMiner, DebuggerRole, CompactorRole)

Round2 补充修复:
- fail-on-missing 反作弊门禁
- projection-store-apply.test.ts 补写
- 3个空壳测试转行为 (evidence-store, recovery-impl, knowledge-store)
- ask 项目根支持 AIRCODING_PROJECT_ROOT
- Worker 事件契约修复 (task.attempt.started → checkpoint)

Round3-F: cpp 工具切换
- 删除 BuiltInToolRegistrar cpp.* 闭包
- 接入 toolchain-cpp 真实 CppToolRegistrar
- canonical envelope {status/output/metadata}
- ExecutorRole system prompt 对齐新工具名

Round3-H: Doctor 5 类报告
- toolchain (cmake/ninja/cppcheck/clangd/g++)
- display (X11/Wayland + ImageMagick)
- network (internet connectivity)
- provider (api_key/base_url/model/connectivity)

Secret 脱敏:
- 状态交接.md: sk- → \${OPENAI_API_KEY}
- .gitignore: 添加 .air/ .claude/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 16:13:16 +08:00

82 lines
3.7 KiB
TypeScript
Executable File

// AirCoding Runtime Package
// Main export barrel for @aircoding/runtime
// Storage layer
export { DatabaseManager, createDatabaseManager } from './storage/DatabaseManager.js'
export { MigrationRunner } from './storage/MigrationRunner.js'
export { Recovery, createRecovery } from './storage/Recovery.js'
export * from './storage/assertEnum.js'
// Project management
export { ProjectStore, createProjectStore } from './project/ProjectStore.js'
export { ProjectLocator, createProjectLocator } from './project/ProjectLocator.js'
export { ProjectInitializer, createProjectInitializer } from './project/ProjectInitializer.js'
// Session management
export { SessionManager, createSessionManager } from './sessions/SessionManager.js'
// Artifact and evidence management
export { ArtifactStore, createArtifactStore } from './artifacts/ArtifactStore.js'
export { EvidenceStore, createEvidenceStore } from './artifacts/EvidenceStore.js'
// Event system
export { EventIngestor, eventIngestor } from './events/EventIngestor.js'
// Security
export { PathClassifier, createPathClassifier } from './security/PathClassifier.js'
export { CommandRiskAnalyzer, createCommandRiskAnalyzer } from './security/CommandRiskAnalyzer.js'
export { SecretRedactor, createSecretRedactor, get_shared_redactor } from './security/SecretRedactor.js'
export { PermissionEngine, createPermissionEngine, DEFAULT_PROFILES } from './security/PermissionEngine.js'
// Tools
export { ToolRegistry, createToolRegistry } from './tools/ToolRegistry.js'
export { BuiltInToolRegistrar, register_builtin_tools } from './tools/BuiltInToolRegistrar.js'
// Capabilities
export { CapabilityManifestValidator, createCapabilityManifestValidator } from './capabilities/CapabilityManifestValidator.js'
export { CapabilityRegistry, createCapabilityRegistry } from './capabilities/CapabilityRegistry.js'
export { loadSkillDirectory, loadSkillsFromRoots } from './capabilities/SkillLoader.js'
export type { SkillDefinition } from './capabilities/SkillLoader.js'
// Context
export { PromptLayerLoader, createPromptLayerLoader } from './context/PromptLayerLoader.js'
export { CompactionPolicy, createCompactionPolicy } from './context/CompactionPolicy.js'
export { ContextAssembler, createContextAssembler } from './context/ContextAssembler.js'
// Workers
export { WorkerProtocol } from './workers/WorkerProtocol.js'
export { WorkerProcess } from './workers/WorkerProcess.js'
export { WorkerManager } from './workers/WorkerManager.js'
// Scheduler
export { Scheduler } from './scheduler/Scheduler.js'
export { TaskGraph } from './scheduler/TaskGraph.js'
export { WavePlanner } from './scheduler/WavePlanner.js'
export { RetryPlanner } from './scheduler/RetryPlanner.js'
export { AgentMonitor } from './scheduler/AgentMonitor.js'
export { WorkspaceManager } from './scheduler/WorkspaceManager.js'
// Projection
export { ProjectionStore } from './projection/ProjectionStore.js'
export { ProjectionClient } from './projection/ProjectionClient.js'
export type { SessionProjection, TaskProjection, AgentProjection, ProjectionSubscriber } from './projection/ProjectionStore.js'
// Agents
export { MainAgent } from './agents/main/MainAgent.js'
export { ArchitectureDesigner } from './agents/architecture/ArchitectureDesigner.js'
// Knowledge
export { DebugKnowledgeStore } from './knowledge/DebugKnowledgeStore.js'
export { LearnedMemoryStore } from './knowledge/LearnedMemoryStore.js'
// Logging
export { Logger } from './logging/Logger.js'
export { DeveloperLogEncryptor } from './logging/DeveloperLogEncryptor.js'
// Doctor
export { DoctorService } from './doctor/DoctorService.js'
// App
export { RuntimeApp, createRuntimeApp } from './app/RuntimeApp.js'
export { ServiceRegistry } from './app/ServiceRegistry.js'
export type { ServiceGraph } from './app/ServiceRegistry.js'