| 129 | |
| 130 | |
| 131 | class FakeOpenAIClient: |
| 132 | def __init__(self, sessions, sentinel_tokens): |
| 133 | self._sessions = list(sessions) |
| 134 | self._session_index = 0 |
| 135 | self._session = self._sessions[0] |
| 136 | self._sentinel_tokens = list(sentinel_tokens) |
| 137 | |
| 138 | @property |
| 139 | def session(self): |
| 140 | return self._session |
| 141 | |
| 142 | def check_ip_location(self): |
| 143 | return True, "US" |
| 144 | |
| 145 | def check_sentinel(self, did): |
| 146 | if not self._sentinel_tokens: |
| 147 | return _full_sentinel_token("authorize_continue", did) |
| 148 | token = self._sentinel_tokens.pop(0) |
| 149 | token_text = str(token or "").strip() |
| 150 | if token_text.startswith("{"): |
| 151 | return token_text |
| 152 | return _full_sentinel_token("authorize_continue", did, c_value=token_text or "server-token") |
| 153 | |
| 154 | def close(self): |
| 155 | if self._session_index + 1 < len(self._sessions): |
| 156 | self._session_index += 1 |
| 157 | self._session = self._sessions[self._session_index] |
| 158 | |
| 159 | |
| 160 | def _workspace_cookie(workspace_id): |
no outgoing calls