pi-roundtable-mcp 0.9.0 → 0.9.1
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 +6 -0
- package/package.json +2 -2
- package/src/remote-mcp/default-conversation.ts +28 -19
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,12 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.9.1] - 2026-10-10
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- A remote run asked for while the host shuts down fails instead of starting a turn (`defaultConversation().answer` resolves a failed result rather than rejecting). Needs pi-roundtable 0.9.1.
|
|
13
|
+
|
|
8
14
|
## [0.9.0] - 2026-10-09
|
|
9
15
|
|
|
10
16
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-roundtable-mcp",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "MCP connectors through ContextForge and a remote MCP endpoint for pi-roundtable",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@biomejs/biome": "2.5.15",
|
|
47
47
|
"@types/bun": "1.4.2",
|
|
48
|
-
"pi-roundtable": "0.9.
|
|
48
|
+
"pi-roundtable": "0.9.1",
|
|
49
49
|
"typescript": "7.0.2"
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -68,25 +68,34 @@ export function defaultConversation({
|
|
|
68
68
|
}: Parts): RemoteConversation {
|
|
69
69
|
return {
|
|
70
70
|
answer: (channel, text, speaker) =>
|
|
71
|
-
queue
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
71
|
+
queue
|
|
72
|
+
.run(channel, () =>
|
|
73
|
+
settleTurn(async () => {
|
|
74
|
+
const { runtime, approvals } = server();
|
|
75
|
+
// Restored from the store: after a restart nothing is held in memory yet.
|
|
76
|
+
const pending = await runtime.heldActions(channel);
|
|
77
|
+
const confirmed =
|
|
78
|
+
pending !== undefined &&
|
|
79
|
+
(await approvals.approves(pending, text));
|
|
80
|
+
return turns.run({
|
|
81
|
+
channel,
|
|
82
|
+
kind: REMOTE_KIND,
|
|
83
|
+
text,
|
|
84
|
+
speaker,
|
|
85
|
+
conversation: { visibility: "private" },
|
|
86
|
+
confirmed,
|
|
87
|
+
// The outside agent polls for the answer; no surface posts it.
|
|
88
|
+
reply: async () => undefined,
|
|
89
|
+
});
|
|
90
|
+
}, "remote turn"),
|
|
91
|
+
)
|
|
92
|
+
// A host shutting down starts no turn: the run fails, and the caller may try again later.
|
|
93
|
+
.catch(
|
|
94
|
+
(error: unknown): TurnResult => ({
|
|
95
|
+
ok: false,
|
|
96
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
97
|
+
}),
|
|
98
|
+
),
|
|
90
99
|
claim: {
|
|
91
100
|
stop: (channel) => server().runtime.stop(channel),
|
|
92
101
|
startFresh: async (channel) => {
|