/** * Structural Tension Chart Tools for Medicine Wheel * * Implements Robert Fritz's structural tension methodology with Four Directions integration. * Adapted to use in-memory store instead of Redis. * * Direction mapping: * - EAST: Vision/Desired Outcome (where we want to be) * - SOUTH: Growth/Action Steps (embodied practice) * - WEST: Reflection/Current Reality assessment (honest truth) * - NORTH: Wisdom/Completion (integration) * * Delayed resolution (Episode 297, 2026-10-19): a step can record that someone * strategically chose to delay its resolution — when resolution is wanted, why * waiting serves the work, and which agent session to rehydrate when the time * or the event comes. Contract: rispecs/delayed-resolution.spec.md. * * The follow-up prompt (0.26.0, Episode 297 feedback map V1 and V2): a delay * can name the prompt composed when it was chosen. At the date a talking circle * takes it up; what is rehydrated is that prompt, potentially with the session. */ import type { Tool } from "../types.js"; /** The agent session a delayed step brings back when its delay ends. */ export interface AgentSessionRef { session_id: string; agent: string; host?: string; cwd?: string; tmux?: string; resume_command?: string; inventory_record?: string; /** The session's LLMOps record as `@miadi/llmops` writes it, e.g. `miadi-tracing:ceremony/session/`. */ trace?: string; /** The pinned prompt version that rehydrates the session, e.g. `miadi-tracing:ceremony/prompt/@`. */ rehydrate_with?: string; } /** The follow-up prompt composed when a delay was chosen (0.26.0). */ export interface FollowUpPrompt { /** e.g. `miadi-prompt:ceremony/@`. Begins with `miadi-`; stored as given. */ address: string; /** The prompt's text as composed, so a circle can read it without the provider. */ text?: string; /** The delay's chosen_at, set by the tool; a caller's value is ignored. */ composed_at: string; /** The person or seat that composed it (an agent may propose it). */ composed_by?: string; } /** A strategic choice to delay a step's resolution, kept after it ends. */ export interface DelayedResolution { chosen_at: string; chosen_by: string; resolve_by: string; reason: string; primary_choice?: string; wake_on?: string[]; session?: AgentSessionRef; follow_up_prompt?: FollowUpPrompt; ended_at?: string; ended_by?: string; /** rehydrated and released come from end_delayed_resolution; resolved from completing the step. */ outcome?: 'rehydrated' | 'released' | 'resolved'; end_note?: string; } type MaybePromise = T | Promise; /** * What these tools need from a store. Both the JSONL store and the HTTP store * satisfy it; tests pass a JsonlStore over a temporary directory. */ export interface StructuralTensionStore { saveChart(chart: any): MaybePromise; getChart(id: string): MaybePromise; getAllCharts(direction?: string): MaybePromise; saveMmot(mmot: any): MaybePromise; } export declare function createStructuralTensionTools(targetStore: StructuralTensionStore): Tool[]; export declare const structuralTensionTools: Tool[]; export {}; //# sourceMappingURL=structural-tension.d.ts.map