From 7b31e736d1ab326a4c2811378c387a8bd9fecd53 Mon Sep 17 00:00:00 2001 From: kvtodev Date: Wed, 15 Jul 2026 14:00:46 +0800 Subject: [PATCH] move code --- .../shared-memory/decision-log.md | 2 +- server-rs/Cargo.lock | 17 ++++++--- server-rs/Cargo.toml | 2 ++ server-rs/crates/api-server/Cargo.toml | 1 + .../crates/api-server/src/editor_agent/api.rs | 36 ++++++++++--------- .../api-server/src/editor_agent/context.rs | 4 +-- .../src/editor_agent/display_args.rs | 24 ++++++------- .../api-server/src/editor_agent/pricing.rs | 20 +++++------ .../api-server/src/editor_agent/reconcile.rs | 20 +++++------ .../src/editor_agent/resp_to_asset.rs | 6 ++-- .../api-server/src/editor_agent/utils.rs | 4 +-- .../crates/module-editor-agent/Cargo.toml | 4 --- .../crates/module-editor-agent/src/lib.rs | 2 -- .../crates/platform-editor-agent/Cargo.toml | 13 +++++++ .../src/agent/agent.rs | 0 .../src/agent/asset.rs | 0 .../src/agent/mod.rs | 2 +- .../src/agent/tools/context.rs | 2 +- .../src/agent/tools/edit_image.rs | 0 .../agent/tools/generate_background_music.rs | 0 .../src/agent/tools/generate_character.rs | 0 .../agent/tools/generate_icon_spritesheet.rs | 0 .../src/agent/tools/generate_image.rs | 0 .../src/agent/tools/generate_sound_effect.rs | 0 .../src/agent/tools/generate_ui_design.rs | 0 .../src/agent/tools/generate_video.rs | 0 .../src/agent/tools/mod.rs | 0 .../src/framework/agent.rs | 0 .../src/framework/agent_builder.rs | 0 .../src/framework/error.rs | 0 .../src/framework/hook.rs | 0 .../src/framework/memory.rs | 0 .../src/framework/mod.rs | 0 .../src/framework/run.rs | 2 +- .../src/framework/tool.rs | 0 .../crates/platform-editor-agent/src/lib.rs | 2 ++ 36 files changed, 94 insertions(+), 69 deletions(-) create mode 100644 server-rs/crates/platform-editor-agent/Cargo.toml rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/agent.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/asset.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/mod.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/context.rs (99%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/edit_image.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_background_music.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_character.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_icon_spritesheet.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_image.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_sound_effect.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_ui_design.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/generate_video.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/agent/tools/mod.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/agent.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/agent_builder.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/error.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/hook.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/memory.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/mod.rs (100%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/run.rs (99%) rename server-rs/crates/{module-editor-agent => platform-editor-agent}/src/framework/tool.rs (100%) create mode 100644 server-rs/crates/platform-editor-agent/src/lib.rs diff --git a/docs/project-memory/shared-memory/decision-log.md b/docs/project-memory/shared-memory/decision-log.md index d479292b7..48acf262d 100644 --- a/docs/project-memory/shared-memory/decision-log.md +++ b/docs/project-memory/shared-memory/decision-log.md @@ -205,7 +205,7 @@ ## 2026-07-03 画布Agent会话元数据入 SpacetimeDB、消息正文存 OSS - 背景:图片画布工程需要对话式编辑历史,但消息正文随流式输出增长,不适合放入表行或画布布局快照;同时画布 Agent 只属于编辑器画布域,不能复用拼图 `creative-agent` 内存会话。 -- 决策:新增 `module-editor-agent` 承载纯领域规则,`editor_agent_conversation` 只保存会话元数据,完整消息以 `editor-agent/{conversationId}.json` 会话粒度存 OSS;`api-server` 负责编排 LLM、SSE、OSS 读写和既有生成工具调用。 +- 决策:`module-editor-agent` 只承载可供 SpacetimeDB WASM 使用的纯领域规则;Agent runner、工具实现和资产 DTO 迁入原生 `platform-editor-agent`,仅由 `api-server` 依赖。`editor_agent_conversation` 只保存会话元数据,完整消息以 `editor-agent/{conversationId}.json` 会话粒度存 OSS;`api-server` 负责编排 LLM、SSE、OSS 读写和既有生成工具调用。 - 影响范围:图片画布右侧 Agent 面板、`shared-contracts` / `packages/shared` 的 `editorAgent` 契约、`spacetime-module` / `spacetime-client`、`platform-oss` 内部读签名边界、画布生成落板规则。 - 验证方式:`npm run spacetime:generate`、`npm run check:spacetime-schema`、`cargo test -p module-editor-agent --manifest-path server-rs/Cargo.toml`、`cargo test -p api-server --manifest-path server-rs/Cargo.toml editor_agent`、前端 Agent 面板与 SSE client 定向测试、`npm run check:encoding`、`git diff --check`。 - 关联文档:`docs/【编辑器】画布Agent对话面板-2026-07-03.md`、`docs/adr/【ADR】画布Agent会话消息存OSS-2026-07-03.md`、`docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md`。 diff --git a/server-rs/Cargo.lock b/server-rs/Cargo.lock index efe8e1790..0aafe4a79 100644 --- a/server-rs/Cargo.lock +++ b/server-rs/Cargo.lock @@ -238,6 +238,7 @@ dependencies = [ "platform-agent", "platform-audio", "platform-auth", + "platform-editor-agent", "platform-hyper3d", "platform-image", "platform-llm", @@ -3153,12 +3154,8 @@ dependencies = [ name = "module-editor-agent" version = "0.1.0" dependencies = [ - "hmac", - "platform-llm", "serde", "serde_json", - "sha2", - "shared-contracts", "shared-kernel", "spacetimedb", ] @@ -4445,6 +4442,18 @@ dependencies = [ "urlencoding", ] +[[package]] +name = "platform-editor-agent" +version = "0.1.0" +dependencies = [ + "hmac", + "platform-llm", + "serde", + "serde_json", + "sha2", + "shared-contracts", +] + [[package]] name = "platform-hyper3d" version = "0.1.0" diff --git a/server-rs/Cargo.toml b/server-rs/Cargo.toml index 3d3bc1151..3b921035f 100644 --- a/server-rs/Cargo.toml +++ b/server-rs/Cargo.toml @@ -42,6 +42,7 @@ members = [ "crates/platform-wechat", "crates/platform-speech", "crates/platform-agent", + "crates/platform-editor-agent", "crates/pingora-gateway", "crates/server-manager-panel", "crates/shared-contracts", @@ -84,6 +85,7 @@ module-square-hole = { path = "crates/module-square-hole", default-features = fa module-story = { path = "crates/module-story", default-features = false } module-visual-novel = { path = "crates/module-visual-novel", default-features = false } platform-agent = { path = "crates/platform-agent", default-features = false } +platform-editor-agent = { path = "crates/platform-editor-agent", default-features = false } platform-auth = { path = "crates/platform-auth", default-features = false } platform-audio = { path = "crates/platform-audio", default-features = false } platform-hyper3d = { path = "crates/platform-hyper3d", default-features = false } diff --git a/server-rs/crates/api-server/Cargo.toml b/server-rs/crates/api-server/Cargo.toml index 8949fdca5..29a238b70 100644 --- a/server-rs/crates/api-server/Cargo.toml +++ b/server-rs/crates/api-server/Cargo.toml @@ -38,6 +38,7 @@ module-square-hole = { workspace = true } module-story = { workspace = true } module-visual-novel = { workspace = true } platform-agent = { workspace = true } +platform-editor-agent = { workspace = true } platform-audio = { workspace = true } platform-auth = { workspace = true } platform-hyper3d = { workspace = true } diff --git a/server-rs/crates/api-server/src/editor_agent/api.rs b/server-rs/crates/api-server/src/editor_agent/api.rs index ed94d3c7e..527f0a1bb 100644 --- a/server-rs/crates/api-server/src/editor_agent/api.rs +++ b/server-rs/crates/api-server/src/editor_agent/api.rs @@ -1,14 +1,14 @@ use axum::extract::{Path, State}; use axum::{Extension, Json}; -use module_editor_agent::framework::agent_builder::AgentBuilder; -use module_editor_agent::framework::error::PromptError; -use module_editor_agent::framework::memory::VecMemory; -use module_editor_agent::framework::run::PromptOutput; -use module_editor_agent::framework::tool::Tool; use module_editor_agent::{ EDITOR_AGENT_CONVERSATION_ID_PREFIX, EDITOR_AGENT_DEFAULT_CONVERSATION_TITLE, derive_conversation_title, editor_agent_messages_object_key, }; +use platform_editor_agent::framework::agent_builder::AgentBuilder; +use platform_editor_agent::framework::error::PromptError; +use platform_editor_agent::framework::memory::VecMemory; +use platform_editor_agent::framework::run::PromptOutput; +use platform_editor_agent::framework::tool::Tool; use platform_llm::LlmMessage; use serde::Serialize; use serde_json::{Value, json}; @@ -54,22 +54,26 @@ use crate::editor_project::{current_utc_micros, map_editor_project_error}; use crate::http_error::AppError; use crate::request_context::RequestContext; use crate::state::AppState; -use module_editor_agent::agent::agent::LlmChatAgentBuilder; -use module_editor_agent::agent::tools::context::EditorToolContext; -use module_editor_agent::agent::tools::edit_image::{EditImageTool, EditImageToolArgs}; -use module_editor_agent::agent::tools::generate_background_music::{ +use platform_editor_agent::agent::agent::LlmChatAgentBuilder; +use platform_editor_agent::agent::tools::context::EditorToolContext; +use platform_editor_agent::agent::tools::edit_image::{EditImageTool, EditImageToolArgs}; +use platform_editor_agent::agent::tools::generate_background_music::{ GenerateBackgroundMusicTool, GenerateBackgroundMusicToolArgs, }; -use module_editor_agent::agent::tools::generate_character::GenerateCharacterTool; -use module_editor_agent::agent::tools::generate_icon_spritesheet::{ +use platform_editor_agent::agent::tools::generate_character::GenerateCharacterTool; +use platform_editor_agent::agent::tools::generate_icon_spritesheet::{ GenerateIconSpritesheetTool, GenerateIconSpritesheetToolArgs, }; -use module_editor_agent::agent::tools::generate_image::{GenerateImageTool, GenerateImageToolArgs}; -use module_editor_agent::agent::tools::generate_sound_effect::{ +use platform_editor_agent::agent::tools::generate_image::{ + GenerateImageTool, GenerateImageToolArgs, +}; +use platform_editor_agent::agent::tools::generate_sound_effect::{ GenerateSoundEffectTool, GenerateSoundEffectToolArgs, }; -use module_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; -use module_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; +use platform_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; +use platform_editor_agent::agent::tools::generate_video::{ + GenerateVideoTool, GenerateVideoToolArgs, +}; use shared_kernel::{build_prefixed_uuid_id, normalize_optional_string}; pub async fn editor_agent_message( @@ -188,7 +192,7 @@ pub async fn editor_agent_message( .tool(GenerateCharacterTool { context: tool_context.clone(), }) - // TODO icons gen's result query is not prepared for now. + // TODO icons gen's result query is not prepared for now. // .tool(GenerateIconSpritesheetTool { // context: tool_context.clone(), // }) diff --git a/server-rs/crates/api-server/src/editor_agent/context.rs b/server-rs/crates/api-server/src/editor_agent/context.rs index 94c478de5..40d194bdc 100644 --- a/server-rs/crates/api-server/src/editor_agent/context.rs +++ b/server-rs/crates/api-server/src/editor_agent/context.rs @@ -1,8 +1,8 @@ -use module_editor_agent::agent::tools::context::EditorToolContext; +use platform_editor_agent::agent::tools::context::EditorToolContext; use crate::editor_agent::utils::IntoDataKey; use shared_contracts::editor_agent::EditorAgentConversationMessagesDocument; use std::collections::HashMap; -use module_editor_agent::agent::asset::{ImageId, ImageMetadata}; +use platform_editor_agent::agent::asset::{ImageId, ImageMetadata}; pub fn build_tool_context(document: &EditorAgentConversationMessagesDocument) -> EditorToolContext { let mut images: HashMap = HashMap::new(); diff --git a/server-rs/crates/api-server/src/editor_agent/display_args.rs b/server-rs/crates/api-server/src/editor_agent/display_args.rs index 0953b7f44..919d71b97 100644 --- a/server-rs/crates/api-server/src/editor_agent/display_args.rs +++ b/server-rs/crates/api-server/src/editor_agent/display_args.rs @@ -1,18 +1,18 @@ use serde_json::Value; -use module_editor_agent::framework::error::PromptError; -use module_editor_agent::framework::tool::Tool; +use platform_editor_agent::framework::error::PromptError; +use platform_editor_agent::framework::tool::Tool; use shared_contracts::editor_agent::{EditorAgentConversationMessagesDocument, EditorAgentToolCallDisplayArgs, EditorAgentToolCallDisplayExtras, EditorAgentToolCallImageArg, EditorAgentToolCallImageRef, EditorAgentToolCallStringArg}; use crate::editor_agent::pricing::EditorAgentPricedTool; -use module_editor_agent::agent::tools::context::EditorToolContext; -use module_editor_agent::agent::tools::edit_image::{EditImageTool, EditImageToolArgs}; -use module_editor_agent::agent::tools::generate_background_music::{GenerateBackgroundMusicTool, GenerateBackgroundMusicToolArgs}; -use module_editor_agent::agent::tools::generate_character::GenerateCharacterTool; -use module_editor_agent::agent::tools::generate_icon_spritesheet::{GenerateIconSpritesheetTool, GenerateIconSpritesheetToolArgs}; -use module_editor_agent::agent::tools::generate_image::{GenerateImageTool, GenerateImageToolArgs}; -use module_editor_agent::agent::tools::generate_sound_effect::{GenerateSoundEffectTool, GenerateSoundEffectToolArgs}; -use module_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; -use module_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; -use module_editor_agent::agent::asset::ImageId; +use platform_editor_agent::agent::tools::context::EditorToolContext; +use platform_editor_agent::agent::tools::edit_image::{EditImageTool, EditImageToolArgs}; +use platform_editor_agent::agent::tools::generate_background_music::{GenerateBackgroundMusicTool, GenerateBackgroundMusicToolArgs}; +use platform_editor_agent::agent::tools::generate_character::GenerateCharacterTool; +use platform_editor_agent::agent::tools::generate_icon_spritesheet::{GenerateIconSpritesheetTool, GenerateIconSpritesheetToolArgs}; +use platform_editor_agent::agent::tools::generate_image::{GenerateImageTool, GenerateImageToolArgs}; +use platform_editor_agent::agent::tools::generate_sound_effect::{GenerateSoundEffectTool, GenerateSoundEffectToolArgs}; +use platform_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; +use platform_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; +use platform_editor_agent::agent::asset::ImageId; use crate::editor_agent::utils::{IntoDataKey, IntoImageId}; use crate::editor_generation_config::EditorGenerationPricingConfig; diff --git a/server-rs/crates/api-server/src/editor_agent/pricing.rs b/server-rs/crates/api-server/src/editor_agent/pricing.rs index db48ea729..906c7856f 100644 --- a/server-rs/crates/api-server/src/editor_agent/pricing.rs +++ b/server-rs/crates/api-server/src/editor_agent/pricing.rs @@ -1,21 +1,21 @@ use std::collections::HashMap; -use module_editor_agent::framework::tool::Tool; +use platform_editor_agent::framework::tool::Tool; use platform_image::GPT_IMAGE_2_MODEL; -use module_editor_agent::agent::tools::context::EditorToolContext; -use module_editor_agent::agent::tools::edit_image::{EditImageTool, EditImageToolArgs}; -use module_editor_agent::agent::tools::generate_background_music::{ +use platform_editor_agent::agent::tools::context::EditorToolContext; +use platform_editor_agent::agent::tools::edit_image::{EditImageTool, EditImageToolArgs}; +use platform_editor_agent::agent::tools::generate_background_music::{ GenerateBackgroundMusicTool, GenerateBackgroundMusicToolArgs, }; -use module_editor_agent::agent::tools::generate_character::GenerateCharacterTool; -use module_editor_agent::agent::tools::generate_icon_spritesheet::{ +use platform_editor_agent::agent::tools::generate_character::GenerateCharacterTool; +use platform_editor_agent::agent::tools::generate_icon_spritesheet::{ GenerateIconSpritesheetTool, GenerateIconSpritesheetToolArgs, }; -use module_editor_agent::agent::tools::generate_image::{GenerateImageTool, GenerateImageToolArgs}; -use module_editor_agent::agent::tools::generate_sound_effect::{ +use platform_editor_agent::agent::tools::generate_image::{GenerateImageTool, GenerateImageToolArgs}; +use platform_editor_agent::agent::tools::generate_sound_effect::{ GenerateSoundEffectTool, GenerateSoundEffectToolArgs, }; -use module_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; -use module_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; +use platform_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; +use platform_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; use crate::editor_generation_config::{load_editor_generation_pricing_from_paths, EditorGenerationPricingConfig}; fn context() -> EditorToolContext { diff --git a/server-rs/crates/api-server/src/editor_agent/reconcile.rs b/server-rs/crates/api-server/src/editor_agent/reconcile.rs index 68f1bca5e..93768f437 100644 --- a/server-rs/crates/api-server/src/editor_agent/reconcile.rs +++ b/server-rs/crates/api-server/src/editor_agent/reconcile.rs @@ -1,26 +1,26 @@ use crate::editor_agent::resp_to_asset; use crate::http_error::AppError; use crate::state::AppState; -use module_editor_agent::agent::tools::context::EditorToolContext; -use module_editor_agent::agent::tools::edit_image::{ +use platform_editor_agent::agent::tools::context::EditorToolContext; +use platform_editor_agent::agent::tools::edit_image::{ EditImageTool, EditImageToolArgs, EditorImageEditResult, }; -use module_editor_agent::agent::tools::generate_background_music::{ +use platform_editor_agent::agent::tools::generate_background_music::{ GenerateBackgroundMusicTool, GenerateBackgroundMusicToolArgs, }; -use module_editor_agent::agent::tools::generate_character::GenerateCharacterTool; -use module_editor_agent::agent::tools::generate_icon_spritesheet::{ +use platform_editor_agent::agent::tools::generate_character::GenerateCharacterTool; +use platform_editor_agent::agent::tools::generate_icon_spritesheet::{ EditorIconSpritesheetResult, GenerateIconSpritesheetTool, GenerateIconSpritesheetToolArgs, }; -use module_editor_agent::agent::tools::generate_image::{ +use platform_editor_agent::agent::tools::generate_image::{ EditorImageGenerationResult, GenerateImageTool, GenerateImageToolArgs, }; -use module_editor_agent::agent::tools::generate_sound_effect::{ +use platform_editor_agent::agent::tools::generate_sound_effect::{ GenerateSoundEffectTool, GenerateSoundEffectToolArgs, }; -use module_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; -use module_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; -use module_editor_agent::framework::tool::Tool; +use platform_editor_agent::agent::tools::generate_ui_design::GenerateUiDesignTool; +use platform_editor_agent::agent::tools::generate_video::{GenerateVideoTool, GenerateVideoToolArgs}; +use platform_editor_agent::framework::tool::Tool; use serde_json::Value; use shared_contracts::assets::{EditorAudioGenerateResponse, EditorVideoGenerateResponse}; use shared_contracts::editor_agent::{ diff --git a/server-rs/crates/api-server/src/editor_agent/resp_to_asset.rs b/server-rs/crates/api-server/src/editor_agent/resp_to_asset.rs index 12195de11..117521d8d 100644 --- a/server-rs/crates/api-server/src/editor_agent/resp_to_asset.rs +++ b/server-rs/crates/api-server/src/editor_agent/resp_to_asset.rs @@ -1,9 +1,9 @@ use serde_json::Value; use shared_contracts::assets::{EditorAudioGenerateResponse, EditorVideoGenerateResponse}; use shared_contracts::editor_agent::{EditorAgentGeneratedAudio, EditorAgentGeneratedImage, EditorAgentGeneratedVideo}; -use module_editor_agent::agent::tools::edit_image::EditorImageEditResult; -use module_editor_agent::agent::tools::generate_icon_spritesheet::EditorIconSpritesheetResult; -use module_editor_agent::agent::tools::generate_image::EditorImageGenerationResult; +use platform_editor_agent::agent::tools::edit_image::EditorImageEditResult; +use platform_editor_agent::agent::tools::generate_icon_spritesheet::EditorIconSpritesheetResult; +use platform_editor_agent::agent::tools::generate_image::EditorImageGenerationResult; fn value_string(value: Option<&Value>, field: &str) -> Option { value diff --git a/server-rs/crates/api-server/src/editor_agent/utils.rs b/server-rs/crates/api-server/src/editor_agent/utils.rs index d746a2fae..6b2abcee5 100644 --- a/server-rs/crates/api-server/src/editor_agent/utils.rs +++ b/server-rs/crates/api-server/src/editor_agent/utils.rs @@ -22,7 +22,7 @@ use spacetime_client::{ }; use std::collections::BTreeMap; use std::sync::{Arc, Mutex, OnceLock}; -use module_editor_agent::agent::asset::ImageId; +use platform_editor_agent::agent::asset::ImageId; pub trait IntoDataKey { fn into_data_key(self) -> String; @@ -107,7 +107,7 @@ impl IntoResourceId for EditorAssetRecord { #[cfg(test)] mod image_id_tests { - use module_editor_agent::agent::asset::ImageId; + use platform_editor_agent::agent::asset::ImageId; #[test] fn image_id_is_a_stable_hash_of_the_data_key() { diff --git a/server-rs/crates/module-editor-agent/Cargo.toml b/server-rs/crates/module-editor-agent/Cargo.toml index f1a9aca94..188b483f0 100644 --- a/server-rs/crates/module-editor-agent/Cargo.toml +++ b/server-rs/crates/module-editor-agent/Cargo.toml @@ -13,7 +13,3 @@ serde = { workspace = true } serde_json = { workspace = true } shared-kernel = { workspace = true } spacetimedb = { workspace = true, optional = true } -platform-llm = { workspace = true } -shared-contracts = { workspace = true } -hmac = { workspace = true } -sha2 = { workspace = true } diff --git a/server-rs/crates/module-editor-agent/src/lib.rs b/server-rs/crates/module-editor-agent/src/lib.rs index 3e7a37941..b68fa5247 100644 --- a/server-rs/crates/module-editor-agent/src/lib.rs +++ b/server-rs/crates/module-editor-agent/src/lib.rs @@ -1,9 +1,7 @@ -pub mod agent; mod application; mod commands; mod domain; mod errors; -pub mod framework; pub use application::*; pub use commands::*; diff --git a/server-rs/crates/platform-editor-agent/Cargo.toml b/server-rs/crates/platform-editor-agent/Cargo.toml new file mode 100644 index 000000000..b236c0199 --- /dev/null +++ b/server-rs/crates/platform-editor-agent/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "platform-editor-agent" +edition.workspace = true +version.workspace = true +license.workspace = true + +[dependencies] +hmac = { workspace = true } +platform-llm = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +sha2 = { workspace = true } +shared-contracts = { workspace = true, features = ["oss-contracts"] } diff --git a/server-rs/crates/module-editor-agent/src/agent/agent.rs b/server-rs/crates/platform-editor-agent/src/agent/agent.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/agent.rs rename to server-rs/crates/platform-editor-agent/src/agent/agent.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/asset.rs b/server-rs/crates/platform-editor-agent/src/agent/asset.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/asset.rs rename to server-rs/crates/platform-editor-agent/src/agent/asset.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/mod.rs b/server-rs/crates/platform-editor-agent/src/agent/mod.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/mod.rs rename to server-rs/crates/platform-editor-agent/src/agent/mod.rs index 26ffab9c4..e7c0893c8 100644 --- a/server-rs/crates/module-editor-agent/src/agent/mod.rs +++ b/server-rs/crates/platform-editor-agent/src/agent/mod.rs @@ -1,3 +1,3 @@ -pub mod agent; pub mod tools; pub mod asset; +pub mod agent; diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/context.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/context.rs similarity index 99% rename from server-rs/crates/module-editor-agent/src/agent/tools/context.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/context.rs index 0220b1634..9705c7867 100644 --- a/server-rs/crates/module-editor-agent/src/agent/tools/context.rs +++ b/server-rs/crates/platform-editor-agent/src/agent/tools/context.rs @@ -19,4 +19,4 @@ impl EditorToolContext { #[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct EditorToolContext { pub images: HashMap, -} \ No newline at end of file +} diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/edit_image.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/edit_image.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/edit_image.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/edit_image.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_background_music.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_background_music.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_background_music.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_background_music.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_character.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_character.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_character.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_character.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_icon_spritesheet.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_icon_spritesheet.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_icon_spritesheet.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_icon_spritesheet.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_image.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_image.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_image.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_image.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_sound_effect.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_sound_effect.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_sound_effect.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_sound_effect.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_ui_design.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_ui_design.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_ui_design.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_ui_design.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/generate_video.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/generate_video.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/generate_video.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/generate_video.rs diff --git a/server-rs/crates/module-editor-agent/src/agent/tools/mod.rs b/server-rs/crates/platform-editor-agent/src/agent/tools/mod.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/agent/tools/mod.rs rename to server-rs/crates/platform-editor-agent/src/agent/tools/mod.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/agent.rs b/server-rs/crates/platform-editor-agent/src/framework/agent.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/agent.rs rename to server-rs/crates/platform-editor-agent/src/framework/agent.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/agent_builder.rs b/server-rs/crates/platform-editor-agent/src/framework/agent_builder.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/agent_builder.rs rename to server-rs/crates/platform-editor-agent/src/framework/agent_builder.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/error.rs b/server-rs/crates/platform-editor-agent/src/framework/error.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/error.rs rename to server-rs/crates/platform-editor-agent/src/framework/error.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/hook.rs b/server-rs/crates/platform-editor-agent/src/framework/hook.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/hook.rs rename to server-rs/crates/platform-editor-agent/src/framework/hook.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/memory.rs b/server-rs/crates/platform-editor-agent/src/framework/memory.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/memory.rs rename to server-rs/crates/platform-editor-agent/src/framework/memory.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/mod.rs b/server-rs/crates/platform-editor-agent/src/framework/mod.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/mod.rs rename to server-rs/crates/platform-editor-agent/src/framework/mod.rs diff --git a/server-rs/crates/module-editor-agent/src/framework/run.rs b/server-rs/crates/platform-editor-agent/src/framework/run.rs similarity index 99% rename from server-rs/crates/module-editor-agent/src/framework/run.rs rename to server-rs/crates/platform-editor-agent/src/framework/run.rs index c3e7355db..93327d10f 100644 --- a/server-rs/crates/module-editor-agent/src/framework/run.rs +++ b/server-rs/crates/platform-editor-agent/src/framework/run.rs @@ -261,7 +261,7 @@ struct LlmToolCallRequest { args: Value, } -pub(crate) fn clean_json_response(text: &str) -> String { +pub fn clean_json_response(text: &str) -> String { let text = text.trim(); if text.starts_with("```") { let lines: Vec<&str> = text.lines().collect(); diff --git a/server-rs/crates/module-editor-agent/src/framework/tool.rs b/server-rs/crates/platform-editor-agent/src/framework/tool.rs similarity index 100% rename from server-rs/crates/module-editor-agent/src/framework/tool.rs rename to server-rs/crates/platform-editor-agent/src/framework/tool.rs diff --git a/server-rs/crates/platform-editor-agent/src/lib.rs b/server-rs/crates/platform-editor-agent/src/lib.rs new file mode 100644 index 000000000..9bfb25278 --- /dev/null +++ b/server-rs/crates/platform-editor-agent/src/lib.rs @@ -0,0 +1,2 @@ +pub mod agent; +pub mod framework;