Merged
Conversation
Reorganized the flat C++ module structure into a hierarchical layout that mirrors the TypeScript eliza/packages/ structure: - packages/core/: Core framework modules (core, agentloop, agentmemory, etc.) - packages/infrastructure/: Support services (agentcomms, agentlogger, agentshell, agentbrowser) - packages/applications/: Main app logic (eliza, characters, knowledge, goal_manager) - packages/plugins/: Plugin modules (eliza_plugin_starter, plugin_specification) - packages/starters/: Starter templates (eliza_starter, eliza_nextjs_starter) - packages/integration/: Complex integrations (auto_fun, autonomous_starter, SWEagent) - generated/: All generated_* transpiled modules + loose transpiled files - external/: Utility and external modules Updated CMakeLists.txt to reflect the new structure.
Moved transpiled files from generated/transpiled/ to their corresponding TypeScript package locations: packages/core/core/src/: - action.cpp/hpp, actions.cpp/hpp - Core action system - database.cpp/hpp - Database abstraction - memory.cpp/hpp - Memory management - runtime.cpp/hpp - Runtime engine packages/applications/characters/src/: - character.cpp/hpp - Character base types - character_evolution_evaluator.cpp/hpp - Character evolution - character_updater.cpp/hpp - Character updates packages/applications/knowledge/src/: - knowledge.cpp/hpp - Knowledge base - knowledge_helpers.cpp/hpp - Knowledge utilities packages/applications/eliza/src/: - eliza.hpp, eliza_paths.cpp/hpp - Eliza paths and types packages/infrastructure/agentlogger/src/: - logger.cpp/hpp - Logging implementation packages/plugins/eliza_plugin_starter/src/: - plugin.cpp/hpp - Plugin base interface - pluginConfigurationEvaluator.cpp/hpp - Config evaluation - pluginKnowledgeProvider.cpp/hpp - Knowledge provider - pluginStateProvider.cpp/hpp - State provider Updated CMakeLists.txt files to include new source files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request restructures the C++ build configuration for ElizaOS, aligning it more closely with the TypeScript packages layout and improving modularity. The main
CMakeLists.txtis rewritten to organize modules by theme (core, infrastructure, applications, plugins, starters, integrations, and generated modules), and the old core library definition is removed fromcpp/core/CMakeLists.txt. This sets up a more scalable and maintainable build system.Build system reorganization:
CMakeLists.txtis rewritten to mirror the TypeScript package structure, grouping modules into logical categories (core, infrastructure, applications, plugins, starters, integrations, and generated modules). This improves clarity and maintainability of the build configuration.cpp/core/CMakeLists.txt, as core modules are now added individually in the main build configuration.Generated modules update:
generated/directory, aligning with the new structure and naming conventions.Testing improvements:
CMakeLists.txt, and thetestsdirectory is added as a subdirectory, ensuring tests are built and run as part of the build process.