@madewithremy/admin 0.1.47 → 0.1.49
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 +17 -0
- package/dist/index.d.ts +50 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/prod.js +74 -6
- package/package.json +1 -1
package/dist/prod.js
CHANGED
|
@@ -9015,10 +9015,10 @@ Notes:
|
|
|
9015
9015
|
Custom domains \u2014 two independent directions:
|
|
9016
9016
|
'domains' govern the From address. 'add' returns
|
|
9017
9017
|
dnsInstructions.records: the DNS records to publish, each
|
|
9018
|
-
marked required or not (on the cloud, three DKIM CNAMEs
|
|
9019
|
-
|
|
9020
|
-
|
|
9021
|
-
re-check now.
|
|
9018
|
+
marked required or not (on the cloud, three DKIM CNAMEs,
|
|
9019
|
+
then a recommended MX and SPF TXT for the bounce domain,
|
|
9020
|
+
bounces.<domain>) \u2014 hand these to the user to create at
|
|
9021
|
+
their DNS host, then 'verify <domain>' to re-check now.
|
|
9022
9022
|
'list' also returns effectiveSender: what the app currently
|
|
9023
9023
|
sends as, and which tier that address comes from.
|
|
9024
9024
|
'inbound-domains' receive mail at the user's own domain via one MX record
|
|
@@ -9031,6 +9031,12 @@ Custom domains \u2014 two independent directions:
|
|
|
9031
9031
|
verificationErrors; sending verification expires unstarted after ~72h \u2014 fix
|
|
9032
9032
|
the records and 'verify' again).
|
|
9033
9033
|
|
|
9034
|
+
returnPathStatus per sending domain: the bounce domain, which puts bounces on
|
|
9035
|
+
the user's own domain so SPF matches it. pending (its MX not found yet),
|
|
9036
|
+
verified, failed (not found within ~72h \u2014 publish the records and 'verify'
|
|
9037
|
+
again, which starts it over), or null where the provider has none. Never part
|
|
9038
|
+
of uiStatus: a domain sends without it.
|
|
9039
|
+
|
|
9034
9040
|
Examples:
|
|
9035
9041
|
remy-admin email status
|
|
9036
9042
|
remy-admin email list --status bounced,blocked --limit 50
|
|
@@ -9103,6 +9109,63 @@ Examples:
|
|
|
9103
9109
|
remy-admin cron list --runs 50
|
|
9104
9110
|
remy-admin cron run dailyDigest`;
|
|
9105
9111
|
|
|
9112
|
+
// src/commands/feedback.ts
|
|
9113
|
+
import fs7 from "fs";
|
|
9114
|
+
|
|
9115
|
+
// src/ops/feedback.ts
|
|
9116
|
+
function draft(ctx, message) {
|
|
9117
|
+
return call(
|
|
9118
|
+
ctx,
|
|
9119
|
+
"POST",
|
|
9120
|
+
`/_internal/v2/apps/${ctx.appId}/feedback-draft`,
|
|
9121
|
+
{ message }
|
|
9122
|
+
);
|
|
9123
|
+
}
|
|
9124
|
+
|
|
9125
|
+
// src/commands/feedback.ts
|
|
9126
|
+
var feedbackSpecs = {
|
|
9127
|
+
"feedback draft": {
|
|
9128
|
+
usage: "Usage: remy-admin feedback draft <message> (or --message - to read stdin)",
|
|
9129
|
+
positionals: [{ name: "message" }],
|
|
9130
|
+
flags: { message: { type: "string" } },
|
|
9131
|
+
requireAnyOf: {
|
|
9132
|
+
flags: ["message"],
|
|
9133
|
+
positionals: ["message"],
|
|
9134
|
+
message: "A message is required."
|
|
9135
|
+
}
|
|
9136
|
+
}
|
|
9137
|
+
};
|
|
9138
|
+
async function feedbackDraft(ctx, a) {
|
|
9139
|
+
const flag = a.str("message");
|
|
9140
|
+
const message = flag === "-" ? fs7.readFileSync(0, "utf-8") : flag ?? a.req("message");
|
|
9141
|
+
out(await draft(ctx, message));
|
|
9142
|
+
}
|
|
9143
|
+
var feedbackHandlers = {
|
|
9144
|
+
"feedback draft": feedbackDraft
|
|
9145
|
+
};
|
|
9146
|
+
var feedbackHelp = `remy-admin feedback \u2014 Report a problem with Remy itself to the Remy team.
|
|
9147
|
+
|
|
9148
|
+
Subcommands:
|
|
9149
|
+
draft Open Send Feedback in the user's editor with your message filled in
|
|
9150
|
+
|
|
9151
|
+
Usage:
|
|
9152
|
+
remy-admin feedback draft <message>
|
|
9153
|
+
remy-admin feedback draft --message - Read the message from stdin
|
|
9154
|
+
|
|
9155
|
+
Notes:
|
|
9156
|
+
- Nothing is sent by this command. The user sees Send Feedback open in their
|
|
9157
|
+
editor with your message in it, can edit it, and decides whether to send.
|
|
9158
|
+
- What goes with a sent report: your conversation, this sandbox's logs and the
|
|
9159
|
+
editor's state. The message itself is what the team reads first.
|
|
9160
|
+
- Only the user's own editors on this app open it, and only ones open now.
|
|
9161
|
+
Returns { status: "sent_to_editor" }.
|
|
9162
|
+
- Errors: feedback_not_configured (this deployment doesn't take feedback),
|
|
9163
|
+
missing_message, message_too_long (over 20,000 characters).
|
|
9164
|
+
|
|
9165
|
+
Examples:
|
|
9166
|
+
remy-admin feedback draft "Every save restarted the dev server twice, so previews lagged a full reload behind."
|
|
9167
|
+
cat note.md | remy-admin feedback draft --message -`;
|
|
9168
|
+
|
|
9106
9169
|
// src/ops/infra.ts
|
|
9107
9170
|
var DEFAULT_WAIT_TIMEOUT_MS4 = 10 * 60 * 1e3;
|
|
9108
9171
|
var POLL_MS5 = 3e3;
|
|
@@ -9810,6 +9873,7 @@ var SPECS = {
|
|
|
9810
9873
|
...settingsSpecs,
|
|
9811
9874
|
...emailSpecs,
|
|
9812
9875
|
...cronSpecs,
|
|
9876
|
+
...feedbackSpecs,
|
|
9813
9877
|
...infraSpecs,
|
|
9814
9878
|
...qaRecordingsSpecs
|
|
9815
9879
|
};
|
|
@@ -9844,6 +9908,7 @@ var HANDLERS = {
|
|
|
9844
9908
|
...settingsHandlers,
|
|
9845
9909
|
...emailHandlers,
|
|
9846
9910
|
...cronHandlers,
|
|
9911
|
+
...feedbackHandlers,
|
|
9847
9912
|
...infraHandlers,
|
|
9848
9913
|
...qaRecordingsHandlers
|
|
9849
9914
|
};
|
|
@@ -9872,12 +9937,13 @@ var GROUP_HELP = {
|
|
|
9872
9937
|
settings: settingsHelp,
|
|
9873
9938
|
email: emailHelp,
|
|
9874
9939
|
cron: cronHelp,
|
|
9940
|
+
feedback: feedbackHelp,
|
|
9875
9941
|
infra: infraHelp,
|
|
9876
9942
|
"qa-recordings": qaRecordingsHelp
|
|
9877
9943
|
};
|
|
9878
9944
|
|
|
9879
9945
|
// src/ctx.ts
|
|
9880
|
-
import
|
|
9946
|
+
import fs8 from "fs";
|
|
9881
9947
|
import path7 from "path";
|
|
9882
9948
|
|
|
9883
9949
|
// src/parseJsonConfig.ts
|
|
@@ -9910,7 +9976,7 @@ function loadWorkspaceAppId(workspaceDir = WORKSPACE_DIR) {
|
|
|
9910
9976
|
const manifestPath = path7.join(workspaceDir, "mindstudio.json");
|
|
9911
9977
|
let raw;
|
|
9912
9978
|
try {
|
|
9913
|
-
raw =
|
|
9979
|
+
raw = fs8.readFileSync(manifestPath, "utf-8");
|
|
9914
9980
|
} catch (err) {
|
|
9915
9981
|
if (err.code === "ENOENT") {
|
|
9916
9982
|
throw new Error(`mindstudio.json not found at ${manifestPath}`);
|
|
@@ -9957,6 +10023,7 @@ Commands:
|
|
|
9957
10023
|
settings App settings \u2014 signup allowlist, test accounts, embed origins, toggles
|
|
9958
10024
|
email Email \u2014 delivery log, blast stats, unsubscribes, inbox, custom domains
|
|
9959
10025
|
cron Scheduled jobs \u2014 schedules, run history, manual trigger
|
|
10026
|
+
feedback Report a problem with Remy itself, for the user to review and send
|
|
9960
10027
|
infra Dedicated infrastructure \u2014 provision, hibernate, resize + destroy retrieval capacity
|
|
9961
10028
|
qa-recordings Browser-QA session replays \u2014 list them, render one as an mp4
|
|
9962
10029
|
|
|
@@ -9993,6 +10060,7 @@ var GROUPS = [
|
|
|
9993
10060
|
"settings",
|
|
9994
10061
|
"email",
|
|
9995
10062
|
"cron",
|
|
10063
|
+
"feedback",
|
|
9996
10064
|
"infra",
|
|
9997
10065
|
"qa-recordings"
|
|
9998
10066
|
];
|