#pragma once #include #include #include #include #include #include #include namespace engine::runtime { enum class StoredArtifactKind { TokenIds, FloatTensor, Bytes, Text, }; struct StoredArtifact { StoredArtifactKind kind = StoredArtifactKind::Bytes; std::vector shape; std::variant, std::vector, std::vector, std::string> payload; }; class ArtifactStore { public: bool contains(const std::string & key) const; void put(std::string key, StoredArtifact artifact); StoredArtifact * find(const std::string & key); const StoredArtifact * find(const std::string & key) const; void erase(const std::string & key); void clear(); private: std::unordered_map artifacts_; }; } // namespace engine::runtime