@mindstudio-ai/agent 0.1.76 → 0.1.77
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/cli.js +11 -9
- package/dist/index.d.ts +14 -4
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/postinstall.js +11 -9
- package/llms.txt +4 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4945,8 +4945,12 @@ interface SendEmailStepInput {
|
|
|
4945
4945
|
subject: string;
|
|
4946
4946
|
/** Email body content (plain text, markdown, HTML, or a CDN URL to an HTML file) */
|
|
4947
4947
|
body: string;
|
|
4948
|
-
/** Direct recipient email address(es).
|
|
4948
|
+
/** Direct recipient email address(es). On the shared Remy sender these must be verified app users or members of the app's org; unrestricted when the app sends from a domain it owns. */
|
|
4949
4949
|
to?: string | string[];
|
|
4950
|
+
/** Additional visible (Cc) recipient(s); same recipient rules as `to`. */
|
|
4951
|
+
cc?: string | string[];
|
|
4952
|
+
/** Additional hidden (Bcc) recipient(s); same recipient rules as `to`. */
|
|
4953
|
+
bcc?: string | string[];
|
|
4950
4954
|
/** OAuth connection ID(s) for the recipient(s), comma-separated for multiple */
|
|
4951
4955
|
connectionId?: string;
|
|
4952
4956
|
/** When true, auto-convert the body text into a styled HTML email using AI */
|
|
@@ -4985,8 +4989,12 @@ interface SendEmailStepInput {
|
|
|
4985
4989
|
/** Additional model-specific configuration */
|
|
4986
4990
|
config?: Record<string, unknown>;
|
|
4987
4991
|
};
|
|
4988
|
-
/**
|
|
4989
|
-
attachments?: string
|
|
4992
|
+
/** Files to attach: each entry is a URL string, or an object `{ url, filename?, contentType? }` to control the displayed filename and MIME type. */
|
|
4993
|
+
attachments?: (string | {
|
|
4994
|
+
url: string;
|
|
4995
|
+
filename?: string;
|
|
4996
|
+
contentType?: string;
|
|
4997
|
+
})[];
|
|
4990
4998
|
/** Custom sender handle — only for apps with a custom domain or subdomain. Bare handle (`support`), full `support@your-domain.com`, or `Name <support@your-domain.com>`. Must resolve to a domain the app owns. */
|
|
4991
4999
|
from?: string;
|
|
4992
5000
|
/** How to interpret `body`: `auto` (default — detect HTML, else render markdown), `html` (send as-is), `markdown` (render to HTML), or `text` (send as plain text only, no HTML part). Every send includes a text/plain alternative. */
|
|
@@ -8110,14 +8118,16 @@ interface StepMethods {
|
|
|
8110
8118
|
* Send an email to one or more recipient addresses.
|
|
8111
8119
|
*
|
|
8112
8120
|
* @remarks
|
|
8113
|
-
* - Use the "to" field to send to one or more specific recipient email addresses directly.
|
|
8121
|
+
* - Use the "to" field to send to one or more specific recipient email addresses directly. Allowed recipients depend on the sender: when the app sends from a domain it owns (a verified custom domain or its <slug>.madewithremy.com subdomain) any recipient is allowed; when it falls back to the shared Remy address, recipients must be verified app users or members of the app's organization. (v1 apps cannot use a direct "to" — they must resolve recipients via a connection.)
|
|
8114
8122
|
* - Alternatively, recipient email addresses can be resolved from OAuth connections configured by the app creator via connectionId. The user running the workflow does not specify the recipient directly.
|
|
8123
|
+
* - Use "cc" and "bcc" to add visible / hidden recipients (a string or an array). They are subject to the same recipient rules as "to".
|
|
8115
8124
|
* - The sender defaults automatically: v2 apps send from the app's own identity — its verified custom domain if set, else its platform subdomain (noreply@<slug>.madewithremy.com), else the default Remy address.
|
|
8116
8125
|
* - Optionally set "from" to a custom handle, but ONLY if the app has a custom domain or subdomain: a bare handle ("support" → support@<app-domain>), a full "support@your-domain.com", or "Name <support@your-domain.com>". The domain must be one the app owns, or the step fails.
|
|
8117
8126
|
* - If the body is a URL to a hosted HTML file on the CDN, the HTML is fetched and used as the email body.
|
|
8118
8127
|
* - The body is interpreted automatically: if it already looks like HTML it is sent as HTML, otherwise it is rendered from Markdown. Every email is sent as multipart with a plain-text alternative auto-derived from the body (better deliverability).
|
|
8119
8128
|
* - Set bodyType to override interpretation: "html" (send as-is), "markdown" (render to HTML), or "text" (plain text only, no HTML part). Default is "auto".
|
|
8120
8129
|
* - Optionally set "text" to supply your own plain-text alternative instead of the auto-derived one.
|
|
8130
|
+
* - Use "attachments" to attach files by URL. Each entry is a URL string, or an object { url, filename?, contentType? } to control the attachment's displayed filename and MIME type.
|
|
8121
8131
|
* - When generateHtml is enabled, the body text is converted to a styled HTML email using an AI model (implies an HTML body).
|
|
8122
8132
|
* - Set replyTo to control the Reply-To address for replies.
|
|
8123
8133
|
* - For threaded replies in a shared inbox, set inReplyTo (the Message-ID being replied to) and references (prior Message-IDs in the thread).
|
package/dist/index.js
CHANGED
|
@@ -2888,20 +2888,22 @@ var stepMetadata = {
|
|
|
2888
2888
|
"sendEmail": {
|
|
2889
2889
|
stepType: "sendEmail",
|
|
2890
2890
|
description: "Send an email to one or more recipient addresses.",
|
|
2891
|
-
usageNotes: `- Use the "to" field to send to one or more specific recipient email addresses directly.
|
|
2891
|
+
usageNotes: `- Use the "to" field to send to one or more specific recipient email addresses directly. Allowed recipients depend on the sender: when the app sends from a domain it owns (a verified custom domain or its <slug>.madewithremy.com subdomain) any recipient is allowed; when it falls back to the shared Remy address, recipients must be verified app users or members of the app's organization. (v1 apps cannot use a direct "to" \u2014 they must resolve recipients via a connection.)
|
|
2892
2892
|
- Alternatively, recipient email addresses can be resolved from OAuth connections configured by the app creator via connectionId. The user running the workflow does not specify the recipient directly.
|
|
2893
|
+
- Use "cc" and "bcc" to add visible / hidden recipients (a string or an array). They are subject to the same recipient rules as "to".
|
|
2893
2894
|
- The sender defaults automatically: v2 apps send from the app's own identity \u2014 its verified custom domain if set, else its platform subdomain (noreply@<slug>.madewithremy.com), else the default Remy address.
|
|
2894
2895
|
- Optionally set "from" to a custom handle, but ONLY if the app has a custom domain or subdomain: a bare handle ("support" \u2192 support@<app-domain>), a full "support@your-domain.com", or "Name <support@your-domain.com>". The domain must be one the app owns, or the step fails.
|
|
2895
2896
|
- If the body is a URL to a hosted HTML file on the CDN, the HTML is fetched and used as the email body.
|
|
2896
2897
|
- The body is interpreted automatically: if it already looks like HTML it is sent as HTML, otherwise it is rendered from Markdown. Every email is sent as multipart with a plain-text alternative auto-derived from the body (better deliverability).
|
|
2897
2898
|
- Set bodyType to override interpretation: "html" (send as-is), "markdown" (render to HTML), or "text" (plain text only, no HTML part). Default is "auto".
|
|
2898
2899
|
- Optionally set "text" to supply your own plain-text alternative instead of the auto-derived one.
|
|
2900
|
+
- Use "attachments" to attach files by URL. Each entry is a URL string, or an object { url, filename?, contentType? } to control the attachment's displayed filename and MIME type.
|
|
2899
2901
|
- When generateHtml is enabled, the body text is converted to a styled HTML email using an AI model (implies an HTML body).
|
|
2900
2902
|
- Set replyTo to control the Reply-To address for replies.
|
|
2901
2903
|
- For threaded replies in a shared inbox, set inReplyTo (the Message-ID being replied to) and references (prior Message-IDs in the thread).
|
|
2902
2904
|
- connectionId can be a comma-separated list to send to multiple recipients.
|
|
2903
2905
|
- The special connectionId "trigger_email" uses the email address that triggered the workflow.`,
|
|
2904
|
-
inputSchema: { "type": "object", "properties": { "subject": { "type": "string", "description": "Email subject line" }, "body": { "type": "string", "description": "Email body content (plain text, markdown, HTML, or a CDN URL to an HTML file)" }, "to": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "connectionId": { "type": "string", "description": "OAuth connection ID(s) for the recipient(s), comma-separated for multiple" }, "generateHtml": { "type": "boolean", "description": "When true, auto-convert the body text into a styled HTML email using AI" }, "generateHtmlInstructions": { "type": "string", "description": "Natural language instructions for the HTML generation style" }, "generateHtmlModelOverride": { "type": "object", "properties": { "model": { "type": "string", "description": 'Model identifier (e.g. "gpt-4", "claude-3-opus")' }, "temperature": { "type": "number", "description": "Sampling temperature for the model (0-2)" }, "maxResponseTokens": { "type": "number", "description": "Maximum number of tokens in the model's response" }, "ignorePreamble": { "type": "boolean", "description": "Whether to skip the system preamble/instructions" }, "userMessagePreprocessor": { "type": "object", "properties": { "dataSource": { "type": "string", "description": "Data source identifier for the preprocessor" }, "messageTemplate": { "type": "string", "description": "Template string applied to user messages before sending to the model" }, "maxResults": { "type": "number", "description": "Maximum number of results to include from the data source" }, "enabled": { "type": "boolean", "description": "Whether the preprocessor is active" }, "shouldInherit": { "type": "boolean", "description": "Whether child steps should inherit this preprocessor configuration" } }, "description": "Preprocessor applied to user messages before sending to the model" }, "preamble": { "type": "string", "description": "System preamble/instructions for the model" }, "multiModelEnabled": { "type": "boolean", "description": "Whether multi-model candidate generation is enabled" }, "editResponseEnabled": { "type": "boolean", "description": "Whether the user can edit the model's response" }, "config": { "type": "object", "properties": {}, "required": [], "description": "Additional model-specific configuration" } }, "required": ["model", "temperature", "maxResponseTokens"], "description": "Model settings override for HTML generation" }, "attachments": { "type": "array", "items": { "type": "string" }, "
|
|
2906
|
+
inputSchema: { "type": "object", "properties": { "subject": { "type": "string", "description": "Email subject line" }, "body": { "type": "string", "description": "Email body content (plain text, markdown, HTML, or a CDN URL to an HTML file)" }, "to": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "cc": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "bcc": { "anyOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "connectionId": { "type": "string", "description": "OAuth connection ID(s) for the recipient(s), comma-separated for multiple" }, "generateHtml": { "type": "boolean", "description": "When true, auto-convert the body text into a styled HTML email using AI" }, "generateHtmlInstructions": { "type": "string", "description": "Natural language instructions for the HTML generation style" }, "generateHtmlModelOverride": { "type": "object", "properties": { "model": { "type": "string", "description": 'Model identifier (e.g. "gpt-4", "claude-3-opus")' }, "temperature": { "type": "number", "description": "Sampling temperature for the model (0-2)" }, "maxResponseTokens": { "type": "number", "description": "Maximum number of tokens in the model's response" }, "ignorePreamble": { "type": "boolean", "description": "Whether to skip the system preamble/instructions" }, "userMessagePreprocessor": { "type": "object", "properties": { "dataSource": { "type": "string", "description": "Data source identifier for the preprocessor" }, "messageTemplate": { "type": "string", "description": "Template string applied to user messages before sending to the model" }, "maxResults": { "type": "number", "description": "Maximum number of results to include from the data source" }, "enabled": { "type": "boolean", "description": "Whether the preprocessor is active" }, "shouldInherit": { "type": "boolean", "description": "Whether child steps should inherit this preprocessor configuration" } }, "description": "Preprocessor applied to user messages before sending to the model" }, "preamble": { "type": "string", "description": "System preamble/instructions for the model" }, "multiModelEnabled": { "type": "boolean", "description": "Whether multi-model candidate generation is enabled" }, "editResponseEnabled": { "type": "boolean", "description": "Whether the user can edit the model's response" }, "config": { "type": "object", "properties": {}, "required": [], "description": "Additional model-specific configuration" } }, "required": ["model", "temperature", "maxResponseTokens"], "description": "Model settings override for HTML generation" }, "attachments": { "type": "array", "items": { "anyOf": [{ "type": "string" }, { "type": "object", "properties": { "url": { "type": "string" }, "filename": { "type": "string" }, "contentType": { "type": "string" } }, "required": ["url"] }] }, "description": "Files to attach: each entry is a URL string, or an object `{ url, filename?, contentType? }` to control the displayed filename and MIME type." }, "from": { "type": "string", "description": "Custom sender handle \u2014 only for apps with a custom domain or subdomain. Bare handle (`support`), full `support@your-domain.com`, or `Name <support@your-domain.com>`. Must resolve to a domain the app owns." }, "bodyType": { "enum": ["auto", "html", "markdown", "text"], "type": "string", "description": "How to interpret `body`: `auto` (default \u2014 detect HTML, else render markdown), `html` (send as-is), `markdown` (render to HTML), or `text` (send as plain text only, no HTML part). Every send includes a text/plain alternative." }, "text": { "type": "string", "description": "Explicit text/plain alternative body. Auto-derived from `body` if omitted." }, "replyTo": { "type": "string", "description": "Reply-To address for the email." }, "inReplyTo": { "type": "string", "description": "Message-ID this email replies to, for inbox threading (In-Reply-To header)." }, "references": { "type": "array", "items": { "type": "string" }, "description": "Prior Message-IDs in the thread, for inbox threading (References header)." } }, "required": ["subject", "body"] },
|
|
2905
2907
|
outputSchema: { "type": "object", "properties": { "recipients": { "type": "array", "items": { "type": "string" }, "description": "Email addresses the message was sent to" } }, "required": ["recipients"] }
|
|
2906
2908
|
},
|
|
2907
2909
|
"sendGmailDraft": {
|