        self.base_dir = base_dir
        self._mkdir(self.base_dir)

    def save(self, *, channel_id: str, thread_ts: str, context: Dict[str, str]) -&gt; None:
        path = f&#34;{self.base_dir}/{channel_id}-{thread_ts}.json&#34;
        with open(path, &#34;w&#34;) as f:
            f.write(json.dumps(context))

    def find(self, *, channel_id: str, thread_ts: str) -&gt; Optional[AssistantThreadContext]:
        path = f&#34;{self.base_dir}/{channel_id}-{thread_ts}.json&#34;
        try:
            wi