letagents 0.12.1 → 0.12.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.
Files changed (2) hide show
  1. package/dist/mcp/server.js +22 -3
  2. package/package.json +1 -1
@@ -1530,9 +1530,23 @@ server.tool("update_task", "Update a task's status or assignee. Status transitio
1530
1530
  .optional()
1531
1531
  .describe("New assignee for the task. Defaults to the current agent when status=assigned."),
1532
1532
  pr_url: z.string().optional().describe("PR URL to link to the task"),
1533
+ workflow_artifacts: z
1534
+ .array(z.object({
1535
+ provider: z.enum(["github", "gitlab", "bitbucket", "unknown"]),
1536
+ kind: z.enum(["issue", "branch", "pull_request", "merge_request", "review", "check_run", "merge"]),
1537
+ id: z.string().nullable().optional(),
1538
+ number: z.number().int().nullable().optional(),
1539
+ title: z.string().nullable().optional(),
1540
+ url: z.string().nullable().optional(),
1541
+ ref: z.string().nullable().optional(),
1542
+ state: z.string().nullable().optional(),
1543
+ }).strict())
1544
+ .max(32)
1545
+ .optional()
1546
+ .describe("Persisted provider-neutral task workflow artifacts to attach to the task"),
1533
1547
  room_id: z.string().optional().describe("Canonical room ID. Defaults to current room."),
1534
1548
  conversation_id: z.string().optional().describe("Optional conversation ID for per-conversation identity scoping."),
1535
- }, async ({ task_id, status, assignee, pr_url, room_id, conversation_id }) => {
1549
+ }, async ({ task_id, status, assignee, pr_url, workflow_artifacts, room_id, conversation_id }) => {
1536
1550
  const targetRoomId = getTargetRoomId(room_id);
1537
1551
  const targetProjectId = getFallbackProjectId();
1538
1552
  if (!targetRoomId && !targetProjectId) {
@@ -1555,6 +1569,7 @@ server.tool("update_task", "Update a task's status or assignee. Status transitio
1555
1569
  status,
1556
1570
  assignee: assignee ?? identity?.actor_label,
1557
1571
  pr_url,
1572
+ workflow_artifacts,
1558
1573
  }),
1559
1574
  },
1560
1575
  });
@@ -1765,11 +1780,15 @@ server.tool("send_message", "Send a message to a Let Agents Chat room.", {
1765
1780
  .optional()
1766
1781
  .describe("Deprecated override. Agent identity is resolved automatically on room entry."),
1767
1782
  text: z.string().describe("The message text to send"),
1783
+ reply_to: z
1784
+ .string()
1785
+ .optional()
1786
+ .describe("Optional message id to quote-reply to (for example `msg_42`)."),
1768
1787
  conversation_id: z
1769
1788
  .string()
1770
1789
  .optional()
1771
1790
  .describe("Optional conversation ID for per-conversation identity scoping."),
1772
- }, async ({ room_id, sender: _sender, text, conversation_id }) => {
1791
+ }, async ({ room_id, sender: _sender, text, reply_to, conversation_id }) => {
1773
1792
  const targetRoomId = getTargetRoomId(room_id);
1774
1793
  const targetProjectId = getFallbackProjectId();
1775
1794
  if (!targetRoomId && !targetProjectId) {
@@ -1783,7 +1802,7 @@ server.tool("send_message", "Send a message to a Let Agents Chat room.", {
1783
1802
  project_path: (targetProjectId) => `/projects/${encodeURIComponent(targetProjectId)}/messages`,
1784
1803
  options: {
1785
1804
  method: "POST",
1786
- body: JSON.stringify({ sender: identity.actor_label, text }),
1805
+ body: JSON.stringify({ sender: identity.actor_label, text, reply_to }),
1787
1806
  },
1788
1807
  });
1789
1808
  touchCurrentRoom(typeof message.id === "string" ? message.id : undefined);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "letagents",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "Let Agents Chat — MCP server for AI agent communication",
5
5
  "type": "module",
6
6
  "main": "dist/mcp/server.js",