diff --git a/experiencemaker/experiencemaker/op/vector_store/vector_store_action_op.py b/experiencemaker/experiencemaker/op/vector_store/vector_store_action_op.py index 331b3c51..4743fc2d 100644 --- a/experiencemaker/experiencemaker/op/vector_store/vector_store_action_op.py +++ b/experiencemaker/experiencemaker/op/vector_store/vector_store_action_op.py @@ -20,6 +20,12 @@ class VectorStoreActionOp(BaseOp): elif request.action == "delete": result = self.vector_store.delete_workspace(workspace_id=request.workspace_id) + elif request.action == "delete_ids": + result = self.vector_store.delete(workspace_id=request.workspace_id,node_ids = request.experience_ids) + + elif request.action == "insert": + result = self.vector_store.insert(workspace_id=request.workspace_id, nodes = request.experience_ids) + elif request.action == "dump": def node_to_experience(node: VectorNode) -> dict: return vector_node_to_experience(node).model_dump() diff --git a/experiencemaker/experiencemaker/schema/request.py b/experiencemaker/experiencemaker/schema/request.py index 4e35df87..02dfd093 100644 --- a/experiencemaker/experiencemaker/schema/request.py +++ b/experiencemaker/experiencemaker/schema/request.py @@ -24,6 +24,7 @@ class VectorStoreRequest(BaseRequest): action: str = Field(default="") src_workspace_id: str = Field(default="") path: str = Field(default="") + experience_ids: List[str] = Field(default_factory=list) class AgentRequest(BaseRequest):