@primitivedotdev/sdk 0.9.0 → 0.11.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/README.md +22 -0
- package/dist/api/generated/index.js +1 -1
- package/dist/api/generated/sdk.gen.js +26 -0
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.js +72 -33
- package/dist/{api-COSr-Fqm.js → api-CLLpjjWy.js} +87 -31
- package/dist/{index-DVow4Fjd.d.ts → index-K4KbjppU.d.ts} +220 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/oclif/api-command.js +217 -47
- package/dist/oclif/commands/send.js +159 -0
- package/dist/oclif/index.js +6 -0
- package/dist/openapi/openapi.generated.js +190 -3
- package/dist/openapi/operations.generated.js +49 -0
- package/oclif.manifest.json +359 -25
- package/package.json +1 -1
package/oclif.manifest.json
CHANGED
|
@@ -42,6 +42,100 @@
|
|
|
42
42
|
"summary": "List all generated API operations",
|
|
43
43
|
"enableJsonFlag": false
|
|
44
44
|
},
|
|
45
|
+
"send": {
|
|
46
|
+
"aliases": [],
|
|
47
|
+
"args": {},
|
|
48
|
+
"description": "Send an outbound email. Agent-grade shortcut for sending:send-email with sensible defaults.\n\n --from defaults to agent@<your-first-verified-outbound-domain> when omitted.\n --subject defaults to the first line of the body when omitted.\n\n For the full flag set (custom message-id threading on the wire,\n references arrays, etc.), use `primitive sending:send-email`.",
|
|
49
|
+
"examples": [
|
|
50
|
+
"<%= config.bin %> send --to alice@example.com --body 'Hi Alice!'",
|
|
51
|
+
"<%= config.bin %> send --to alice@example.com --from support@yourcompany.com --subject 'Quick question' --body 'Are you free Thursday?'",
|
|
52
|
+
"<%= config.bin %> send --to alice@example.com --html '<p>Hello!</p>'",
|
|
53
|
+
"<%= config.bin %> send --to alice@example.com --body 'Confirmed' --wait"
|
|
54
|
+
],
|
|
55
|
+
"flags": {
|
|
56
|
+
"api-key": {
|
|
57
|
+
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
58
|
+
"env": "PRIMITIVE_API_KEY",
|
|
59
|
+
"name": "api-key",
|
|
60
|
+
"hasDynamicHelp": false,
|
|
61
|
+
"multiple": false,
|
|
62
|
+
"type": "option"
|
|
63
|
+
},
|
|
64
|
+
"base-url": {
|
|
65
|
+
"description": "API base URL (defaults to PRIMITIVE_API_URL or production)",
|
|
66
|
+
"env": "PRIMITIVE_API_URL",
|
|
67
|
+
"name": "base-url",
|
|
68
|
+
"hasDynamicHelp": false,
|
|
69
|
+
"multiple": false,
|
|
70
|
+
"type": "option"
|
|
71
|
+
},
|
|
72
|
+
"to": {
|
|
73
|
+
"description": "Recipient address (e.g. alice@example.com).",
|
|
74
|
+
"name": "to",
|
|
75
|
+
"required": true,
|
|
76
|
+
"hasDynamicHelp": false,
|
|
77
|
+
"multiple": false,
|
|
78
|
+
"type": "option"
|
|
79
|
+
},
|
|
80
|
+
"from": {
|
|
81
|
+
"description": "Sender address. Defaults to agent@<your-first-verified-outbound-domain>.",
|
|
82
|
+
"name": "from",
|
|
83
|
+
"hasDynamicHelp": false,
|
|
84
|
+
"multiple": false,
|
|
85
|
+
"type": "option"
|
|
86
|
+
},
|
|
87
|
+
"subject": {
|
|
88
|
+
"description": "Subject line. Defaults to the first line of --body / --html when omitted.",
|
|
89
|
+
"name": "subject",
|
|
90
|
+
"hasDynamicHelp": false,
|
|
91
|
+
"multiple": false,
|
|
92
|
+
"type": "option"
|
|
93
|
+
},
|
|
94
|
+
"body": {
|
|
95
|
+
"description": "Plain-text message body. Either --body or --html (or both) is required.",
|
|
96
|
+
"name": "body",
|
|
97
|
+
"hasDynamicHelp": false,
|
|
98
|
+
"multiple": false,
|
|
99
|
+
"type": "option"
|
|
100
|
+
},
|
|
101
|
+
"html": {
|
|
102
|
+
"description": "HTML message body. Either --body or --html (or both) is required.",
|
|
103
|
+
"name": "html",
|
|
104
|
+
"hasDynamicHelp": false,
|
|
105
|
+
"multiple": false,
|
|
106
|
+
"type": "option"
|
|
107
|
+
},
|
|
108
|
+
"in-reply-to": {
|
|
109
|
+
"description": "Message-Id of the parent email when threading a reply on the wire. For replying to an inbound message you received, prefer `primitive sending:reply-to-email --id <inbound-id>`.",
|
|
110
|
+
"name": "in-reply-to",
|
|
111
|
+
"hasDynamicHelp": false,
|
|
112
|
+
"multiple": false,
|
|
113
|
+
"type": "option"
|
|
114
|
+
},
|
|
115
|
+
"wait": {
|
|
116
|
+
"description": "Block until the receiving MTA returns an outcome. Without --wait, the call returns once Primitive has accepted the message for delivery.",
|
|
117
|
+
"name": "wait",
|
|
118
|
+
"allowNo": false,
|
|
119
|
+
"type": "boolean"
|
|
120
|
+
},
|
|
121
|
+
"wait-timeout-ms": {
|
|
122
|
+
"description": "Maximum time to wait when --wait is set. Defaults to 30000ms.",
|
|
123
|
+
"name": "wait-timeout-ms",
|
|
124
|
+
"hasDynamicHelp": false,
|
|
125
|
+
"multiple": false,
|
|
126
|
+
"type": "option"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"hasDynamicHelp": false,
|
|
130
|
+
"hiddenAliases": [],
|
|
131
|
+
"id": "send",
|
|
132
|
+
"pluginAlias": "@primitivedotdev/sdk",
|
|
133
|
+
"pluginName": "@primitivedotdev/sdk",
|
|
134
|
+
"pluginType": "core",
|
|
135
|
+
"strict": true,
|
|
136
|
+
"summary": "Send an email (simplified, agent-friendly)",
|
|
137
|
+
"enableJsonFlag": false
|
|
138
|
+
},
|
|
45
139
|
"account:get-account": {
|
|
46
140
|
"aliases": [],
|
|
47
141
|
"args": {},
|
|
@@ -173,7 +267,7 @@
|
|
|
173
267
|
"account:update-account": {
|
|
174
268
|
"aliases": [],
|
|
175
269
|
"args": {},
|
|
176
|
-
"description": "PATCH /account
|
|
270
|
+
"description": "PATCH /account",
|
|
177
271
|
"flags": {
|
|
178
272
|
"api-key": {
|
|
179
273
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -192,18 +286,31 @@
|
|
|
192
286
|
"type": "option"
|
|
193
287
|
},
|
|
194
288
|
"body": {
|
|
195
|
-
"description": "
|
|
289
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
196
290
|
"name": "body",
|
|
197
291
|
"hasDynamicHelp": false,
|
|
198
292
|
"multiple": false,
|
|
199
293
|
"type": "option"
|
|
200
294
|
},
|
|
201
295
|
"body-file": {
|
|
202
|
-
"description": "Path to a JSON file used as the request body",
|
|
296
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
203
297
|
"name": "body-file",
|
|
204
298
|
"hasDynamicHelp": false,
|
|
205
299
|
"multiple": false,
|
|
206
300
|
"type": "option"
|
|
301
|
+
},
|
|
302
|
+
"discard-content-on-webhook-confirmed": {
|
|
303
|
+
"description": "Whether to discard email content after the webhook endpoint confirms receipt.",
|
|
304
|
+
"name": "discard-content-on-webhook-confirmed",
|
|
305
|
+
"allowNo": false,
|
|
306
|
+
"type": "boolean"
|
|
307
|
+
},
|
|
308
|
+
"spam-threshold": {
|
|
309
|
+
"description": "Global spam score threshold (0-15). Emails scoring above this are rejected. S...",
|
|
310
|
+
"name": "spam-threshold",
|
|
311
|
+
"hasDynamicHelp": false,
|
|
312
|
+
"multiple": false,
|
|
313
|
+
"type": "option"
|
|
207
314
|
}
|
|
208
315
|
},
|
|
209
316
|
"hasDynamicHelp": false,
|
|
@@ -219,7 +326,7 @@
|
|
|
219
326
|
"domains:add-domain": {
|
|
220
327
|
"aliases": [],
|
|
221
328
|
"args": {},
|
|
222
|
-
"description": "Creates an unverified domain claim. You will receive a\n`verification_token` to add as a DNS TXT record before\ncalling the verify endpoint.\n
|
|
329
|
+
"description": "Creates an unverified domain claim. You will receive a\n`verification_token` to add as a DNS TXT record before\ncalling the verify endpoint.\n",
|
|
223
330
|
"flags": {
|
|
224
331
|
"api-key": {
|
|
225
332
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -238,18 +345,25 @@
|
|
|
238
345
|
"type": "option"
|
|
239
346
|
},
|
|
240
347
|
"body": {
|
|
241
|
-
"description": "
|
|
348
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
242
349
|
"name": "body",
|
|
243
350
|
"hasDynamicHelp": false,
|
|
244
351
|
"multiple": false,
|
|
245
352
|
"type": "option"
|
|
246
353
|
},
|
|
247
354
|
"body-file": {
|
|
248
|
-
"description": "Path to a JSON file used as the request body",
|
|
355
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
249
356
|
"name": "body-file",
|
|
250
357
|
"hasDynamicHelp": false,
|
|
251
358
|
"multiple": false,
|
|
252
359
|
"type": "option"
|
|
360
|
+
},
|
|
361
|
+
"domain": {
|
|
362
|
+
"description": "The domain name to claim (e.g. \"example.com\")",
|
|
363
|
+
"name": "domain",
|
|
364
|
+
"hasDynamicHelp": false,
|
|
365
|
+
"multiple": false,
|
|
366
|
+
"type": "option"
|
|
253
367
|
}
|
|
254
368
|
},
|
|
255
369
|
"hasDynamicHelp": false,
|
|
@@ -337,7 +451,7 @@
|
|
|
337
451
|
"domains:update-domain": {
|
|
338
452
|
"aliases": [],
|
|
339
453
|
"args": {},
|
|
340
|
-
"description": "Update a verified domain's settings. Only verified domains can be\nupdated. Per-domain spam thresholds require a Pro plan.\n
|
|
454
|
+
"description": "Update a verified domain's settings. Only verified domains can be\nupdated. Per-domain spam thresholds require a Pro plan.\n",
|
|
341
455
|
"flags": {
|
|
342
456
|
"api-key": {
|
|
343
457
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -364,18 +478,31 @@
|
|
|
364
478
|
"type": "option"
|
|
365
479
|
},
|
|
366
480
|
"body": {
|
|
367
|
-
"description": "
|
|
481
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
368
482
|
"name": "body",
|
|
369
483
|
"hasDynamicHelp": false,
|
|
370
484
|
"multiple": false,
|
|
371
485
|
"type": "option"
|
|
372
486
|
},
|
|
373
487
|
"body-file": {
|
|
374
|
-
"description": "Path to a JSON file used as the request body",
|
|
488
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
375
489
|
"name": "body-file",
|
|
376
490
|
"hasDynamicHelp": false,
|
|
377
491
|
"multiple": false,
|
|
378
492
|
"type": "option"
|
|
493
|
+
},
|
|
494
|
+
"is-active": {
|
|
495
|
+
"description": "Whether the domain accepts incoming emails",
|
|
496
|
+
"name": "is-active",
|
|
497
|
+
"allowNo": false,
|
|
498
|
+
"type": "boolean"
|
|
499
|
+
},
|
|
500
|
+
"spam-threshold": {
|
|
501
|
+
"description": "Per-domain spam threshold override (Pro plan required)",
|
|
502
|
+
"name": "spam-threshold",
|
|
503
|
+
"hasDynamicHelp": false,
|
|
504
|
+
"multiple": false,
|
|
505
|
+
"type": "option"
|
|
379
506
|
}
|
|
380
507
|
},
|
|
381
508
|
"hasDynamicHelp": false,
|
|
@@ -755,7 +882,7 @@
|
|
|
755
882
|
"endpoints:create-endpoint": {
|
|
756
883
|
"aliases": [],
|
|
757
884
|
"args": {},
|
|
758
|
-
"description": "Creates a new webhook endpoint. If a deactivated endpoint with the\nsame URL and domain exists, it is reactivated instead.\nSubject to plan limits on the number of active endpoints.\n\n\nBody fields
|
|
885
|
+
"description": "Creates a new webhook endpoint. If a deactivated endpoint with the\nsame URL and domain exists, it is reactivated instead.\nSubject to plan limits on the number of active endpoints.\n\n\nBody fields requiring --body JSON (these are not exposed as flags):\n rules object Endpoint-specific filtering rules\n(* = required. Scalar body fields are exposed as individual --flag-name flags; see FLAGS above.)",
|
|
759
886
|
"flags": {
|
|
760
887
|
"api-key": {
|
|
761
888
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -774,18 +901,38 @@
|
|
|
774
901
|
"type": "option"
|
|
775
902
|
},
|
|
776
903
|
"body": {
|
|
777
|
-
"description": "
|
|
904
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
778
905
|
"name": "body",
|
|
779
906
|
"hasDynamicHelp": false,
|
|
780
907
|
"multiple": false,
|
|
781
908
|
"type": "option"
|
|
782
909
|
},
|
|
783
910
|
"body-file": {
|
|
784
|
-
"description": "Path to a JSON file used as the request body",
|
|
911
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
785
912
|
"name": "body-file",
|
|
786
913
|
"hasDynamicHelp": false,
|
|
787
914
|
"multiple": false,
|
|
788
915
|
"type": "option"
|
|
916
|
+
},
|
|
917
|
+
"url": {
|
|
918
|
+
"description": "The webhook URL to deliver events to",
|
|
919
|
+
"name": "url",
|
|
920
|
+
"hasDynamicHelp": false,
|
|
921
|
+
"multiple": false,
|
|
922
|
+
"type": "option"
|
|
923
|
+
},
|
|
924
|
+
"domain-id": {
|
|
925
|
+
"description": "Restrict to emails from a specific domain",
|
|
926
|
+
"name": "domain-id",
|
|
927
|
+
"hasDynamicHelp": false,
|
|
928
|
+
"multiple": false,
|
|
929
|
+
"type": "option"
|
|
930
|
+
},
|
|
931
|
+
"enabled": {
|
|
932
|
+
"description": "Whether the endpoint is active",
|
|
933
|
+
"name": "enabled",
|
|
934
|
+
"allowNo": false,
|
|
935
|
+
"type": "boolean"
|
|
789
936
|
}
|
|
790
937
|
},
|
|
791
938
|
"hasDynamicHelp": false,
|
|
@@ -913,7 +1060,7 @@
|
|
|
913
1060
|
"endpoints:update-endpoint": {
|
|
914
1061
|
"aliases": [],
|
|
915
1062
|
"args": {},
|
|
916
|
-
"description": "Updates an active webhook endpoint. If the URL is changed, the old\nendpoint is deactivated and a new one is created (or an existing\ndeactivated endpoint with the new URL is reactivated).\n\n\nBody fields
|
|
1063
|
+
"description": "Updates an active webhook endpoint. If the URL is changed, the old\nendpoint is deactivated and a new one is created (or an existing\ndeactivated endpoint with the new URL is reactivated).\n\n\nBody fields requiring --body JSON (these are not exposed as flags):\n rules object\n(* = required. Scalar body fields are exposed as individual --flag-name flags; see FLAGS above.)",
|
|
917
1064
|
"flags": {
|
|
918
1065
|
"api-key": {
|
|
919
1066
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -940,18 +1087,38 @@
|
|
|
940
1087
|
"type": "option"
|
|
941
1088
|
},
|
|
942
1089
|
"body": {
|
|
943
|
-
"description": "
|
|
1090
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
944
1091
|
"name": "body",
|
|
945
1092
|
"hasDynamicHelp": false,
|
|
946
1093
|
"multiple": false,
|
|
947
1094
|
"type": "option"
|
|
948
1095
|
},
|
|
949
1096
|
"body-file": {
|
|
950
|
-
"description": "Path to a JSON file used as the request body",
|
|
1097
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
951
1098
|
"name": "body-file",
|
|
952
1099
|
"hasDynamicHelp": false,
|
|
953
1100
|
"multiple": false,
|
|
954
1101
|
"type": "option"
|
|
1102
|
+
},
|
|
1103
|
+
"domain-id": {
|
|
1104
|
+
"description": "domain_id",
|
|
1105
|
+
"name": "domain-id",
|
|
1106
|
+
"hasDynamicHelp": false,
|
|
1107
|
+
"multiple": false,
|
|
1108
|
+
"type": "option"
|
|
1109
|
+
},
|
|
1110
|
+
"enabled": {
|
|
1111
|
+
"description": "enabled",
|
|
1112
|
+
"name": "enabled",
|
|
1113
|
+
"allowNo": false,
|
|
1114
|
+
"type": "boolean"
|
|
1115
|
+
},
|
|
1116
|
+
"url": {
|
|
1117
|
+
"description": "New webhook URL (triggers endpoint rotation)",
|
|
1118
|
+
"name": "url",
|
|
1119
|
+
"hasDynamicHelp": false,
|
|
1120
|
+
"multiple": false,
|
|
1121
|
+
"type": "option"
|
|
955
1122
|
}
|
|
956
1123
|
},
|
|
957
1124
|
"hasDynamicHelp": false,
|
|
@@ -967,7 +1134,7 @@
|
|
|
967
1134
|
"filters:create-filter": {
|
|
968
1135
|
"aliases": [],
|
|
969
1136
|
"args": {},
|
|
970
|
-
"description": "Creates a new whitelist or blocklist filter. Per-domain filters\nrequire a Pro plan. Patterns are stored as lowercase.\n
|
|
1137
|
+
"description": "Creates a new whitelist or blocklist filter. Per-domain filters\nrequire a Pro plan. Patterns are stored as lowercase.\n",
|
|
971
1138
|
"flags": {
|
|
972
1139
|
"api-key": {
|
|
973
1140
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -986,18 +1153,43 @@
|
|
|
986
1153
|
"type": "option"
|
|
987
1154
|
},
|
|
988
1155
|
"body": {
|
|
989
|
-
"description": "
|
|
1156
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
990
1157
|
"name": "body",
|
|
991
1158
|
"hasDynamicHelp": false,
|
|
992
1159
|
"multiple": false,
|
|
993
1160
|
"type": "option"
|
|
994
1161
|
},
|
|
995
1162
|
"body-file": {
|
|
996
|
-
"description": "Path to a JSON file used as the request body",
|
|
1163
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
997
1164
|
"name": "body-file",
|
|
998
1165
|
"hasDynamicHelp": false,
|
|
999
1166
|
"multiple": false,
|
|
1000
1167
|
"type": "option"
|
|
1168
|
+
},
|
|
1169
|
+
"pattern": {
|
|
1170
|
+
"description": "Email address or pattern to filter",
|
|
1171
|
+
"name": "pattern",
|
|
1172
|
+
"hasDynamicHelp": false,
|
|
1173
|
+
"multiple": false,
|
|
1174
|
+
"type": "option"
|
|
1175
|
+
},
|
|
1176
|
+
"type": {
|
|
1177
|
+
"description": "type",
|
|
1178
|
+
"name": "type",
|
|
1179
|
+
"hasDynamicHelp": false,
|
|
1180
|
+
"multiple": false,
|
|
1181
|
+
"options": [
|
|
1182
|
+
"whitelist",
|
|
1183
|
+
"blocklist"
|
|
1184
|
+
],
|
|
1185
|
+
"type": "option"
|
|
1186
|
+
},
|
|
1187
|
+
"domain-id": {
|
|
1188
|
+
"description": "Restrict filter to a specific domain (Pro plan required)",
|
|
1189
|
+
"name": "domain-id",
|
|
1190
|
+
"hasDynamicHelp": false,
|
|
1191
|
+
"multiple": false,
|
|
1192
|
+
"type": "option"
|
|
1001
1193
|
}
|
|
1002
1194
|
},
|
|
1003
1195
|
"hasDynamicHelp": false,
|
|
@@ -1085,7 +1277,7 @@
|
|
|
1085
1277
|
"filters:update-filter": {
|
|
1086
1278
|
"aliases": [],
|
|
1087
1279
|
"args": {},
|
|
1088
|
-
"description": "Toggle a filter's enabled state
|
|
1280
|
+
"description": "Toggle a filter's enabled state.",
|
|
1089
1281
|
"flags": {
|
|
1090
1282
|
"api-key": {
|
|
1091
1283
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -1112,18 +1304,24 @@
|
|
|
1112
1304
|
"type": "option"
|
|
1113
1305
|
},
|
|
1114
1306
|
"body": {
|
|
1115
|
-
"description": "
|
|
1307
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
1116
1308
|
"name": "body",
|
|
1117
1309
|
"hasDynamicHelp": false,
|
|
1118
1310
|
"multiple": false,
|
|
1119
1311
|
"type": "option"
|
|
1120
1312
|
},
|
|
1121
1313
|
"body-file": {
|
|
1122
|
-
"description": "Path to a JSON file used as the request body",
|
|
1314
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
1123
1315
|
"name": "body-file",
|
|
1124
1316
|
"hasDynamicHelp": false,
|
|
1125
1317
|
"multiple": false,
|
|
1126
1318
|
"type": "option"
|
|
1319
|
+
},
|
|
1320
|
+
"enabled": {
|
|
1321
|
+
"description": "enabled",
|
|
1322
|
+
"name": "enabled",
|
|
1323
|
+
"allowNo": false,
|
|
1324
|
+
"type": "boolean"
|
|
1127
1325
|
}
|
|
1128
1326
|
},
|
|
1129
1327
|
"hasDynamicHelp": false,
|
|
@@ -1136,10 +1334,91 @@
|
|
|
1136
1334
|
"summary": "Update a filter rule",
|
|
1137
1335
|
"enableJsonFlag": false
|
|
1138
1336
|
},
|
|
1337
|
+
"sending:reply-to-email": {
|
|
1338
|
+
"aliases": [],
|
|
1339
|
+
"args": {},
|
|
1340
|
+
"description": "Sends an outbound reply to the inbound email identified by `id`.\nThreading headers (`In-Reply-To`, `References`), recipient\nderivation (Reply-To, then From, then bare sender), and the\n`Re:` subject prefix are all derived server-side from the\nstored inbound row. The request body carries only the message\nbody and optional `wait` flag; passing any header or recipient\noverride is rejected by the schema (`additionalProperties:\nfalse`).\n\nForwards through the same gates as `/send-mail`: the response\nstatus, error envelope, and `idempotent_replay` flag mirror\nthe send-mail contract verbatim.\n",
|
|
1341
|
+
"flags": {
|
|
1342
|
+
"api-key": {
|
|
1343
|
+
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
1344
|
+
"env": "PRIMITIVE_API_KEY",
|
|
1345
|
+
"name": "api-key",
|
|
1346
|
+
"hasDynamicHelp": false,
|
|
1347
|
+
"multiple": false,
|
|
1348
|
+
"type": "option"
|
|
1349
|
+
},
|
|
1350
|
+
"base-url": {
|
|
1351
|
+
"description": "API base URL (defaults to PRIMITIVE_API_URL or production)",
|
|
1352
|
+
"env": "PRIMITIVE_API_URL",
|
|
1353
|
+
"name": "base-url",
|
|
1354
|
+
"hasDynamicHelp": false,
|
|
1355
|
+
"multiple": false,
|
|
1356
|
+
"type": "option"
|
|
1357
|
+
},
|
|
1358
|
+
"id": {
|
|
1359
|
+
"description": "Resource UUID",
|
|
1360
|
+
"name": "id",
|
|
1361
|
+
"required": true,
|
|
1362
|
+
"hasDynamicHelp": false,
|
|
1363
|
+
"multiple": false,
|
|
1364
|
+
"type": "option"
|
|
1365
|
+
},
|
|
1366
|
+
"body": {
|
|
1367
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
1368
|
+
"name": "body",
|
|
1369
|
+
"hasDynamicHelp": false,
|
|
1370
|
+
"multiple": false,
|
|
1371
|
+
"type": "option"
|
|
1372
|
+
},
|
|
1373
|
+
"body-file": {
|
|
1374
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
1375
|
+
"name": "body-file",
|
|
1376
|
+
"hasDynamicHelp": false,
|
|
1377
|
+
"multiple": false,
|
|
1378
|
+
"type": "option"
|
|
1379
|
+
},
|
|
1380
|
+
"body-html": {
|
|
1381
|
+
"description": "HTML reply body. At least one of body_text or body_html is required.",
|
|
1382
|
+
"name": "body-html",
|
|
1383
|
+
"hasDynamicHelp": false,
|
|
1384
|
+
"multiple": false,
|
|
1385
|
+
"type": "option"
|
|
1386
|
+
},
|
|
1387
|
+
"body-text": {
|
|
1388
|
+
"description": "Plain-text reply body. At least one of body_text or body_html is required. Th...",
|
|
1389
|
+
"name": "body-text",
|
|
1390
|
+
"hasDynamicHelp": false,
|
|
1391
|
+
"multiple": false,
|
|
1392
|
+
"type": "option"
|
|
1393
|
+
},
|
|
1394
|
+
"from": {
|
|
1395
|
+
"description": "Optional override for the reply's From header. Defaults to",
|
|
1396
|
+
"name": "from",
|
|
1397
|
+
"hasDynamicHelp": false,
|
|
1398
|
+
"multiple": false,
|
|
1399
|
+
"type": "option"
|
|
1400
|
+
},
|
|
1401
|
+
"wait": {
|
|
1402
|
+
"description": "When true, wait for the first downstream SMTP delivery outcome before returni...",
|
|
1403
|
+
"name": "wait",
|
|
1404
|
+
"allowNo": false,
|
|
1405
|
+
"type": "boolean"
|
|
1406
|
+
}
|
|
1407
|
+
},
|
|
1408
|
+
"hasDynamicHelp": false,
|
|
1409
|
+
"hiddenAliases": [],
|
|
1410
|
+
"id": "sending:reply-to-email",
|
|
1411
|
+
"pluginAlias": "@primitivedotdev/sdk",
|
|
1412
|
+
"pluginName": "@primitivedotdev/sdk",
|
|
1413
|
+
"pluginType": "core",
|
|
1414
|
+
"strict": true,
|
|
1415
|
+
"summary": "Reply to an inbound email",
|
|
1416
|
+
"enableJsonFlag": false
|
|
1417
|
+
},
|
|
1139
1418
|
"sending:send-email": {
|
|
1140
1419
|
"aliases": [],
|
|
1141
1420
|
"args": {},
|
|
1142
|
-
"description": "Sends an outbound email through Primitive's outbound relay. By default\nthe request returns once the relay accepts the message for delivery.\nSet `wait: true` to wait for the first downstream SMTP delivery outcome.\n\n\nBody fields
|
|
1421
|
+
"description": "Sends an outbound email through Primitive's outbound relay. By default\nthe request returns once the relay accepts the message for delivery.\nSet `wait: true` to wait for the first downstream SMTP delivery outcome.\n\n\nBody fields requiring --body JSON (these are not exposed as flags):\n references array<string> Full ordered message-id chain for the thread.\n(* = required. Scalar body fields are exposed as individual --flag-name flags; see FLAGS above.)",
|
|
1143
1422
|
"flags": {
|
|
1144
1423
|
"api-key": {
|
|
1145
1424
|
"description": "Primitive API key (defaults to PRIMITIVE_API_KEY)",
|
|
@@ -1158,18 +1437,73 @@
|
|
|
1158
1437
|
"type": "option"
|
|
1159
1438
|
},
|
|
1160
1439
|
"body": {
|
|
1161
|
-
"description": "
|
|
1440
|
+
"description": "Full request body as JSON. Prefer per-field flags (e.g. --to, --from, --body-text) when available; --body is the escape hatch for nested or complex fields.",
|
|
1162
1441
|
"name": "body",
|
|
1163
1442
|
"hasDynamicHelp": false,
|
|
1164
1443
|
"multiple": false,
|
|
1165
1444
|
"type": "option"
|
|
1166
1445
|
},
|
|
1167
1446
|
"body-file": {
|
|
1168
|
-
"description": "Path to a JSON file used as the request body",
|
|
1447
|
+
"description": "Path to a JSON file used as the request body. Same role as --body for callers passing a saved payload.",
|
|
1169
1448
|
"name": "body-file",
|
|
1170
1449
|
"hasDynamicHelp": false,
|
|
1171
1450
|
"multiple": false,
|
|
1172
1451
|
"type": "option"
|
|
1452
|
+
},
|
|
1453
|
+
"from": {
|
|
1454
|
+
"description": "RFC 5322 From header. The sender domain must be a verified outbound domain fo...",
|
|
1455
|
+
"name": "from",
|
|
1456
|
+
"hasDynamicHelp": false,
|
|
1457
|
+
"multiple": false,
|
|
1458
|
+
"type": "option"
|
|
1459
|
+
},
|
|
1460
|
+
"subject": {
|
|
1461
|
+
"description": "Subject line for the outbound message",
|
|
1462
|
+
"name": "subject",
|
|
1463
|
+
"hasDynamicHelp": false,
|
|
1464
|
+
"multiple": false,
|
|
1465
|
+
"type": "option"
|
|
1466
|
+
},
|
|
1467
|
+
"to": {
|
|
1468
|
+
"description": "Recipient address. Recipient eligibility depends on your account's outbound e...",
|
|
1469
|
+
"name": "to",
|
|
1470
|
+
"hasDynamicHelp": false,
|
|
1471
|
+
"multiple": false,
|
|
1472
|
+
"type": "option"
|
|
1473
|
+
},
|
|
1474
|
+
"body-html": {
|
|
1475
|
+
"description": "HTML message body. At least one of body_text or body_html is required. The co...",
|
|
1476
|
+
"name": "body-html",
|
|
1477
|
+
"hasDynamicHelp": false,
|
|
1478
|
+
"multiple": false,
|
|
1479
|
+
"type": "option"
|
|
1480
|
+
},
|
|
1481
|
+
"body-text": {
|
|
1482
|
+
"description": "Plain-text message body. At least one of body_text or body_html is required. ...",
|
|
1483
|
+
"name": "body-text",
|
|
1484
|
+
"hasDynamicHelp": false,
|
|
1485
|
+
"multiple": false,
|
|
1486
|
+
"type": "option"
|
|
1487
|
+
},
|
|
1488
|
+
"in-reply-to": {
|
|
1489
|
+
"description": "Message-ID of the direct parent email when sending a threaded reply.",
|
|
1490
|
+
"name": "in-reply-to",
|
|
1491
|
+
"hasDynamicHelp": false,
|
|
1492
|
+
"multiple": false,
|
|
1493
|
+
"type": "option"
|
|
1494
|
+
},
|
|
1495
|
+
"wait": {
|
|
1496
|
+
"description": "When true, wait for the first downstream SMTP delivery outcome before returning.",
|
|
1497
|
+
"name": "wait",
|
|
1498
|
+
"allowNo": false,
|
|
1499
|
+
"type": "boolean"
|
|
1500
|
+
},
|
|
1501
|
+
"wait-timeout-ms": {
|
|
1502
|
+
"description": "Maximum time to wait for a delivery outcome when wait is true. Defaults to 30...",
|
|
1503
|
+
"name": "wait-timeout-ms",
|
|
1504
|
+
"hasDynamicHelp": false,
|
|
1505
|
+
"multiple": false,
|
|
1506
|
+
"type": "option"
|
|
1173
1507
|
}
|
|
1174
1508
|
},
|
|
1175
1509
|
"hasDynamicHelp": false,
|
|
@@ -1309,5 +1643,5 @@
|
|
|
1309
1643
|
"enableJsonFlag": false
|
|
1310
1644
|
}
|
|
1311
1645
|
},
|
|
1312
|
-
"version": "0.
|
|
1646
|
+
"version": "0.11.0"
|
|
1313
1647
|
}
|