Releases: Caupulican/pi-adaptative
Releases · Caupulican/pi-adaptative
v0.80.25
v0.80.24
Added
- Added resource profiles for scoped loading of extensions, skills, prompt templates, themes, context agent files, and tools, including zero-footprint user-level directory overlays and one-shot profile definitions.
- Added embedded
<resource-profile>blocks for extensions, prompt templates, skills, and context agent files; profile blocks are parsed as config and stripped from prompt-facing content.
Changed
- Updated Pi Adaptative README copy to state the fork credit, purpose, and compatibility mode plainly.
v0.80.23
Fixed
- Fixed JavaScript heap exhaustion in long-running sessions by bounding in-memory retention across the stack:
- Session load now compacts oversized tool result details, so resuming or branching on top of large session files no longer pins their full payloads in memory.
- Interactive scrollback components retain tool result details under a dedicated budget (512KB estimate per result), matching resumed-session semantics for pathological payloads while keeping designed display payloads (bash output window, diffs) intact.
- Scrollback components share one built-in toolset per working directory instead of allocating a full toolset per tool call.
- Bounded subprocess output retention:
pi.exec/execCommandkeeps a rolling tail per stream (default 16 MiB, configurable viamaxBuffer) and reportsstdoutTruncated/stderrTruncatedon the result.- The git output filter spills oversized git output (default over 48 MiB,
PI_GIT_FILTER_MAX_RETAINED_BYTESto tune) to a temp file, discloses the cap in the filtered output, and reuses the spill file as the full-output artifact instead of materializing extra in-memory copies. - Package manager command capture is bounded and fails loudly instead of accumulating unbounded output.
- Hot reload now unsubscribes the replaced extension generation's
pi.eventshandlers from the shared event bus, so repeated reloads no longer pin old extension module graphs or double-process bus events. - Fixed abort-listener accumulation in retry backoff sleeps (
utils/sleep.tsand the openai-codex provider): each completed sleep now detaches its listener instead of leaving it on the signal for the signal's lifetime. - Best-effort temp-file writes (bash full-output capture, git filter overflow spill) now handle stream errors instead of crashing the process with an uncaught
errorevent on disk failures; the git overflow path discloses a failed spill in stderr instead of referencing a broken artifact. - Session file rewrites (migration, branch operations) are now atomic (write-then-rename), removing the torn-file window when a crash or a second pi process appending to the same session interleaves with a truncate-in-place rewrite.
- Codex websocket debug stats and SSE-fallback flags are now cleared with the rest of the session resources on session replacement and dispose, instead of accumulating per session id for the process lifetime.
- User input during an auto-retry backoff now queues as steering and is incorporated into the retried turn, instead of starting a concurrent run that raced and cancelled the pending retry.
isRetryingis true from the momentauto_retry_startis observable, and the interactive editor routes submissions during the retry window through the steering path. - Oversized reads no longer spike the heap: the read tool streams line slices for files beyond 16 MiB (any region stays reachable in batches via offset continuation, with true line numbers), images beyond a 128 MiB pathology guard return guidance instead of loading, CLI
@fileattachments are bounded with a leading window plus a read-tool pointer, oversized SKILL.md files are skipped with a diagnostic, and the session loader skips lines too large to hold in a string instead of failing the whole resume. - Delimiter-less streams can no longer grow line-assembly buffers without bound: RPC JSONL input, the Anthropic SSE parser, and the Codex SSE parser each cap their buffers (64 MiB) and discard or fail cleanly.
- Hot reload no longer freezes the UI: the chat scrollback rebuild is chunked with yields (also applies to resume, tree navigation, and display toggles). Plain Up arrow on an empty editor recalls queued messages for editing, and a
>>prefix queues a follow-up message — both work in terminals that swallow the alt-chord bindings.
Pi Adaptative v0.78.4
Pi Adaptative v0.78.4
Changed
- Restores eager startup injection for
AGENTS.md,CLAUDE.md, andGEMINI.mdcontext files. - Keeps skills and agent resources lazy-loaded to avoid startup prompt pollution.
- Refreshes generated model metadata.
Fixed
- Restores extension
contexthandlers in the agent context transform pipeline after auto-compaction support. - Updates Pi Adaptative package-command help tests and pending tool-panel regression coverage for the reusable tool-panel registry.
Validation
npm run check- Focused coding-agent tests for system prompt/resource loading/tool rendering/args/paths/skills/package commands/extension context/pending tool panels
- Published npm packages and install smoke for
@caupulican/pi-adaptative@0.78.4
v0.78.3
Pi Adaptative 0.78.3
Highlights:
- Added context-hygienic lazy startup resources: skills and context files are listed by location and loaded on demand.
- Added cleaner interactive tool panels with session-scoped reusable/grouped rendering and shortened relative tool paths.
- Increased Codex SSE response-header timeout and retained the published
@caupulican/pi-adaptativepackage branding. - Synced selected upstream provider/session fixes without dropping fork changes:
- large JSONL session files stream line-by-line for session listing/resume metadata;
- OpenAI-compatible non-OpenAI providers avoid unsupported developer-role messages;
- Anthropic Opus 4.7+ omits unsupported
temperatureand preserves thinking compatibility; - GPT-5.5 generated metadata omits unsupported minimal thinking.
Published npm packages:
@caupulican/pi-adaptative@0.78.3@caupulican/pi-ai@0.78.3@caupulican/pi-agent-core@0.78.3@caupulican/pi-tui@0.78.3
v0.76.1
Pi Adaptative 0.76.1
- Rebased the fork on upstream Pi 0.76.0.
- Fixed Pi Adaptative update checks to use the @caupulican/pi-adaptative npm package metadata.
- Fixed Bun binary fallback update instructions to point at Caupulican/pi-adaptative releases.
Published npm package: @caupulican/pi-adaptative@0.76.1