MCPcopy Create free account
hub / github.com/agentforce314/clawcodex / read_pointer

Function read_pointer

src/bridge/bridge_pointer.py:109–192  ·  view source on GitHub ↗

Return the pointer for ``working_dir`` if one exists and is valid for the current host, else ``None``. Returns ``None`` for any of: file missing, JSON malformed, ``schema_version`` mismatch, ``machine_name`` mismatch, ``dir`` mismatch (the file was written by another working tree us

(
    working_dir: str, *, machine_name: str,
)

Source from the content-addressed store, hash-verified

107
108
109def read_pointer(
110 working_dir: str, *, machine_name: str,
111) -> BridgePointer | None:
112 """Return the pointer for ``working_dir`` if one exists and is
113 valid for the current host, else ``None``.
114
115 Returns ``None`` for any of: file missing, JSON malformed,
116 ``schema_version`` mismatch, ``machine_name`` mismatch, ``dir``
117 mismatch (the file was written by another working tree using a
118 shared HOME), or any required field missing/wrong type.
119 """
120 path = _pointer_path(working_dir)
121 try:
122 with open(path, 'r', encoding='utf-8') as fh:
123 raw = fh.read()
124 except FileNotFoundError:
125 return None
126 except OSError as err:
127 logger.warning(
128 '[bridge:pointer] read %s failed: %s — treating as absent',
129 path, err,
130 )
131 return None
132 try:
133 data = json.loads(raw)
134 except json.JSONDecodeError as err:
135 logger.warning(
136 '[bridge:pointer] %s is not valid JSON (%s) — treating as absent',
137 path, err,
138 )
139 return None
140 if not isinstance(data, dict):
141 return None
142 if data.get('schema_version') != _SCHEMA_VERSION:
143 logger.info(
144 '[bridge:pointer] schema_version mismatch in %s '
145 '(file=%r, expected=%r) — treating as absent',
146 path, data.get('schema_version'), _SCHEMA_VERSION,
147 )
148 return None
149 # Required string fields.
150 try:
151 bridge_id = str(data['bridge_id'])
152 environment_id = str(data['environment_id'])
153 file_machine = str(data['machine_name'])
154 file_dir = str(data['dir'])
155 created_at_ms = int(data['created_at_ms'])
156 updated_at_ms = int(data['updated_at_ms'])
157 except (KeyError, TypeError, ValueError) as err:
158 logger.info(
159 '[bridge:pointer] %s missing or malformed required fields '
160 '(%s) — treating as absent', path, err,
161 )
162 return None
163 session_id_raw = data.get('session_id')
164 session_id = (
165 str(session_id_raw) if isinstance(session_id_raw, str) else None
166 )

Calls 4

_pointer_pathFunction · 0.85
BridgePointerClass · 0.85
readMethod · 0.45
getMethod · 0.45