@eigenpal/cli 0.15.1 → 0.16.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/CHANGELOG.md +6 -0
- package/dist/cli.js +964 -163
- package/dist/docs-bundle.json +46 -11
- package/dist/skill/reference/cli/email-servers.md +175 -0
- package/dist/skill/reference/cli/surface.md +7 -0
- package/dist/skill/reference/step-types.md +246 -0
- package/dist/skill/reference/workflow-yaml.md +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# eigenpal email-servers
|
|
2
|
+
|
|
3
|
+
Manage outbound email servers (ems\_…): list, inspect, create, update, delete, and send a real test message.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- [Surface](#surface)
|
|
8
|
+
- [Commands](#commands)
|
|
9
|
+
- [Core](#core)
|
|
10
|
+
- [Details](#details)
|
|
11
|
+
- [`eigenpal email-servers|email-server list|ls [options]`](#eigenpal-email-serversemail-server-listls-options)
|
|
12
|
+
- [`eigenpal email-servers|email-server get [options] <id>`](#eigenpal-email-serversemail-server-get-options-id)
|
|
13
|
+
- [`eigenpal email-servers|email-server create [options]`](#eigenpal-email-serversemail-server-create-options)
|
|
14
|
+
- [`eigenpal email-servers|email-server update [options] <id>`](#eigenpal-email-serversemail-server-update-options-id)
|
|
15
|
+
- [`eigenpal email-servers|email-server delete [options] <id>`](#eigenpal-email-serversemail-server-delete-options-id)
|
|
16
|
+
- [`eigenpal email-servers|email-server test [options] <id>`](#eigenpal-email-serversemail-server-test-options-id)
|
|
17
|
+
|
|
18
|
+
## Surface
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
email-servers
|
|
22
|
+
├── list|ls
|
|
23
|
+
├── get <id>
|
|
24
|
+
├── create
|
|
25
|
+
├── update <id>
|
|
26
|
+
├── delete <id>
|
|
27
|
+
└── test <id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
### Core
|
|
33
|
+
|
|
34
|
+
| Command | Description |
|
|
35
|
+
| ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
36
|
+
| `eigenpal email-servers\|email-server list\|ls [options]` | List outbound email servers for the current workspace. |
|
|
37
|
+
| `eigenpal email-servers\|email-server get [options] <id>` | Inspect one email server. Human output is redacted even if the API regresses. |
|
|
38
|
+
| `eigenpal email-servers\|email-server create [options]` | Create an outbound email server. Resend requires an API key; SMTP accepts optional username/password except with --security none, plus optional CA PEM, and defaults to starttls on port 587. |
|
|
39
|
+
| `eigenpal email-servers\|email-server update [options] <id>` | Update metadata or replace transport configuration. Omitted secrets are retained. Passing --transport smtp requires --host, --port, --security, --from-email, and --from-name (no security/port defaults). Metadata-only updates omit --transport. |
|
|
40
|
+
| `eigenpal email-servers\|email-server delete [options] <id>` | Soft-delete an outbound email server. |
|
|
41
|
+
| `eigenpal email-servers\|email-server test [options] <id>` | Send a real connectivity test email through the stored server to --to. Disabled servers fail with a conflict. |
|
|
42
|
+
|
|
43
|
+
## Details
|
|
44
|
+
|
|
45
|
+
### `eigenpal email-servers|email-server list|ls [options]`
|
|
46
|
+
|
|
47
|
+
List outbound email servers for the current workspace.
|
|
48
|
+
|
|
49
|
+
### Options
|
|
50
|
+
|
|
51
|
+
| Flag | Required | Default | Description |
|
|
52
|
+
| ------------------ | -------- | ------- | ------------------------------------ |
|
|
53
|
+
| `--limit <n>` | no | `50` | Page size |
|
|
54
|
+
| `--offset <n>` | no | `0` | Page offset |
|
|
55
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
56
|
+
| `--json` | no | | Emit machine-readable JSON on stdout |
|
|
57
|
+
|
|
58
|
+
### `eigenpal email-servers|email-server get [options] <id>`
|
|
59
|
+
|
|
60
|
+
Inspect one email server. Human output is redacted even if the API regresses.
|
|
61
|
+
|
|
62
|
+
### Arguments
|
|
63
|
+
|
|
64
|
+
| Name | Required | Variadic | Description |
|
|
65
|
+
| ---- | -------- | -------- | ----------- |
|
|
66
|
+
| `id` | yes | no | |
|
|
67
|
+
|
|
68
|
+
### Options
|
|
69
|
+
|
|
70
|
+
| Flag | Required | Default | Description |
|
|
71
|
+
| ------------------ | -------- | ------- | ------------------------------------ |
|
|
72
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
73
|
+
| `--json` | no | | Emit machine-readable JSON on stdout |
|
|
74
|
+
|
|
75
|
+
### `eigenpal email-servers|email-server create [options]`
|
|
76
|
+
|
|
77
|
+
Create an outbound email server. Resend requires an API key; SMTP accepts optional username/password except with --security none, plus optional CA PEM, and defaults to starttls on port 587.
|
|
78
|
+
|
|
79
|
+
### Options
|
|
80
|
+
|
|
81
|
+
| Flag | Required | Default | Description |
|
|
82
|
+
| ------------------------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
83
|
+
| `--config-json <json>` | no | | JSON object (non-secret fields only; use secret _-stdin/_-file flags) |
|
|
84
|
+
| `--config-file <path>` | no | | JSON file path (`-` reads stdin; non-secret fields only) |
|
|
85
|
+
| `--name <name>` | no | | Display name |
|
|
86
|
+
| `--transport <kind>` | no | | Transport: resend or smtp |
|
|
87
|
+
| `--from-email <email>` | no | | From address |
|
|
88
|
+
| `--from-name <name>` | no | | From display name (no control characters or <>) |
|
|
89
|
+
| `--enabled` | no | | Enable the server (default on create) |
|
|
90
|
+
| `--disabled` | no | | Disable the server |
|
|
91
|
+
| `--host <host>` | no | | SMTP host (required on update when --transport smtp) |
|
|
92
|
+
| `--port <n>` | no | | SMTP port. Required on update when --transport smtp; create defaults from --security |
|
|
93
|
+
| `--security <mode>` | no | | SMTP security: starttls, tls, or none (unauthenticated trusted relays; credentials are rejected). Required on update when --transport smtp; create defaults to starttls |
|
|
94
|
+
| `--username <user>` | no | | SMTP username (non-secret) |
|
|
95
|
+
| `--api-key-stdin` | no | | Read the Resend API key from stdin |
|
|
96
|
+
| `--api-key-file <path>` | no | | Read the Resend API key from a file (`-` for stdin) |
|
|
97
|
+
| `--password-stdin` | no | | Read the SMTP password from stdin |
|
|
98
|
+
| `--password-file <path>` | no | | Read the SMTP password from a file (`-` for stdin) |
|
|
99
|
+
| `--ca-pem-stdin` | no | | Read a custom SMTP CA PEM from stdin |
|
|
100
|
+
| `--ca-pem-file <path>` | no | | Read a custom SMTP CA PEM from a file (`-` for stdin) |
|
|
101
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
102
|
+
| `--json` | no | | Emit machine-readable JSON on stdout |
|
|
103
|
+
|
|
104
|
+
### `eigenpal email-servers|email-server update [options] <id>`
|
|
105
|
+
|
|
106
|
+
Update metadata or replace transport configuration. Omitted secrets are retained. Passing --transport smtp requires --host, --port, --security, --from-email, and --from-name (no security/port defaults). Metadata-only updates omit --transport.
|
|
107
|
+
|
|
108
|
+
### Arguments
|
|
109
|
+
|
|
110
|
+
| Name | Required | Variadic | Description |
|
|
111
|
+
| ---- | -------- | -------- | ----------- |
|
|
112
|
+
| `id` | yes | no | |
|
|
113
|
+
|
|
114
|
+
### Options
|
|
115
|
+
|
|
116
|
+
| Flag | Required | Default | Description |
|
|
117
|
+
| ------------------------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
118
|
+
| `--config-json <json>` | no | | JSON object (non-secret fields only; use secret _-stdin/_-file flags) |
|
|
119
|
+
| `--config-file <path>` | no | | JSON file path (`-` reads stdin; non-secret fields only) |
|
|
120
|
+
| `--name <name>` | no | | Display name |
|
|
121
|
+
| `--transport <kind>` | no | | Transport: resend or smtp |
|
|
122
|
+
| `--from-email <email>` | no | | From address |
|
|
123
|
+
| `--from-name <name>` | no | | From display name (no control characters or <>) |
|
|
124
|
+
| `--enabled` | no | | Enable the server (default on create) |
|
|
125
|
+
| `--disabled` | no | | Disable the server |
|
|
126
|
+
| `--host <host>` | no | | SMTP host (required on update when --transport smtp) |
|
|
127
|
+
| `--port <n>` | no | | SMTP port. Required on update when --transport smtp; create defaults from --security |
|
|
128
|
+
| `--security <mode>` | no | | SMTP security: starttls, tls, or none (unauthenticated trusted relays; credentials are rejected). Required on update when --transport smtp; create defaults to starttls |
|
|
129
|
+
| `--username <user>` | no | | SMTP username (non-secret) |
|
|
130
|
+
| `--api-key-stdin` | no | | Read the Resend API key from stdin |
|
|
131
|
+
| `--api-key-file <path>` | no | | Read the Resend API key from a file (`-` for stdin) |
|
|
132
|
+
| `--password-stdin` | no | | Read the SMTP password from stdin |
|
|
133
|
+
| `--password-file <path>` | no | | Read the SMTP password from a file (`-` for stdin) |
|
|
134
|
+
| `--ca-pem-stdin` | no | | Read a custom SMTP CA PEM from stdin |
|
|
135
|
+
| `--ca-pem-file <path>` | no | | Read a custom SMTP CA PEM from a file (`-` for stdin) |
|
|
136
|
+
| `--clear-ca-pem` | no | | Remove a stored custom SMTP CA certificate |
|
|
137
|
+
| `--clear-username` | no | | Clear stored SMTP username/password pair |
|
|
138
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
139
|
+
| `--json` | no | | Emit machine-readable JSON on stdout |
|
|
140
|
+
|
|
141
|
+
### `eigenpal email-servers|email-server delete [options] <id>`
|
|
142
|
+
|
|
143
|
+
Soft-delete an outbound email server.
|
|
144
|
+
|
|
145
|
+
### Arguments
|
|
146
|
+
|
|
147
|
+
| Name | Required | Variadic | Description |
|
|
148
|
+
| ---- | -------- | -------- | ----------- |
|
|
149
|
+
| `id` | yes | no | |
|
|
150
|
+
|
|
151
|
+
### Options
|
|
152
|
+
|
|
153
|
+
| Flag | Required | Default | Description |
|
|
154
|
+
| ------------------ | -------- | ------- | ------------------------------------ |
|
|
155
|
+
| `--yes` | no | `false` | Required for non-TTY shells |
|
|
156
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
157
|
+
| `--json` | no | | Emit machine-readable JSON on stdout |
|
|
158
|
+
|
|
159
|
+
### `eigenpal email-servers|email-server test [options] <id>`
|
|
160
|
+
|
|
161
|
+
Send a real connectivity test email through the stored server to --to. Disabled servers fail with a conflict.
|
|
162
|
+
|
|
163
|
+
### Arguments
|
|
164
|
+
|
|
165
|
+
| Name | Required | Variadic | Description |
|
|
166
|
+
| ---- | -------- | -------- | ----------- |
|
|
167
|
+
| `id` | yes | no | |
|
|
168
|
+
|
|
169
|
+
### Options
|
|
170
|
+
|
|
171
|
+
| Flag | Required | Default | Description |
|
|
172
|
+
| ------------------ | -------- | ------- | ------------------------------------ |
|
|
173
|
+
| `--to <email>` | yes | | Recipient for the live test message |
|
|
174
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
175
|
+
| `--json` | no | | Emit machine-readable JSON on stdout |
|
|
@@ -114,6 +114,13 @@ eigenpal
|
|
|
114
114
|
│ └── pull [target]
|
|
115
115
|
├── models
|
|
116
116
|
│ └── list|ls
|
|
117
|
+
├── email-servers|email-server
|
|
118
|
+
│ ├── list|ls
|
|
119
|
+
│ ├── get <id>
|
|
120
|
+
│ ├── create
|
|
121
|
+
│ ├── update <id>
|
|
122
|
+
│ ├── delete <id>
|
|
123
|
+
│ └── test <id>
|
|
117
124
|
├── run <target>
|
|
118
125
|
├── rerun <run-id>
|
|
119
126
|
├── runs
|
|
@@ -5025,6 +5025,252 @@ Output schema:
|
|
|
5025
5025
|
```
|
|
5026
5026
|
|
|
5027
5027
|
|
|
5028
|
+
#### `action.email` — Send Email
|
|
5029
|
+
|
|
5030
|
+
Send an email with optional attachments via a selected email server. At most 10 recipients combined across to, cc, and bcc.
|
|
5031
|
+
|
|
5032
|
+
**Behavior and examples:** `eigenpal docs read steps/action/email`
|
|
5033
|
+
|
|
5034
|
+
**Durable retry:** This control step is not retried durably.
|
|
5035
|
+
|
|
5036
|
+
**Config** (in `step.with`):
|
|
5037
|
+
|
|
5038
|
+
| Field | Type | Required | Default | Description |
|
|
5039
|
+
| --- | --- | --- | --- | --- |
|
|
5040
|
+
| `server` | string | yes | | Outbound email server id (`ems_…`) |
|
|
5041
|
+
| `to` | string \| array<string> | yes | | Primary recipient(s). String, comma-separated list, or nonempty string array. Combined with cc and bcc, at most 10 recipients. |
|
|
5042
|
+
| `cc` | string \| array<string> | no | | Carbon-copy recipient(s). String, comma-separated list, or string array. Combined with to and bcc, at most 10 recipients. |
|
|
5043
|
+
| `bcc` | string \| array<string> | no | | Blind carbon-copy recipient(s). String, comma-separated list, or string array. Combined with to and cc, at most 10 recipients. |
|
|
5044
|
+
| `replyTo` | string | no | | Reply-To address (supports template expressions) |
|
|
5045
|
+
| `subject` | string | yes | | Email subject |
|
|
5046
|
+
| `text` | string | yes | | Plain-text email body (max 50KiB) |
|
|
5047
|
+
| `attachments` | array<string \| object> | no | | Optional same-run attachments as { fileId, filename? } or a bare fileId string (12MiB combined) |
|
|
5048
|
+
|
|
5049
|
+
**Output:** `object`
|
|
5050
|
+
|
|
5051
|
+
| Field | Type | Required | Default | Description |
|
|
5052
|
+
| --- | --- | --- | --- | --- |
|
|
5053
|
+
| `serverId` | string | yes | | Email server that sent (or would have sent) the message |
|
|
5054
|
+
| `messageId` | string \| null | yes | | Provider message id. Null when delivery was skipped (evaluation runs). |
|
|
5055
|
+
| `provider` | `"resend"` \| `"smtp"` \| null | yes | | Email provider that sent the message. Null when delivery was skipped. |
|
|
5056
|
+
| `to` | array<string> | yes | | Normalized To recipients |
|
|
5057
|
+
| `cc` | array<string> | yes | | Normalized Cc recipients |
|
|
5058
|
+
| `bcc` | array<string> | yes | | Normalized Bcc recipients |
|
|
5059
|
+
| `attachmentCount` | integer | yes | | Number of attachments sent |
|
|
5060
|
+
| `totalBytes` | integer | yes | | Total attachment size in bytes |
|
|
5061
|
+
|
|
5062
|
+
##### Complete machine-readable schemas
|
|
5063
|
+
|
|
5064
|
+
Config schema:
|
|
5065
|
+
|
|
5066
|
+
```json
|
|
5067
|
+
{
|
|
5068
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5069
|
+
"type": "object",
|
|
5070
|
+
"properties": {
|
|
5071
|
+
"server": {
|
|
5072
|
+
"type": "string",
|
|
5073
|
+
"maxLength": 128,
|
|
5074
|
+
"pattern": "^ems_[A-Za-z0-9_-]+$",
|
|
5075
|
+
"description": "Outbound email server id (`ems_…`)"
|
|
5076
|
+
},
|
|
5077
|
+
"to": {
|
|
5078
|
+
"anyOf": [
|
|
5079
|
+
{
|
|
5080
|
+
"type": "string",
|
|
5081
|
+
"minLength": 1
|
|
5082
|
+
},
|
|
5083
|
+
{
|
|
5084
|
+
"minItems": 1,
|
|
5085
|
+
"type": "array",
|
|
5086
|
+
"items": {
|
|
5087
|
+
"type": "string",
|
|
5088
|
+
"minLength": 1
|
|
5089
|
+
}
|
|
5090
|
+
}
|
|
5091
|
+
],
|
|
5092
|
+
"description": "Primary recipient(s). String, comma-separated list, or nonempty string array. Combined with cc and bcc, at most 10 recipients."
|
|
5093
|
+
},
|
|
5094
|
+
"cc": {
|
|
5095
|
+
"description": "Carbon-copy recipient(s). String, comma-separated list, or string array. Combined with to and bcc, at most 10 recipients.",
|
|
5096
|
+
"anyOf": [
|
|
5097
|
+
{
|
|
5098
|
+
"type": "string",
|
|
5099
|
+
"minLength": 1
|
|
5100
|
+
},
|
|
5101
|
+
{
|
|
5102
|
+
"type": "array",
|
|
5103
|
+
"items": {
|
|
5104
|
+
"type": "string",
|
|
5105
|
+
"minLength": 1
|
|
5106
|
+
}
|
|
5107
|
+
}
|
|
5108
|
+
]
|
|
5109
|
+
},
|
|
5110
|
+
"bcc": {
|
|
5111
|
+
"description": "Blind carbon-copy recipient(s). String, comma-separated list, or string array. Combined with to and cc, at most 10 recipients.",
|
|
5112
|
+
"anyOf": [
|
|
5113
|
+
{
|
|
5114
|
+
"type": "string",
|
|
5115
|
+
"minLength": 1
|
|
5116
|
+
},
|
|
5117
|
+
{
|
|
5118
|
+
"type": "array",
|
|
5119
|
+
"items": {
|
|
5120
|
+
"type": "string",
|
|
5121
|
+
"minLength": 1
|
|
5122
|
+
}
|
|
5123
|
+
}
|
|
5124
|
+
]
|
|
5125
|
+
},
|
|
5126
|
+
"replyTo": {
|
|
5127
|
+
"description": "Reply-To address (supports template expressions)",
|
|
5128
|
+
"type": "string",
|
|
5129
|
+
"minLength": 1
|
|
5130
|
+
},
|
|
5131
|
+
"subject": {
|
|
5132
|
+
"type": "string",
|
|
5133
|
+
"minLength": 1,
|
|
5134
|
+
"description": "Email subject"
|
|
5135
|
+
},
|
|
5136
|
+
"text": {
|
|
5137
|
+
"type": "string",
|
|
5138
|
+
"minLength": 1,
|
|
5139
|
+
"description": "Plain-text email body (max 50KiB)"
|
|
5140
|
+
},
|
|
5141
|
+
"attachments": {
|
|
5142
|
+
"description": "Optional same-run attachments as { fileId, filename? } or a bare fileId string (12MiB combined)",
|
|
5143
|
+
"maxItems": 10,
|
|
5144
|
+
"type": "array",
|
|
5145
|
+
"items": {
|
|
5146
|
+
"anyOf": [
|
|
5147
|
+
{
|
|
5148
|
+
"type": "string",
|
|
5149
|
+
"minLength": 1,
|
|
5150
|
+
"description": "File id or template expression that resolves to a file id"
|
|
5151
|
+
},
|
|
5152
|
+
{
|
|
5153
|
+
"type": "object",
|
|
5154
|
+
"properties": {
|
|
5155
|
+
"fileId": {
|
|
5156
|
+
"type": "string",
|
|
5157
|
+
"minLength": 1,
|
|
5158
|
+
"description": "File id or template expression that resolves to a file id"
|
|
5159
|
+
},
|
|
5160
|
+
"filename": {
|
|
5161
|
+
"description": "Optional download filename override",
|
|
5162
|
+
"type": "string",
|
|
5163
|
+
"minLength": 1
|
|
5164
|
+
}
|
|
5165
|
+
},
|
|
5166
|
+
"required": [
|
|
5167
|
+
"fileId"
|
|
5168
|
+
],
|
|
5169
|
+
"additionalProperties": false
|
|
5170
|
+
}
|
|
5171
|
+
]
|
|
5172
|
+
}
|
|
5173
|
+
}
|
|
5174
|
+
},
|
|
5175
|
+
"required": [
|
|
5176
|
+
"server",
|
|
5177
|
+
"to",
|
|
5178
|
+
"subject",
|
|
5179
|
+
"text"
|
|
5180
|
+
],
|
|
5181
|
+
"additionalProperties": false
|
|
5182
|
+
}
|
|
5183
|
+
```
|
|
5184
|
+
|
|
5185
|
+
|
|
5186
|
+
Output schema:
|
|
5187
|
+
|
|
5188
|
+
```json
|
|
5189
|
+
{
|
|
5190
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5191
|
+
"type": "object",
|
|
5192
|
+
"properties": {
|
|
5193
|
+
"serverId": {
|
|
5194
|
+
"type": "string",
|
|
5195
|
+
"maxLength": 128,
|
|
5196
|
+
"pattern": "^ems_[A-Za-z0-9_-]+$",
|
|
5197
|
+
"description": "Email server that sent (or would have sent) the message"
|
|
5198
|
+
},
|
|
5199
|
+
"messageId": {
|
|
5200
|
+
"anyOf": [
|
|
5201
|
+
{
|
|
5202
|
+
"type": "string"
|
|
5203
|
+
},
|
|
5204
|
+
{
|
|
5205
|
+
"type": "null"
|
|
5206
|
+
}
|
|
5207
|
+
],
|
|
5208
|
+
"description": "Provider message id. Null when delivery was skipped (evaluation runs)."
|
|
5209
|
+
},
|
|
5210
|
+
"provider": {
|
|
5211
|
+
"anyOf": [
|
|
5212
|
+
{
|
|
5213
|
+
"type": "string",
|
|
5214
|
+
"enum": [
|
|
5215
|
+
"resend",
|
|
5216
|
+
"smtp"
|
|
5217
|
+
]
|
|
5218
|
+
},
|
|
5219
|
+
{
|
|
5220
|
+
"type": "null"
|
|
5221
|
+
}
|
|
5222
|
+
],
|
|
5223
|
+
"description": "Email provider that sent the message. Null when delivery was skipped."
|
|
5224
|
+
},
|
|
5225
|
+
"to": {
|
|
5226
|
+
"type": "array",
|
|
5227
|
+
"items": {
|
|
5228
|
+
"type": "string"
|
|
5229
|
+
},
|
|
5230
|
+
"description": "Normalized To recipients"
|
|
5231
|
+
},
|
|
5232
|
+
"cc": {
|
|
5233
|
+
"type": "array",
|
|
5234
|
+
"items": {
|
|
5235
|
+
"type": "string"
|
|
5236
|
+
},
|
|
5237
|
+
"description": "Normalized Cc recipients"
|
|
5238
|
+
},
|
|
5239
|
+
"bcc": {
|
|
5240
|
+
"type": "array",
|
|
5241
|
+
"items": {
|
|
5242
|
+
"type": "string"
|
|
5243
|
+
},
|
|
5244
|
+
"description": "Normalized Bcc recipients"
|
|
5245
|
+
},
|
|
5246
|
+
"attachmentCount": {
|
|
5247
|
+
"type": "integer",
|
|
5248
|
+
"minimum": 0,
|
|
5249
|
+
"maximum": 9007199254740991,
|
|
5250
|
+
"description": "Number of attachments sent"
|
|
5251
|
+
},
|
|
5252
|
+
"totalBytes": {
|
|
5253
|
+
"type": "integer",
|
|
5254
|
+
"minimum": 0,
|
|
5255
|
+
"maximum": 9007199254740991,
|
|
5256
|
+
"description": "Total attachment size in bytes"
|
|
5257
|
+
}
|
|
5258
|
+
},
|
|
5259
|
+
"required": [
|
|
5260
|
+
"serverId",
|
|
5261
|
+
"messageId",
|
|
5262
|
+
"provider",
|
|
5263
|
+
"to",
|
|
5264
|
+
"cc",
|
|
5265
|
+
"bcc",
|
|
5266
|
+
"attachmentCount",
|
|
5267
|
+
"totalBytes"
|
|
5268
|
+
],
|
|
5269
|
+
"additionalProperties": false
|
|
5270
|
+
}
|
|
5271
|
+
```
|
|
5272
|
+
|
|
5273
|
+
|
|
5028
5274
|
### Control steps — flow control
|
|
5029
5275
|
|
|
5030
5276
|
#### `control.if` — Condition
|
|
@@ -1215,7 +1215,8 @@ This JSON Schema is generated from the same Zod schema used to parse workflow YA
|
|
|
1215
1215
|
"enum": [
|
|
1216
1216
|
"action.http",
|
|
1217
1217
|
"action.invoke-workflow",
|
|
1218
|
-
"action.website-reader"
|
|
1218
|
+
"action.website-reader",
|
|
1219
|
+
"action.email"
|
|
1219
1220
|
]
|
|
1220
1221
|
},
|
|
1221
1222
|
"name": {
|