Skip to content

Releases: awoaCrim/pi-openai-toolkit

v0.24.0

Choose a tag to compare

@awoaCrim awoaCrim released this 22 Oct 13:51

Changes

  • Remote Windows is retired, including its tools, window-driven model selection and continuation path. Existing window sessions are not migrated or rewritten; branches containing retired markers are refused so their history is not silently resent, and a new session is required.
  • Explicit remote-compaction producers whose full provider/model identity matches the active model now reuse the active runtime, authentication snapshot and session directly. This avoids an extra producer lookup or model selection and does not downgrade the operation to native text summarization.

Compatibility

  • Dormant Remote Windows settings are ignored with a retirement warning. Explicitly selected remote-windows or legacy remote context mode must be changed to pi or remote-compaction; Toolkit does not silently choose a potentially paid replacement.
  • Retired session files and history are preserved, but old Remote Windows sessions no longer continue automatically.

v0.23.2

Choose a tag to compare

@awoaCrim awoaCrim released this 22 Oct 07:56

Fixes

  • remote-compaction now compresses the current window on the first eligible manual, threshold or overflow operation, instead of treating a window-boundary cleanup as completed compression.
  • Manual /compact in remote-windows and pi uses native current-model compression of only the current window. It does not switch models, open another window or send an automatic continuation.
  • Keep retired history out of every compression tier, preserve current edits and file metadata, and cancel stale results after selection, branch or queued-input changes. Normal window rollover and legacy selection recovery remain supported.

Compatibility

Native text compression cannot read an encrypted checkpoint that owns the current context; it cancels and preserves the checkpoint rather than summarizing its placeholder. Compatible remote compression can still reuse it.

An old session ending exactly at a cleanup checkpoint may still report Already compacted before the extension runs. Send a genuine user message before retrying.

v0.23.1

Choose a tag to compare

@awoaCrim awoaCrim released this 21 Oct 16:43

Fixes an extension load failure introduced in 0.23.0 that silently disabled Remote Context management.

extension-runtime.ts imported convertResponsesTools from @earendil-works/pi-ai/api/openai-responses-shared. Pi resolves extension imports through a fixed allowlist that does not cover /api/*, and pi-ai is a host-provided peer dependency with no local node_modules, so the import failed with Cannot find module at load time.

The extension was still listed as loaded, but none of its hooks or tools registered. Without window projection, sessions sent the full durable transcript, so requests grew far past the context window and fell back to Pi's native compaction.

The conversion is now implemented locally instead of imported. Compaction requests declare exactly the same tool schema as the live request they continue, including the strict JSON-schema rewrite.

v0.23.0

Choose a tag to compare

@awoaCrim awoaCrim released this 21 Oct 04:40

Changes

  • Manual /compact [instructions] in active Remote Windows now produces a remote checkpoint for the current window instead of running a notes-and-window handoff. The active model and window stay unchanged, and the original model continues after the checkpoint is saved.
  • Reuse context.remoteCompaction.model to select the synthetic producer on the same effective base URL. Leaving it unset or null still uses the current model; a cheaper producer is not selected automatically.
  • Failed manual remote compaction stops and preserves the existing context without falling back to a text summary. New user work, selection changes and navigation suppress stale automatic continuation.
  • Ordinary automatic compaction, notes, history and explicit new_context retain their existing behavior.

See the context settings for details.

v0.22.3

Choose a tag to compare

@awoaCrim awoaCrim released this 19 Oct 05:02

Fixes

  • Fix a session that had already rolled a Remote Context window never being able to compact again after switching to a model that does not own Remote windows. /compact, threshold compaction and overflow compaction now continue through the configured compaction producer, nativeFallback.model, or Pi's default summary instead of returning a silent cancel.
  • The no-summary local boundary is still written once, and retired Remote Context history is still excluded from the live model request and from every compaction producer.
  • Switching back to a window-capable model keeps reusing the same persisted window instead of opening a duplicate one.

See Toolkit internals for the window lifecycle.

v0.22.2

Choose a tag to compare

@awoaCrim awoaCrim released this 16 Oct 16:30

Fixes

  • Fix retired-history re-expansion after switching from Remote windows to another model or context mode, including remote-compaction and pi.
  • Apply the same boundary protection to compaction and checkpoint replay while preserving the current system/tool head and reusable window identity.

v0.22.1

Choose a tag to compare

@awoaCrim awoaCrim released this 13 Oct 06:01

Fixes

  • Fix /fast being rejected in pi-web and other UI-backed Pi RPC clients.
  • Preserve print/JSON and headless protections, session-scoped preferences, and existing model/route eligibility. Fast changes are confirmed by notifications; status placement is controlled by the client.

v0.22.0

Choose a tag to compare

@awoaCrim awoaCrim released this 13 Oct 03:21

Codex Fast

  • Add the /fast terminal toggle and Fast ON, Fast OFF, or Fast N/A status for native Codex and recognizable compatible Responses gateways.
  • Default to OFF. Keep the selection in the current session across reload, resume, branch navigation and new_context; new or forked sessions start OFF.
  • ON requests Fast, while OFF explicitly requests Standard, overriding an existing service-tier preference on eligible conversation requests without changing reasoning effort or configuration files.

Fast may increase usage/cost. The status shows the selected request mode, not confirmed backend acceleration; a gateway may reject, ignore or downgrade it.

v0.21.1

Choose a tag to compare

@awoaCrim awoaCrim released this 12 Oct 07:38

Fixes

  • Recover eligible Responses WebSocket startup failures with one HTTP/SSE fallback in auto mode, before the first valid response event.
  • Make compatible stream closed before response.completed WS errors recognizable by Pi's native retry policy, without replaying an already committed generation.
  • Preserve complete effective input and completed tool results during recovery, discard failed connection state, and harden cancellation and asynchronous cleanup.

Recovery remains opt-in and applies to requests using the Toolkit WS adapter. Explicit WS modes never fall back to SSE; direct SSE behavior is unchanged.

v0.21.0

Choose a tag to compare

@awoaCrim awoaCrim released this 06 Oct 18:11

Changes

  • Add an automatic standalone compaction attempt for eligible official OpenAI API-key requests after a V2 protocol failure, preserving the complete replacement window for replay.
  • Report safe backend error details and clearly warn before falling back to a native text summary. Clarify that OpenAI subscription-sharing OAuth and native Codex use separate authorization routes (#11).
  • Preserve all structured checkpoint fields during persistence and replay.
  • Keep diagnostic events from overwriting one another when recorded in the same millisecond.

Compatibility

  • Remove Auto Mode and its autonomous tool-review hooks. Legacy Auto Mode settings now produce warnings and have no effect.
  • OpenAI OAuth, native Codex, Azure, and gateway requests retain their existing protocol routing. This release does not bypass OpenAI OAuth capability restrictions.