@dalmasonto/taskflow-mcp 2.1.0 → 2.1.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/dist/client.d.ts +15 -3
- package/dist/client.js +36 -12
- package/dist/client.js.map +1 -1
- package/dist/events.d.ts +16 -5
- package/dist/events.js +22 -6
- package/dist/events.js.map +1 -1
- package/dist/prompt-gate.d.ts +61 -0
- package/dist/prompt-gate.js +97 -0
- package/dist/prompt-gate.js.map +1 -0
- package/dist/runtime.js +91 -16
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -141,6 +141,15 @@ export declare class TaskflowClient {
|
|
|
141
141
|
listChannels(): Promise<ChannelSummary[]>;
|
|
142
142
|
/** `GET /agents/agents` — the other agents in the caller's project. */
|
|
143
143
|
listAgents(): Promise<AgentSummary[]>;
|
|
144
|
+
/** `GET /agents/prompts` — this agent's OPEN (pending) prompts. #127: the MCP
|
|
145
|
+
* hydrates its message gate from this on connect/reconnect so a prompt raised
|
|
146
|
+
* while the stream was down still pauses pane delivery. */
|
|
147
|
+
listOpenPrompts(): Promise<Array<{
|
|
148
|
+
id: number;
|
|
149
|
+
agent: number;
|
|
150
|
+
session: number;
|
|
151
|
+
status: string;
|
|
152
|
+
}>>;
|
|
144
153
|
/** `GET /agents/messages?channel=&since=&limit=` → `{ messages, read_cursor }`. */
|
|
145
154
|
listMessages(params: {
|
|
146
155
|
channel: number;
|
|
@@ -156,7 +165,8 @@ export declare class TaskflowClient {
|
|
|
156
165
|
}): Promise<unknown[]>;
|
|
157
166
|
/** `POST /agents/agent/messages` — speak as this agent in a channel. */
|
|
158
167
|
sendMessage(input: SendMessageInput): Promise<unknown>;
|
|
159
|
-
/** `POST /channels/{id}/agent/read` — advance this agent's read cursor.
|
|
168
|
+
/** `POST /channels/{id}/agent/read` — advance this agent's read cursor.
|
|
169
|
+
* Idempotent: sets the cursor to a specific message id, so a retry is safe. */
|
|
160
170
|
markRead(channel: number, lastReadMessage: number): Promise<unknown>;
|
|
161
171
|
/** `POST /agents/tasks` — author a task in the agent's project (optionally claim). */
|
|
162
172
|
createTask(input: CreateTaskInput): Promise<unknown>;
|
|
@@ -181,13 +191,15 @@ export declare class TaskflowClient {
|
|
|
181
191
|
reportReview(task: number, decision: string, bodyMarkdown?: string): Promise<unknown>;
|
|
182
192
|
/** `POST /agents/sessions` — register or reconnect a live session. */
|
|
183
193
|
registerSession(input: RegisterSessionInput): Promise<SessionRow>;
|
|
184
|
-
/** `POST /agents/sessions/{id}/heartbeat` — bump liveness (status hint idle/busy).
|
|
194
|
+
/** `POST /agents/sessions/{id}/heartbeat` — bump liveness (status hint idle/busy).
|
|
195
|
+
* Idempotent: sets last-seen/status to the current values, so a retry is safe. */
|
|
185
196
|
heartbeat(session: number, status?: string): Promise<SessionRow>;
|
|
186
197
|
/** `POST /agents/sessions/{id}/frames` — append one terminal frame. */
|
|
187
198
|
appendFrame(session: number, frame: FrameInput): Promise<unknown>;
|
|
188
199
|
/** `POST /agents/sessions/{id}/frames` — append a batch of terminal frames. */
|
|
189
200
|
appendFrames(session: number, frames: FrameInput[]): Promise<unknown>;
|
|
190
|
-
/** `POST /agents/sessions/{id}/close` — disconnect a session.
|
|
201
|
+
/** `POST /agents/sessions/{id}/close` — disconnect a session.
|
|
202
|
+
* Idempotent: closing an already-closed session is a no-op, so a retry is safe. */
|
|
191
203
|
closeSession(session: number): Promise<SessionRow>;
|
|
192
204
|
/** `POST /agents/activity` — log one real activity event. */
|
|
193
205
|
logActivity(event: ActivityEventInput): Promise<{
|
package/dist/client.js
CHANGED
|
@@ -76,10 +76,15 @@ export class TaskflowClient {
|
|
|
76
76
|
// throws `fetch failed` before the request reaches the server — a second
|
|
77
77
|
// attempt gets a new socket and usually succeeds, which is what turns a
|
|
78
78
|
// wedged connection into a self-healing one instead of needing a restart.
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
|
|
79
|
+
//
|
|
80
|
+
// Gated on `options.idempotent`: a `fetch failed` cannot distinguish "never
|
|
81
|
+
// reached the server" from "processed, response lost", so only operations
|
|
82
|
+
// that are safe to run twice opt in (reads, mark_read, heartbeat, close).
|
|
83
|
+
// Content-creating writes (create task, send message, report review, log
|
|
84
|
+
// activity, append frames) never retry — a duplicate would be worse than a
|
|
85
|
+
// surfaced error. Multipart form bodies are excluded regardless (a FormData
|
|
86
|
+
// body may not survive a second send).
|
|
87
|
+
const canRetry = options.idempotent === true && options.form === undefined;
|
|
83
88
|
let res;
|
|
84
89
|
let lastErr;
|
|
85
90
|
for (let tryNo = 0; tryNo < (canRetry ? 2 : 1); tryNo++) {
|
|
@@ -124,21 +129,28 @@ export class TaskflowClient {
|
|
|
124
129
|
// ---- READS ---------------------------------------------------------------
|
|
125
130
|
/** `GET /agents/whoami` — the identity behind the presented credential. */
|
|
126
131
|
whoami() {
|
|
127
|
-
return this.request("GET", `${API_PREFIX}/agents/whoami
|
|
132
|
+
return this.request("GET", `${API_PREFIX}/agents/whoami`, { idempotent: true });
|
|
128
133
|
}
|
|
129
134
|
/** `GET /agents/tasks?status=&assigned=` — tasks in the agent's project. */
|
|
130
135
|
listTasks(params = {}) {
|
|
131
136
|
return this.request("GET", `${API_PREFIX}/agents/tasks`, {
|
|
132
137
|
query: { status: params.status, assigned: params.assigned },
|
|
138
|
+
idempotent: true,
|
|
133
139
|
});
|
|
134
140
|
}
|
|
135
141
|
/** `GET /agents/channels` — channels the agent may see. */
|
|
136
142
|
listChannels() {
|
|
137
|
-
return this.request("GET", `${API_PREFIX}/agents/channels
|
|
143
|
+
return this.request("GET", `${API_PREFIX}/agents/channels`, { idempotent: true });
|
|
138
144
|
}
|
|
139
145
|
/** `GET /agents/agents` — the other agents in the caller's project. */
|
|
140
146
|
listAgents() {
|
|
141
|
-
return this.request("GET", `${API_PREFIX}/agents/agents
|
|
147
|
+
return this.request("GET", `${API_PREFIX}/agents/agents`, { idempotent: true });
|
|
148
|
+
}
|
|
149
|
+
/** `GET /agents/prompts` — this agent's OPEN (pending) prompts. #127: the MCP
|
|
150
|
+
* hydrates its message gate from this on connect/reconnect so a prompt raised
|
|
151
|
+
* while the stream was down still pauses pane delivery. */
|
|
152
|
+
listOpenPrompts() {
|
|
153
|
+
return this.request("GET", `${API_PREFIX}/agents/prompts`, { idempotent: true });
|
|
142
154
|
}
|
|
143
155
|
/** `GET /agents/messages?channel=&since=&limit=` → `{ messages, read_cursor }`. */
|
|
144
156
|
listMessages(params) {
|
|
@@ -149,12 +161,14 @@ export class TaskflowClient {
|
|
|
149
161
|
limit: params.limit,
|
|
150
162
|
unread: params.unread,
|
|
151
163
|
},
|
|
164
|
+
idempotent: true,
|
|
152
165
|
});
|
|
153
166
|
}
|
|
154
167
|
/** `GET /agents/activity?task=&limit=` — recent activity, newest first. */
|
|
155
168
|
listActivity(params = {}) {
|
|
156
169
|
return this.request("GET", `${API_PREFIX}/agents/activity`, {
|
|
157
170
|
query: { task: params.task, limit: params.limit },
|
|
171
|
+
idempotent: true,
|
|
158
172
|
});
|
|
159
173
|
}
|
|
160
174
|
// ---- WRITES: messages / read cursor --------------------------------------
|
|
@@ -182,10 +196,12 @@ export class TaskflowClient {
|
|
|
182
196
|
timeoutMs: 120_000,
|
|
183
197
|
});
|
|
184
198
|
}
|
|
185
|
-
/** `POST /channels/{id}/agent/read` — advance this agent's read cursor.
|
|
199
|
+
/** `POST /channels/{id}/agent/read` — advance this agent's read cursor.
|
|
200
|
+
* Idempotent: sets the cursor to a specific message id, so a retry is safe. */
|
|
186
201
|
markRead(channel, lastReadMessage) {
|
|
187
202
|
return this.request("POST", `${API_PREFIX}/channels/${channel}/agent/read`, {
|
|
188
203
|
body: { last_read_message: lastReadMessage },
|
|
204
|
+
idempotent: true,
|
|
189
205
|
});
|
|
190
206
|
}
|
|
191
207
|
// ---- WRITES: tasks -------------------------------------------------------
|
|
@@ -239,12 +255,16 @@ export class TaskflowClient {
|
|
|
239
255
|
registerSession(input) {
|
|
240
256
|
return this.request("POST", `${API_PREFIX}/agents/sessions`, { body: input });
|
|
241
257
|
}
|
|
242
|
-
/** `POST /agents/sessions/{id}/heartbeat` — bump liveness (status hint idle/busy).
|
|
258
|
+
/** `POST /agents/sessions/{id}/heartbeat` — bump liveness (status hint idle/busy).
|
|
259
|
+
* Idempotent: sets last-seen/status to the current values, so a retry is safe. */
|
|
243
260
|
heartbeat(session, status) {
|
|
244
261
|
const body = {};
|
|
245
262
|
if (status !== undefined)
|
|
246
263
|
body.status = status;
|
|
247
|
-
return this.request("POST", `${API_PREFIX}/agents/sessions/${session}/heartbeat`, {
|
|
264
|
+
return this.request("POST", `${API_PREFIX}/agents/sessions/${session}/heartbeat`, {
|
|
265
|
+
body,
|
|
266
|
+
idempotent: true,
|
|
267
|
+
});
|
|
248
268
|
}
|
|
249
269
|
/** `POST /agents/sessions/{id}/frames` — append one terminal frame. */
|
|
250
270
|
appendFrame(session, frame) {
|
|
@@ -258,9 +278,13 @@ export class TaskflowClient {
|
|
|
258
278
|
body: { frames },
|
|
259
279
|
});
|
|
260
280
|
}
|
|
261
|
-
/** `POST /agents/sessions/{id}/close` — disconnect a session.
|
|
281
|
+
/** `POST /agents/sessions/{id}/close` — disconnect a session.
|
|
282
|
+
* Idempotent: closing an already-closed session is a no-op, so a retry is safe. */
|
|
262
283
|
closeSession(session) {
|
|
263
|
-
return this.request("POST", `${API_PREFIX}/agents/sessions/${session}/close`, {
|
|
284
|
+
return this.request("POST", `${API_PREFIX}/agents/sessions/${session}/close`, {
|
|
285
|
+
body: {},
|
|
286
|
+
idempotent: true,
|
|
287
|
+
});
|
|
264
288
|
}
|
|
265
289
|
/** `POST /agents/activity` — log one real activity event. */
|
|
266
290
|
logActivity(event) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA4BH,8DAA8D;AAC9D,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,MAAM,CAAS;IACf,MAAM,CAAS;IACf,MAAM,CAAS;IACf,IAAI,CAAS;IACtB,YAAY,MAAc,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QACtE,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,MAAM,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/events.d.ts
CHANGED
|
@@ -68,14 +68,22 @@ export interface EventStreamOptions {
|
|
|
68
68
|
onMessage: (message: AgentMessageEvent, action?: "created" | "updated") => void | Promise<void>;
|
|
69
69
|
/** Called when a human answers a question this agent is blocked on. */
|
|
70
70
|
onPromptAnswered?: (prompt: PromptEvent) => void | Promise<void>;
|
|
71
|
+
/** #127: called for EVERY `:prompts` event (pending/answered/cancelled), so the
|
|
72
|
+
* runtime can pause pane message delivery while a prompt is open and flush it
|
|
73
|
+
* once resolved. Distinct from `onPromptAnswered`, which fires only on a human
|
|
74
|
+
* answer to replay keys. */
|
|
75
|
+
onPromptState?: (prompt: PromptEvent) => void | Promise<void>;
|
|
71
76
|
/** Called when a human sends a terminal key from the dashboard. Broadcast to
|
|
72
77
|
* the whole project, so `agent` says which pane it is for — the handler must
|
|
73
78
|
* ignore keys addressed to other agents. */
|
|
74
79
|
onTerminalKey?: (input: TerminalKeyEvent) => void | Promise<void>;
|
|
75
|
-
/** Called
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
|
|
80
|
+
/** Called after EVERY successful connect, AWAITED before any frame is parsed —
|
|
81
|
+
* a barrier so hydration/catch-up finishes before a live message or prompt
|
|
82
|
+
* frame can be dispatched (#127). `isReconnect` is false on the first connect
|
|
83
|
+
* (nothing to catch up) and true after. Frames sent during the hook buffer in
|
|
84
|
+
* TCP and are read right after it resolves. The hook must own its own errors;
|
|
85
|
+
* a throw is logged and does not stop the read loop. */
|
|
86
|
+
onConnected?: (isReconnect: boolean) => void | Promise<void>;
|
|
79
87
|
/** Called ONCE when reconnects have failed {@link UNREACHABLE_AFTER_ATTEMPTS}
|
|
80
88
|
* times in a row — the server looks genuinely unreachable, so tell the agent
|
|
81
89
|
* its live feed is paused. Fires again only after a successful reconnect
|
|
@@ -108,7 +116,7 @@ export interface EventStreamHandle {
|
|
|
108
116
|
*/
|
|
109
117
|
export declare function startAgentEventStream(options: EventStreamOptions): EventStreamHandle;
|
|
110
118
|
/** Pull the `data:` lines out of one SSE frame and dispatch a message event. */
|
|
111
|
-
export declare function handleFrame(frame: string, options: Pick<EventStreamOptions, "onMessage" | "onPromptAnswered" | "onTerminalKey">): void;
|
|
119
|
+
export declare function handleFrame(frame: string, options: Pick<EventStreamOptions, "onMessage" | "onPromptAnswered" | "onPromptState" | "onTerminalKey">): void;
|
|
112
120
|
/**
|
|
113
121
|
* Whether a message should be delivered to THIS agent's terminal.
|
|
114
122
|
*
|
|
@@ -170,6 +178,9 @@ export declare function answerKeystrokes(choices: number[], kind: string): strin
|
|
|
170
178
|
export interface PromptEvent {
|
|
171
179
|
id: number;
|
|
172
180
|
session: number;
|
|
181
|
+
/** #127: the agent whose terminal the prompt is on (projected in
|
|
182
|
+
* `PROMPT_FIELDS`). The message gate blocks only on this agent's prompts. */
|
|
183
|
+
agent?: number | null;
|
|
173
184
|
question: string;
|
|
174
185
|
kind: string;
|
|
175
186
|
status: string;
|
package/dist/events.js
CHANGED
|
@@ -116,11 +116,19 @@ export function startAgentEventStream(options) {
|
|
|
116
116
|
unreachableNotified = false;
|
|
117
117
|
void options.onRecovered?.();
|
|
118
118
|
}
|
|
119
|
-
|
|
120
|
-
// catch up. The first connect needs no catch-up — nothing was missed yet.
|
|
121
|
-
if (everConnected)
|
|
122
|
-
void options.onReconnect?.();
|
|
119
|
+
const isReconnect = everConnected;
|
|
123
120
|
everConnected = true;
|
|
121
|
+
// #127 BARRIER: run hydration/catch-up to completion BEFORE parsing any
|
|
122
|
+
// frame, so a live message can't be handled before the gate learns of an
|
|
123
|
+
// already-open prompt, and a stale hydration response can't race a prompt
|
|
124
|
+
// event. Frames sent meanwhile buffer in TCP and are read right after. The
|
|
125
|
+
// hook owns its errors; a failure must not wedge the read loop.
|
|
126
|
+
try {
|
|
127
|
+
await options.onConnected?.(isReconnect);
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
log(`onConnected hook failed: ${err.message.split("\n")[0]}`);
|
|
131
|
+
}
|
|
124
132
|
// Parse SSE frames. `data:` may be split across TCP chunks, so text is
|
|
125
133
|
// buffered until a blank line terminates the frame.
|
|
126
134
|
const reader = res.body.getReader();
|
|
@@ -221,8 +229,16 @@ export function handleFrame(frame, options) {
|
|
|
221
229
|
// when the question appeared. So prompts are routed before the created-only
|
|
222
230
|
// filter below, or every answer would be dropped.
|
|
223
231
|
if (envelope.c?.endsWith(":prompts")) {
|
|
224
|
-
|
|
225
|
-
|
|
232
|
+
const prompt = envelope.d;
|
|
233
|
+
if (!prompt || typeof prompt.id !== "number")
|
|
234
|
+
return;
|
|
235
|
+
// #127 ordering: replay the answer keys FIRST so they are enqueued into the
|
|
236
|
+
// pane before onPromptState lets the gate flush any queued chat — otherwise a
|
|
237
|
+
// queued message could be typed into the prompt before the answer submits it.
|
|
238
|
+
if (isAnsweredPrompt(prompt))
|
|
239
|
+
void options.onPromptAnswered?.(prompt);
|
|
240
|
+
// Then update the message gate's open/resolved state (every prompt event).
|
|
241
|
+
void options.onPromptState?.(prompt);
|
|
226
242
|
return;
|
|
227
243
|
}
|
|
228
244
|
// Terminal keys: fields are projected inline, so act straight off the event.
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #127: pause pane message delivery while THIS agent has an open prompt.
|
|
3
|
+
*
|
|
4
|
+
* The problem: message delivery and prompt-answer replay share one live terminal
|
|
5
|
+
* surface. If a chat message is typed into the pane while a permission/question
|
|
6
|
+
* prompt is waiting, the text lands in the prompt and can submit an answer nobody
|
|
7
|
+
* chose. Blocking the sender's UI is not enough — another human or agent can send
|
|
8
|
+
* a message that reaches the same pane.
|
|
9
|
+
*
|
|
10
|
+
* The fix, at the delivery layer: when a prompt for this agent is `pending`, hold
|
|
11
|
+
* inbound message deliveries in a bounded queue instead of typing them; when the
|
|
12
|
+
* prompt is `answered`/`cancelled` (incl. agent-cleared/timeout), flush the queue
|
|
13
|
+
* in order. Crucially, a queued message is NOT resolved or marked read until it
|
|
14
|
+
* is actually delivered — so nothing advances the read cursor while it waits, and
|
|
15
|
+
* a restart mid-block leaves it unread and recoverable via `check_messages`.
|
|
16
|
+
*
|
|
17
|
+
* Prompt-answer key replay is deliberately NOT gated — that is the human's
|
|
18
|
+
* deliberate response and must reach the pane. The runtime enqueues those keys
|
|
19
|
+
* before it lets the gate flush, so the answer submits before any queued chat.
|
|
20
|
+
*/
|
|
21
|
+
/** The prompt fields the gate needs off a realtime `:prompts` event. */
|
|
22
|
+
export interface PromptGateEvent {
|
|
23
|
+
id: number;
|
|
24
|
+
/** The agent whose terminal the prompt is on. The gate ignores other agents'
|
|
25
|
+
* prompts — they don't block THIS pane. */
|
|
26
|
+
agent?: number | null;
|
|
27
|
+
/** "pending" opens the block; "answered"/"cancelled" resolve it. */
|
|
28
|
+
status: string;
|
|
29
|
+
}
|
|
30
|
+
export interface PromptGateOptions {
|
|
31
|
+
/** This runtime's agent id — only its own prompts gate its pane. */
|
|
32
|
+
selfAgentId: number;
|
|
33
|
+
/** Actually deliver a message (resolve → notify pane → mark read). Called
|
|
34
|
+
* immediately when unblocked, or per queued item on flush. */
|
|
35
|
+
deliver: (id: number, edited: boolean) => Promise<void>;
|
|
36
|
+
log?: (line: string) => void;
|
|
37
|
+
/** Soft threshold: when the queue first passes this size, log a warning so a
|
|
38
|
+
* stuck-open prompt holding many messages is visible. The queue is NOT capped
|
|
39
|
+
* by dropping — TaskFlow read cursors are high-water per channel (unread is
|
|
40
|
+
* `id > read_cursor`), so dropping a queued id while a later same-channel
|
|
41
|
+
* message flushes + marks read would make the dropped id unrecoverable. Each
|
|
42
|
+
* entry is just an id + flag (tiny), and the queue only lives for the duration
|
|
43
|
+
* of one open prompt, so it is bounded in practice by message volume. */
|
|
44
|
+
warnThreshold?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface PromptGate {
|
|
47
|
+
/** Route one inbound message: deliver now, or queue if a prompt is open. */
|
|
48
|
+
onMessage: (id: number, edited?: boolean) => void | Promise<void>;
|
|
49
|
+
/** Feed every `:prompts` event: opens/resolves the block for this agent. */
|
|
50
|
+
onPromptState: (prompt: PromptGateEvent) => void;
|
|
51
|
+
/** Authoritative reconcile — replace the open-prompt set with the backend's
|
|
52
|
+
* current pending prompts for this agent. Used to hydrate on connect/reconnect
|
|
53
|
+
* so a prompt created (or resolved) while the stream was down is still
|
|
54
|
+
* reflected, closing the gap where realtime `:prompts` events were missed. */
|
|
55
|
+
setOpenPrompts: (promptIds: number[]) => void;
|
|
56
|
+
/** True while at least one of this agent's prompts is open. */
|
|
57
|
+
isBlocked: () => boolean;
|
|
58
|
+
/** How many messages are waiting to be flushed. */
|
|
59
|
+
queueLength: () => number;
|
|
60
|
+
}
|
|
61
|
+
export declare function createPromptGate(options: PromptGateOptions): PromptGate;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #127: pause pane message delivery while THIS agent has an open prompt.
|
|
3
|
+
*
|
|
4
|
+
* The problem: message delivery and prompt-answer replay share one live terminal
|
|
5
|
+
* surface. If a chat message is typed into the pane while a permission/question
|
|
6
|
+
* prompt is waiting, the text lands in the prompt and can submit an answer nobody
|
|
7
|
+
* chose. Blocking the sender's UI is not enough — another human or agent can send
|
|
8
|
+
* a message that reaches the same pane.
|
|
9
|
+
*
|
|
10
|
+
* The fix, at the delivery layer: when a prompt for this agent is `pending`, hold
|
|
11
|
+
* inbound message deliveries in a bounded queue instead of typing them; when the
|
|
12
|
+
* prompt is `answered`/`cancelled` (incl. agent-cleared/timeout), flush the queue
|
|
13
|
+
* in order. Crucially, a queued message is NOT resolved or marked read until it
|
|
14
|
+
* is actually delivered — so nothing advances the read cursor while it waits, and
|
|
15
|
+
* a restart mid-block leaves it unread and recoverable via `check_messages`.
|
|
16
|
+
*
|
|
17
|
+
* Prompt-answer key replay is deliberately NOT gated — that is the human's
|
|
18
|
+
* deliberate response and must reach the pane. The runtime enqueues those keys
|
|
19
|
+
* before it lets the gate flush, so the answer submits before any queued chat.
|
|
20
|
+
*/
|
|
21
|
+
const DEFAULT_WARN_THRESHOLD = 200;
|
|
22
|
+
export function createPromptGate(options) {
|
|
23
|
+
const log = options.log ?? (() => { });
|
|
24
|
+
const warnThreshold = options.warnThreshold ?? DEFAULT_WARN_THRESHOLD;
|
|
25
|
+
// Open prompt ids for THIS agent. A set, not a boolean: a prompt SET can raise
|
|
26
|
+
// several, and delivery must stay paused until the last one clears.
|
|
27
|
+
const open = new Set();
|
|
28
|
+
const queue = [];
|
|
29
|
+
let flushing = false;
|
|
30
|
+
const flush = async () => {
|
|
31
|
+
// One flush at a time; if a new prompt opens mid-flush the loop stops and the
|
|
32
|
+
// remainder waits for the next resolve.
|
|
33
|
+
if (flushing)
|
|
34
|
+
return;
|
|
35
|
+
flushing = true;
|
|
36
|
+
try {
|
|
37
|
+
while (queue.length > 0 && open.size === 0) {
|
|
38
|
+
const next = queue.shift();
|
|
39
|
+
try {
|
|
40
|
+
await options.deliver(next.id, next.edited);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
log(`prompt-gate: could not deliver queued message ${next.id} (${err.message.split("\n")[0]})`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
flushing = false;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
onMessage: (id, edited = false) => {
|
|
53
|
+
if (open.size === 0)
|
|
54
|
+
return options.deliver(id, edited);
|
|
55
|
+
// Never drop: a dropped id would be lost, because a later same-channel
|
|
56
|
+
// message flushing + marking read advances the high-water cursor past it.
|
|
57
|
+
// Entries are tiny (id + flag) and live only while the prompt is open.
|
|
58
|
+
queue.push({ id, edited });
|
|
59
|
+
if (queue.length === warnThreshold) {
|
|
60
|
+
log(`prompt-gate: ${queue.length}+ messages queued behind an open prompt — will flush when it resolves`);
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
},
|
|
64
|
+
setOpenPrompts: (promptIds) => {
|
|
65
|
+
open.clear();
|
|
66
|
+
for (const promptId of promptIds)
|
|
67
|
+
open.add(promptId);
|
|
68
|
+
if (open.size === 0) {
|
|
69
|
+
void flush();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
log(`prompt-gate: hydrated ${open.size} open prompt(s) — pausing pane message delivery`);
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
onPromptState: (prompt) => {
|
|
76
|
+
// Only THIS agent's prompts block THIS pane.
|
|
77
|
+
if (prompt.agent !== options.selfAgentId)
|
|
78
|
+
return;
|
|
79
|
+
if (prompt.status === "pending") {
|
|
80
|
+
const wasOpen = open.size > 0;
|
|
81
|
+
open.add(prompt.id);
|
|
82
|
+
if (!wasOpen)
|
|
83
|
+
log(`prompt-gate: prompt ${prompt.id} open — pausing pane message delivery`);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// answered / cancelled (incl. agent-cleared or timed-out): resolve it.
|
|
87
|
+
if (open.delete(prompt.id) && open.size === 0) {
|
|
88
|
+
log(`prompt-gate: prompt ${prompt.id} ${prompt.status} — resuming delivery, flushing ${queue.length} queued`);
|
|
89
|
+
void flush();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
isBlocked: () => open.size > 0,
|
|
94
|
+
queueLength: () => queue.length,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=prompt-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-gate.js","sourceRoot":"","sources":["../src/prompt-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { formatIncoming, shouldDeliver, startAgentEventStream } from "./events.js";
|
|
19
19
|
import { detectTmuxPane, notifyPane, sendKeySteps, sendKeyToPane, startMirrorLoop, } from "./tmux.js";
|
|
20
20
|
import { createSerialQueue } from "./pane-queue.js";
|
|
21
|
+
import { createPromptGate } from "./prompt-gate.js";
|
|
21
22
|
import { stepsForPrompt } from "./prompts.js";
|
|
22
23
|
import { resolveMessage } from "./resolve.js";
|
|
23
24
|
import { findConfigPath, loadConfigFile, resolveProfileOrAsk, } from "./config.js";
|
|
@@ -70,19 +71,80 @@ export function startAgentRuntime(ctx, log) {
|
|
|
70
71
|
// `check_messages` defaults to unread_only, so advancing the cursor here
|
|
71
72
|
// would drop the message for good (see planning/spec-message-delivery.md) —
|
|
72
73
|
// leaving it unread is what makes `check_messages` still work.
|
|
74
|
+
// #127: created-message deliveries this runtime has already made, so the same
|
|
75
|
+
// id is never typed into the pane twice. The reconnect catch-up (unread REST)
|
|
76
|
+
// and the buffered live `:messages` frame can both target a message posted just
|
|
77
|
+
// after reconnect — `resolveMessage` fetches by id (not `unread=true`), so the
|
|
78
|
+
// catch-up `markRead` does NOT suppress the live frame. Bounded (ids only).
|
|
79
|
+
const deliveredIds = new Set();
|
|
80
|
+
const DELIVERED_CAP = 1000;
|
|
73
81
|
const deliverMessageById = async (id, edited = false) => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
// Reserve the id SYNCHRONOUSLY (before any await) so two concurrent
|
|
83
|
+
// deliveries of the same created message can't both pass the check and type
|
|
84
|
+
// it twice. An edit (edited=true, #107) is an intentional re-delivery and is
|
|
85
|
+
// never deduped.
|
|
86
|
+
if (!edited) {
|
|
87
|
+
if (deliveredIds.has(id))
|
|
88
|
+
return;
|
|
89
|
+
deliveredIds.add(id);
|
|
90
|
+
if (deliveredIds.size > DELIVERED_CAP) {
|
|
91
|
+
// Sets keep insertion order — drop the oldest to stay bounded.
|
|
92
|
+
const oldest = deliveredIds.values().next().value;
|
|
93
|
+
if (oldest !== undefined)
|
|
94
|
+
deliveredIds.delete(oldest);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
let delivered = false;
|
|
98
|
+
try {
|
|
99
|
+
const message = await resolveMessage(messageSourceFor(client), id);
|
|
100
|
+
if (!message)
|
|
101
|
+
return;
|
|
102
|
+
if (!shouldDeliver(message, profile.agentId))
|
|
103
|
+
return;
|
|
104
|
+
if (!pane)
|
|
105
|
+
return;
|
|
106
|
+
await paneQueue(() => notifyPane(formatIncoming(message, message.attachments ?? [], profile.agentId, edited), pane, true));
|
|
107
|
+
// For an edit of an already-read message this is a no-op — the cursor only
|
|
108
|
+
// ever moves forward — which is exactly right: redelivery is a notice, not
|
|
109
|
+
// new unread state.
|
|
110
|
+
await client.markRead(message.channel, message.id);
|
|
111
|
+
delivered = true;
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
// Reserved but not actually delivered (no pane, unresolved, or an error):
|
|
115
|
+
// release the id so a later attempt (catch-up/retry) can still deliver it.
|
|
116
|
+
// A skipped own-message (shouldDeliver=false) is released too — harmless,
|
|
117
|
+
// it never writes to the pane.
|
|
118
|
+
if (!edited && !delivered)
|
|
119
|
+
deliveredIds.delete(id);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
// #127: gate pane delivery on this agent's open prompts. While a prompt is
|
|
123
|
+
// pending, gate.onMessage queues instead of calling deliverMessageById, so no
|
|
124
|
+
// chat text is typed into the prompt and nothing marks the message read; on
|
|
125
|
+
// answer/cancel it flushes in order. Prompt-answer key replay is NOT gated (it
|
|
126
|
+
// is the human's deliberate response) and is enqueued into the pane BEFORE the
|
|
127
|
+
// gate flushes — see handleFrame's ordering in events.ts.
|
|
128
|
+
const promptGate = createPromptGate({
|
|
129
|
+
selfAgentId: profile.agentId,
|
|
130
|
+
deliver: deliverMessageById,
|
|
131
|
+
log,
|
|
132
|
+
});
|
|
133
|
+
// #127: hydrate the gate's open-prompt state from an authoritative read.
|
|
134
|
+
// Realtime `:prompts` events are at-most-once and never replayed, so a prompt
|
|
135
|
+
// raised while the stream was down — or one already pending when this process
|
|
136
|
+
// (re)starts — would be invisible to the gate and let catch-up type chat into
|
|
137
|
+
// the open prompt. Reconciling against the backend's current pending set before
|
|
138
|
+
// catch-up delivery closes that gap (and resumes if it resolved during an
|
|
139
|
+
// outage). Best-effort: a failed read must not wedge startup.
|
|
140
|
+
const hydrateOpenPrompts = async () => {
|
|
141
|
+
try {
|
|
142
|
+
const prompts = await client.listOpenPrompts();
|
|
143
|
+
promptGate.setOpenPrompts(prompts.map((p) => p.id));
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
log(`could not hydrate open prompts (${err.message.split("\n")[0]})`);
|
|
147
|
+
}
|
|
86
148
|
};
|
|
87
149
|
// On RE-connect, deliver anything that arrived while the stream was down.
|
|
88
150
|
// The live push is at-most-once and never redelivers, so a message sent
|
|
@@ -113,7 +175,9 @@ export function startAgentRuntime(ctx, log) {
|
|
|
113
175
|
}
|
|
114
176
|
for (const id of ids) {
|
|
115
177
|
try {
|
|
116
|
-
|
|
178
|
+
// Through the gate: if a prompt is open, these queue too (and stay
|
|
179
|
+
// unread) rather than typing into the prompt.
|
|
180
|
+
await promptGate.onMessage(id);
|
|
117
181
|
}
|
|
118
182
|
catch (err) {
|
|
119
183
|
log(`catch-up could not deliver ${id} (${err.message.split("\n")[0]})`);
|
|
@@ -132,8 +196,15 @@ export function startAgentRuntime(ctx, log) {
|
|
|
132
196
|
server: profile.server,
|
|
133
197
|
key: profile.key,
|
|
134
198
|
log,
|
|
135
|
-
//
|
|
136
|
-
|
|
199
|
+
// #127 barrier (awaited before any frame is parsed — see events.ts): hydrate
|
|
200
|
+
// this agent's open-prompt state first, so a live message or catch-up can't be
|
|
201
|
+
// typed into an already-open prompt; then, on a reconnect only, deliver what
|
|
202
|
+
// was missed while the stream was down.
|
|
203
|
+
onConnected: async (isReconnect) => {
|
|
204
|
+
await hydrateOpenPrompts();
|
|
205
|
+
if (isReconnect)
|
|
206
|
+
await catchUpUnread();
|
|
207
|
+
},
|
|
137
208
|
// The stream has failed to reconnect for a sustained stretch — tell the
|
|
138
209
|
// agent its live feed is paused so it does not sit waiting on a dead stream.
|
|
139
210
|
// Typed through the same serial queue as messages so it cannot interleave
|
|
@@ -187,12 +258,16 @@ export function startAgentRuntime(ctx, log) {
|
|
|
187
258
|
// an edit (#107), delivered with an EDITED framing so the agent
|
|
188
259
|
// continues from the revised content rather than treating it as new.
|
|
189
260
|
try {
|
|
190
|
-
|
|
261
|
+
// #127: through the gate — queued (not typed) while a prompt is open.
|
|
262
|
+
await promptGate.onMessage(event.id, action === "updated");
|
|
191
263
|
}
|
|
192
264
|
catch (err) {
|
|
193
265
|
log(`could not deliver message ${event.id} (${err.message.split("\n")[0]})`);
|
|
194
266
|
}
|
|
195
267
|
},
|
|
268
|
+
// #127: track this agent's prompt open/resolved state so message delivery is
|
|
269
|
+
// paused while a prompt waits and flushed once it is answered/cancelled.
|
|
270
|
+
onPromptState: (prompt) => promptGate.onPromptState(prompt),
|
|
196
271
|
// A human pressed a key in the dashboard terminal. The event is broadcast
|
|
197
272
|
// to the whole project, so act only on keys addressed to THIS agent's
|
|
198
273
|
// pane; send-keys types it as a key NAME (not the literal word).
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dalmasonto/taskflow-mcp",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"description": "TaskFlow MCP server + Claude Code hooks — multi-agent task board, realtime chat, reviews, terminal streaming, and activity logging for AI coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|