• v1.12.4: complete inference.ts split into services/inference/

    indifferentketchup released this 2026-05-21 22:36:35 +00:00 | 111 commits to main since this release

    • sentinel-summaries.ts: runCapHitSummary, insertCapHitSentinel,
      runDoomLoopSummary, insertDoomLoopSentinel
    • inference.ts → inference/turn.ts: residue is runAssistantTurn,
      runInference, createInferenceRunner orchestration only
    • inference/index.ts: re-export shim preserves the public surface
      (createInferenceRunner, runInference, runAssistantTurn,
      detectDoomLoop, DOOM_LOOP_THRESHOLD, buildMessagesPayload, plus
      type-side InferenceContext/InferenceFrame/StreamResult/TurnArgs/
      FramePublisher)
    • src/index.ts + auto_name.ts + the two vitest test files updated to
      import from ./services/inference/index.js explicitly (NodeNext ESM
      doesn't honor directory-index resolution)

    Final tally: 11 files under services/inference/, the largest being
    sentinel-summaries.ts at 523 LoC (two near-clone summary paths kept
    side-by-side until a third sentinel justifies factoring out a shared
    runWrapUpSummary). turn.ts is now 326 LoC, the next-largest is
    stream-phase.ts at 380. Public import surface unchanged.

    tool-phase.ts → turn.ts back-edge for runAssistantTurn remains
    (cycle is safe; resolved at call time).

    Prepares the file structure for v1.13 AI SDK migration — streamText
    swap targets stream-phase.ts only.

    Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

    Downloads