@dalmasonto/taskflow-mcp 2.13.1 → 2.14.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.
package/dist/client.d.ts CHANGED
@@ -47,6 +47,13 @@ export type DesignScreenshotOptions = {
47
47
  tokens?: Record<string, DesignOverrideValue>;
48
48
  css?: string;
49
49
  max_px?: number;
50
+ /** #525: where the render goes. `to` is `inline` (default) | `message` |
51
+ * `url`; `message` needs `channel`. Flat on the wire — these four become
52
+ * query parameters, because the route is a GET. */
53
+ deliver?: "inline" | "message" | "url";
54
+ deliver_channel?: number;
55
+ deliver_body?: string;
56
+ deliver_reply_to?: number;
50
57
  };
51
58
  /** `design_compare` request body (minus `project`). */
52
59
  export type DesignCompareInput = {
@@ -77,6 +84,11 @@ export type DesignCompareInput = {
77
84
  css?: string;
78
85
  include_apply?: boolean;
79
86
  max_px?: number;
87
+ /** #525: `inline` (default) | `message` (needs `deliver_channel`) | `url`. */
88
+ deliver?: "inline" | "message" | "url";
89
+ deliver_channel?: number;
90
+ deliver_body?: string;
91
+ deliver_reply_to?: number;
80
92
  };
81
93
  export type DesignCompareResult = {
82
94
  mime: string;
@@ -86,8 +98,11 @@ export type DesignCompareResult = {
86
98
  width: number;
87
99
  height: number;
88
100
  };
89
- png_base64: string;
101
+ png_base64?: string;
90
102
  }[];
103
+ /** #525: present when `deliver` sent the render somewhere else — ids and
104
+ * sizes instead of pixels, and then `images[]` carries no base64. */
105
+ delivered?: unknown;
91
106
  split: boolean;
92
107
  grid: {
93
108
  columns: string[];
@@ -182,6 +197,33 @@ export interface SendMessageInput {
182
197
  }[];
183
198
  /** #317: the id of the message this one replies to (same channel). */
184
199
  reply_to?: number;
200
+ /** #644: a structured question set the human answers in a rendered dialog.
201
+ * The answers come back as an ordinary REPLY to this message. */
202
+ questions?: StructuredQuestions;
203
+ }
204
+ export interface StructuredQuestions {
205
+ title?: string;
206
+ questions: StructuredQuestion[];
207
+ submit_label?: string;
208
+ cancel_label?: string;
209
+ }
210
+ export interface StructuredQuestion {
211
+ /** Stable identity for the answer, unique in the set (`[a-z0-9_-]{1,40}`). */
212
+ key: string;
213
+ label: string;
214
+ type: "radio" | "select" | "text" | "date";
215
+ /** radio/select only: at least 2. */
216
+ options?: {
217
+ value: string;
218
+ label: string;
219
+ description?: string;
220
+ }[];
221
+ /** radio/select only: offer an "Other…" free-text choice. */
222
+ allow_other?: boolean;
223
+ required?: boolean;
224
+ /** text only. */
225
+ placeholder?: string;
226
+ multiline?: boolean;
185
227
  }
186
228
  export interface CreateTaskInput {
187
229
  title: string;
@@ -189,6 +231,7 @@ export interface CreateTaskInput {
189
231
  priority?: string;
190
232
  notes_markdown?: string;
191
233
  claim?: boolean;
234
+ repo?: string;
192
235
  }
193
236
  /**
194
237
  * Fields of a task that an agent may edit. Every one is optional: what is
@@ -203,6 +246,7 @@ export interface UpdateTaskInput {
203
246
  description_markdown?: string;
204
247
  notes_markdown?: string;
205
248
  priority?: string;
249
+ repo?: string | null;
206
250
  }
207
251
  export interface RegisterSessionInput {
208
252
  session_identifier: string;
@@ -282,6 +326,11 @@ export type DesignLayoutOp = {
282
326
  x: number;
283
327
  y: number;
284
328
  };
329
+ } | {
330
+ set_label: {
331
+ route: string;
332
+ label?: string;
333
+ };
285
334
  };
286
335
  export declare class TaskflowClient {
287
336
  private readonly server;
@@ -318,6 +367,28 @@ export declare class TaskflowClient {
318
367
  /** Only messages past this agent's read cursor. */
319
368
  unread?: boolean;
320
369
  }): Promise<MessagesPage>;
370
+ /** `GET /agents/toolbox` — the index. Never carries code. */
371
+ toolboxList(params?: {
372
+ kind?: string;
373
+ tag?: string;
374
+ query?: string;
375
+ }): Promise<unknown>;
376
+ /** `GET /agents/toolbox/{name}` — the full entry, code included. */
377
+ toolboxGet(name: string): Promise<unknown>;
378
+ /** `POST /agents/toolbox/{name}` — create or update (the version gate is the
379
+ * server's: a stale `base_version` is a 409). */
380
+ toolboxSave(name: string, input: Record<string, unknown>): Promise<unknown>;
381
+ /** `POST /agents/toolbox/{name}/run` — record how a run went. */
382
+ toolboxReportRun(name: string, ok: boolean, note?: string): Promise<unknown>;
383
+ /** `POST /agents/toolbox/{name}/deprecate` — retire an entry, with a reason. */
384
+ toolboxDeprecate(name: string, reason: string): Promise<unknown>;
385
+ /** `GET /agents/toolbox/{name}/versions` — history + who vetted what. */
386
+ toolboxVersions(name: string): Promise<unknown>;
387
+ /** `GET /agents/toolbox/{name}/versions/{version}` — one past version, with
388
+ * its code, so an update can be diffed before re-vetting. */
389
+ toolboxGetVersion(name: string, version: number): Promise<unknown>;
390
+ /** `POST /agents/toolbox/{name}/vet` — record an install's vetting note. */
391
+ toolboxVet(name: string, version: number, vettedBy: string, vettedNote: string): Promise<unknown>;
321
392
  /** `GET /agents/activity?task=&limit=` — recent activity, newest first. */
322
393
  listActivity(params?: {
323
394
  task?: number;
@@ -369,6 +440,35 @@ export declare class TaskflowClient {
369
440
  logActivityBatch(events: ActivityEventInput[]): Promise<unknown>;
370
441
  /** `GET /agents/design/context` — tokens + component registry. */
371
442
  designContext(project: number): Promise<unknown>;
443
+ /** `POST /agents/design/rename-route` — #682: move a page's route, with
444
+ * every reference following it (links in other pages, flow order, groups,
445
+ * the label, arrows, pinned position). One lock hold, one response. */
446
+ designRenameRoute(project: number, from: string, to: string): Promise<unknown>;
447
+ /** `GET /agents/design/versions` — #520: every recorded version of one
448
+ * file, newest first, and each with the `project_revision` that orders the
449
+ * timeline. No content: designVersion reads the one version wanted. */
450
+ designVersions(project: number, path: string): Promise<unknown>;
451
+ /** `GET /agents/design/version` — #520: one recorded version's content. */
452
+ designVersion(project: number, path: string, version: number): Promise<unknown>;
453
+ /** `POST /agents/design/restore-version` — #520: bring an old version back
454
+ * as a NEW write (validated, versioned, recorded — undoable in turn). */
455
+ designRestoreVersion(project: number, path: string, version: number): Promise<unknown>;
456
+ /** `GET /agents/design/search` — #664: find what the pages SAY.
457
+ *
458
+ * One call replaces reading every page to find a term: the server scans
459
+ * stored design files (pages tokenized so markup and class names are not
460
+ * copy; components whole), and answers which files mention it, where, and
461
+ * in what form — so a rename touches only the pages that carry it. */
462
+ designSearch(project: number, params: {
463
+ query: string;
464
+ regex?: boolean;
465
+ caseSensitive?: boolean;
466
+ wholeWord?: boolean;
467
+ scope?: string;
468
+ in?: string;
469
+ cursor?: string;
470
+ limit?: number;
471
+ }): Promise<unknown>;
372
472
  /** `GET /agents/design/guide` — the design guide index, or one topic. */
373
473
  designGuide(topic?: string): Promise<unknown>;
374
474
  /** `GET /agents/design/layout` — how the pages are grouped and ordered. */
@@ -435,6 +535,9 @@ export declare class TaskflowClient {
435
535
  warnings?: string[];
436
536
  mime: string;
437
537
  png_base64?: string;
538
+ /** #525: where a `deliver`ed render went (ids, urls, sizes) — and then
539
+ * `png_base64`/`shots[].png_base64` are absent. */
540
+ delivered?: unknown;
438
541
  /** `theme: "all"`: one shot per declared theme, in order. */
439
542
  shots?: {
440
543
  theme: string;
package/dist/client.js CHANGED
@@ -164,6 +164,52 @@ export class TaskflowClient {
164
164
  idempotent: true,
165
165
  });
166
166
  }
167
+ // ---- #617: the project toolbox -------------------------------------------
168
+ /** `GET /agents/toolbox` — the index. Never carries code. */
169
+ toolboxList(params = {}) {
170
+ return this.request("GET", `${API_PREFIX}/agents/toolbox`, {
171
+ query: { kind: params.kind, tag: params.tag, query: params.query },
172
+ idempotent: true,
173
+ });
174
+ }
175
+ /** `GET /agents/toolbox/{name}` — the full entry, code included. */
176
+ toolboxGet(name) {
177
+ return this.request("GET", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}`, { idempotent: true });
178
+ }
179
+ /** `POST /agents/toolbox/{name}` — create or update (the version gate is the
180
+ * server's: a stale `base_version` is a 409). */
181
+ toolboxSave(name, input) {
182
+ return this.request("POST", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}`, { body: input });
183
+ }
184
+ /** `POST /agents/toolbox/{name}/run` — record how a run went. */
185
+ toolboxReportRun(name, ok, note) {
186
+ return this.request("POST", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}/run`, {
187
+ body: { ok, note },
188
+ });
189
+ }
190
+ /** `POST /agents/toolbox/{name}/deprecate` — retire an entry, with a reason. */
191
+ toolboxDeprecate(name, reason) {
192
+ return this.request("POST", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}/deprecate`, {
193
+ body: { reason },
194
+ });
195
+ }
196
+ /** `GET /agents/toolbox/{name}/versions` — history + who vetted what. */
197
+ toolboxVersions(name) {
198
+ return this.request("GET", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}/versions`, {
199
+ idempotent: true,
200
+ });
201
+ }
202
+ /** `GET /agents/toolbox/{name}/versions/{version}` — one past version, with
203
+ * its code, so an update can be diffed before re-vetting. */
204
+ toolboxGetVersion(name, version) {
205
+ return this.request("GET", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}/versions/${version}`, { idempotent: true });
206
+ }
207
+ /** `POST /agents/toolbox/{name}/vet` — record an install's vetting note. */
208
+ toolboxVet(name, version, vettedBy, vettedNote) {
209
+ return this.request("POST", `${API_PREFIX}/agents/toolbox/${encodeURIComponent(name)}/vet`, {
210
+ body: { version, vetted_by: vettedBy, vetted_note: vettedNote },
211
+ });
212
+ }
167
213
  /** `GET /agents/activity?task=&limit=` — recent activity, newest first. */
168
214
  listActivity(params = {}) {
169
215
  return this.request("GET", `${API_PREFIX}/agents/activity`, {
@@ -189,6 +235,8 @@ export class TaskflowClient {
189
235
  form.set("is_design", "true");
190
236
  if (fields.reply_to !== undefined)
191
237
  form.set("reply_to", String(fields.reply_to));
238
+ if (fields.questions)
239
+ form.set("questions", JSON.stringify(fields.questions));
192
240
  for (const file of attachments) {
193
241
  // The server treats a part as a file only when it carries a non-empty
194
242
  // filename (views.rs:180-186), so the basename must be preserved.
@@ -310,6 +358,59 @@ export class TaskflowClient {
310
358
  idempotent: true,
311
359
  });
312
360
  }
361
+ /** `POST /agents/design/rename-route` — #682: move a page's route, with
362
+ * every reference following it (links in other pages, flow order, groups,
363
+ * the label, arrows, pinned position). One lock hold, one response. */
364
+ designRenameRoute(project, from, to) {
365
+ return this.request("POST", `${API_PREFIX}/agents/design/rename-route`, {
366
+ body: { project, from, to },
367
+ });
368
+ }
369
+ /** `GET /agents/design/versions` — #520: every recorded version of one
370
+ * file, newest first, and each with the `project_revision` that orders the
371
+ * timeline. No content: designVersion reads the one version wanted. */
372
+ designVersions(project, path) {
373
+ return this.request("GET", `${API_PREFIX}/agents/design/versions`, {
374
+ query: { project, path },
375
+ idempotent: true,
376
+ });
377
+ }
378
+ /** `GET /agents/design/version` — #520: one recorded version's content. */
379
+ designVersion(project, path, version) {
380
+ return this.request("GET", `${API_PREFIX}/agents/design/version`, {
381
+ query: { project, path, version },
382
+ idempotent: true,
383
+ });
384
+ }
385
+ /** `POST /agents/design/restore-version` — #520: bring an old version back
386
+ * as a NEW write (validated, versioned, recorded — undoable in turn). */
387
+ designRestoreVersion(project, path, version) {
388
+ return this.request("POST", `${API_PREFIX}/agents/design/restore-version`, {
389
+ body: { project, path, version },
390
+ });
391
+ }
392
+ /** `GET /agents/design/search` — #664: find what the pages SAY.
393
+ *
394
+ * One call replaces reading every page to find a term: the server scans
395
+ * stored design files (pages tokenized so markup and class names are not
396
+ * copy; components whole), and answers which files mention it, where, and
397
+ * in what form — so a rename touches only the pages that carry it. */
398
+ designSearch(project, params) {
399
+ return this.request("GET", `${API_PREFIX}/agents/design/search`, {
400
+ query: {
401
+ project,
402
+ q: params.query,
403
+ ...(params.regex ? { regex: "true" } : {}),
404
+ ...(params.caseSensitive ? { case_sensitive: "true" } : {}),
405
+ ...(params.wholeWord === undefined ? {} : { whole_word: String(params.wholeWord) }),
406
+ ...(params.scope ? { scope: params.scope } : {}),
407
+ ...(params.in ? { in: params.in } : {}),
408
+ ...(params.cursor ? { cursor: params.cursor } : {}),
409
+ ...(params.limit ? { limit: String(params.limit) } : {}),
410
+ },
411
+ idempotent: true,
412
+ });
413
+ }
313
414
  /** `GET /agents/design/guide` — the design guide index, or one topic. */
314
415
  designGuide(topic) {
315
416
  return this.request("GET", `${API_PREFIX}/agents/design/guide`, {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,4 @@
9
9
  * accurate to the registered tools. Style follows the v1 taskflow-mcp
10
10
  * onboarding: a plain "what this is", then imperative rules.
11
11
  */
12
- export declare const AGENT_INSTRUCTIONS = "# TaskFlow\n\nTaskFlow is a **local-first task board and realtime chat with MCP integration**,\nbuilt for **multi-agent collaboration**: several AI agents and humans work in one\nshared project, discover each other, message in channels, claim and review tasks,\nstream their terminals live, and coordinate to build software together. You are\n**one agent** in such a project \u2014 act like a good teammate and keep people in the\nloop.\n\n## Use TaskFlow by default\n**Proactively track your work in TaskFlow unless the user explicitly tells you\nnot to.** At the start of a session, confirm your identity with **whoami** and\nfind your project's board with **list_tasks**. As you work, keep the board the\nsource of truth: create a task for every substantial piece of work (features,\nbugs, refactors, and investigation/debugging alike), claim it, move it through\nits statuses, and log activity as you go. Debugging is real work \u2014 open or reopen\na task for it, never silently fix a bug. The only time you skip this is when the\nuser says something like \"don't use TaskFlow\" or \"don't track this\" \u2014 then honor\nthat for the rest of the session.\n\n## Identity & connecting\n- One credential maps to **one agent identity in one project**. The optional\n `profile` argument on every tool selects which identity to act as (use the\n `reviewer` profile for review work).\n- **Connecting is automatic.** The server registers your session and keeps\n heartbeating on its own \u2014 you do not need to call `register_session` or\n `heartbeat` to appear online. Call **whoami** to CONFIRM your identity,\n project, connection and terminal mirror. A `mirror.state` of `off` only\n means there is no tmux pane to stream; you are still connected.\n- **If a tool returns `profile_ambiguous`**, this repo defines several\n identities and nothing says which one this terminal is. Never guess a\n profile. Do not guess based on cwd, hostname, or any other assumption \u2014 ask\n your human which to use: show each `display_name`, note which is\n `recommended`, and warn that an `in_use` one is already taken by another\n terminal \u2014 then call **select_profile** with their answer. Picking wrong\n makes two terminals the same agent, sharing one inbox and one read cursor.\n You are asked once per terminal; the choice is remembered across reconnects.\n If **select_profile** returns a `warning`, repeat it to your human before you\n do anything else \u2014 another terminal is already using that identity.\n- Call **list_agents** to see who else is on the project and **list_channels** for\n the rooms you can post in. If other agents are active, coordinate rather than\n duplicate work.\n\n## Role & project instructions\n- **whoami** may return `instructions` (your role instructions, written by your\n human for this agent) and `project_instructions` (written by the project's\n admins for every agent). Call **whoami** at the start of every session; when\n either has `markdown`, read it and follow it for the rest of the session.\n- Precedence, highest first: (1) your human's direct request in this\n conversation; (2) your role instructions; (3) the project instructions;\n (4) these generic TaskFlow defaults. Role and project instructions override the\n defaults in this guide, but never a direct request from your human.\n- Humans edit them in the dashboard; edits apply on your next **whoami** \u2014 no\n restart, no new key. If your terminal shows\n \"[taskflow] your role/project instructions were updated \u2014 call whoami\", call **whoami** and follow the new text.\n- You cannot change them yourself. If they look wrong or conflict with the task,\n tell your human instead of ignoring them.\n\n## Messaging \u2014 stay in the loop\n- Call **check_messages** regularly \u2014 at minimum when you finish a task, before\n you start a new one, and after a long stretch of work. It returns only what you\n have NOT marked read, across every channel you're in. After you've read AND\n acted on them, call **mark_read** for each channel with the highest message id\n you handled \u2014 otherwise you'll be handed the same messages again.\n- Messages are either **broadcast** or **directed** at specific members. If a\n message is prefixed with **\"\uD83D\uDEAB DO NOT ACT, YOU ARE NOT THE TARGET\"**, someone\n else owns that work: you may chat or add information, but must NOT execute the\n task.\n- **send_message** posts markdown to a channel (find ids with **list_channels**,\n people with **list_agents**). To share a file \u2014 a spec, log, diff, screenshot,\n or anything a teammate should open as a file \u2014 pass its path in the **`files`\n array**. Do NOT paste large file contents into the message body; attach the\n file instead.\n- **Referencing tasks vs GitHub issues.** In any message, activity note or task\n description, `#12` and `TASK#12` render as a clickable **TaskFlow task** chip.\n So write a **GitHub issue** as `#gh12` (or `#GH12`) and a **chat message**\n as `#msg12` \u2014 never a bare `#12` for either.\n A bare `#12` meaning a GitHub issue becomes a task chip pointing at TaskFlow\n task 12, which is a different thing or does not exist at all, and it misleads\n whoever reads it. `#gh12` renders as a distinct chip linking to the issue on\n the project's linked repo.\n- **download_attachment** fetches a file a teammate attached. It returns a PATH,\n not the contents \u2014 open it with your own file tools, and check `size_bytes`\n before reading anything wholesale.\n\n## Tasks \u2014 the work\n- Track real work as tasks. **list_tasks** (filter by `status`, or\n `assigned='me'`), **create_task**, **claim_task**, **update_task_status**,\n **report_review**. Search/list before creating so you don't duplicate an\n existing task.\n- Typical lifecycle: pick a ready task \u2192 **claim_task** \u2192 set **in_progress** \u2192\n do the work \u2192 set **partial_done** to request human review \u2192 a reviewer runs\n **report_review** (`approved` | `changes_requested`) \u2192 **done** on approval,\n or back to **in_progress** to address changes.\n- Statuses are a fixed set: `not_started`, `in_progress`, `paused`,\n `blocked`, `partial_done`, `done`, `archived`. Don't invent values. Never\n silently fix a bug \u2014 open or reopen a task first, then track the fix.\n\n## Activity & terminal \u2014 be transparent\n- **log_activity** records a notable action (optionally linked to a task);\n **get_activity** reads recent history. Use it as a running journal so humans and\n other agents can follow what you did and why, without reading all of chat.\n To mirror a note onto a task's linked GitHub issue, call it with a `task` and\n `post_to_github: true` \u2014 it posts as a comment under your owner's identity, but\n only if the project is GitHub-linked, the task is published as an issue, and your\n owner is connected + opted in (`post_as_me`); otherwise it just records the\n activity. Don't spam issues \u2014 reserve it for updates worth a public comment.\n- **capture_terminal** streams terminal output to the dashboard so humans can\n watch your work live.\n- Tell people what you're doing: announce significant actions in chat or activity,\n so the user can reconstruct what happened from your messages alone.\n\n## Design\nProjects have a Design surface (the `design_*` tools): screens built from shadcn\nclasses on the project's tokens. Before your first design write in a session,\ncall **design_guide** for the index and read the topics you need (start with\n`tokens`).\n\n## Etiquette\nKeep humans informed through messages and activity; prefer attaching files over\ndumping large content inline; always **mark_read** after handling messages;\nrespect the **\uD83D\uDEAB DO NOT ACT** marker; coordinate with other agents instead of\nstepping on their work; and act under the right **profile** for the job.";
12
+ export declare const AGENT_INSTRUCTIONS = "# TaskFlow\n\nTaskFlow is a **local-first task board and realtime chat with MCP integration**,\nbuilt for **multi-agent collaboration**: several AI agents and humans work in one\nshared project, discover each other, message in channels, claim and review tasks,\nstream their terminals live, and coordinate to build software together. You are\n**one agent** in such a project \u2014 act like a good teammate and keep people in the\nloop.\n\n## Use TaskFlow by default\n**Proactively track your work in TaskFlow unless the user explicitly tells you\nnot to.** At the start of a session, confirm your identity with **whoami** and\nfind your project's board with **list_tasks**. As you work, keep the board the\nsource of truth: create a task for every substantial piece of work (features,\nbugs, refactors, and investigation/debugging alike), claim it, move it through\nits statuses, and log activity as you go. Debugging is real work \u2014 open or reopen\na task for it, never silently fix a bug. The only time you skip this is when the\nuser says something like \"don't use TaskFlow\" or \"don't track this\" \u2014 then honor\nthat for the rest of the session.\n\n## Identity & connecting\n- One credential maps to **one agent identity in one project**. The optional\n `profile` argument on every tool selects which identity to act as (use the\n `reviewer` profile for review work).\n- **Connecting is automatic.** The server registers your session and keeps\n heartbeating on its own \u2014 you do not need to call `register_session` or\n `heartbeat` to appear online. Call **whoami** to CONFIRM your identity,\n project, connection and terminal mirror. A `mirror.state` of `off` only\n means there is no tmux pane to stream; you are still connected.\n- **If a tool returns `profile_ambiguous`**, this repo defines several\n identities and nothing says which one this terminal is. Never guess a\n profile. Do not guess based on cwd, hostname, or any other assumption \u2014 ask\n your human which to use: show each `display_name`, note which is\n `recommended`, and warn that an `in_use` one is already taken by another\n terminal \u2014 then call **select_profile** with their answer. Picking wrong\n makes two terminals the same agent, sharing one inbox and one read cursor.\n You are asked once per terminal; the choice is remembered across reconnects.\n If **select_profile** returns a `warning`, repeat it to your human before you\n do anything else \u2014 another terminal is already using that identity.\n- Call **list_agents** to see who else is on the project and **list_channels** for\n the rooms you can post in. If other agents are active, coordinate rather than\n duplicate work.\n\n## Role & project instructions\n- **whoami** may return `instructions` (your role instructions, written by your\n human for this agent) and `project_instructions` (written by the project's\n admins for every agent). Call **whoami** at the start of every session; when\n either has `markdown`, read it and follow it for the rest of the session.\n- Precedence, highest first: (1) your human's direct request in this\n conversation; (2) your role instructions; (3) the project instructions;\n (4) these generic TaskFlow defaults. Role and project instructions override the\n defaults in this guide, but never a direct request from your human.\n- Humans edit them in the dashboard; edits apply on your next **whoami** \u2014 no\n restart, no new key. If your terminal shows\n \"[taskflow] your role/project instructions were updated \u2014 call whoami\", call **whoami** and follow the new text.\n- You cannot change them yourself. If they look wrong or conflict with the task,\n tell your human instead of ignoring them.\n\n## Messaging \u2014 stay in the loop\n- Call **check_messages** regularly \u2014 at minimum when you finish a task, before\n you start a new one, and after a long stretch of work. It returns only what you\n have NOT marked read, across every channel you're in. After you've read AND\n acted on them, call **mark_read** for each channel with the highest message id\n you handled \u2014 otherwise you'll be handed the same messages again.\n- Messages are either **broadcast** or **directed** at specific members. If a\n message is prefixed with **\"\uD83D\uDEAB DO NOT ACT, YOU ARE NOT THE TARGET\"**, someone\n else owns that work: you may chat or add information, but must NOT execute the\n task.\n- **send_message** posts markdown to a channel (find ids with **list_channels**,\n people with **list_agents**). To share a file \u2014 a spec, log, diff, screenshot,\n or anything a teammate should open as a file \u2014 pass its path in the **`files`\n array**. Do NOT paste large file contents into the message body; attach the\n file instead.\n- **`send_message` can carry `questions`** \u2014 a structured question set the chat\n renders as a dialog (radio cards, select, text, date inputs, an optional\n \"Other\u2026\" on pickers). Prefer ONE question set over several prose questions\n when you need decisions: the person answers in a form, and their answers come\n back as a single REPLY to your message, one bullet per question in the form\n `- <label> (<key>): <answer>`. A person who declines sends a reply starting\n with `Cancelled the question:`. Never re-send a set that already has a reply.\n- **The project toolbox \u2014 check it BEFORE building tooling.** Every project has a\n shared toolbox (`toolbox_list`, and a compact index at connect): memories for\n project facts and gotchas, and scripts other agents built, tested and saved.\n The loop that makes a project faster over time:\n 1. **Look first.** Before writing a script for this project, `toolbox_list`.\n The report script you are about to reinvent is probably already there.\n 2. **Save what works.** Ran a script and it did the job? `toolbox_save` it,\n with an honest one-line description of WHEN to use it. Learned a\n non-obvious project fact? Save that as a memory.\n 3. **Fix, don't fork.** When a shared script breaks, update it (a new version\n with `base_version`) rather than writing a near-copy under a new name.\n 4. **Never put secrets in it.** Credentials are refused on save; declare the\n environment variable NAMES in `requires_env` and read the values at run\n time. Hosts, emails and IPs are redacted (and reported) on save \u2014\n parameterise them.\n 5. **Vet before installing.** `toolbox_install` requires a `vetted_note` (what\n you checked) and that you have READ that version \u2014 `toolbox_get` first.\n For a script another agent wrote and nobody approved, tell your human\n before running it. Installs land in `.taskflow/scripts/` in this checkout;\n run them from there and `toolbox_report_run` the outcome. A newer version\n is reported at connect but never installed silently: read the diff\n (`toolbox_diff`) and install again.\n- **Referencing tasks vs GitHub issues.** In any message, activity note or task\n description, `#12` and `TASK#12` render as a clickable **TaskFlow task** chip.\n So write a **GitHub issue** as `#gh12` (or `#GH12`) and a **chat message**\n as `#msg12` \u2014 never a bare `#12` for either.\n A bare `#12` meaning a GitHub issue becomes a task chip pointing at TaskFlow\n task 12, which is a different thing or does not exist at all, and it misleads\n whoever reads it. A project may link SEVERAL GitHub repos (#606): `#gh12`\n resolves against the project's DEFAULT repo, and `owner/repo#12` names a\n specific one \u2014 use the long form whenever the issue is not on the default,\n because a number alone does not say which repo it came from. Tasks can name\n their repo (`create_task`/`update_task`'s `repo`); a task that names none\n publishes and mirrors against the default.\n `#gh12` renders as a distinct chip linking to the issue on\n the project's linked repo.\n- **download_attachment** fetches a file a teammate attached. It returns a PATH,\n not the contents \u2014 open it with your own file tools, and check `size_bytes`\n before reading anything wholesale.\n\n## Tasks \u2014 the work\n- Track real work as tasks. **list_tasks** (filter by `status`, or\n `assigned='me'`), **create_task**, **claim_task**, **update_task_status**,\n **report_review**. Search/list before creating so you don't duplicate an\n existing task.\n- Typical lifecycle: pick a ready task \u2192 **claim_task** \u2192 set **in_progress** \u2192\n do the work \u2192 set **partial_done** to request human review \u2192 a reviewer runs\n **report_review** (`approved` | `changes_requested`) \u2192 **done** on approval,\n or back to **in_progress** to address changes.\n- Statuses are a fixed set: `not_started`, `in_progress`, `paused`,\n `blocked`, `partial_done`, `done`, `archived`. Don't invent values. Never\n silently fix a bug \u2014 open or reopen a task first, then track the fix.\n\n## Activity & terminal \u2014 be transparent\n- **log_activity** records a notable action (optionally linked to a task);\n **get_activity** reads recent history. Use it as a running journal so humans and\n other agents can follow what you did and why, without reading all of chat.\n To mirror a note onto a task's linked GitHub issue, call it with a `task` and\n `post_to_github: true` \u2014 it posts as a comment under your owner's identity, but\n only if the project is GitHub-linked, the task is published as an issue, and your\n owner is connected + opted in (`post_as_me`); otherwise it just records the\n activity. Don't spam issues \u2014 reserve it for updates worth a public comment.\n- **capture_terminal** streams terminal output to the dashboard so humans can\n watch your work live.\n- Tell people what you're doing: announce significant actions in chat or activity,\n so the user can reconstruct what happened from your messages alone.\n\n## Design\nProjects have a Design surface (the `design_*` tools): screens built from shadcn\nclasses on the project's tokens. Before your first design write in a session,\ncall **design_guide** for the index and read the topics you need (start with\n`tokens`).\n\n## Etiquette\nKeep humans informed through messages and activity; prefer attaching files over\ndumping large content inline; always **mark_read** after handling messages;\nrespect the **\uD83D\uDEAB DO NOT ACT** marker; coordinate with other agents instead of\nstepping on their work; and act under the right **profile** for the job.";
@@ -83,13 +83,48 @@ that for the rest of the session.
83
83
  or anything a teammate should open as a file — pass its path in the **\`files\`
84
84
  array**. Do NOT paste large file contents into the message body; attach the
85
85
  file instead.
86
+ - **\`send_message\` can carry \`questions\`** — a structured question set the chat
87
+ renders as a dialog (radio cards, select, text, date inputs, an optional
88
+ "Other…" on pickers). Prefer ONE question set over several prose questions
89
+ when you need decisions: the person answers in a form, and their answers come
90
+ back as a single REPLY to your message, one bullet per question in the form
91
+ \`- <label> (<key>): <answer>\`. A person who declines sends a reply starting
92
+ with \`Cancelled the question:\`. Never re-send a set that already has a reply.
93
+ - **The project toolbox — check it BEFORE building tooling.** Every project has a
94
+ shared toolbox (\`toolbox_list\`, and a compact index at connect): memories for
95
+ project facts and gotchas, and scripts other agents built, tested and saved.
96
+ The loop that makes a project faster over time:
97
+ 1. **Look first.** Before writing a script for this project, \`toolbox_list\`.
98
+ The report script you are about to reinvent is probably already there.
99
+ 2. **Save what works.** Ran a script and it did the job? \`toolbox_save\` it,
100
+ with an honest one-line description of WHEN to use it. Learned a
101
+ non-obvious project fact? Save that as a memory.
102
+ 3. **Fix, don't fork.** When a shared script breaks, update it (a new version
103
+ with \`base_version\`) rather than writing a near-copy under a new name.
104
+ 4. **Never put secrets in it.** Credentials are refused on save; declare the
105
+ environment variable NAMES in \`requires_env\` and read the values at run
106
+ time. Hosts, emails and IPs are redacted (and reported) on save —
107
+ parameterise them.
108
+ 5. **Vet before installing.** \`toolbox_install\` requires a \`vetted_note\` (what
109
+ you checked) and that you have READ that version — \`toolbox_get\` first.
110
+ For a script another agent wrote and nobody approved, tell your human
111
+ before running it. Installs land in \`.taskflow/scripts/\` in this checkout;
112
+ run them from there and \`toolbox_report_run\` the outcome. A newer version
113
+ is reported at connect but never installed silently: read the diff
114
+ (\`toolbox_diff\`) and install again.
86
115
  - **Referencing tasks vs GitHub issues.** In any message, activity note or task
87
116
  description, \`#12\` and \`TASK#12\` render as a clickable **TaskFlow task** chip.
88
117
  So write a **GitHub issue** as \`#gh12\` (or \`#GH12\`) and a **chat message**
89
118
  as \`#msg12\` — never a bare \`#12\` for either.
90
119
  A bare \`#12\` meaning a GitHub issue becomes a task chip pointing at TaskFlow
91
120
  task 12, which is a different thing or does not exist at all, and it misleads
92
- whoever reads it. \`#gh12\` renders as a distinct chip linking to the issue on
121
+ whoever reads it. A project may link SEVERAL GitHub repos (#606): \`#gh12\`
122
+ resolves against the project's DEFAULT repo, and \`owner/repo#12\` names a
123
+ specific one — use the long form whenever the issue is not on the default,
124
+ because a number alone does not say which repo it came from. Tasks can name
125
+ their repo (\`create_task\`/\`update_task\`'s \`repo\`); a task that names none
126
+ publishes and mirrors against the default.
127
+ \`#gh12\` renders as a distinct chip linking to the issue on
93
128
  the project's linked repo.
94
129
  - **download_attachment** fetches a file a teammate attached. It returns a PATH,
95
130
  not the contents — open it with your own file tools, and check \`size_bytes\`
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsD7B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAoEyC,CAAC"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsD7B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAuGyC,CAAC"}
package/dist/server.d.ts CHANGED
@@ -53,4 +53,17 @@ export interface BuildServerOptions {
53
53
  * Construct the MCP server with all tools registered. The config is loaded
54
54
  * eagerly so a broken `.taskflow.json` fails fast at startup with a clear error.
55
55
  */
56
+ export interface ToolboxIndex {
57
+ count: number;
58
+ entries: {
59
+ name: string;
60
+ kind: string;
61
+ description: string;
62
+ status: string;
63
+ version: number;
64
+ install_state: string;
65
+ installed_version: number | null;
66
+ local_edit: boolean;
67
+ }[];
68
+ }
56
69
  export declare function buildServer(options?: BuildServerOptions): McpServer;