Repository navigation
What's New in V1.5.1
Loop enhancements
- Loop
terminatecontrol — alongsidebreak/continue,exception_then: terminateandloop_conditionreturning(True, 'terminate')now exit the loop AND terminate the whole execution (raisingLoopTerminateError). Optionalterminate_msg(f-string againstdata_chain) sets the failure message; empty → auto-generated default. - Loop
wait_seconds(inter-iteration delay) — sleep N seconds between iterations (1st runs immediately, no wait after the last). Supports f-string expressions (e.g.{delay}); empty/0/negative means no wait; the sleep is interruptible (manual stop honoured within 0.2s).
Loop fixes
- In-loop collect readable by
loop_condition—FIND_THEN_COLLECT(and any collect-style processor) inside a loop now mirrors its value to the top-leveldata_chain[key]each iteration (last-write-wins). Aloop_conditionreading the plain key (e.g.data_chain.get('supplier_found')) now sees the latest value and can break correctly — previously it never saw it and the loop ran to exhaustion. - Time-based loop fix — a
loop_timesloop leavesitem_keyempty, but collect processors unconditionally back-filleddata_chain[item_key], raisingKeyError: ''. The back-fill now runs only whenitem_keyis non-empty and present; collection-loop behaviour unchanged.
LLM fix
- Anthropic-protocol kwargs compatibility — some
anthropicSDK builds (corporate/Hyperspace-gateway) expose amessages.createwithouttemperature/top_pand no**kwargs, sozhipu/anthropic/hyperspacecalls raisedMessages.create() got an unexpected keyword argument 'temperature'. The clients now introspect the signature at runtime and drop unsupported params; the normal upstream SDK is unaffected.
Full changelog: CHANGELOG.md