@juicesharp/rpiv-warp 1.9.1 → 1.9.2
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/CHANGELOG.md +5 -0
- package/package.json +2 -2
- package/payload.ts +19 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,11 @@ All notable changes to `@juicesharp/rpiv-warp` are documented here.
|
|
|
5
5
|
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
6
6
|
Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.9.2] - 2026-05-19
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- "Waiting for your answer" toast renders skill invocations as `/skill:<name> <args>` instead of the raw skill-block markup. Applies to both prompt-submit and stop-query toasts.
|
|
12
|
+
|
|
8
13
|
## [1.9.1] - 2026-05-19
|
|
9
14
|
|
|
10
15
|
## [1.9.0] - 2026-05-18
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@juicesharp/rpiv-warp",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Pi extension. Native Warp terminal notifications, dispatched via OSC 777 on Pi lifecycle events.",
|
|
6
6
|
"keywords": [
|
|
@@ -50,6 +50,6 @@
|
|
|
50
50
|
"@earendil-works/pi-coding-agent": "*"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@juicesharp/rpiv-config": "^1.9.
|
|
53
|
+
"@juicesharp/rpiv-config": "^1.9.2"
|
|
54
54
|
}
|
|
55
55
|
}
|
package/payload.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import { basename } from "node:path";
|
|
10
10
|
import type { AssistantMessage, UserMessage } from "@earendil-works/pi-ai";
|
|
11
|
-
import type
|
|
11
|
+
import { type ExtensionContext, parseSkillBlock, type SessionEntry } from "@earendil-works/pi-coding-agent";
|
|
12
12
|
import { negotiateProtocolVersion, type WarpEvent } from "./protocol.js";
|
|
13
13
|
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
@@ -78,6 +78,22 @@ export function extractMessageText(content: UserMessage["content"] | AssistantMe
|
|
|
78
78
|
.join("\n");
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Collapse a `<skill name="…" location="…">…</skill>` wrapper (emitted by
|
|
83
|
+
* `rpiv-args` and Pi's built-in skill expander) back to the user-facing
|
|
84
|
+
* `/skill:<name> <args>` shorthand. Non-skill input passes through verbatim.
|
|
85
|
+
*
|
|
86
|
+
* Why: Warp surfaces this string in the `question_asked` toast. The wrapper
|
|
87
|
+
* is a load-bearing LLM-input format, not something the human typed —
|
|
88
|
+
* showing it raw leaks `<skill name="…" location="/abs/path">` into the
|
|
89
|
+
* notification. Inverse of the wrapper builder in `rpiv-args/args.ts:205`.
|
|
90
|
+
*/
|
|
91
|
+
export function summarizeSkillBlock(text: string): string {
|
|
92
|
+
const parsed = parseSkillBlock(text);
|
|
93
|
+
if (!parsed) return text;
|
|
94
|
+
return parsed.userMessage ? `/skill:${parsed.name} ${parsed.userMessage}` : `/skill:${parsed.name}`;
|
|
95
|
+
}
|
|
96
|
+
|
|
81
97
|
// ---------------------------------------------------------------------------
|
|
82
98
|
// Branch traversal — reverse-scan filtered branch for last user/assistant text
|
|
83
99
|
// ---------------------------------------------------------------------------
|
|
@@ -92,7 +108,7 @@ function findLastMessageText(branch: SessionEntry[], role: "user" | "assistant")
|
|
|
92
108
|
if (!isMessageEntry(entry)) continue;
|
|
93
109
|
const message = entry.message;
|
|
94
110
|
if (message.role !== role) continue;
|
|
95
|
-
const text = extractMessageText((message as UserMessage | AssistantMessage).content);
|
|
111
|
+
const text = summarizeSkillBlock(extractMessageText((message as UserMessage | AssistantMessage).content));
|
|
96
112
|
if (text.length > 0) return truncate(text);
|
|
97
113
|
}
|
|
98
114
|
return "";
|
|
@@ -133,7 +149,7 @@ export function buildSessionStartPayload(ctx: ExtensionContext): WarpPayload {
|
|
|
133
149
|
export function buildPromptSubmitPayload(ctx: ExtensionContext, query: string = ""): WarpPayload {
|
|
134
150
|
return {
|
|
135
151
|
...baseEnvelope("prompt_submit", ctx),
|
|
136
|
-
query,
|
|
152
|
+
query: summarizeSkillBlock(query),
|
|
137
153
|
};
|
|
138
154
|
}
|
|
139
155
|
|