载入中...
搜索中...
未找到
EditorAutomationProvider.h
浏览该文件的文档.
1#pragma once
2
7
8#include <cstdint>
9#include <map>
10#include <memory>
11#include <string>
12#include <vector>
13
14namespace eve::editor {
15
16class EditorTargetCoordinator;
17class EditorCommandService;
18
21public:
26
28 std::string invoke(const std::string& operation, const std::string& requestJson) override;
29
32
33private:
34 struct ObservationSession;
35
36 void refreshProfile();
37 std::string commandsJson();
38 std::string targetList() const;
39 Result<void> bindRequestedTarget(const EditorValue::Object& request);
40 std::string createTarget(const EditorValue::Object& request);
41 std::string closeTarget(const EditorValue::Object& request);
42 std::string startObservation(const EditorValue::Object& request);
43 std::string describeObservation(const EditorValue::Object& request) const;
44 std::string publishObservation(const EditorValue::Object& request);
45 std::string pollObservation(const EditorValue::Object& request);
46 std::string closeObservation(const EditorValue::Object& request);
47
48 EditorCommandService* commands_ = nullptr;
49 EditorTargetCoordinator* targets_ = nullptr;
50 EditorSession session_;
51 std::vector<EditorDiagnostic> lastDiagnostics_;
52 std::map<TargetId, AutomationOwnedTarget> ownedTargets_;
53 std::map<std::string, std::unique_ptr<ObservationSession>> observationSessions_;
54 std::uint64_t nextObservationSession_ = 1;
55};
56
57} // namespace eve::editor
LogicalId target
ActionParameterOperation operation
const GltfImportRequest & request
std::vector< VegetationPresetCommand > commands
Module-neutral bridge from DevTools/MCP to the editor command protocol.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
std::map< std::string, Value > Object
MCP/DevTools adapter over command discovery and target coordination.
~EditorAutomationProvider() override
Releases EditorAutomationProvider resources.
void targetUnregistered(const TargetId &target)
Clear automation state that still borrows an unregistered target.
std::string invoke(const std::string &operation, const std::string &requestJson) override
Invoke discovery, inspect, execute, plan, commit, undo or redo.
Registry and execution gate for UI-, script- and automation-neutral commands.
Hosts interchangeable editor tools and routes their lifecycle/input.
Coordinates editable targets, per-target histories and domain commands.