@myagentroam/node 0.10.41 → 0.10.42

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.
@@ -140,7 +140,7 @@ export class NotificationMcpBridge {
140
140
  if ((templateId !== undefined && typeof templateId !== 'string') ||
141
141
  (title !== undefined &&
142
142
  (typeof title !== 'string' || title.length > 160 || /[\r\n]/u.test(title))) ||
143
- typeof recipientEmail !== 'string' ||
143
+ (recipientEmail !== undefined && typeof recipientEmail !== 'string') ||
144
144
  typeof message !== 'string' ||
145
145
  typeof callId !== 'string')
146
146
  throw new Error('MAIL_INPUT_INVALID');
@@ -148,7 +148,7 @@ export class NotificationMcpBridge {
148
148
  ...current,
149
149
  templateId: templateId ?? '',
150
150
  ...(title === undefined ? {} : { title }),
151
- recipientEmail,
151
+ ...(recipientEmail === undefined ? {} : { recipientEmail }),
152
152
  message,
153
153
  callId
154
154
  });
@@ -11,7 +11,7 @@ if (endpoint === undefined || token === undefined)
11
11
  throw new Error('MAIL_CAPABILITY_INVALID');
12
12
  const server = new McpServer({ name: NODE_MCP.notification.name, version: NODE_MCP_VERSION });
13
13
  server.registerTool(NODE_MCP.notification.tools.email, {
14
- description: 'Send a notification email to the specified recipient from this MAR-managed Workspace conversation. The Agent works with files and tools on the authorized MAR Node; the MAR Server sends email using its administrator-configured SMTP account. This is not the browser or Node local email account, nor a repository cron/CI notification. This tool cannot access SMTP credentials. Omit the template to use the built-in notification template in the sender’s preferred language; optionally select notification-en-US or notification-zh-CN. Each call may send a real email; do not retry after an uncertain result.',
14
+ description: 'Send a notification email from this MAR-managed Workspace conversation. To email the initiating user’s own account, omit recipientEmail; the Server uses that account’s saved email address and fails if no valid address is configured. Specify recipientEmail only to send to another explicitly authorized address. The Agent works with files and tools on the authorized MAR Node; the MAR Server sends email using its administrator-configured SMTP account. This is not the browser or Node local email account, nor a repository cron/CI notification. This tool cannot access SMTP credentials. Omit the template to use the built-in notification template in the sender’s preferred language; optionally select notification-en-US or notification-zh-CN. Each call may send a real email; do not retry after an uncertain result.',
15
15
  inputSchema: {
16
16
  templateId: z
17
17
  .string()
@@ -24,7 +24,12 @@ server.registerTool(NODE_MCP.notification.tools.email, {
24
24
  .regex(/^[^\r\n]*$/u)
25
25
  .optional()
26
26
  .describe('Optional notification title rendered into the email subject.'),
27
- recipientEmail: z.string().min(3).max(320).describe('Single recipient email address.'),
27
+ recipientEmail: z
28
+ .string()
29
+ .min(3)
30
+ .max(320)
31
+ .optional()
32
+ .describe('Optional authorized recipient override. Omit to email the initiating user’s own account.'),
28
33
  message: z.string().min(1).max(4000).describe('Notification text for {{message}}.')
29
34
  }
30
35
  }, async (args) => {
@@ -33,7 +38,7 @@ server.registerTool(NODE_MCP.notification.tools.email, {
33
38
  });
34
39
  if (process.env['MAR_NOTIFICATION_MCP_CHANNELS'] === '1') {
35
40
  server.registerTool(NODE_MCP.notification.tools.send, {
36
- description: 'Send a real notification from the current authorized Workspace execution. Defaults to push to the initiating user; email requires an explicitly authorized recipientEmail. Channels and registered Push clients are independent. Push may be suppressed while any workbench connection is open or unavailable due to system, browser, or OS settings. Acceptance is not delivery. Do not disclose secrets or send to unauthorized recipients. Each invocation is a new side effect; do not retry after an uncertain or partial result.',
41
+ description: 'Send a real notification from the current authorized Workspace execution. Defaults to push to the initiating user. To email the user’s own account, include email in channels and omit recipientEmail; the Server uses the initiating account’s saved email address and fails if no valid address is configured. Specify recipientEmail only to send to another explicitly authorized address. Channels and registered Push clients are independent. Push may be suppressed while any workbench connection is open or unavailable due to system, browser, or OS settings. Acceptance is not delivery. Do not disclose secrets or send to unauthorized recipients. Each invocation is a new side effect; do not retry after an uncertain or partial result.',
37
42
  inputSchema: {
38
43
  channels: z
39
44
  .array(z.enum(['push', 'email']))
@@ -51,7 +56,7 @@ if (process.env['MAR_NOTIFICATION_MCP_CHANNELS'] === '1') {
51
56
  .min(3)
52
57
  .max(320)
53
58
  .optional()
54
- .describe('Single recipient email address.'),
59
+ .describe('Optional authorized recipient override for the email channel. Omit to email the initiating user’s own account.'),
55
60
  templateId: z.enum(['', 'notification-en-US', 'notification-zh-CN']).optional()
56
61
  }
57
62
  }, async (args) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myagentroam/node",
3
- "version": "0.10.41",
3
+ "version": "0.10.42",
4
4
  "description": "MyAgentRoam Node runtime CLI.",
5
5
  "license": "Apache-2.0 AND GPL-2.0-or-later",
6
6
  "type": "module",
@@ -37,9 +37,9 @@
37
37
  "playwright": "1.62.1",
38
38
  "ws": "^8.21.3",
39
39
  "zod": "4.4.3",
40
- "@myagentroam/agent": "0.10.41",
41
- "@myagentroam/protocol": "0.10.41",
40
+ "@myagentroam/agent": "0.10.42",
42
41
  "@myagentroam/code-navigation": "0.10.1",
42
+ "@myagentroam/protocol": "0.10.42",
43
43
  "@myagentroam/marctl": "0.10.7"
44
44
  },
45
45
  "devDependencies": {