@sentroy-co/client-sdk 2.13.9 → 2.15.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 +53 -5
- package/dist/auth/client.d.ts.map +1 -1
- package/dist/auth/client.js +8 -1
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/react/index.js +1 -1
- package/dist/auth/react/index.js.map +1 -1
- package/dist/auth/react-native/index.d.ts +93 -0
- package/dist/auth/react-native/index.d.ts.map +1 -0
- package/dist/auth/react-native/index.js +106 -0
- package/dist/auth/react-native/index.js.map +1 -0
- package/dist/cli/ai.d.ts +35 -0
- package/dist/cli/ai.d.ts.map +1 -0
- package/dist/cli/ai.js +399 -0
- package/dist/cli/ai.js.map +1 -0
- package/dist/cli/args.d.ts +62 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +199 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/env.d.ts.map +1 -1
- package/dist/cli/env.js +8 -2
- package/dist/cli/env.js.map +1 -1
- package/dist/cli/format.d.ts +37 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +129 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/index.d.ts +8 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +128 -25
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mail.d.ts +25 -0
- package/dist/cli/mail.d.ts.map +1 -0
- package/dist/cli/mail.js +253 -0
- package/dist/cli/mail.js.map +1 -0
- package/dist/cli/storage.d.ts +28 -0
- package/dist/cli/storage.d.ts.map +1 -0
- package/dist/cli/storage.js +189 -0
- package/dist/cli/storage.js.map +1 -0
- package/package.json +9 -2
- package/skill/SKILL.md +577 -0
- package/src/auth/client.ts +8 -1
- package/src/auth/react/index.tsx +1 -1
- package/src/auth/react-native/index.ts +157 -0
- package/src/cli/ai.ts +440 -0
- package/src/cli/args.ts +225 -0
- package/src/cli/env.ts +10 -2
- package/src/cli/format.ts +147 -0
- package/src/cli/index.ts +147 -25
- package/src/cli/mail.ts +363 -0
- package/src/cli/storage.ts +307 -0
package/dist/cli/index.js
CHANGED
|
@@ -2,11 +2,20 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* `sentroy` — CLI entry point.
|
|
4
4
|
*
|
|
5
|
-
* Subcommand router with no third-party deps.
|
|
6
|
-
*
|
|
5
|
+
* Subcommand router with no third-party deps. Groups:
|
|
6
|
+
* - env Vault sync (push/pull/list/diff) — vault-scoped token
|
|
7
|
+
* - mail Mail resource queries (templates/domains/mailboxes/...)
|
|
8
|
+
* - storage Storage resource queries (buckets/media/usage)
|
|
9
|
+
* - ai AI Skill install (Claude/Cursor/Windsurf/AGENTS.md)
|
|
10
|
+
*
|
|
11
|
+
* Shared helpers live in `./args` (parseFlags, resolveSharedOpts, apiFetch,
|
|
12
|
+
* c, fail, info, ok, warn) and `./format` (printRows, printDetail, loc).
|
|
7
13
|
*/
|
|
8
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
15
|
const env_1 = require("./env");
|
|
16
|
+
const mail_1 = require("./mail");
|
|
17
|
+
const storage_1 = require("./storage");
|
|
18
|
+
const ai_1 = require("./ai");
|
|
10
19
|
const VERSION = "__VERSION__"; // replaced at runtime via package.json read
|
|
11
20
|
const ENV_SUBCOMMANDS = {
|
|
12
21
|
push: {
|
|
@@ -26,10 +35,37 @@ const ENV_SUBCOMMANDS = {
|
|
|
26
35
|
handler: env_1.cmdDiff,
|
|
27
36
|
},
|
|
28
37
|
};
|
|
38
|
+
// MAIL/STORAGE/AI subcommands use sub-sub-command pattern:
|
|
39
|
+
// `sentroy mail templates list` → MAIL_HANDLERS["templates.list"]
|
|
40
|
+
// `sentroy mail logs get <id>` → MAIL_HANDLERS["logs.get"]
|
|
41
|
+
//
|
|
42
|
+
// Router joins argv[1] + argv[2] with "." for resource+verb lookup.
|
|
43
|
+
// `sentroy mail analytics` has no verb → MAIL_HANDLERS["analytics"].
|
|
44
|
+
// `sentroy ai install` has no resource → AI_HANDLERS["install"].
|
|
45
|
+
/**
|
|
46
|
+
* Maps `mail templates list` → `templatesList`, `storage buckets get` →
|
|
47
|
+
* `bucketsGet`. If verb missing, tries plain resource key (e.g. `analytics`
|
|
48
|
+
* or `usage`). Returns the handler fn + how many argv tokens it consumed
|
|
49
|
+
* past the group (2 = resource+verb, 1 = resource only) so caller can
|
|
50
|
+
* slice the rest as args.
|
|
51
|
+
*/
|
|
52
|
+
function resolveHandler(handlers, resource, verb) {
|
|
53
|
+
// Flag tokens are NOT verbs (e.g. `mail analytics --days=7`).
|
|
54
|
+
const verbToken = verb && !verb.startsWith("--") ? verb : undefined;
|
|
55
|
+
if (verbToken) {
|
|
56
|
+
const camel = resource + verbToken.charAt(0).toUpperCase() + verbToken.slice(1);
|
|
57
|
+
const h = handlers[camel];
|
|
58
|
+
if (h)
|
|
59
|
+
return { fn: h, consumed: 3 };
|
|
60
|
+
}
|
|
61
|
+
const direct = handlers[resource];
|
|
62
|
+
if (direct)
|
|
63
|
+
return { fn: direct, consumed: 2 };
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
29
66
|
function readPackageVersion() {
|
|
30
67
|
if (VERSION !== "__VERSION__")
|
|
31
68
|
return VERSION;
|
|
32
|
-
// Walk up from this file: dist/cli/index.js → dist/cli → dist → package.
|
|
33
69
|
try {
|
|
34
70
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
35
71
|
const { version } = require("../../package.json");
|
|
@@ -43,31 +79,53 @@ function showHelp() {
|
|
|
43
79
|
const v = readPackageVersion();
|
|
44
80
|
process.stdout.write(`\nsentroy ${v} — Sentroy CLI\n\n` +
|
|
45
81
|
`USAGE\n` +
|
|
46
|
-
` sentroy <
|
|
47
|
-
`
|
|
48
|
-
` env push [<file>]
|
|
49
|
-
` env pull [<file>]
|
|
50
|
-
` env list
|
|
51
|
-
` env diff [<file>]
|
|
82
|
+
` sentroy <group> <subcommand> [args] [flags]\n\n` +
|
|
83
|
+
`ENV (vault sync — requires SENTROY_ENV_API_KEY)\n` +
|
|
84
|
+
` sentroy env push [<file>] ${ENV_SUBCOMMANDS.push.description}\n` +
|
|
85
|
+
` sentroy env pull [<file>] ${ENV_SUBCOMMANDS.pull.description}\n` +
|
|
86
|
+
` sentroy env list ${ENV_SUBCOMMANDS.list.description}\n` +
|
|
87
|
+
` sentroy env diff [<file>] ${ENV_SUBCOMMANDS.diff.description}\n\n` +
|
|
88
|
+
`MAIL (requires SENTROY_API_KEY + SENTROY_COMPANY_SLUG)\n` +
|
|
89
|
+
` sentroy mail templates list List email templates\n` +
|
|
90
|
+
` sentroy mail templates get <id> Template detail\n` +
|
|
91
|
+
` sentroy mail domains list List sending domains\n` +
|
|
92
|
+
` sentroy mail mailboxes list List inbox mailboxes\n` +
|
|
93
|
+
` sentroy mail inbox list Recent inbox messages (--mailbox, --folder, --unread, --q, --page, --limit)\n` +
|
|
94
|
+
` sentroy mail suppressions list Bounce/complaint suppressions (--domain, --reason)\n` +
|
|
95
|
+
` sentroy mail logs list Delivery logs (--status, --domain, --from, --to)\n` +
|
|
96
|
+
` sentroy mail logs get <id> Log detail (event timeline)\n` +
|
|
97
|
+
` sentroy mail webhooks list Webhook endpoints (--domain)\n` +
|
|
98
|
+
` sentroy mail analytics Aggregate stats (--days=7|30|90, --domain)\n\n` +
|
|
99
|
+
`STORAGE (requires SENTROY_API_KEY + SENTROY_COMPANY_SLUG)\n` +
|
|
100
|
+
` sentroy storage buckets list List storage buckets\n` +
|
|
101
|
+
` sentroy storage buckets get <slug> Bucket detail\n` +
|
|
102
|
+
` sentroy storage media list <bucketSlug> List media in bucket (--type, --folder, --q, --sort, --dir, --limit, --skip)\n` +
|
|
103
|
+
` sentroy storage media get <bucketSlug> <mediaId> Media detail\n` +
|
|
104
|
+
` sentroy storage usage Quota + per-bucket breakdown\n` +
|
|
105
|
+
` sentroy storage quota Lightweight quota only\n\n` +
|
|
106
|
+
`AI SKILL (install the Sentroy AI agent skill into your project)\n` +
|
|
107
|
+
` sentroy ai install Autodetect tools (Claude, Cursor, Windsurf) + AGENTS.md\n` +
|
|
108
|
+
` sentroy ai install --claude Install only into .claude/skills/sentroy/\n` +
|
|
109
|
+
` sentroy ai install --cursor Install only into .cursor/rules/sentroy.mdc\n` +
|
|
110
|
+
` sentroy ai install --windsurf Merge into .windsurfrules\n` +
|
|
111
|
+
` sentroy ai install --agents Merge into AGENTS.md at cwd\n` +
|
|
112
|
+
` sentroy ai install --all Install into every supported target\n` +
|
|
113
|
+
` sentroy ai install --upgrade Re-install latest, replacing existing sentinel block\n` +
|
|
114
|
+
` sentroy ai install --check Dry-run, show what would change\n\n` +
|
|
52
115
|
`GLOBAL FLAGS\n` +
|
|
53
|
-
` --token=
|
|
54
|
-
` --url=https://...
|
|
55
|
-
`
|
|
56
|
-
` --
|
|
57
|
-
` --dry-run Print the diff but do not write\n` +
|
|
58
|
-
` --yes Skip the delete-confirmation prompt (CI-friendly)\n\n` +
|
|
59
|
-
`ENV PULL FLAGS\n` +
|
|
60
|
-
` --force Overwrite the file if it already exists\n\n` +
|
|
61
|
-
`ENV LIST FLAGS\n` +
|
|
62
|
-
` --values Include values (default: keys only)\n` +
|
|
63
|
-
` --public-only Only variables marked public\n\n` +
|
|
116
|
+
` --token=stk_... Override $SENTROY_API_KEY (env vault uses $SENTROY_ENV_API_KEY)\n` +
|
|
117
|
+
` --url=https://... Override base URL (default https://sentroy.com)\n` +
|
|
118
|
+
` --company-slug=<slug> Override $SENTROY_COMPANY_SLUG (required for mail/storage)\n` +
|
|
119
|
+
` --output=json|table Output format (default table)\n\n` +
|
|
64
120
|
`EXAMPLES\n` +
|
|
65
121
|
` sentroy env push .env.production --delete-missing\n` +
|
|
66
|
-
` sentroy
|
|
67
|
-
` sentroy
|
|
68
|
-
` sentroy
|
|
69
|
-
`
|
|
70
|
-
`
|
|
122
|
+
` sentroy mail templates list --output=json | jq '.[].name'\n` +
|
|
123
|
+
` sentroy mail logs list --status=bounced --days=7\n` +
|
|
124
|
+
` sentroy storage buckets list\n` +
|
|
125
|
+
` sentroy ai install\n\n` +
|
|
126
|
+
`DOCS\n` +
|
|
127
|
+
` https://docs.sentroy.com/cli Full CLI reference\n` +
|
|
128
|
+
` https://docs.sentroy.com/ai-skills AI Skill install guide\n\n`);
|
|
71
129
|
}
|
|
72
130
|
async function main() {
|
|
73
131
|
const argv = process.argv.slice(2);
|
|
@@ -94,6 +152,51 @@ async function main() {
|
|
|
94
152
|
await handler.handler(argv.slice(2));
|
|
95
153
|
return;
|
|
96
154
|
}
|
|
155
|
+
if (cmd === "mail") {
|
|
156
|
+
// `mail <resource> [verb] [args]` → handler key = resource + Capitalize(verb).
|
|
157
|
+
// Exception: `mail analytics` has no verb → handler key = "analytics".
|
|
158
|
+
const resource = argv[1];
|
|
159
|
+
const verb = argv[2];
|
|
160
|
+
if (!resource) {
|
|
161
|
+
process.stderr.write(`usage: sentroy mail <resource> [verb] [args]\nresources: templates, domains, mailboxes, inbox, suppressions, logs, webhooks, analytics\n`);
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
const handler = resolveHandler(mail_1.MAIL_HANDLERS, resource, verb);
|
|
165
|
+
if (!handler) {
|
|
166
|
+
process.stderr.write(`unknown mail command: \`sentroy mail ${resource}${verb ? " " + verb : ""}\`\n` +
|
|
167
|
+
`available: ${Object.keys(mail_1.MAIL_HANDLERS).join(", ")}\n`);
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
await handler.fn(argv.slice(handler.consumed));
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (cmd === "storage") {
|
|
174
|
+
const resource = argv[1];
|
|
175
|
+
const verb = argv[2];
|
|
176
|
+
if (!resource) {
|
|
177
|
+
process.stderr.write(`usage: sentroy storage <resource> [verb] [args]\nresources: buckets, media, usage, quota\n`);
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
const handler = resolveHandler(storage_1.STORAGE_HANDLERS, resource, verb);
|
|
181
|
+
if (!handler) {
|
|
182
|
+
process.stderr.write(`unknown storage command: \`sentroy storage ${resource}${verb ? " " + verb : ""}\`\n` +
|
|
183
|
+
`available: ${Object.keys(storage_1.STORAGE_HANDLERS).join(", ")}\n`);
|
|
184
|
+
process.exit(1);
|
|
185
|
+
}
|
|
186
|
+
await handler.fn(argv.slice(handler.consumed));
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (cmd === "ai") {
|
|
190
|
+
const sub = argv[1];
|
|
191
|
+
const handler = sub ? ai_1.AI_HANDLERS[sub] : undefined;
|
|
192
|
+
if (!handler) {
|
|
193
|
+
process.stderr.write(`unknown ai subcommand: ${sub ?? "<missing>"}\n` +
|
|
194
|
+
`available: ${Object.keys(ai_1.AI_HANDLERS).join(", ")}\n`);
|
|
195
|
+
process.exit(1);
|
|
196
|
+
}
|
|
197
|
+
await handler(argv.slice(2));
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
97
200
|
process.stderr.write(`unknown command: ${cmd}\nrun \`sentroy --help\` for usage.\n`);
|
|
98
201
|
process.exit(1);
|
|
99
202
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare function templatesList(args: string[]): Promise<void>;
|
|
2
|
+
declare function templatesGet(args: string[]): Promise<void>;
|
|
3
|
+
declare function domainsList(args: string[]): Promise<void>;
|
|
4
|
+
declare function mailboxesList(args: string[]): Promise<void>;
|
|
5
|
+
declare function inboxList(args: string[]): Promise<void>;
|
|
6
|
+
declare function suppressionsList(args: string[]): Promise<void>;
|
|
7
|
+
declare function logsList(args: string[]): Promise<void>;
|
|
8
|
+
declare function logsGet(args: string[]): Promise<void>;
|
|
9
|
+
declare function webhooksList(args: string[]): Promise<void>;
|
|
10
|
+
declare function analytics(args: string[]): Promise<void>;
|
|
11
|
+
export declare const MAIL_HANDLERS: {
|
|
12
|
+
readonly templatesList: typeof templatesList;
|
|
13
|
+
readonly templatesGet: typeof templatesGet;
|
|
14
|
+
readonly domainsList: typeof domainsList;
|
|
15
|
+
readonly mailboxesList: typeof mailboxesList;
|
|
16
|
+
readonly inboxList: typeof inboxList;
|
|
17
|
+
readonly suppressionsList: typeof suppressionsList;
|
|
18
|
+
readonly logsList: typeof logsList;
|
|
19
|
+
readonly logsGet: typeof logsGet;
|
|
20
|
+
readonly webhooksList: typeof webhooksList;
|
|
21
|
+
readonly analytics: typeof analytics;
|
|
22
|
+
};
|
|
23
|
+
export type MailHandlerName = keyof typeof MAIL_HANDLERS;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=mail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/cli/mail.ts"],"names":[],"mappings":"AA4IA,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1D;AAED,iBAAe,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzD;AAID,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAexD;AAID,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1D;AAID,iBAAe,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtD;AAID,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7D;AAID,iBAAe,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrD;AAED,iBAAe,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpD;AAID,iBAAe,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAazD;AAaD,iBAAe,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtD;AAID,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAA"}
|
package/dist/cli/mail.js
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAIL_HANDLERS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* `sentroy mail …` — read-only subcommands for the mail product.
|
|
6
|
+
*
|
|
7
|
+
* Every handler resolves shared opts (token + base URL + company slug),
|
|
8
|
+
* builds an optional query string from CLI flags, calls the platform
|
|
9
|
+
* REST API under `/api/companies/<slug>/…`, then prints the result via
|
|
10
|
+
* the shared table/json formatter (`printRows` for lists, `printDetail`
|
|
11
|
+
* for single-resource gets).
|
|
12
|
+
*
|
|
13
|
+
* Auth: Bearer `stk_…` access token (resolved by `resolveSharedOpts`).
|
|
14
|
+
* Output: table by default, `--output=json` for scripting.
|
|
15
|
+
*
|
|
16
|
+
* The handler map is exported as `MAIL_HANDLERS` so `cli/index.ts` can
|
|
17
|
+
* dispatch `sentroy mail <group> <action>` without each handler having
|
|
18
|
+
* to know about the router.
|
|
19
|
+
*/
|
|
20
|
+
const args_1 = require("./args");
|
|
21
|
+
const format_1 = require("./format");
|
|
22
|
+
// ── Query string builder ────────────────────────────────────────────────
|
|
23
|
+
/**
|
|
24
|
+
* Build a query string from a flag map, copying only the keys listed in
|
|
25
|
+
* `keys`. Skips booleans (those are switches, not values) and undefined.
|
|
26
|
+
* Returns "" if nothing to encode — caller can append safely.
|
|
27
|
+
*/
|
|
28
|
+
function buildQuery(flags, keys) {
|
|
29
|
+
const params = new URLSearchParams();
|
|
30
|
+
for (const { flag, param } of keys) {
|
|
31
|
+
const v = flags[flag];
|
|
32
|
+
if (v === undefined)
|
|
33
|
+
continue;
|
|
34
|
+
if (typeof v === "boolean") {
|
|
35
|
+
if (v)
|
|
36
|
+
params.set(param ?? flag, "true");
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
params.set(param ?? flag, v);
|
|
40
|
+
}
|
|
41
|
+
const s = params.toString();
|
|
42
|
+
return s ? `?${s}` : "";
|
|
43
|
+
}
|
|
44
|
+
/** Slice ISO timestamps to "YYYY-MM-DD" or "YYYY-MM-DD HH:mm". */
|
|
45
|
+
function sliceDate(value, len) {
|
|
46
|
+
if (!value)
|
|
47
|
+
return "";
|
|
48
|
+
const s = String(value);
|
|
49
|
+
if (len === 16)
|
|
50
|
+
return s.slice(0, 10) + " " + s.slice(11, 16);
|
|
51
|
+
return s.slice(0, 10);
|
|
52
|
+
}
|
|
53
|
+
function yesNo(value) {
|
|
54
|
+
if (value === true)
|
|
55
|
+
return "yes";
|
|
56
|
+
if (value === false)
|
|
57
|
+
return "no";
|
|
58
|
+
return "";
|
|
59
|
+
}
|
|
60
|
+
function ctx(args) {
|
|
61
|
+
const { positional, flags } = (0, args_1.parseFlags)(args);
|
|
62
|
+
const shared = (0, args_1.resolveSharedOpts)(flags, { requireCompanySlug: true });
|
|
63
|
+
return { positional, flags, shared };
|
|
64
|
+
}
|
|
65
|
+
function companyPath(shared, suffix) {
|
|
66
|
+
return `/api/companies/${encodeURIComponent(shared.companySlug)}${suffix}`;
|
|
67
|
+
}
|
|
68
|
+
// ── Templates ───────────────────────────────────────────────────────────
|
|
69
|
+
async function templatesList(args) {
|
|
70
|
+
const { flags, shared } = ctx(args);
|
|
71
|
+
const qs = buildQuery(flags, [
|
|
72
|
+
{ flag: "page" },
|
|
73
|
+
{ flag: "limit" },
|
|
74
|
+
]);
|
|
75
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/templates${qs}`));
|
|
76
|
+
const cols = [
|
|
77
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
78
|
+
{ header: "NAME", get: (r) => (0, format_1.loc)(r.name) },
|
|
79
|
+
{ header: "SUBJECT", get: (r) => (0, format_1.loc)(r.subject), maxWidth: 50 },
|
|
80
|
+
{ header: "DOMAIN", get: (r) => r.domainId, maxWidth: 24 },
|
|
81
|
+
{ header: "CATEGORY", get: (r) => r.category ?? "" },
|
|
82
|
+
{ header: "CREATED", get: (r) => sliceDate(r.createdAt, 10) },
|
|
83
|
+
];
|
|
84
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
85
|
+
}
|
|
86
|
+
async function templatesGet(args) {
|
|
87
|
+
const { positional, flags, shared } = ctx(args);
|
|
88
|
+
const id = positional[0];
|
|
89
|
+
if (!id) {
|
|
90
|
+
process.stderr.write("usage: sentroy mail templates get <id>\n");
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/templates/${encodeURIComponent(id)}`));
|
|
94
|
+
(0, format_1.printDetail)(data ?? {}, flags);
|
|
95
|
+
}
|
|
96
|
+
// ── Domains ─────────────────────────────────────────────────────────────
|
|
97
|
+
async function domainsList(args) {
|
|
98
|
+
const { flags, shared } = ctx(args);
|
|
99
|
+
const qs = buildQuery(flags, [
|
|
100
|
+
{ flag: "page" },
|
|
101
|
+
{ flag: "limit" },
|
|
102
|
+
]);
|
|
103
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/domains${qs}`));
|
|
104
|
+
const cols = [
|
|
105
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
106
|
+
{ header: "DOMAIN", get: (r) => r.domain },
|
|
107
|
+
{ header: "STATUS", get: (r) => r.status },
|
|
108
|
+
{ header: "ASSIGNED", get: (r) => yesNo(r.isAssigned) },
|
|
109
|
+
{ header: "CREATED", get: (r) => sliceDate(r.createdAt, 10) },
|
|
110
|
+
];
|
|
111
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
112
|
+
}
|
|
113
|
+
// ── Mailboxes ───────────────────────────────────────────────────────────
|
|
114
|
+
async function mailboxesList(args) {
|
|
115
|
+
const { flags, shared } = ctx(args);
|
|
116
|
+
const qs = buildQuery(flags, [
|
|
117
|
+
{ flag: "page" },
|
|
118
|
+
{ flag: "limit" },
|
|
119
|
+
{ flag: "domain", param: "domainId" },
|
|
120
|
+
]);
|
|
121
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/mailboxes${qs}`));
|
|
122
|
+
const cols = [
|
|
123
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
124
|
+
{ header: "EMAIL", get: (r) => r.email },
|
|
125
|
+
{ header: "DOMAIN", get: (r) => r.domainId, maxWidth: 24 },
|
|
126
|
+
{ header: "CATCHALL", get: (r) => yesNo(r.isCatchAll) },
|
|
127
|
+
{ header: "CREATED", get: (r) => sliceDate(r.createdAt, 10) },
|
|
128
|
+
];
|
|
129
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
130
|
+
}
|
|
131
|
+
// ── Inbox ───────────────────────────────────────────────────────────────
|
|
132
|
+
async function inboxList(args) {
|
|
133
|
+
const { flags, shared } = ctx(args);
|
|
134
|
+
const qs = buildQuery(flags, [
|
|
135
|
+
{ flag: "mailbox" },
|
|
136
|
+
{ flag: "folder" },
|
|
137
|
+
{ flag: "unread" },
|
|
138
|
+
{ flag: "page" },
|
|
139
|
+
{ flag: "limit" },
|
|
140
|
+
{ flag: "q" },
|
|
141
|
+
]);
|
|
142
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/inbox${qs}`));
|
|
143
|
+
const cols = [
|
|
144
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
145
|
+
{ header: "MAILBOX", get: (r) => r.mailbox },
|
|
146
|
+
{ header: "FOLDER", get: (r) => r.folder },
|
|
147
|
+
{ header: "FROM", get: (r) => r.from, maxWidth: 40 },
|
|
148
|
+
{ header: "SUBJECT", get: (r) => r.subject, maxWidth: 40 },
|
|
149
|
+
{ header: "UNREAD", get: (r) => yesNo(r.unread) },
|
|
150
|
+
{ header: "RECEIVED", get: (r) => sliceDate(r.receivedAt, 16) },
|
|
151
|
+
];
|
|
152
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
153
|
+
}
|
|
154
|
+
// ── Suppressions ────────────────────────────────────────────────────────
|
|
155
|
+
async function suppressionsList(args) {
|
|
156
|
+
const { flags, shared } = ctx(args);
|
|
157
|
+
const qs = buildQuery(flags, [
|
|
158
|
+
{ flag: "page" },
|
|
159
|
+
{ flag: "limit" },
|
|
160
|
+
{ flag: "domain", param: "domainId" },
|
|
161
|
+
{ flag: "reason" },
|
|
162
|
+
]);
|
|
163
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/suppressions${qs}`));
|
|
164
|
+
const cols = [
|
|
165
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
166
|
+
{ header: "EMAIL", get: (r) => r.email },
|
|
167
|
+
{ header: "REASON", get: (r) => r.reason, maxWidth: 20 },
|
|
168
|
+
{ header: "DOMAIN", get: (r) => r.domainId ?? "", maxWidth: 24 },
|
|
169
|
+
{ header: "CREATED", get: (r) => sliceDate(r.createdAt, 10) },
|
|
170
|
+
];
|
|
171
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
172
|
+
}
|
|
173
|
+
// ── Logs ────────────────────────────────────────────────────────────────
|
|
174
|
+
async function logsList(args) {
|
|
175
|
+
const { flags, shared } = ctx(args);
|
|
176
|
+
const qs = buildQuery(flags, [
|
|
177
|
+
{ flag: "page" },
|
|
178
|
+
{ flag: "limit" },
|
|
179
|
+
{ flag: "status" },
|
|
180
|
+
{ flag: "domain", param: "domainId" },
|
|
181
|
+
{ flag: "from" },
|
|
182
|
+
{ flag: "to" },
|
|
183
|
+
]);
|
|
184
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/logs${qs}`));
|
|
185
|
+
const cols = [
|
|
186
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
187
|
+
{ header: "MESSAGE", get: (r) => r.messageId, maxWidth: 24 },
|
|
188
|
+
{ header: "TO", get: (r) => Array.isArray(r.to) ? r.to.join(",") : r.to },
|
|
189
|
+
{ header: "STATUS", get: (r) => r.status },
|
|
190
|
+
{ header: "DOMAIN", get: (r) => r.domainId ?? "", maxWidth: 24 },
|
|
191
|
+
{ header: "CREATED", get: (r) => sliceDate(r.createdAt, 16) },
|
|
192
|
+
];
|
|
193
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
194
|
+
}
|
|
195
|
+
async function logsGet(args) {
|
|
196
|
+
const { positional, flags, shared } = ctx(args);
|
|
197
|
+
const id = positional[0];
|
|
198
|
+
if (!id) {
|
|
199
|
+
process.stderr.write("usage: sentroy mail logs get <id>\n");
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/logs/${encodeURIComponent(id)}`));
|
|
203
|
+
(0, format_1.printDetail)(data ?? {}, flags);
|
|
204
|
+
}
|
|
205
|
+
// ── Webhooks ────────────────────────────────────────────────────────────
|
|
206
|
+
async function webhooksList(args) {
|
|
207
|
+
const { flags, shared } = ctx(args);
|
|
208
|
+
const qs = buildQuery(flags, [
|
|
209
|
+
{ flag: "domain", param: "domainId" },
|
|
210
|
+
]);
|
|
211
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/webhooks${qs}`));
|
|
212
|
+
const cols = [
|
|
213
|
+
{ header: "ID", get: (r) => r.id, maxWidth: 24 },
|
|
214
|
+
{ header: "URL", get: (r) => r.url, maxWidth: 50 },
|
|
215
|
+
{ header: "DOMAIN", get: (r) => r.domainId ?? "", maxWidth: 24 },
|
|
216
|
+
{ header: "ACTIVE", get: (r) => yesNo(r.active) },
|
|
217
|
+
];
|
|
218
|
+
(0, format_1.printRows)(data ?? [], cols, flags);
|
|
219
|
+
}
|
|
220
|
+
async function analytics(args) {
|
|
221
|
+
const { flags, shared } = ctx(args);
|
|
222
|
+
const qs = buildQuery(flags, [
|
|
223
|
+
{ flag: "days" },
|
|
224
|
+
{ flag: "domain", param: "domainId" },
|
|
225
|
+
]);
|
|
226
|
+
const data = await (0, args_1.apiFetch)(shared, companyPath(shared, `/analytics${qs}`));
|
|
227
|
+
const output = typeof flags.output === "string" ? flags.output.toLowerCase() : "table";
|
|
228
|
+
if (output === "json") {
|
|
229
|
+
process.stdout.write(JSON.stringify(data ?? {}, null, 2) + "\n");
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const overview = (data?.overview ?? {});
|
|
233
|
+
const summary = {
|
|
234
|
+
windowDays: data?.windowDays ?? "",
|
|
235
|
+
...overview,
|
|
236
|
+
};
|
|
237
|
+
(0, format_1.printDetail)(summary, flags);
|
|
238
|
+
process.stdout.write("\x1b[2m(overview shown — pass --output=json for full daily/domain/recentLogs breakdown)\x1b[0m\n");
|
|
239
|
+
}
|
|
240
|
+
// ── Router export ───────────────────────────────────────────────────────
|
|
241
|
+
exports.MAIL_HANDLERS = {
|
|
242
|
+
templatesList,
|
|
243
|
+
templatesGet,
|
|
244
|
+
domainsList,
|
|
245
|
+
mailboxesList,
|
|
246
|
+
inboxList,
|
|
247
|
+
suppressionsList,
|
|
248
|
+
logsList,
|
|
249
|
+
logsGet,
|
|
250
|
+
webhooksList,
|
|
251
|
+
analytics,
|
|
252
|
+
};
|
|
253
|
+
//# sourceMappingURL=mail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/cli/mail.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,iCAAiF;AACjF,qCAAmE;AAwEnE,2EAA2E;AAE3E;;;;GAIG;AACH,SAAS,UAAU,CACjB,KAAuC,EACvC,IAAiD;IAEjD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAQ;QAC7B,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,MAAM,CAAC,CAAA;YACxC,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACzB,CAAC;AAED,kEAAkE;AAClE,SAAS,SAAS,CAAC,KAAgC,EAAE,GAAY;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAChC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,GAAG,CAAC,IAAc;IACzB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,IAAA,wBAAiB,EAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB,EAAE,MAAc;IACrD,OAAO,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,WAAqB,CAAC,GAAG,MAAM,EAAE,CAAA;AACtF,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,OAAO,EAAE;KAClB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAgB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1F,MAAM,IAAI,GAA0B;QAClC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QAC3C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1D,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE;QACpD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;KAC9D,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAc;IACxC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EACzB,MAAM,EACN,WAAW,CAAC,MAAM,EAAE,cAAc,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAC5D,CAAA;IACD,IAAA,oBAAW,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;AAChC,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,WAAW,CAAC,IAAc;IACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,OAAO,EAAE;KAClB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAc,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;IACtF,MAAM,IAAI,GAAwB;QAChC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;QAC1C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;QAC1C,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;QACvD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;KAC9D,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,OAAO,EAAE;QACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;KACtC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAe,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAA;IACzF,MAAM,IAAI,GAAyB;QACjC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;QACxC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1D,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;QACvD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;KAC9D,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,SAAS,EAAE;QACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,OAAO,EAAE;QACjB,EAAE,IAAI,EAAE,GAAG,EAAE;KACd,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAa,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,IAAI,GAAuB;QAC/B,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;QAC5C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;QAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACjD,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;KAChE,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,gBAAgB,CAAC,IAAc;IAC5C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,OAAO,EAAE;QACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAmB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAA;IAChG,MAAM,IAAI,GAA6B;QACrC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;QACxC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;KAC9D,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,OAAO,EAAE;QACjB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,IAAI,EAAE;KACf,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAW,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IAChF,MAAM,IAAI,GAAqB;QAC7B,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC5D,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;QACzE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;QAC1C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;KAC9D,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EACzB,MAAM,EACN,WAAW,CAAC,MAAM,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CACvD,CAAA;IACD,IAAA,oBAAW,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;AAChC,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,YAAY,CAAC,IAAc;IACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;KACtC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAe,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,MAAM,IAAI,GAAyB;QACjC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;KAClD,CAAA;IACD,IAAA,kBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAaD,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE;QAChB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;KACtC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAoB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAA;IAC9F,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IACzE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAChE,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAA4B,CAAA;IAClE,MAAM,OAAO,GAA4B;QACvC,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE;QAClC,GAAG,QAAQ;KACZ,CAAA;IACD,IAAA,oBAAW,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kGAAkG,CACnG,CAAA;AACH,CAAC;AAED,2EAA2E;AAE9D,QAAA,aAAa,GAAG;IAC3B,aAAa;IACb,YAAY;IACZ,WAAW;IACX,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,SAAS;CACD,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `sentroy storage <subcommand>` — bucket + media browsing for the
|
|
3
|
+
* Sentroy storage product.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors the dashboard at https://storage.sentroy.com but stays
|
|
6
|
+
* read-only: list/get buckets and media, surface usage + quota. Mutating
|
|
7
|
+
* ops (upload/delete) are intentionally not in this CLI — use the SDK or
|
|
8
|
+
* dashboard, which give you progress + crop UX.
|
|
9
|
+
*
|
|
10
|
+
* Auth: Bearer stk_… via `resolveSharedOpts({requireCompanySlug: true})`.
|
|
11
|
+
* Every path is prefixed `/api/companies/<slug>`.
|
|
12
|
+
*/
|
|
13
|
+
declare function bucketsList(argv: string[]): Promise<void>;
|
|
14
|
+
declare function bucketsGet(argv: string[]): Promise<void>;
|
|
15
|
+
declare function mediaList(argv: string[]): Promise<void>;
|
|
16
|
+
declare function mediaGet(argv: string[]): Promise<void>;
|
|
17
|
+
declare function usage(argv: string[]): Promise<void>;
|
|
18
|
+
declare function quota(argv: string[]): Promise<void>;
|
|
19
|
+
export declare const STORAGE_HANDLERS: {
|
|
20
|
+
bucketsList: typeof bucketsList;
|
|
21
|
+
bucketsGet: typeof bucketsGet;
|
|
22
|
+
mediaList: typeof mediaList;
|
|
23
|
+
mediaGet: typeof mediaGet;
|
|
24
|
+
usage: typeof usage;
|
|
25
|
+
quota: typeof quota;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/cli/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmJH,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;AAED,iBAAe,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvD;AAED,iBAAe,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCtD;AAED,iBAAe,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAarD;AAED,iBAAe,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiClD;AAED,iBAAe,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBlD;AAID,eAAO,MAAM,gBAAgB;;;;;;;CAO5B,CAAA"}
|