fix: resolve cyclic structure serialization crash in token counter - #839
fix: resolve cyclic structure serialization crash in token counter#839OmarAlaaeldein wants to merge 1 commit into
Conversation
When the token count API call fails or is not available, the CLI fallback logic serializes using . However, contains raw Zod schema objects (), which have circular references, causing a TypeError. Changes: - Added a utility to strip circular references from objects. - Sanitize the inside at creation time using so it is a plain, serializable object. This also prevents similar serialization failures when saving run state to disk.
|
Good catch on the root cause — a recursive/self-referential Two things worth tightening before this could be ported:
Also worth double-checking: converting functions to Core idea is worth porting; please add a test and split out (or justify) the string-input behavior change. |
This PR fixes a TypeError crash:
JSON.stringify cannot serialize cyclic structureswhen the token count API fails and falls back to local estimation.safeJsonStringifyintoken-counter.tsto handle circular references.inputSchemainsidetoolDefinitionsat creation time usingJSON.parse(safeJsonStringify(schema))so it is a plain, serializable object.run-state.json).