From e56f81d25cb44714179c8ef005df0254876477de Mon Sep 17 00:00:00 2001 From: GRayHook Date: Wed, 17 Jun 2026 11:46:19 +0700 Subject: [PATCH] =?UTF-8?q?Phase=206:=20add=20resolveDeliveryMode=20?= =?UTF-8?q?=E2=80=94=20defer=20vs=20immediate=20from=20integration=20table?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wraps effectiveIntegration with RuntimeFlags.autoCompactDetected so reinject wiring reads delivery mode from one place. Co-authored-by: Cursor --- src/auto-compact.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/auto-compact.ts b/src/auto-compact.ts index 0af738e..a4ae915 100644 --- a/src/auto-compact.ts +++ b/src/auto-compact.ts @@ -1,5 +1,10 @@ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; -import type { RuntimeFlags } from "./state"; +import { + effectiveIntegration, + type ReinjectDeliveryMode, + type SkillReinjectSettings, +} from "./settings"; +import type { AutoCompactIntegration, RuntimeFlags } from "./state"; /** Detect @capyup/pi-auto-compact via public getCommands API (SPEC §16.4). */ export function detectPiAutoCompact(pi: ExtensionAPI): boolean { @@ -11,3 +16,12 @@ export function detectAndCachePiAutoCompact(pi: ExtensionAPI, runtime: RuntimeFl runtime.autoCompactDetected = detectPiAutoCompact(pi); return runtime.autoCompactDetected; } + +/** Resolve re-inject delivery mode from settings, detect cache, and session override (SPEC §6.5.3). */ +export function resolveDeliveryMode( + settings: SkillReinjectSettings, + runtime: RuntimeFlags, + sessionIntegrationOverride?: AutoCompactIntegration | null, +): ReinjectDeliveryMode { + return effectiveIntegration(settings, runtime.autoCompactDetected, sessionIntegrationOverride); +}