pi-agent-flow 1.8.40 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -37
- package/agents/audit.md +18 -22
- package/agents/build.md +20 -22
- package/agents/craft.md +20 -27
- package/agents/debug.md +21 -28
- package/agents/ideas.md +18 -101
- package/agents/scout.md +15 -19
- package/dist/batch/batch-bash.d.ts +2 -2
- package/dist/batch/batch-bash.d.ts.map +1 -1
- package/dist/batch/batch-bash.js +3 -3
- package/dist/batch/batch-bash.js.map +1 -1
- package/dist/batch/constants.d.ts +19 -5
- package/dist/batch/constants.d.ts.map +1 -1
- package/dist/batch/constants.js +4 -3
- package/dist/batch/constants.js.map +1 -1
- package/dist/batch/execute.d.ts +0 -1
- package/dist/batch/execute.d.ts.map +1 -1
- package/dist/batch/execute.js +97 -6
- package/dist/batch/execute.js.map +1 -1
- package/dist/batch/fuzzy-edit.d.ts +0 -6
- package/dist/batch/fuzzy-edit.d.ts.map +1 -1
- package/dist/batch/fuzzy-edit.js +1 -1
- package/dist/batch/fuzzy-edit.js.map +1 -1
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +87 -16
- package/dist/batch/index.js.map +1 -1
- package/dist/batch/render.d.ts +0 -1
- package/dist/batch/render.d.ts.map +1 -1
- package/dist/batch/render.js +7 -101
- package/dist/batch/render.js.map +1 -1
- package/dist/batch/summary.d.ts +5 -0
- package/dist/batch/summary.d.ts.map +1 -0
- package/dist/batch/summary.js +101 -0
- package/dist/batch/summary.js.map +1 -0
- package/dist/{config.d.ts → config/config.d.ts} +34 -2
- package/dist/config/config.d.ts.map +1 -0
- package/dist/{config.js → config/config.js} +157 -9
- package/dist/config/config.js.map +1 -0
- package/dist/config/log.d.ts +27 -0
- package/dist/config/log.d.ts.map +1 -0
- package/dist/config/log.js +104 -0
- package/dist/config/log.js.map +1 -0
- package/dist/{settings-resolver.d.ts → config/settings-resolver.d.ts} +9 -2
- package/dist/config/settings-resolver.d.ts.map +1 -0
- package/dist/config/settings-resolver.js +275 -0
- package/dist/config/settings-resolver.js.map +1 -0
- package/dist/core/agents.d.ts.map +1 -0
- package/dist/{agents.js → core/agents.js} +11 -10
- package/dist/core/agents.js.map +1 -0
- package/dist/core/delegation.d.ts +24 -0
- package/dist/core/delegation.d.ts.map +1 -0
- package/dist/core/delegation.js +55 -0
- package/dist/core/delegation.js.map +1 -0
- package/dist/core/depth.d.ts.map +1 -0
- package/dist/{depth.js → core/depth.js} +9 -8
- package/dist/core/depth.js.map +1 -0
- package/dist/{executor.d.ts → core/executor.d.ts} +11 -3
- package/dist/core/executor.d.ts.map +1 -0
- package/dist/{executor.js → core/executor.js} +49 -14
- package/dist/core/executor.js.map +1 -0
- package/dist/{flow.d.ts → core/flow.d.ts} +4 -1
- package/dist/core/flow.d.ts.map +1 -0
- package/dist/{flow.js → core/flow.js} +110 -45
- package/dist/core/flow.js.map +1 -0
- package/dist/{session-mode.d.ts → core/session-mode.d.ts} +2 -1
- package/dist/core/session-mode.d.ts.map +1 -0
- package/dist/{session-mode.js → core/session-mode.js} +1 -1
- package/dist/core/session-mode.js.map +1 -0
- package/dist/core/session-registry.d.ts +16 -0
- package/dist/core/session-registry.d.ts.map +1 -0
- package/dist/core/session-registry.js +30 -0
- package/dist/core/session-registry.js.map +1 -0
- package/dist/core/transitions.d.ts.map +1 -0
- package/dist/{transitions.js → core/transitions.js} +1 -1
- package/dist/core/transitions.js.map +1 -0
- package/dist/flow/command.d.ts +8 -0
- package/dist/flow/command.d.ts.map +1 -0
- package/dist/flow/command.js +189 -0
- package/dist/flow/command.js.map +1 -0
- package/dist/flow/continuation.d.ts +16 -0
- package/dist/flow/continuation.d.ts.map +1 -0
- package/dist/flow/continuation.js +151 -0
- package/dist/flow/continuation.js.map +1 -0
- package/dist/flow/index.d.ts +15 -0
- package/dist/flow/index.d.ts.map +1 -0
- package/dist/flow/index.js +22 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/flow/settings-command.d.ts +51 -0
- package/dist/flow/settings-command.d.ts.map +1 -0
- package/dist/flow/settings-command.js +851 -0
- package/dist/flow/settings-command.js.map +1 -0
- package/dist/flow/store.d.ts +26 -0
- package/dist/flow/store.d.ts.map +1 -0
- package/dist/flow/store.js +158 -0
- package/dist/flow/store.js.map +1 -0
- package/dist/flow/template-strings.d.ts +8 -0
- package/dist/flow/template-strings.d.ts.map +1 -0
- package/dist/flow/template-strings.js +39 -0
- package/dist/flow/template-strings.js.map +1 -0
- package/dist/flow/types.d.ts +55 -0
- package/dist/flow/types.d.ts.map +1 -0
- package/dist/flow/types.js +5 -0
- package/dist/flow/types.js.map +1 -0
- package/dist/flow/warp-command.d.ts +9 -0
- package/dist/flow/warp-command.d.ts.map +1 -0
- package/dist/flow/warp-command.js +405 -0
- package/dist/flow/warp-command.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -29
- package/dist/index.js.map +1 -1
- package/dist/{notify-state.d.ts → notify/notify-state.d.ts} +2 -1
- package/dist/notify/notify-state.d.ts.map +1 -0
- package/dist/notify/notify-state.js.map +1 -0
- package/dist/notify/notify.d.ts.map +1 -0
- package/dist/{notify.js → notify/notify.js} +3 -2
- package/dist/notify/notify.js.map +1 -0
- package/dist/{cli-args.d.ts → snapshot/cli-args.d.ts} +3 -2
- package/dist/snapshot/cli-args.d.ts.map +1 -0
- package/dist/{cli-args.js → snapshot/cli-args.js} +1 -1
- package/dist/snapshot/cli-args.js.map +1 -0
- package/dist/snapshot/index.d.ts +2 -0
- package/dist/snapshot/index.d.ts.map +1 -0
- package/dist/snapshot/index.js +2 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/{reasoning-strip.d.ts → snapshot/reasoning-strip.d.ts} +0 -4
- package/dist/snapshot/reasoning-strip.d.ts.map +1 -0
- package/dist/{reasoning-strip.js → snapshot/reasoning-strip.js} +2 -2
- package/dist/snapshot/reasoning-strip.js.map +1 -0
- package/dist/snapshot/runner-events.d.ts.map +1 -0
- package/dist/{runner-events.js → snapshot/runner-events.js} +1 -1
- package/dist/snapshot/runner-events.js.map +1 -0
- package/dist/{snapshot.d.ts → snapshot/snapshot.d.ts} +5 -2
- package/dist/snapshot/snapshot.d.ts.map +1 -0
- package/dist/{snapshot.js → snapshot/snapshot.js} +166 -35
- package/dist/snapshot/snapshot.js.map +1 -0
- package/dist/{structured-output.d.ts → snapshot/structured-output.d.ts} +1 -1
- package/dist/snapshot/structured-output.d.ts.map +1 -0
- package/dist/snapshot/structured-output.js.map +1 -0
- package/dist/{flow-prompt.d.ts → steering/flow-prompt.d.ts} +2 -2
- package/dist/steering/flow-prompt.d.ts.map +1 -0
- package/dist/{flow-prompt.js → steering/flow-prompt.js} +1 -1
- package/dist/steering/flow-prompt.js.map +1 -0
- package/dist/{sliding-prompt.d.ts → steering/sliding-prompt.d.ts} +8 -7
- package/dist/steering/sliding-prompt.d.ts.map +1 -0
- package/dist/{sliding-prompt.js → steering/sliding-prompt.js} +15 -64
- package/dist/steering/sliding-prompt.js.map +1 -0
- package/dist/{tool-utils.d.ts → steering/tool-utils.d.ts} +1 -0
- package/dist/steering/tool-utils.d.ts.map +1 -0
- package/dist/{tool-utils.js → steering/tool-utils.js} +10 -3
- package/dist/steering/tool-utils.js.map +1 -0
- package/dist/{ask-user.d.ts → tools/ask-user.d.ts} +3 -15
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +778 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/{timed-bash.d.ts → tools/timed-bash.d.ts} +2 -7
- package/dist/tools/timed-bash.d.ts.map +1 -0
- package/dist/{timed-bash.js → tools/timed-bash.js} +2 -2
- package/dist/tools/timed-bash.js.map +1 -0
- package/dist/{web-tool.d.ts → tools/web-tool.d.ts} +1 -1
- package/dist/tools/web-tool.d.ts.map +1 -0
- package/dist/{web-tool.js → tools/web-tool.js} +8 -7
- package/dist/tools/web-tool.js.map +1 -0
- package/dist/tui/flow-colors.d.ts +55 -0
- package/dist/tui/flow-colors.d.ts.map +1 -0
- package/dist/tui/flow-colors.js +22 -0
- package/dist/tui/flow-colors.js.map +1 -0
- package/dist/{render-utils.d.ts → tui/render-utils.d.ts} +1 -1
- package/dist/tui/render-utils.d.ts.map +1 -0
- package/dist/{render-utils.js → tui/render-utils.js} +3 -3
- package/dist/tui/render-utils.js.map +1 -0
- package/dist/tui/render.d.ts +21 -0
- package/dist/tui/render.d.ts.map +1 -0
- package/dist/tui/render.js +813 -0
- package/dist/tui/render.js.map +1 -0
- package/dist/tui/scramble/algorithm.d.ts +7 -0
- package/dist/tui/scramble/algorithm.d.ts.map +1 -0
- package/dist/tui/scramble/algorithm.js +227 -0
- package/dist/tui/scramble/algorithm.js.map +1 -0
- package/dist/tui/scramble/constants.d.ts +99 -0
- package/dist/tui/scramble/constants.d.ts.map +1 -0
- package/dist/tui/scramble/constants.js +101 -0
- package/dist/tui/scramble/constants.js.map +1 -0
- package/dist/tui/scramble/index.d.ts +6 -0
- package/dist/tui/scramble/index.d.ts.map +1 -0
- package/dist/tui/scramble/index.js +6 -0
- package/dist/tui/scramble/index.js.map +1 -0
- package/dist/tui/scramble/manager.d.ts +48 -0
- package/dist/tui/scramble/manager.d.ts.map +1 -0
- package/dist/tui/scramble/manager.js +959 -0
- package/dist/tui/scramble/manager.js.map +1 -0
- package/dist/tui/scramble/utils.d.ts +18 -0
- package/dist/tui/scramble/utils.d.ts.map +1 -0
- package/dist/tui/scramble/utils.js +145 -0
- package/dist/tui/scramble/utils.js.map +1 -0
- package/dist/tui/single-select-layout.d.ts +17 -0
- package/dist/tui/single-select-layout.d.ts.map +1 -0
- package/dist/{single-select-layout.js → tui/single-select-layout.js} +8 -25
- package/dist/tui/single-select-layout.js.map +1 -0
- package/dist/types/flow.d.ts +110 -0
- package/dist/types/flow.d.ts.map +1 -0
- package/dist/{types.js → types/flow.js} +3 -54
- package/dist/types/flow.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/output.d.ts +104 -0
- package/dist/types/output.d.ts.map +1 -0
- package/dist/types/output.js +5 -0
- package/dist/types/output.js.map +1 -0
- package/dist/types/ui.d.ts +24 -0
- package/dist/types/ui.d.ts.map +1 -0
- package/dist/types/ui.js +55 -0
- package/dist/types/ui.js.map +1 -0
- package/package.json +1 -1
- package/dist/agents.d.ts.map +0 -1
- package/dist/agents.js.map +0 -1
- package/dist/ask-user.d.ts.map +0 -1
- package/dist/ask-user.js +0 -1405
- package/dist/ask-user.js.map +0 -1
- package/dist/batch.d.ts +0 -12
- package/dist/batch.d.ts.map +0 -1
- package/dist/batch.js +0 -11
- package/dist/batch.js.map +0 -1
- package/dist/cli-args.d.ts.map +0 -1
- package/dist/cli-args.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/depth.d.ts.map +0 -1
- package/dist/depth.js.map +0 -1
- package/dist/executor.d.ts.map +0 -1
- package/dist/executor.js.map +0 -1
- package/dist/flow-prompt.d.ts.map +0 -1
- package/dist/flow-prompt.js.map +0 -1
- package/dist/flow.d.ts.map +0 -1
- package/dist/flow.js.map +0 -1
- package/dist/notify-state.d.ts.map +0 -1
- package/dist/notify-state.js.map +0 -1
- package/dist/notify.d.ts.map +0 -1
- package/dist/notify.js.map +0 -1
- package/dist/reasoning-strip.d.ts.map +0 -1
- package/dist/reasoning-strip.js.map +0 -1
- package/dist/render-utils.d.ts.map +0 -1
- package/dist/render-utils.js.map +0 -1
- package/dist/render.d.ts +0 -24
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -592
- package/dist/render.js.map +0 -1
- package/dist/runner-events.d.ts.map +0 -1
- package/dist/runner-events.js.map +0 -1
- package/dist/scramble.d.ts +0 -183
- package/dist/scramble.d.ts.map +0 -1
- package/dist/scramble.js +0 -2478
- package/dist/scramble.js.map +0 -1
- package/dist/session-mode.d.ts.map +0 -1
- package/dist/session-mode.js.map +0 -1
- package/dist/settings-resolver.d.ts.map +0 -1
- package/dist/settings-resolver.js +0 -148
- package/dist/settings-resolver.js.map +0 -1
- package/dist/single-select-layout.d.ts +0 -20
- package/dist/single-select-layout.d.ts.map +0 -1
- package/dist/single-select-layout.js.map +0 -1
- package/dist/sliding-prompt.d.ts.map +0 -1
- package/dist/sliding-prompt.js.map +0 -1
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/snapshot.js.map +0 -1
- package/dist/spec-mode.d.ts +0 -13
- package/dist/spec-mode.d.ts.map +0 -1
- package/dist/spec-mode.js +0 -90
- package/dist/spec-mode.js.map +0 -1
- package/dist/structured-output.d.ts.map +0 -1
- package/dist/structured-output.js.map +0 -1
- package/dist/timed-bash.d.ts.map +0 -1
- package/dist/timed-bash.js.map +0 -1
- package/dist/tool-utils.d.ts.map +0 -1
- package/dist/tool-utils.js.map +0 -1
- package/dist/transitions.d.ts.map +0 -1
- package/dist/transitions.js.map +0 -1
- package/dist/types.d.ts +0 -224
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/web-tool.d.ts.map +0 -1
- package/dist/web-tool.js.map +0 -1
- /package/dist/{agents.d.ts → core/agents.d.ts} +0 -0
- /package/dist/{depth.d.ts → core/depth.d.ts} +0 -0
- /package/dist/{transitions.d.ts → core/transitions.d.ts} +0 -0
- /package/dist/{notify-state.js → notify/notify-state.js} +0 -0
- /package/dist/{notify.d.ts → notify/notify.d.ts} +0 -0
- /package/dist/{runner-events.d.ts → snapshot/runner-events.d.ts} +0 -0
- /package/dist/{structured-output.js → snapshot/structured-output.js} +0 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* /flow:warp slash command registration.
|
|
3
|
+
*
|
|
4
|
+
* Distills conversation context and spawns a new session with the warped prompt.
|
|
5
|
+
*/
|
|
6
|
+
import { complete } from "@mariozechner/pi-ai";
|
|
7
|
+
import { convertToLlm, serializeConversation } from "@mariozechner/pi-coding-agent";
|
|
8
|
+
import { DynamicScrambleText, scrambleManager } from "../tui/scramble/index.js";
|
|
9
|
+
import { getGoalForSession, getWarpCount, recordWarp } from "./store.js";
|
|
10
|
+
import { stripReasoningFromAssistantMessage } from "../snapshot/reasoning-strip.js";
|
|
11
|
+
import { stripSteeringHintFromContent, isJsonEqual, contentContainsSteeringHintTag, } from "../steering/sliding-prompt.js";
|
|
12
|
+
import { stripStrategicHintsFromContent } from "../steering/tool-utils.js";
|
|
13
|
+
import { logError } from "../config/log.js";
|
|
14
|
+
function sanitizeBranchForWarp(messages) {
|
|
15
|
+
const passesApplied = new Set();
|
|
16
|
+
const sanitized = [];
|
|
17
|
+
for (const message of messages) {
|
|
18
|
+
if (!message)
|
|
19
|
+
continue;
|
|
20
|
+
// Drop messages with role: 'custom' (hidden orchestrator messages that convertToLlm would promote to user)
|
|
21
|
+
if (message.role === "custom") {
|
|
22
|
+
passesApplied.add("dropCustomMessages");
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
// Drop messages with role: 'system' that contain steering hint tags
|
|
26
|
+
if (message.role === "system" && contentContainsSteeringHintTag(message.content)) {
|
|
27
|
+
passesApplied.add("dropSlidingSystemPrompts");
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
let changed = false;
|
|
31
|
+
let sanitizedMessage = message;
|
|
32
|
+
// Strip reasoning/thinking from assistant messages
|
|
33
|
+
if (message.role === "assistant" || message.role === "system" || message.role === "tool") {
|
|
34
|
+
const stripped = stripReasoningFromAssistantMessage(message);
|
|
35
|
+
if (stripped.changed) {
|
|
36
|
+
sanitizedMessage = stripped.message;
|
|
37
|
+
changed = true;
|
|
38
|
+
passesApplied.add("stripReasoning");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Strip timestamp from message objects
|
|
42
|
+
if ("timestamp" in sanitizedMessage) {
|
|
43
|
+
const { timestamp, ...rest } = sanitizedMessage;
|
|
44
|
+
sanitizedMessage = rest;
|
|
45
|
+
changed = true;
|
|
46
|
+
passesApplied.add("stripTimestamps");
|
|
47
|
+
}
|
|
48
|
+
// Strip API metadata from assistant messages (keep usage but strip cost)
|
|
49
|
+
if (sanitizedMessage.role === "assistant") {
|
|
50
|
+
const { api, provider, model, stopReason, responseId, responseModel, usage, ...rest } = sanitizedMessage;
|
|
51
|
+
let stripped = false;
|
|
52
|
+
if (api !== undefined || provider !== undefined || model !== undefined ||
|
|
53
|
+
stopReason !== undefined || responseId !== undefined || responseModel !== undefined) {
|
|
54
|
+
stripped = true;
|
|
55
|
+
}
|
|
56
|
+
let cleanedUsage = usage;
|
|
57
|
+
if (usage && typeof usage === "object" && "cost" in usage) {
|
|
58
|
+
const { cost, ...usageWithoutCost } = usage;
|
|
59
|
+
cleanedUsage = usageWithoutCost;
|
|
60
|
+
stripped = true;
|
|
61
|
+
}
|
|
62
|
+
if (stripped) {
|
|
63
|
+
sanitizedMessage = { ...rest, ...(cleanedUsage !== undefined ? { usage: cleanedUsage } : {}) };
|
|
64
|
+
changed = true;
|
|
65
|
+
passesApplied.add("stripApiMetadata");
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Strip 'details' from tool/toolResult messages
|
|
69
|
+
if (sanitizedMessage.role === "tool" || sanitizedMessage.role === "toolResult") {
|
|
70
|
+
if ("details" in sanitizedMessage) {
|
|
71
|
+
const { details, ...rest } = sanitizedMessage;
|
|
72
|
+
sanitizedMessage = rest;
|
|
73
|
+
changed = true;
|
|
74
|
+
passesApplied.add("stripDetails");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if ("content" in sanitizedMessage) {
|
|
78
|
+
let modifiedContent = sanitizedMessage.content;
|
|
79
|
+
// Strip steering hints from message content
|
|
80
|
+
const afterSliding = stripSteeringHintFromContent(modifiedContent);
|
|
81
|
+
if (!isJsonEqual(afterSliding, modifiedContent)) {
|
|
82
|
+
modifiedContent = afterSliding;
|
|
83
|
+
changed = true;
|
|
84
|
+
passesApplied.add("stripSteeringHints");
|
|
85
|
+
}
|
|
86
|
+
// Strip strategic hints from tool result content
|
|
87
|
+
if (sanitizedMessage.role === "tool" || sanitizedMessage.role === "toolResult") {
|
|
88
|
+
const afterHints = stripStrategicHintsFromContent(modifiedContent);
|
|
89
|
+
if (!isJsonEqual(afterHints, modifiedContent)) {
|
|
90
|
+
modifiedContent = afterHints;
|
|
91
|
+
changed = true;
|
|
92
|
+
passesApplied.add("stripStrategicHints");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (changed) {
|
|
96
|
+
sanitizedMessage = { ...sanitizedMessage, content: modifiedContent };
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
sanitized.push(sanitizedMessage);
|
|
100
|
+
}
|
|
101
|
+
return { messages: sanitized, passesApplied: Array.from(passesApplied) };
|
|
102
|
+
}
|
|
103
|
+
const SYSTEM_PROMPT = `You are a context transfer and execution planning assistant. Given a conversation history and the user's goal, generate a structured warp prompt that serves as a ready-to-execute project brief for a new session.
|
|
104
|
+
|
|
105
|
+
Your output MUST use this exact format:
|
|
106
|
+
|
|
107
|
+
FRONTMATTER (YAML between --- delimiters):
|
|
108
|
+
context — 1-2 sentence orientation summary
|
|
109
|
+
end_goal — The finish line, not the next step
|
|
110
|
+
decisions — Key choices already made (list)
|
|
111
|
+
files — Files touched with what changed (list)
|
|
112
|
+
open_items — Unresolved work or questions (list)
|
|
113
|
+
watch_out — Edge cases, gotchas, fragile assumptions (list)
|
|
114
|
+
uncertain_areas — Areas of the codebase or design that need re-assessment before proceeding (list)
|
|
115
|
+
context_gathering:
|
|
116
|
+
aim — What the initial scout/discovery should accomplish
|
|
117
|
+
scope — Specific things to explore or map (list)
|
|
118
|
+
execution_plan:
|
|
119
|
+
- phase — Phase name
|
|
120
|
+
parallel — true/false, can this run alongside other phases?
|
|
121
|
+
group — If parallel, which execution group (A, B, C...)
|
|
122
|
+
flow — Which flow type to use (scout, build, audit, craft...)
|
|
123
|
+
flows — OR multiple flows if parallel within the phase
|
|
124
|
+
task — Clear, actionable task for this phase
|
|
125
|
+
depends_on — Phase(s) that must complete first
|
|
126
|
+
produces — What "done" means for this phase
|
|
127
|
+
success_criteria — How to know the overall work is complete (list)
|
|
128
|
+
|
|
129
|
+
BODY (after the closing ---):
|
|
130
|
+
A concise Task section restating the immediate next action.
|
|
131
|
+
|
|
132
|
+
RULES:
|
|
133
|
+
1. Always start with a context_gathering phase — the new session has no context yet, so discovery comes first.
|
|
134
|
+
2. Mark phases parallel:true when they have no data dependencies on each other. Use group labels (A, B, C) to cluster parallel work.
|
|
135
|
+
3. Each phase should produce a concrete artifact, evidence of completion before moving on to the next.
|
|
136
|
+
4. Respect the given plan scaffold.
|
|
137
|
+
5. Use flow types from: scout, build, audit, craft, debug, ideas.
|
|
138
|
+
6. Success criteria should be the final state, i.e. integration test pass, code coverage with verified output, etc.
|
|
139
|
+
7. If an active goal from the prior session exists, include it in the frontmatter context.
|
|
140
|
+
8. Preserve unresolved blockers, open questions, or "not done" items from prior flow results in open_items.
|
|
141
|
+
9. Flag any uncertain areas — parts of the codebase, design decisions, or assumptions that may have shifted since the conversation and need re-assessment via a scout or audit flow before committing to a plan.
|
|
142
|
+
10. No tool calls, all attemps that you need to discover, note it to the watch_out list or uncertain_areas list.
|
|
143
|
+
11. Your entire response must be the warp prompt starting with '---' (YAML frontmatter opening). No preamble, no explanations, no tool calls.
|
|
144
|
+
|
|
145
|
+
Format your response as a prompt the user can send to start the new thread. Be concise but include all necessary context. Do not include any preamble like "Here is the prompt" — just output the prompt itself.
|
|
146
|
+
|
|
147
|
+
IMPORTANT: You are a text generation assistant, not an agent. Do NOT attempt tool calls, file operations, code execution, or any actions. Output ONLY the structured prompt text.`;
|
|
148
|
+
const MAX_CONVERSATION_CHARS = 15000;
|
|
149
|
+
export function extractGoalFromPrompt(prompt) {
|
|
150
|
+
const MAX_GOAL_LEN = 200;
|
|
151
|
+
// Helper: find first meaningful line and strip bullet/numbered prefixes
|
|
152
|
+
const pickFirstLine = (text) => {
|
|
153
|
+
const lines = text.split('\n');
|
|
154
|
+
for (const raw of lines) {
|
|
155
|
+
const trimmed = raw.trim();
|
|
156
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
157
|
+
continue;
|
|
158
|
+
const cleaned = trimmed.replace(/^[-*•]\s+|^\d+\.\s+/, '');
|
|
159
|
+
if (cleaned)
|
|
160
|
+
return cleaned.length > MAX_GOAL_LEN ? cleaned.slice(0, MAX_GOAL_LEN).trimEnd() : cleaned;
|
|
161
|
+
}
|
|
162
|
+
return undefined;
|
|
163
|
+
};
|
|
164
|
+
// Strategy 1: Parse end_goal from YAML frontmatter
|
|
165
|
+
const endGoalMatch = prompt.match(/^end_goal:\s*["']?(.+?)["']?\s*$/m);
|
|
166
|
+
if (endGoalMatch?.[1]) {
|
|
167
|
+
const endGoal = endGoalMatch[1].trim();
|
|
168
|
+
const contextMatch = prompt.match(/^context:\s*["']?(.+?)["']?\s*$/m);
|
|
169
|
+
if (contextMatch?.[1]) {
|
|
170
|
+
const context = contextMatch[1].trim();
|
|
171
|
+
const combined = `${endGoal}. Context: ${context}`;
|
|
172
|
+
if (combined.length <= MAX_GOAL_LEN)
|
|
173
|
+
return combined;
|
|
174
|
+
}
|
|
175
|
+
return endGoal.length > MAX_GOAL_LEN ? endGoal.slice(0, MAX_GOAL_LEN).trimEnd() : endGoal;
|
|
176
|
+
}
|
|
177
|
+
// Try to find ## Task section
|
|
178
|
+
const taskMatch = prompt.match(/##\s*Task\s*\n([\s\S]*?)(?=\n##|$)/i);
|
|
179
|
+
if (taskMatch?.[1]) {
|
|
180
|
+
const picked = pickFirstLine(taskMatch[1]);
|
|
181
|
+
if (picked)
|
|
182
|
+
return picked;
|
|
183
|
+
}
|
|
184
|
+
// Fallback: first non-empty, non-header, non-bullet line after ---
|
|
185
|
+
const bodyStart = prompt.indexOf('---', 3);
|
|
186
|
+
if (bodyStart !== -1) {
|
|
187
|
+
const body = prompt.slice(bodyStart + 3);
|
|
188
|
+
const picked = pickFirstLine(body);
|
|
189
|
+
if (picked)
|
|
190
|
+
return picked;
|
|
191
|
+
}
|
|
192
|
+
return 'Continue the work from the warped context';
|
|
193
|
+
}
|
|
194
|
+
export function setupWarpCommand(pi) {
|
|
195
|
+
pi.registerCommand("flow:warp", {
|
|
196
|
+
description: "Warp to a new session with distilled context. Usage: /flow:warp [goal]",
|
|
197
|
+
handler: async (args, ctx) => {
|
|
198
|
+
const DEFAULT_WARP_GOAL = "Continue where we left off — summarize what we've done, where we are, and what the natural next step is.";
|
|
199
|
+
const goal = args.trim() || DEFAULT_WARP_GOAL;
|
|
200
|
+
const cwd = ctx.cwd;
|
|
201
|
+
// Ensure a model is available
|
|
202
|
+
const model = ctx.model ?? ctx.modelRegistry?.getAvailable()?.[0];
|
|
203
|
+
if (!model) {
|
|
204
|
+
ctx.ui.notify?.("No model selected. Configure a model in Pi settings first.", "error");
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
// Gather conversation
|
|
208
|
+
const branch = ctx.sessionManager.getBranch();
|
|
209
|
+
if (!branch || branch.length === 0) {
|
|
210
|
+
ctx.ui.notify?.("Empty conversation — nothing to warp.", "error");
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
// Convert and serialize
|
|
214
|
+
// getBranch() returns wrapped session entries; convertToLlm expects AgentMessage objects.
|
|
215
|
+
const agentMessages = branch
|
|
216
|
+
.map((entry) => (entry.type === "message" ? entry.message : undefined))
|
|
217
|
+
.filter((m) => m != null);
|
|
218
|
+
const { messages: sanitizedMessages, passesApplied } = sanitizeBranchForWarp(agentMessages);
|
|
219
|
+
if (process.env.PI_FLOW_DUMP_SNAPSHOT) {
|
|
220
|
+
logError(`[warp-sanitize] passes applied: ${passesApplied.join(", ")}`);
|
|
221
|
+
}
|
|
222
|
+
const messages = convertToLlm(sanitizedMessages);
|
|
223
|
+
let conversation = serializeConversation(messages);
|
|
224
|
+
// Truncate if too large (middle truncation: keep first 20% + last 80% of max)
|
|
225
|
+
if (conversation.length > MAX_CONVERSATION_CHARS) {
|
|
226
|
+
const headChars = Math.floor(MAX_CONVERSATION_CHARS * 0.2);
|
|
227
|
+
const tailChars = Math.floor(MAX_CONVERSATION_CHARS * 0.8);
|
|
228
|
+
conversation =
|
|
229
|
+
conversation.slice(0, headChars) +
|
|
230
|
+
"\n\n[... warp context truncated from the middle ...]\n\n" +
|
|
231
|
+
conversation.slice(conversation.length - tailChars);
|
|
232
|
+
}
|
|
233
|
+
// Inject active goal context (session-guarded)
|
|
234
|
+
const activeGoal = getGoalForSession(cwd, ctx.sessionManager.getSessionId());
|
|
235
|
+
let preWarpContext = "";
|
|
236
|
+
if (activeGoal) {
|
|
237
|
+
preWarpContext = `\nPre-warp active goal: ${activeGoal.objective}${activeGoal.acceptance ? ` (Acceptance: ${activeGoal.acceptance})` : ""}\n`;
|
|
238
|
+
}
|
|
239
|
+
// Generate distilled prompt
|
|
240
|
+
const auth = await ctx.modelRegistry.getApiKeyAndHeaders(model);
|
|
241
|
+
if (!auth.ok || !auth.apiKey) {
|
|
242
|
+
ctx.ui.notify?.(auth.ok ? `No API key for ${model.provider}` : (auth.error ?? "Auth error"), "error");
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
let warpError;
|
|
246
|
+
const distilledPrompt = await ctx.ui.custom((tui, _theme, _kb, done) => {
|
|
247
|
+
const abortController = new AbortController();
|
|
248
|
+
const id = `warp-${Date.now()}`;
|
|
249
|
+
let completed = false;
|
|
250
|
+
const RESTART_DELAY_MS = 1500;
|
|
251
|
+
class WarpingComponent {
|
|
252
|
+
scramble;
|
|
253
|
+
timer;
|
|
254
|
+
onAbort;
|
|
255
|
+
constructor() {
|
|
256
|
+
this.scramble = new DynamicScrambleText("warping...", () => {
|
|
257
|
+
const now = Date.now();
|
|
258
|
+
const result = scrambleManager.updateText(id, "warp", "warping...", now, completed);
|
|
259
|
+
return result.content;
|
|
260
|
+
});
|
|
261
|
+
this.onAbort = () => {
|
|
262
|
+
abortController.abort();
|
|
263
|
+
this.cleanup();
|
|
264
|
+
done(null);
|
|
265
|
+
};
|
|
266
|
+
this.scheduleNext();
|
|
267
|
+
}
|
|
268
|
+
scheduleNext() {
|
|
269
|
+
if (this.timer)
|
|
270
|
+
clearTimeout(this.timer);
|
|
271
|
+
if (completed)
|
|
272
|
+
return;
|
|
273
|
+
const now = Date.now();
|
|
274
|
+
const result = scrambleManager.updateText(id, "warp", "warping...", now, completed);
|
|
275
|
+
if (result.isAnimating) {
|
|
276
|
+
this.timer = setTimeout(() => {
|
|
277
|
+
this.timer = undefined;
|
|
278
|
+
tui.requestRender();
|
|
279
|
+
this.scheduleNext();
|
|
280
|
+
}, 100);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
this.timer = setTimeout(() => {
|
|
284
|
+
this.timer = undefined;
|
|
285
|
+
if (completed)
|
|
286
|
+
return;
|
|
287
|
+
// Reset scramble state and restart animation
|
|
288
|
+
scrambleManager.completeFlow(id);
|
|
289
|
+
const restartNow = Date.now();
|
|
290
|
+
scrambleManager.updateText(id, "warp", "warping...", restartNow, false);
|
|
291
|
+
tui.requestRender();
|
|
292
|
+
this.scheduleNext();
|
|
293
|
+
}, RESTART_DELAY_MS);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
render(width) {
|
|
297
|
+
const now = Date.now();
|
|
298
|
+
const result = scrambleManager.updateText(id, "warp", "warping...", now, completed);
|
|
299
|
+
if (result.isAnimating && !this.timer && !completed) {
|
|
300
|
+
this.scheduleNext();
|
|
301
|
+
}
|
|
302
|
+
return this.scramble.render(width);
|
|
303
|
+
}
|
|
304
|
+
cleanup() {
|
|
305
|
+
if (this.timer) {
|
|
306
|
+
clearTimeout(this.timer);
|
|
307
|
+
this.timer = undefined;
|
|
308
|
+
}
|
|
309
|
+
this.scramble.invalidate();
|
|
310
|
+
scrambleManager.completeFlow(id);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const component = new WarpingComponent();
|
|
314
|
+
const doGenerate = async () => {
|
|
315
|
+
const response = await complete(model, {
|
|
316
|
+
systemPrompt: SYSTEM_PROMPT,
|
|
317
|
+
messages: [
|
|
318
|
+
{
|
|
319
|
+
role: "user",
|
|
320
|
+
content: args.trim()
|
|
321
|
+
? `Conversation history:\n${conversation}\n${preWarpContext}\nUser's goal for new thread: ${goal}`
|
|
322
|
+
: `Conversation history:\n${conversation}\n${preWarpContext}`,
|
|
323
|
+
},
|
|
324
|
+
],
|
|
325
|
+
}, { apiKey: auth.apiKey, headers: auth.headers, signal: abortController.signal });
|
|
326
|
+
if (response.stopReason === "aborted") {
|
|
327
|
+
return null;
|
|
328
|
+
}
|
|
329
|
+
if (response.stopReason === "error" || response.errorMessage) {
|
|
330
|
+
throw new Error(response.errorMessage || "Unknown error");
|
|
331
|
+
}
|
|
332
|
+
return response.content
|
|
333
|
+
.filter((c) => c.type === "text")
|
|
334
|
+
.map((c) => c.text)
|
|
335
|
+
.join("\n")
|
|
336
|
+
.trim();
|
|
337
|
+
};
|
|
338
|
+
doGenerate()
|
|
339
|
+
.then((result) => {
|
|
340
|
+
completed = true;
|
|
341
|
+
component.cleanup();
|
|
342
|
+
done(result);
|
|
343
|
+
})
|
|
344
|
+
.catch((err) => {
|
|
345
|
+
completed = true;
|
|
346
|
+
component.cleanup();
|
|
347
|
+
warpError = err.message || "Unknown error";
|
|
348
|
+
done(null);
|
|
349
|
+
});
|
|
350
|
+
return component;
|
|
351
|
+
});
|
|
352
|
+
if (distilledPrompt === null || distilledPrompt === undefined) {
|
|
353
|
+
if (warpError) {
|
|
354
|
+
ctx.ui.notify?.(`Warp generation failed: ${warpError}`, "error");
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
ctx.ui.notify?.("Warp cancelled.", "info");
|
|
358
|
+
}
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
// Present for review
|
|
362
|
+
const reviewedPrompt = await ctx.ui.editor("Edit warp prompt", distilledPrompt);
|
|
363
|
+
if (reviewedPrompt === undefined) {
|
|
364
|
+
ctx.ui.notify?.("Warp cancelled by user.", "info");
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
const warpedPrompt = (reviewedPrompt ?? distilledPrompt).trim();
|
|
368
|
+
// Warn on deep warp chains
|
|
369
|
+
const warpCount = getWarpCount(cwd);
|
|
370
|
+
if (warpCount >= 3) {
|
|
371
|
+
ctx.ui.notify?.(`Warning: Deep warp chain (depth ${warpCount + 1}). Proceed with caution.`, "warning");
|
|
372
|
+
}
|
|
373
|
+
// Spawn new session
|
|
374
|
+
const currentSessionFile = ctx.sessionManager.getSessionFile();
|
|
375
|
+
const { cancelled } = await ctx.newSession({
|
|
376
|
+
parentSession: currentSessionFile,
|
|
377
|
+
withSession: async (newCtx) => {
|
|
378
|
+
const effectiveGoal = args.trim() ? goal : extractGoalFromPrompt(warpedPrompt);
|
|
379
|
+
// Log warp (cwd captured in closure, no ctx needed)
|
|
380
|
+
recordWarp(cwd, {
|
|
381
|
+
id: `warp-${Date.now()}`,
|
|
382
|
+
parentSession: currentSessionFile,
|
|
383
|
+
goal,
|
|
384
|
+
createdAt: new Date().toISOString(),
|
|
385
|
+
depth: warpCount + 1,
|
|
386
|
+
});
|
|
387
|
+
newCtx.ui.notify?.("Warped to new session.", "info");
|
|
388
|
+
// Execute /flow:goal set as a real user message in the new session.
|
|
389
|
+
// This triggers the command handler which calls setGoal() with
|
|
390
|
+
// ctx.sessionManager.getSessionId() — guaranteed to be the new
|
|
391
|
+
// session's ID. The handler then triggers the LLM to start working.
|
|
392
|
+
// sendUserMessage is called last because it may trigger a turn.
|
|
393
|
+
await newCtx.sendUserMessage(warpedPrompt);
|
|
394
|
+
newCtx.sendUserMessage(`/flow:goal set ${effectiveGoal}`);
|
|
395
|
+
},
|
|
396
|
+
});
|
|
397
|
+
if (cancelled) {
|
|
398
|
+
// Can't use ctx.ui.notify here — ctx is stale after newSession.
|
|
399
|
+
// The cancelled case means withSession never ran, so we return silently.
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
//# sourceMappingURL=warp-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-command.js","sourceRoot":"","sources":["../../src/flow/warp-command.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* Each flow receives a forked snapshot of the current session context.
|
|
6
6
|
*/
|
|
7
7
|
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
8
|
-
export {
|
|
8
|
+
export { logWarn, logError } from "./config/log.js";
|
|
9
|
+
export { compressToolResults, compressFlowToolResults, stripBatchReadToolCalls } from "./snapshot/snapshot.js";
|
|
10
|
+
export { type FlowColorConfig } from "./tui/flow-colors.js";
|
|
9
11
|
export default function (pi: ExtensionAPI): void;
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AA6CpF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAmFpD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,QAwZxC"}
|