@danypops/pi-papyrus 0.59.3 → 0.59.5
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/extension/src/index.ts
CHANGED
|
@@ -924,16 +924,17 @@ export default function (pi: ExtensionAPI) {
|
|
|
924
924
|
// agent_settled is intentionally later than agent_end: Pi guarantees that
|
|
925
925
|
// retry, compaction retry, and queued follow-up processing have finished.
|
|
926
926
|
|
|
927
|
-
pi.on("input",
|
|
927
|
+
pi.on("input", (event, ctx) => {
|
|
928
928
|
if (event.source === "extension") return;
|
|
929
929
|
taskContinuation.onHumanInput();
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
930
|
+
const sessionId = ctx.sessionManager.getSessionId();
|
|
931
|
+
// Input handlers are on Pi's prompt-submission path. Resume bookkeeping is
|
|
932
|
+
// opportunistic and must never hold the user's message behind daemon I/O.
|
|
933
|
+
void callService<Record<string, unknown>, { artifact: Artifact; status: string; pauseReason?: string } | null>("tasks.focused", {
|
|
934
|
+
session_id: sessionId,
|
|
935
|
+
})
|
|
936
|
+
.then(async (focus) => {
|
|
937
|
+
if (!focus || !shouldResumeFocusOnHumanInput(focus.status, focus.pauseReason)) return;
|
|
937
938
|
await callService("tasks.unpause", {
|
|
938
939
|
actor: "system",
|
|
939
940
|
source: "task-continuation",
|
|
@@ -947,10 +948,10 @@ export default function (pi: ExtensionAPI) {
|
|
|
947
948
|
status: "unpaused",
|
|
948
949
|
effort: extractDeclaredEffort(focus.artifact.extra),
|
|
949
950
|
});
|
|
950
|
-
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
951
|
+
})
|
|
952
|
+
.catch(() => {
|
|
953
|
+
// The daemon may be unavailable during startup, reload, or shutdown.
|
|
954
|
+
});
|
|
954
955
|
});
|
|
955
956
|
pi.on("agent_start", () => {
|
|
956
957
|
taskContinuation.onAgentStart();
|
|
@@ -129,7 +129,9 @@ export function registerNotesVehicle(pi: ExtensionAPI): Promise<RegisteredPiVehi
|
|
|
129
129
|
const client = createReconnectingVehicleClient(
|
|
130
130
|
async () => {
|
|
131
131
|
const resolved = resolveTarget();
|
|
132
|
-
|
|
132
|
+
const remote = new RemoteVehicleClient({ baseUrl: resolved.baseUrl, token: resolved.token });
|
|
133
|
+
await remote.negotiate({ minimumVersion: 1, maximumVersion: 1, requiredCapabilities: [], optionalCapabilities: [] });
|
|
134
|
+
return remote;
|
|
133
135
|
},
|
|
134
136
|
{
|
|
135
137
|
// The random loopback port is process-instance identity for Papyrus: it changes on
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danypops/pi-papyrus",
|
|
3
|
-
"version": "0.59.
|
|
3
|
+
"version": "0.59.5",
|
|
4
4
|
"description": "Pi host extension for Papyrus: native tools, TUI panels, and context injection over the daemon-backed graph store",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@danypops/jittor": "^0.19.2",
|
|
23
23
|
"@danypops/papyrus": "^0.60.10",
|
|
24
|
-
"@danypops/vehicle-client": "^0.10.
|
|
25
|
-
"@danypops/vehicle-core": "^0.
|
|
26
|
-
"@danypops/vehicle-server": "^0.
|
|
24
|
+
"@danypops/vehicle-client": "^0.10.8",
|
|
25
|
+
"@danypops/vehicle-core": "^0.19.1",
|
|
26
|
+
"@danypops/vehicle-server": "^0.27.1",
|
|
27
27
|
"beautiful-mermaid": "1.1.3",
|
|
28
28
|
"malevich-tui-components": "^0.32.1"
|
|
29
29
|
},
|