@dalmasonto/taskflow-mcp 2.5.0 → 2.6.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/resolve.d.ts CHANGED
@@ -43,6 +43,8 @@ export interface ResolvedMessage {
43
43
  size_bytes: number;
44
44
  url: string;
45
45
  }>;
46
+ /** #317: the message this one replies to (same channel), or null. */
47
+ reply_to?: number | null;
46
48
  }
47
49
  /** Parse the message's `targets` column — a JSON string like
48
50
  * `[{"kind":"agent","id":1}]` on the read row — into a validated array.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA0BH;;;4DAG4D;AAC5D,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,KAAK,GAAY,GAAG,CAAC;IACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAC;YACrD,MAAM,EAAE,GAAI,KAAiC,CAAC,EAAE,CAAC;YACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAqB,EACrB,EAAU;IAEV,IAAI,QAA+B,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,yEAAyE;YACzE,0EAA0E;YAC1E,kBAAkB;YAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,uEAAuE;YACvE,qEAAqE;YACrE,uCAAuC;YACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IAC5E,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,IAAI,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAE,OAAiC,CAAC,OAAO,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA4BH;;;4DAG4D;AAC5D,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,KAAK,GAAY,GAAG,CAAC;IACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAC;YACrD,MAAM,EAAE,GAAI,KAAiC,CAAC,EAAE,CAAC;YACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAqB,EACrB,EAAU;IAEV,IAAI,QAA+B,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,yEAAyE;YACzE,0EAA0E;YAC1E,kBAAkB;YAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,uEAAuE;YACvE,qEAAqE;YACrE,uCAAuC;YACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IAC5E,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,IAAI,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAE,OAAiC,CAAC,OAAO,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/runtime.js CHANGED
@@ -16,7 +16,7 @@
16
16
  * both take exactly the same path to a live agent.
17
17
  */
18
18
  import { formatIncoming, shouldDeliver, startAgentEventStream } from "./events.js";
19
- import { detectTmuxPane, notifyPane, sendKeySteps, sendKeyToPane, startMirrorLoop, } from "./tmux.js";
19
+ import { detectTmuxPane, notifyPane, sendKeySteps, sendKeyToPane, typeLineToPane, startMirrorLoop, } from "./tmux.js";
20
20
  import { createSerialQueue } from "./pane-queue.js";
21
21
  import { createPromptGate } from "./prompt-gate.js";
22
22
  import { stepsForPrompt } from "./prompts.js";
@@ -78,6 +78,16 @@ export function startAgentRuntime(ctx, log) {
78
78
  // catch-up `markRead` does NOT suppress the live frame. Bounded (ids only).
79
79
  const deliveredIds = new Set();
80
80
  const DELIVERED_CAP = 1000;
81
+ const readParent = async (channel, parentId) => {
82
+ try {
83
+ const page = await client.listMessages({ channel, since: parentId - 1, limit: 1 });
84
+ const row = page.messages.find((m) => m.id === parentId);
85
+ return row ? { id: row.id, sender_label: row.sender_label, body_markdown: row.body_markdown } : null;
86
+ }
87
+ catch {
88
+ return null;
89
+ }
90
+ };
81
91
  const deliverMessageById = async (id, edited = false) => {
82
92
  // Reserve the id SYNCHRONOUSLY (before any await) so two concurrent
83
93
  // deliveries of the same created message can't both pass the check and type
@@ -103,7 +113,11 @@ export function startAgentRuntime(ctx, log) {
103
113
  return;
104
114
  if (!pane)
105
115
  return;
106
- await paneQueue(() => notifyPane(formatIncoming(message, message.attachments ?? [], profile.agentId, edited), pane, true));
116
+ // #317: a reply quotes what it answers, so the agent reads it in context.
117
+ // The parent is in the SAME channel, so one windowed read finds it; a
118
+ // failure only drops the quote, never the delivery.
119
+ const replyParent = message.reply_to != null ? await readParent(message.channel, message.reply_to) : null;
120
+ await paneQueue(() => notifyPane(formatIncoming(message, message.attachments ?? [], profile.agentId, edited, replyParent), pane, true));
107
121
  // For an edit of an already-read message this is a no-op — the cursor only
108
122
  // ever moves forward — which is exactly right: redelivery is a notice, not
109
123
  // new unread state.
@@ -146,46 +160,31 @@ export function startAgentRuntime(ctx, log) {
146
160
  log(`could not hydrate open prompts (${err.message.split("\n")[0]})`);
147
161
  }
148
162
  };
149
- // On RE-connect, deliver anything that arrived while the stream was down.
150
- // The live push is at-most-once and never redelivers, so a message sent
151
- // during a backend/session restart would otherwise only surface via a
152
- // manual check_messages — the "messages aren't coming" gap. Delivering
153
- // unread (oldest first) closes it; already-delivered messages are past the
154
- // read cursor, so they are not repeated.
155
- const catchUpUnread = async () => {
156
- // Nowhere to deliver, and `deliverMessageById` would drop every one of
157
- // them anyway — so fetching the backlog is pure cost. `check_messages`
158
- // still surfaces them on demand, which is the whole point of leaving
159
- // them unread.
163
+ // On RE-connect, say how much arrived while the stream was down — but do NOT
164
+ // type it. The live push is at-most-once, so a message sent during a
165
+ // backend/session restart is only reachable through check_messages. Typing the
166
+ // whole backlog into the pane (the old behaviour) flooded a terminal the
167
+ // human was typing in (#383); one line naming the count lets the agent read
168
+ // them when it chooses. They stay unread, so check_messages' unread-first
169
+ // default surfaces exactly these.
170
+ const noticeUnread = async () => {
171
+ // Nowhere to type the notice, so counting the backlog is pure cost.
160
172
  if (!pane)
161
173
  return;
162
174
  try {
163
175
  const channels = await client.listChannels();
164
- const ids = [];
176
+ let count = 0;
165
177
  for (const channel of channels) {
166
178
  const page = await client.listMessages({ channel: channel.id, unread: true });
167
- for (const row of page.messages) {
168
- if (typeof row.id === "number")
169
- ids.push(row.id);
170
- }
171
- }
172
- ids.sort((a, b) => a - b);
173
- if (ids.length) {
174
- log(`reconnect catch-up — ${ids.length} missed message(s)`);
175
- }
176
- for (const id of ids) {
177
- try {
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);
181
- }
182
- catch (err) {
183
- log(`catch-up could not deliver ${id} (${err.message.split("\n")[0]})`);
184
- }
179
+ count += page.messages.length;
185
180
  }
181
+ if (!count)
182
+ return;
183
+ log(`reconnect — ${count} unread message(s) left for check_messages`);
184
+ await paneQueue(() => notifyPane(`[taskflow] ${count} unread message(s) arrived while disconnected — call check_messages when you are ready to read them.`, pane, true));
186
185
  }
187
186
  catch (err) {
188
- log(`reconnect catch-up failed (${err.message.split("\n")[0]})`);
187
+ log(`reconnect unread count failed (${err.message.split("\n")[0]})`);
189
188
  }
190
189
  };
191
190
  // Instant delivery: hold the event stream open and write each incoming
@@ -197,13 +196,12 @@ export function startAgentRuntime(ctx, log) {
197
196
  key: profile.key,
198
197
  log,
199
198
  // #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.
199
+ // this agent's open-prompt state first, so a live message can't be typed into
200
+ // an already-open prompt; then, on a reconnect only, name what was missed.
203
201
  onConnected: async (isReconnect) => {
204
202
  await hydrateOpenPrompts();
205
203
  if (isReconnect)
206
- await catchUpUnread();
204
+ await noticeUnread();
207
205
  },
208
206
  // The stream has failed to reconnect for a sustained stretch — tell the
209
207
  // agent its live feed is paused so it does not sit waiting on a dead stream.
@@ -217,7 +215,7 @@ export function startAgentRuntime(ctx, log) {
217
215
  `If this persists, check the backend/connection.`, pane, true));
218
216
  },
219
217
  // Back after an outage the agent was told about: say so, so it knows live
220
- // delivery has resumed (catchUpUnread has already replayed anything missed).
218
+ // delivery has resumed (noticeUnread has already named anything missed).
221
219
  onRecovered: async () => {
222
220
  if (!pane)
223
221
  return;
@@ -228,6 +226,13 @@ export function startAgentRuntime(ctx, log) {
228
226
  // No pane, no keyboard to replay the answer on.
229
227
  if (!pane)
230
228
  return;
229
+ // #132: the `:prompts` group is per-PROJECT, so every connected agent
230
+ // sees every answer. Replay only this agent's — otherwise one human answer
231
+ // is typed into every agent's terminal. Not filtered on `session`: the
232
+ // hook registers its own session row (`tmux:host:pane`), distinct from
233
+ // this runtime's, so the ids never match.
234
+ if (prompt.agent !== profile.agentId)
235
+ return;
231
236
  // A prompt may carry SEVERAL questions, each with its own kind, and
232
237
  // the terminal shows them one at a time. stepsForPrompt replays them
233
238
  // in order and returns nothing at all for a half-answered set —
@@ -277,6 +282,19 @@ export function startAgentRuntime(ctx, log) {
277
282
  return;
278
283
  if (input.agent !== profile.agentId)
279
284
  return;
285
+ // #180: a line the human typed (a `/command` or a prompt) — typed
286
+ // literally and submitted with one Enter.
287
+ if (input.text) {
288
+ const text = input.text;
289
+ try {
290
+ await paneQueue(() => typeLineToPane(text, pane));
291
+ log(`terminal text (${text.length} chars) → pane ${pane}`);
292
+ }
293
+ catch (err) {
294
+ log(`could not type terminal text (${err.message.split("\n")[0]})`);
295
+ }
296
+ return;
297
+ }
280
298
  try {
281
299
  await paneQueue(() => sendKeyToPane(input.keys, pane));
282
300
  log(`terminal key "${input.keys}" → pane ${pane}`);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAA4C,MAAM,cAAc,CAAC;AACxF,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAyB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC;AAEzF;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAsB;IAC9C,OAAO;QACL,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QACzC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,YAAY,CAAC,MAAM,CAA6C;KAC1E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAqB,EACrB,GAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAC/C,IAAI,IAAI;QAAE,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IAE7C,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IAEtC,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,kDAAkD;IAClD,EAAE;IACF,8EAA8E;IAC9E,mEAAmE;IACnE,yEAAyE;IACzE,4EAA4E;IAC5E,+DAA+D;IAC/D,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,4EAA4E;IAC5E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC;IAE3B,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAU,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;QAC9D,oEAAoE;QACpE,4EAA4E;QAC5E,6EAA6E;QAC7E,iBAAiB;QACjB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO;YACjC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,YAAY,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC;gBACtC,+DAA+D;gBAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBAClD,IAAI,MAAM,KAAK,SAAS;oBAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBAAE,OAAO;YACrD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,SAAS,CAAC,GAAG,EAAE,CACnB,UAAU,CACR,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAC3E,IAAI,EACJ,IAAI,CACL,CACF,CAAC;YACF,2EAA2E;YAC3E,2EAA2E;YAC3E,oBAAoB;YACpB,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACnD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,0EAA0E;YAC1E,2EAA2E;YAC3E,0EAA0E;YAC1E,+BAA+B;YAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;gBAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,0DAA0D;IAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,OAAO,EAAE,kBAAkB;QAC3B,GAAG;KACJ,CAAC,CAAC;IAEH,yEAAyE;IACzE,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/C,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,mCAAoC,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC;IAEF,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,2EAA2E;IAC3E,yCAAyC;IACzC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,eAAe;QACf,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9E,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAkC,EAAE,CAAC;oBAC1D,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;wBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,GAAG,CAAC,wBAAwB,GAAG,CAAC,MAAM,oBAAoB,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,mEAAmE;oBACnE,8CAA8C;oBAC9C,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,8BAA8B,EAAE,KAAM,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,8BAA+B,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC;IAEF,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,8BAA8B;IAC9B,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG;QACH,6EAA6E;QAC7E,+EAA+E;QAC/E,6EAA6E;QAC7E,wCAAwC;QACxC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACjC,MAAM,kBAAkB,EAAE,CAAC;YAC3B,IAAI,WAAW;gBAAE,MAAM,aAAa,EAAE,CAAC;QACzC,CAAC;QACD,wEAAwE;QACxE,6EAA6E;QAC7E,0EAA0E;QAC1E,+DAA+D;QAC/D,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,SAAS,CAAC,GAAG,EAAE,CACnB,UAAU,CACR,+CAA+C,QAAQ,8BAA8B;gBACnF,kGAAkG;gBAClG,iDAAiD,EACnD,IAAI,EACJ,IAAI,CACL,CACF,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,SAAS,CAAC,GAAG,EAAE,CACnB,UAAU,CAAC,uEAAuE,EAAE,IAAI,EAAE,IAAI,CAAC,CAChG,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjC,gDAAgD;YAChD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,oEAAoE;YACpE,qEAAqE;YACrE,gEAAgE;YAChE,8DAA8D;YAC9D,qEAAqE;YACrE,MAAM,KAAK,GAAG,cAAc,CAC1B,MAAM,CAAC,YAAY,IAAI,EAAE,EACzB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAC/B,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CACpD,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO;YAC1B,IAAI,CAAC;gBACH,4DAA4D;gBAC5D,4DAA4D;gBAC5D,qEAAqE;gBACrE,wDAAwD;gBACxD,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBACjD,GAAG,CAAC,mBAAmB,MAAM,CAAC,EAAE,SAAS,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CACD,2BAA2B,MAAM,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAClF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjC,qEAAqE;YACrE,iEAAiE;YACjE,uEAAuE;YACvE,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,gEAAgE;YAChE,qEAAqE;YACrE,IAAI,CAAC;gBACH,sEAAsE;gBACtE,MAAM,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,6BAA6B,KAAK,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,yEAAyE;QACzE,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;QAC3D,0EAA0E;QAC1E,sEAAsE;QACtE,iEAAiE;QACjE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,uCAAuC;YACvC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO;gBAAE,OAAO;YAC5C,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvD,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,MAAO,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,uDAAuD;IACvD,IAAI,UAAU,GAAwB,IAAI,CAAC;IAC3C,IAAI,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QAClD,UAAU,GAAG,eAAe,CAAC;YAC3B,MAAM;YACN,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,GAAG;YACH,2EAA2E;YAC3E,uEAAuE;YACvE,gEAAgE;YAChE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,IAAI,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjE,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,4EAA4E;QAC5E,wEAAwE;QACxE,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,YAAY,CAAC;YACX,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,6CAA6C;YACpF,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,GAAG,EAAE;QACV,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,yEAAyE;QACzE,sEAAsE;QACtE,qEAAqE;QACrE,kEAAkE;QAClE,UAAU,EAAE,EAAE,CAAC;QACf,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAmC,EAAE;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAEzF,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,eAAe,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,sBAAsB,KAAK,+BAA+B,CAAC,CAAC;QACzG,SAAS,CAAC,wBAAwB,KAAK,4DAA4D,CAAC,CAAC;QACrG,OAAO;IACT,CAAC;IACD,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,6EAA6E;AAC7E,IAAI,OAAO,GAA4B,IAAI,CAAC;AAC5C,uEAAuE;AACvE,IAAI,cAAc,GAAwB,IAAI,CAAC;AAC/C;;;;;;;;;GASG;AACH,IAAI,YAAgC,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAwB,EAAE,IAAmB;IACrE,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,wEAAwE;IACxE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,cAAc,EAAE,EAAE,CAAC;IACnB,cAAc,GAAG,IAAI,CAAC;IAEtB,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,YAAY,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,eAAe,CAAC;QACxB,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACnD,yEAAyE;YACzE,kCAAkC;YAClC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,cAAc,GAAG,QAAQ,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAwB;IAC1D,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtD,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -541,9 +541,14 @@ export function buildServer(options = {}) {
541
541
  }
542
542
  });
543
543
  // ---- messaging ----
544
- server.tool("send_message", "Send a chat message as this agent into a channel. Use list_channels to find channel ids.", {
544
+ server.tool("send_message", "Send a chat message as this agent into a channel. Use list_channels to find channel ids. To ANSWER a specific message, pass its id as `reply_to` (the `message=` id in a delivered notice's ⟦ctx⟧ block, or `id` from check_messages): the reply is linked to it and shown quoted, so a thread stays readable when several conversations interleave. `reply_to` must be a message in the same channel. To MENTION someone or a design page, write it by id so it renders as a chip and cannot be confused with a similar name: [@Name](agent:ID), [@Name](user:ID) (ids from list_agents / the ⟦ctx⟧ from= field), or [@Page name](page:/route). You will see mentions of you in the same form.", {
545
545
  channel: z.number().int().describe("Channel id to post in."),
546
546
  body: z.string().min(1).describe("Message body (markdown)."),
547
+ reply_to: z
548
+ .number()
549
+ .int()
550
+ .optional()
551
+ .describe("The id of the message this answers (same channel). Omit for a new line of conversation."),
547
552
  priority: z
548
553
  .enum(["normal", "important", "urgent"])
549
554
  .optional()
@@ -557,7 +562,7 @@ export function buildServer(options = {}) {
557
562
  .optional()
558
563
  .describe("Ignored for placement — the destination channel decides where a message lands; kept only for compatibility. Design has its own room (one per project: the channel with is_design true in list_channels), so post design replies there."),
559
564
  ...profileArg,
560
- }, async ({ channel, body, priority, files, is_design, profile }) => {
565
+ }, async ({ channel, body, reply_to, priority, files, is_design, profile }) => {
561
566
  try {
562
567
  const picked = await clientFor(profile);
563
568
  if (!picked.ok)
@@ -572,6 +577,7 @@ export function buildServer(options = {}) {
572
577
  priority,
573
578
  is_design,
574
579
  attachments,
580
+ ...(reply_to === undefined ? {} : { reply_to }),
575
581
  }));
576
582
  }
577
583
  catch (err) {
@@ -842,7 +848,7 @@ export function buildServer(options = {}) {
842
848
  }
843
849
  return identity.project;
844
850
  }
845
- server.tool("design_get_tokens", "Read the design token scale as BOTH the json map (`tokens_json`, the source of truth) and generated CSS (`tokens_css`). ALWAYS call this before your first design write: raw hex/px values are rejected — colour and spacing must come from these variables (e.g. bg-[var(--accent)]). The response also includes a `primitives` array documenting the built-in <ui-*> components (ui-accordion/ui-dialog/ui-sheet/ui-tabs) with their attrs and usage examples, and a `guide` string with the sandbox rules that are in no manifest: how a page links to another page, how a back control is written, and what a page may load from outside the sandbox. Read `guide` before your first fragment — it answers questions the registry cannot.", { ...designProjectArg, ...profileArg }, async ({ project, profile }) => {
851
+ server.tool("design_get_tokens", "Read the design token scale as BOTH the json map (`tokens_json`, the source of truth) and generated CSS (`tokens_css`). ALWAYS call this before your first design write: raw hex/px values are rejected — colour and spacing must come from these variables (e.g. bg-[var(--accent)]). The response also includes a `primitives` array documenting the built-in <ui-*> components (ui-accordion/ui-dialog/ui-sheet/ui-tabs) with their attrs and usage examples, and a `guide` string with the sandbox rules that are in no manifest: how a page links to another page, how a back control is written, and what a page may load from outside the sandbox. Read `guide` before your first fragment — it answers questions the registry cannot. The response's `resources` field is the project's styles/resources.json (webfonts loaded once for every page; null when none).", { ...designProjectArg, ...profileArg }, async ({ project, profile }) => {
846
852
  try {
847
853
  const picked = await clientFor(profile);
848
854
  if (!picked.ok)
@@ -866,7 +872,7 @@ export function buildServer(options = {}) {
866
872
  return fail(err);
867
873
  }
868
874
  });
869
- server.tool("design_read_layout", "Read how the project's PAGES ARE ARRANGED: the named page groups and what each one holds, the flow (the order the pages are presented in and the canvas draws in), and the name each page is listed under. design_list_components returns the registry as a FLAT array with no group and no order, so the arrangement cannot be recovered from it — if you need to know how pages are grouped, or in which order they come, ask THIS. Nothing to select: the arrangement is one document per project, so there is no route, group id or name to pass. `view` is the canvas arrangement (rows/bands/groups) and the grouping reads the same in all three. `version` is THIS arrangement's version — hand it to a layout write as `base_version` to be told if someone rearranged the board under you. (Note `revision` next to it is a different number: the manifest's, which moves when a page changes.) Arrange the board with design_create_group, design_update_group, design_reorder_group and design_reorder_page, which take an operation — never PUT a document built from this response back, because this is the panel's view and not the stored form.",
875
+ server.tool("design_read_layout", "Read how the project's PAGES ARE ARRANGED: the named page groups and what each one holds, the flow (the order the pages are presented in and the canvas draws in), and the name each page is listed under. design_list_components returns the registry as a FLAT array with no group and no order, so the arrangement cannot be recovered from it — if you need to know how pages are grouped, or in which order they come, ask THIS. Nothing to select: the arrangement is one document per project, so there is no route, group id or name to pass. `view` is the canvas arrangement (rows/bands/groups/flow — `flow` is the user-flow canvas) and the grouping reads the same in every one. `version` is THIS arrangement's version — hand it to a layout write as `base_version` to be told if someone rearranged the board under you. (Note `revision` next to it is a different number: the manifest's, which moves when a page changes.) It also returns the USER FLOW drawn as arrows on the Flow canvas: `edges` is a list of `{id, from, to, label?}` — a user goes from route `from` to route `to`, and the optional label names the path (\"new user\" / \"existing user\") — and `positions` maps a route to its fixed `{x, y}` node on that canvas (an unlisted page is auto-placed). Arrange the board with design_create_group, design_update_group, design_reorder_group, design_reorder_page and design_delete_group; draw the flow with design_link_pages and design_unlink_pages — or several edits at once with design_arrange (which also takes update_link and place_page) — all of which take operations — never PUT a document built from this response back, because this is the panel's view and not the stored form.",
870
876
  // The arrangement is one document per project, so there is nothing to
871
877
  // select: a route or a group id would be an argument this read has no use
872
878
  // for. The description says so as well, because a schema shows only what is
@@ -913,7 +919,7 @@ export function buildServer(options = {}) {
913
919
  return fail(err);
914
920
  }
915
921
  });
916
- server.tool("design_update_group", "Rename one page group. Membership and order are untouched, so a rename can never empty a group or move a page — putting pages somewhere is design_reorder_page's job, and a group is emptied by moving its pages out, never by renaming it. `group_id` comes from design_read_layout, or from the id design_create_group returned in `changed.groups`. The name must be non-blank, at most 40 characters, and not already used in this project (as with design_create_group). " +
922
+ server.tool("design_update_group", "Rename one page group. Membership and order are untouched, so a rename can never empty a group or move a page — putting pages somewhere is design_reorder_page's job, and a group is emptied by moving its pages out (or removed with design_delete_group), never by renaming it. `group_id` comes from design_read_layout, or from the id design_create_group returned in `changed.groups`. The name must be non-blank, at most 40 characters, and not already used in this project (as with design_create_group). " +
917
923
  baseVersionNote, {
918
924
  ...designProjectArg,
919
925
  group_id: z.string().describe("The id of the group to rename, from design_read_layout."),
@@ -1013,6 +1019,158 @@ export function buildServer(options = {}) {
1013
1019
  return fail(err);
1014
1020
  }
1015
1021
  });
1022
+ server.tool("design_delete_group", "Remove one page group. Its pages are NOT deleted: they fall back to the Ungrouped section, keeping their flow order — this removes a grouping, never a screen. `group_id` comes from design_read_layout (or from design_create_group's `changed.groups`); an unknown id is refused rather than ignored. " +
1023
+ baseVersionNote, {
1024
+ ...designProjectArg,
1025
+ group_id: z.string().describe("The id of the group to remove, from design_read_layout."),
1026
+ ...profileArg,
1027
+ ...baseVersionArg,
1028
+ }, async ({ project, group_id, base_version, profile }) => {
1029
+ try {
1030
+ const picked = await clientFor(profile);
1031
+ if (!picked.ok)
1032
+ return picked.refusal;
1033
+ const { client } = picked;
1034
+ return ok(await client.writeLayoutOp({
1035
+ project: await resolveDesignProject(client, project),
1036
+ op: { delete_group: { group_id } },
1037
+ ...(base_version === undefined ? {} : { base_version }),
1038
+ }));
1039
+ }
1040
+ catch (err) {
1041
+ return fail(err);
1042
+ }
1043
+ });
1044
+ // ---- The user flow (#508) --------------------------------------------------
1045
+ server.tool("design_link_pages", "Draw a flow arrow from one page to another. The Flow canvas draws the project's USER FLOW: each link is a directed arrow saying a user goes from one screen to another (e.g. `/welcome` → `/signup` labelled \"new user\", `/welcome` → `/login` labelled \"existing user\"). " +
1046
+ "Use it to show how a user moves between screens, including branches: link one screen to two others with different labels. `from` and `to` are routes (as design_read_layout's `pages[].route`); both must be pages in this project, a page cannot link to itself, and one arrow per direction (`/a`→`/b` and `/b`→`/a` are two different arrows; a second `/a`→`/b` is refused). `label` is optional, at most 40 characters. Returns the new link's id in `changed.edges` — keep it to relabel (design_arrange's update_link) or remove (design_unlink_pages) the arrow. " +
1047
+ baseVersionNote, {
1048
+ ...designProjectArg,
1049
+ from: z.string().min(1).describe("The route the user starts on, e.g. \"/welcome\"."),
1050
+ to: z.string().min(1).describe("The route the user goes to, e.g. \"/signup\"."),
1051
+ label: z
1052
+ .string()
1053
+ .max(40)
1054
+ .optional()
1055
+ .describe("Optional short label for the path, e.g. \"new user\" or \"existing user\"."),
1056
+ ...profileArg,
1057
+ ...baseVersionArg,
1058
+ }, async ({ project, from, to, label, base_version, profile }) => {
1059
+ try {
1060
+ const picked = await clientFor(profile);
1061
+ if (!picked.ok)
1062
+ return picked.refusal;
1063
+ const { client } = picked;
1064
+ return ok(await client.writeLayoutOp({
1065
+ project: await resolveDesignProject(client, project),
1066
+ op: { link_pages: { from, to, ...(label === undefined ? {} : { label }) } },
1067
+ ...(base_version === undefined ? {} : { base_version }),
1068
+ }));
1069
+ }
1070
+ catch (err) {
1071
+ return fail(err);
1072
+ }
1073
+ });
1074
+ server.tool("design_unlink_pages", "Remove one flow arrow from the Flow canvas (the pages themselves are untouched). Name it by `edge_id` (from design_read_layout's `edges[].id`, or the id design_link_pages returned in `changed.edges`) OR by both `from` and `to` routes — one way, not both. An unknown link is refused rather than ignored. " +
1075
+ baseVersionNote, {
1076
+ ...designProjectArg,
1077
+ edge_id: z.string().min(1).optional().describe("The link's id, from design_read_layout's `edges`."),
1078
+ from: z.string().min(1).optional().describe("Instead of edge_id: the arrow's start route (with `to`)."),
1079
+ to: z.string().min(1).optional().describe("Instead of edge_id: the arrow's end route (with `from`)."),
1080
+ ...profileArg,
1081
+ ...baseVersionArg,
1082
+ }, async ({ project, edge_id, from, to, base_version, profile }) => {
1083
+ try {
1084
+ const byId = edge_id !== undefined && from === undefined && to === undefined;
1085
+ const byPair = edge_id === undefined && from !== undefined && to !== undefined;
1086
+ if (!byId && !byPair) {
1087
+ throw new Error("Name the link by `edge_id`, or by both `from` and `to` (one way, not both).");
1088
+ }
1089
+ const picked = await clientFor(profile);
1090
+ if (!picked.ok)
1091
+ return picked.refusal;
1092
+ const { client } = picked;
1093
+ return ok(await client.writeLayoutOp({
1094
+ project: await resolveDesignProject(client, project),
1095
+ op: { unlink_pages: byId ? { edge_id: edge_id } : { from: from, to: to } },
1096
+ ...(base_version === undefined ? {} : { base_version }),
1097
+ }));
1098
+ }
1099
+ catch (err) {
1100
+ return fail(err);
1101
+ }
1102
+ });
1103
+ // #501: one op of a design_arrange batch — the same edits the single
1104
+ // tools make, in the route's own wire shape (plus #508's update_link and
1105
+ // place_page, which exist only here).
1106
+ const coord = z.number().finite();
1107
+ const layoutOpSchema = z.union([
1108
+ z.object({ create_group: z.object({ name: z.string() }).strict() }).strict(),
1109
+ z.object({ update_group: z.object({ group_id: z.string(), name: z.string() }).strict() }).strict(),
1110
+ z
1111
+ .object({ reorder_group: z.object({ group_id: z.string(), position: z.number().int().min(1) }).strict() })
1112
+ .strict(),
1113
+ z
1114
+ .object({
1115
+ reorder_page: z
1116
+ .object({
1117
+ route: z.string().min(1),
1118
+ group_id: z.string().optional(),
1119
+ position: z.number().int().min(1).optional(),
1120
+ })
1121
+ .strict()
1122
+ .refine((v) => v.group_id !== undefined || v.position !== undefined, {
1123
+ message: "reorder_page needs a group_id, a position, or both.",
1124
+ }),
1125
+ })
1126
+ .strict(),
1127
+ z.object({ delete_group: z.object({ group_id: z.string() }).strict() }).strict(),
1128
+ z
1129
+ .object({
1130
+ link_pages: z
1131
+ .object({ from: z.string().min(1), to: z.string().min(1), label: z.string().max(40).optional() })
1132
+ .strict(),
1133
+ })
1134
+ .strict(),
1135
+ z
1136
+ .object({
1137
+ unlink_pages: z.union([
1138
+ z.object({ edge_id: z.string().min(1) }).strict(),
1139
+ z.object({ from: z.string().min(1), to: z.string().min(1) }).strict(),
1140
+ ]),
1141
+ })
1142
+ .strict(),
1143
+ z
1144
+ .object({
1145
+ update_link: z.object({ edge_id: z.string().min(1), label: z.string().max(40).optional() }).strict(),
1146
+ })
1147
+ .strict(),
1148
+ z
1149
+ .object({ place_page: z.object({ route: z.string().min(1), x: coord, y: coord }).strict() })
1150
+ .strict(),
1151
+ ]);
1152
+ server.tool("design_arrange", "Apply SEVERAL arrangement edits as ONE write: `ops` is an ordered list, each item exactly one of {\"create_group\":{name}}, {\"update_group\":{group_id,name}}, {\"reorder_group\":{group_id,position}}, {\"reorder_page\":{route,group_id?,position?}}, {\"delete_group\":{group_id}}, and for the USER FLOW on the Flow canvas (arrows showing how a user moves between screens): {\"link_pages\":{from,to,label?}}, {\"unlink_pages\":{edge_id} or {from,to}}, {\"update_link\":{edge_id,label?}} (relabel an arrow; omit label to clear it), {\"place_page\":{route,x,y}} (pin a page's node at canvas coordinates, clamped to ±100000; this is NOT reorder_page, which moves a page in the list) — the same rules as the single tools of those names. Use it to file many pages into groups, reorder a whole section, or lay out a whole flow (link the screens and place each node) in one call. Link ids are minted by the server and reported in `changed.edges`; placed routes in `changed.positions`. The ops run in order, each on the result of the one before, and the batch is ALL OR NOTHING: if any op is refused, none is stored and the error names the failing index (`ops[2] (reorder_page) ...`). The whole batch is one version. A group created in the batch gets its id minted by the server, so a later op in the SAME batch cannot name it — create first, then arrange with the id from `changed.groups`. 1 to 100 ops; a one-item list behaves exactly like the single tool. " +
1153
+ baseVersionNote, {
1154
+ ...designProjectArg,
1155
+ ops: z.array(layoutOpSchema).min(1).max(100).describe("The edits, applied in order as one all-or-nothing write."),
1156
+ ...profileArg,
1157
+ ...baseVersionArg,
1158
+ }, async ({ project, ops, base_version, profile }) => {
1159
+ try {
1160
+ const picked = await clientFor(profile);
1161
+ if (!picked.ok)
1162
+ return picked.refusal;
1163
+ const { client } = picked;
1164
+ return ok(await client.writeLayoutOp({
1165
+ project: await resolveDesignProject(client, project),
1166
+ ops: ops,
1167
+ ...(base_version === undefined ? {} : { base_version }),
1168
+ }));
1169
+ }
1170
+ catch (err) {
1171
+ return fail(err);
1172
+ }
1173
+ });
1016
1174
  server.tool("design_read_component", "Read one component's source, version, and the routes that use it.", {
1017
1175
  name: z.string().min(1).describe("Component name, e.g. 'app-header'."),
1018
1176
  ...designProjectArg,
@@ -1045,7 +1203,7 @@ export function buildServer(options = {}) {
1045
1203
  return fail(err);
1046
1204
  }
1047
1205
  });
1048
- server.tool("design_write_page", "Write a page's BODY FRAGMENT (no <html>/<head>/<body>, no inline <style>, no raw <header>/<nav>/<footer>/<aside> — use registered components like <app-header>). Styling via Tailwind classes on the TOKEN scale only: bg-[#3b82f6] is rejected; bg-[var(--accent)] is not. Built-in <ui-accordion>/<ui-dialog>/<ui-sheet>/<ui-tabs> primitives are also available server-expanded — see design_get_tokens's `primitives` field for their names, attrs, and usage examples. CREATE SCREEN: this is the tool that adds one. If `route` does not exist yet, this call creates it — routes are derived from the page files, so writing '/billing' is all it takes and the new screen renders at the sandbox URL and appears in the manifest immediately. There is no separate create-page call to look for. Pass base_version from design_read_page so a sibling agent's concurrent edit conflicts loudly instead of being clobbered silently; omit it when the route is new.", {
1206
+ server.tool("design_write_page", "Write a page's BODY FRAGMENT (no <html>/<head>/<body>, no inline <style>, no raw <header>/<nav>/<footer>/<aside> — use registered components like <app-header>). Styling via Tailwind classes on the TOKEN scale only: bg-[#3b82f6] is rejected; bg-[var(--accent)] is not. Do NOT put a webfont <link> or its preconnect in a page — it loads for that page only; load it once in styles/resources.json via design_write_asset (a page that carries one is accepted with a `page-resource-link` warning). Built-in <ui-accordion>/<ui-dialog>/<ui-sheet>/<ui-tabs> primitives are also available server-expanded — see design_get_tokens's `primitives` field for their names, attrs, and usage examples. CREATE SCREEN: this is the tool that adds one. If `route` does not exist yet, this call creates it — routes are derived from the page files, so writing '/billing' is all it takes and the new screen renders at the sandbox URL and appears in the manifest immediately. There is no separate create-page call to look for. Pass base_version from design_read_page so a sibling agent's concurrent edit conflicts loudly instead of being clobbered silently; omit it when the route is new.", {
1049
1207
  route: z.string().min(1).describe("Route path to write or CREATE, e.g. '/settings'. A route that does not exist yet is created by this call."),
1050
1208
  html: z.string().min(1).describe("The full replacement fragment."),
1051
1209
  base_version: z.number().int().optional().describe("Version from design_read_page; omit to force."),
@@ -1101,7 +1259,24 @@ export function buildServer(options = {}) {
1101
1259
  return fail(err);
1102
1260
  }
1103
1261
  });
1104
- server.tool("design_write_asset", "Write one file that is NOT a page, a component or the token scale. Two shapes: `assets/<name>` — an image file (`.svg`, `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, `.ico`; a bare name like 'logo.svg' means assets/logo.svg) — or `styles/resources.json`, the external-resources document naming the project's web fonts and external script links, which design_write_tokens does NOT write. Content is TEXT, exactly like every other design write: an SVG goes in as its own markup, and raster bytes as `data:<image/png>;base64,<payload>`, which the server decodes when the file is served. An asset is served from the sandbox origin at `/s/{token}/f/assets/<name>` with its own content type — but nothing rewrites an `src=` into a sandbox URL the way links are rewritten, so a page cannot point at it by a relative path: for an image a page shows today use an https URL or a data: URI inside the fragment. Caps unchanged: 128 KB per file (rule `size-cap`), and a NEW file must also fit the project's 200-file / 4 MB budget. Pass base_version only when replacing an existing file.", {
1262
+ server.tool("design_delete_page", "Move one page (screen) to the TRASH — for a screen that is unwanted, a failed draft, or superseded. It stops rendering and drops out of the manifest, the canvas and the Pages panel at once, but it is NOT destroyed: the operator can restore it from the Pages panel's trash. Requires `reason` (at least 8 characters), which the operator reads when deciding whether to restore. Writing a NEW page at the same route later (design_write_page) discards the trashed copy for good. To remove a GROUP rather than a page, use design_delete_group — that keeps every page.", {
1263
+ route: z.string().min(1).describe("The page's route, e.g. '/settings' ('/' is the index page)."),
1264
+ reason: z.string().min(8).describe("Why this page should go."),
1265
+ ...designProjectArg,
1266
+ ...profileArg,
1267
+ }, async ({ route, reason, project, profile }) => {
1268
+ try {
1269
+ const picked = await clientFor(profile);
1270
+ if (!picked.ok)
1271
+ return picked.refusal;
1272
+ const { client } = picked;
1273
+ return ok(await client.trashDesignPage(await resolveDesignProject(client, project), route, reason));
1274
+ }
1275
+ catch (err) {
1276
+ return fail(err);
1277
+ }
1278
+ });
1279
+ server.tool("design_write_asset", "Write one file that is NOT a page, a component or the token scale. Two shapes: `assets/<name>` — an image file (`.svg`, `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, `.ico`; a bare name like 'logo.svg' means assets/logo.svg) — or `styles/resources.json`, the external-resources document naming the project's web fonts and external script links, which design_write_tokens does NOT write. THIS is where a webfont is loaded: its enabled sets go into the head of EVERY page, so a typeface is one token (typography.font-sans) plus this one file — never a <link> per page. Shape: {\"version\":1,\"sets\":[{\"id\":\"font\",\"name\":\"Font\",\"enabled\":true,\"links\":[{\"rel\":\"preconnect\",\"href\":\"https://cdn.jsdelivr.net\",\"crossorigin\":true},{\"rel\":\"stylesheet\",\"href\":\"https://cdn.jsdelivr.net/npm/@fontsource-variable/inter@5/index.css\"}]}]} (https only; rel stylesheet/preconnect/dns-prefetch). design_get_tokens returns the current document and its version in `resources`. The operator often manages its sets from the panel: when it exists, change only what you need (usually `enabled` flags) and keep every other set as is. Content is TEXT, exactly like every other design write: an SVG goes in as its own markup, and raster bytes as `data:<image/png>;base64,<payload>`, which the server decodes when the file is served. An asset is served from the sandbox origin at `/s/{token}/f/assets/<name>` with its own content type — but nothing rewrites an `src=` into a sandbox URL the way links are rewritten, so a page cannot point at it by a relative path: for an image a page shows today use an https URL or a data: URI inside the fragment. Caps unchanged: 128 KB per file (rule `size-cap`), and a NEW file must also fit the project's 200-file / 4 MB budget. Pass base_version only when replacing an existing file.", {
1105
1280
  path: z.string().min(1).describe("'logo.svg' (bare name → assets/logo.svg), 'assets/logo.svg', or 'styles/resources.json'."),
1106
1281
  content: z.string().describe("File text. Raster images as a data:<mime>;base64,<payload> string."),
1107
1282
  base_version: z.number().int().optional().describe("Version from a prior read; omit to force a replacement."),
@@ -1119,7 +1294,7 @@ export function buildServer(options = {}) {
1119
1294
  return fail(err);
1120
1295
  }
1121
1296
  });
1122
- server.tool("design_write_tokens", "Replace the design token scale wholesale. Touches EVERY route and component at once — requires `reason`. Pass EXACTLY ONE of `tokens` (a JSON token map — PREFERRED: {\"version\":1,\"categories\":{\"colors\":{\"accent\":{\"light\":\"#6366f1\",\"dark\":\"#818cf8\"}}}}) or `css` (legacy tokens.css text with an @theme block, no remote @import — still accepted, parsed into the same json shape). Prefer adding variables over changing existing ones mid-project.", {
1297
+ server.tool("design_write_tokens", "Replace the design token scale wholesale. Touches EVERY route and component at once — requires `reason`. Pass EXACTLY ONE of `tokens` (a JSON token map — PREFERRED: {\"version\":1,\"categories\":{\"colors\":{\"accent\":{\"light\":\"#6366f1\",\"dark\":\"#818cf8\"}}}}) or `css` (legacy tokens.css text with an @theme block, no remote @import — still accepted, parsed into the same json shape). Prefer adding variables over changing existing ones mid-project. Changing the typeface: set typography.font-sans here AND the webfont stylesheet in styles/resources.json (design_write_asset) — no page edits.", {
1123
1298
  tokens: z
1124
1299
  .record(z.string(), z.any())
1125
1300
  .optional()