Dashboard › opencode-lore › Distillation
435125dd-2777-4bb0-acfc-8d3b3cb0dc8a["lore_tm_v1_krTQ6Dv2KzyZkvYIDlHzGWrcMFZmLvau_SlkZD1GK9s","lore_tm_v1_amE_dA5hKLgvzWu8LjEivoKYF-HvP8bnf5iIfBg3AQo","lore_tm_v1_EsYln20bJXJEFQHam5Z_hONNAB1LuOS5qpl-aeDIw3s","lore_tm_v1_JzbJI0dIITVbHKV_JcMUxyDs57wS8fqmJQ9dAOZHBGQ","lore_tm_v1_aIGtJSkyK9RIfE52lgDdGHEjyrvcbZvzlL9mPsjmVwY","lore_tm_v1_dIlr6C_tz54rrTsPtVQ9Jyc8jJcezcefm_qnW9iSk4g","lore_tm_v1_o_7DqGDbdNTFdXzFzlLuy7ADNi8arPbctv6YmE5a3uE","lore_tm_v1_h6F-mu7IMIpte5KjQVP9PNYAXhFugqwDp1OLdufxmgw"]
Date: Sep 16, 2026
packages/gateway/src/recall.ts never imports pipeline.ts; RecallFollowUpCtx receives injected forward, parseJSON, and optional parseSSE dependencies to avoid a circular dependency.tool_use with marker text.packages/gateway/src/recall.ts implements recall-tool rewriting in replaceRecallWithMarker(): matching RECALL_TOOL_NAME content blocks become human-readable text from supplied markers or buildRecallMarker(), while native Responses function_call raw items become completed assistant message items with collision-resistant IDs derived from SHA-256 and a suffix when necessary.buildRecallFollowUpRequest() preserves thinking/future block types through a deny-list, preserves non-call raw Responses items as opaque blocks, adds the recall tool_use, and returns recall results through a paired user tool_result; the stream argument is required because JSON/SSE producer-consumer mismatch can silently terminate conversation after recall.isUsableRecallContinuation() rejects stop reasons max_tokens, pause_turn, and model_context_window_exceeded; rejects unnamed tool calls; and accepts non-empty text, non-recall tool handoffs, or Responses refusals found in content or rawOutputItems.runRecallFollowUpStreamAccumulated() exists for Pi’s openai-codex provider because /backend-api/codex/responses rejects stream: false with 400 {"detail":"Stream must be set to true"}; it forces stream: true, asserts SSE, and accumulates via injected ctx.parseSSE.runRecallStreamAccumulatedRequest() calls readResponseTextLimited(response, 500, signal), logs fixed warning "recall follow-up error body could not be read" on read failure, and returns { ok: false, status, detail }; late response cancellation is fire-and-forget with synchronous lock errors ignored.runRecallRecovery() builds exactly one no-recall synthesis request through buildRecallRecoveryRequest() and couples stream: true to runRecallStreamAccumulatedRequest() or stream: false to runRecallJSONRequest().packages/gateway/src/stream/openai-responses.ts already defines a type/phase status registry via OUTPUT_ITEM_STATUSES_BY_TYPE and isValidResponsesOutputItemStatus(type, status, phase), with phases added, done, and terminal; undefined status is accepted, while unknown type/status combinations are rejected.function_call statuses completed, incomplete, or failed at done/terminal phases and permits image_generation_call statuses completed or failed; it also has specialized states such as searching, interpreting, generating, and calling for relevant tool types.packages/gateway/src/codex-rate-limits.ts sanitizes codex.rate_limits events, deduplicates consecutive identical normalized events, caps them at MAX_CODEX_RATE_LIMIT_EVENTS = 64 and MAX_CODEX_RATE_LIMIT_BYTES = 16 * 1024, and computes byte usage from UTF-8 encoded serialized normalized events.