pi-goal-list-loop-audit 0.29.2 → 0.29.3
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/extensions/loops/goal.ts +16 -2
- package/package.json +1 -1
package/extensions/loops/goal.ts
CHANGED
|
@@ -1602,6 +1602,12 @@ async function showDecisionPrompt(ctx: ExtensionContext): Promise<boolean> {
|
|
|
1602
1602
|
if (!pick) return true; // Escape — the widget card remains the fallback
|
|
1603
1603
|
const idx = options.indexOf(pick);
|
|
1604
1604
|
const label = g.pauseOptions![idx] ?? pick.replace(/ {2}\(recommended\)$/, "");
|
|
1605
|
+
// v0.29.3: the wipe escape — "… (/glla wipe)" options run the wipe
|
|
1606
|
+
// (which Confirms on its own — destructive actions keep their gate).
|
|
1607
|
+
if (/\(\/glla wipe\)\s*$/.test(label)) {
|
|
1608
|
+
await cmdGllaWipe(ctx);
|
|
1609
|
+
return true;
|
|
1610
|
+
}
|
|
1605
1611
|
// Executable options — "Label (/goal cancel)" — RUN the command.
|
|
1606
1612
|
// Placeholder commands (…/<arg>) fall through to the message path.
|
|
1607
1613
|
const cmdMatch = label.match(/\(\/(goal|list|loop) ([a-z]+)\)\s*$/);
|
|
@@ -5031,7 +5037,10 @@ export default function (pi: ExtensionAPI): void {
|
|
|
5031
5037
|
if (next.length !== before) changed = true;
|
|
5032
5038
|
}
|
|
5033
5039
|
if (changed) pi.setActiveTools(next);
|
|
5034
|
-
if (!toolHealNotified) {
|
|
5040
|
+
if (!toolHealNotified && missing.length > 0) {
|
|
5041
|
+
// v0.29.3: the notify used to fire even when NOTHING was missing —
|
|
5042
|
+
// "glla: 0 agent tool(s) were hidden … re-activated ()" at every pi
|
|
5043
|
+
// start (field-observed in darklord). Warn only on a real heal.
|
|
5035
5044
|
toolHealNotified = true;
|
|
5036
5045
|
const list = missing.join(", ");
|
|
5037
5046
|
ctx.ui.notify(
|
|
@@ -5276,7 +5285,12 @@ export default function (pi: ExtensionAPI): void {
|
|
|
5276
5285
|
updateGoal({
|
|
5277
5286
|
status: "paused",
|
|
5278
5287
|
pauseKind: "decision",
|
|
5279
|
-
|
|
5288
|
+
// v0.29.3: third option — the wipe escape. Old projects stack a
|
|
5289
|
+
// goal AND a loop AND a list from pre-guard versions; arbitrating
|
|
5290
|
+
// between two artifacts the user doesn't even remember is the odd
|
|
5291
|
+
// part — "i feel like wipe does [make sense]". Wipe keeps its own
|
|
5292
|
+
// Confirm (destructive), so picking it is safe to offer.
|
|
5293
|
+
pauseOptions: ["Stop the loop, then resume the goal (/loop stop)", "Cancel the goal (/goal cancel) — the loop keeps running", "Wipe everything — clean slate for stale leftovers (/glla wipe)"],
|
|
5280
5294
|
pauseRecommended: 1,
|
|
5281
5295
|
pauseReason: "held on session load — the loop owns the active slot (one active thing at a time)",
|
|
5282
5296
|
pauseSuggestedAction: "/loop to work the loop, or /loop stop then /goal resume to work the goal",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-goal-list-loop-audit",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.3",
|
|
4
4
|
"description": "Goal. Loop. Audit. Done. \u2014 a pi-coding-agent extension that supervises long-running work, with isolated auditor on each completion. Beat bamboozling by design: the auditor runs in a fresh session with no extensions, no skills, no editor \u2014 only the read tools needed to verify your goal.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "dracon",
|