mailwoman 2.0.6 → 2.2.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../commands/corpus/download.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAIxD,QAAA,MAAM,aAAa;;;;qBAQjB,CAAA;AAEF,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAA;AAInC,QAAA,MAAM,cAAc,EAAE,gBAAgB,CAAC,OAAO,aAAa,CA8E1D,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,91 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @copyright Sister Software
4
+ * @license AGPL-3.0
5
+ * @author Teffen Ellis, et al.
6
+ *
7
+ * `mailwoman corpus download` — pull corpus + tokenizer from Cloudflare R2 via rclone.
8
+ *
9
+ * Intended for GPU provider instances: pulls the versioned corpus, tokenizer, and training code
10
+ * from R2 at datacenter speed (~1-10 Gbps depending on provider locality). Also works locally for
11
+ * syncing a fresh checkout.
12
+ *
13
+ * Requires RCLONE_S3_* env vars (Cloudflare R2 credentials).
14
+ */
15
+ import { Box, Text } from "ink";
16
+ import { useEffect, useState } from "react";
17
+ import zod from "zod";
18
+ import { $ } from "zx";
19
+ const DEFAULT_BUCKET = "mailwoman-assets";
20
+ const OptionsSchema = zod.object({
21
+ bucket: zod.string().optional().default(DEFAULT_BUCKET).describe("R2 bucket name"),
22
+ outDir: zod
23
+ .string()
24
+ .optional()
25
+ .default("/data")
26
+ .describe("Local output root (corpus lands at <outDir>/corpus/, tokenizer at <outDir>/models/tokenizer/)"),
27
+ dryRun: zod.boolean().optional().default(false).describe("Show what would be downloaded without downloading"),
28
+ });
29
+ export { OptionsSchema as options };
30
+ const CorpusDownload = ({ options }) => {
31
+ const [steps, setSteps] = useState([
32
+ { label: "Download corpus v0.3.0", status: "pending" },
33
+ { label: "Download corpus v0.4.0", status: "pending" },
34
+ { label: "Download tokenizer", status: "pending" },
35
+ { label: "Download training code", status: "pending" },
36
+ ]);
37
+ const updateStep = (idx, update) => {
38
+ setSteps((prev) => prev.map((s, i) => (i === idx ? { ...s, ...update } : s)));
39
+ };
40
+ useEffect(() => {
41
+ const run = async () => {
42
+ const rcloneBase = `:s3:${options.bucket}`;
43
+ const dryFlag = options.dryRun ? "--dry-run" : "";
44
+ const out = options.outDir;
45
+ // Step 0: Download v0.3.0 corpus
46
+ updateStep(0, { status: "running" });
47
+ try {
48
+ await $ `rclone sync ${rcloneBase}/corpus/v0.3.0/ ${out}/corpus/versioned/v0.3.0/corpus-v0.3.0/ --progress --transfers 8 --checkers 16 ${dryFlag}`.quiet();
49
+ updateStep(0, { status: "done" });
50
+ }
51
+ catch (e) {
52
+ updateStep(0, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
53
+ return;
54
+ }
55
+ // Step 1: Download v0.4.0 adapter shards
56
+ updateStep(1, { status: "running" });
57
+ try {
58
+ await $ `rclone sync ${rcloneBase}/corpus/v0.4.0/ ${out}/corpus/versioned/v0.4.0/corpus-v0.4.0/ --progress --transfers 4 ${dryFlag}`.quiet();
59
+ updateStep(1, { status: "done" });
60
+ }
61
+ catch (e) {
62
+ updateStep(1, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
63
+ return;
64
+ }
65
+ // Step 2: Download tokenizer
66
+ updateStep(2, { status: "running" });
67
+ try {
68
+ await $ `rclone sync ${rcloneBase}/models/tokenizer/ ${out}/models/tokenizer/ --progress ${dryFlag}`.quiet();
69
+ updateStep(2, { status: "done" });
70
+ }
71
+ catch (e) {
72
+ updateStep(2, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
73
+ return;
74
+ }
75
+ // Step 3: Download training code
76
+ updateStep(3, { status: "running" });
77
+ try {
78
+ await $ `rclone sync ${rcloneBase}/corpus-python/ ./corpus-python/ --progress ${dryFlag}`.quiet();
79
+ updateStep(3, { status: "done" });
80
+ }
81
+ catch (e) {
82
+ updateStep(3, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
83
+ return;
84
+ }
85
+ };
86
+ run();
87
+ }, [options]);
88
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, children: ["Corpus Download \u2190 R2 (", options.bucket, ")"] }), options.dryRun && _jsx(Text, { color: "yellow", children: "DRY RUN \u2014 no files will be transferred" }), _jsx(Text, { children: " " }), steps.map((step, i) => (_jsx(Box, { children: _jsxs(Text, { children: [step.status === "done" ? "✓" : step.status === "running" ? "◼" : step.status === "error" ? "✗" : "○", " ", step.label, step.detail ? ` — ${step.detail}` : ""] }) }, i)))] }));
89
+ };
90
+ export default CorpusDownload;
91
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../commands/corpus/download.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../commands/corpus/upload.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAMxD,QAAA,MAAM,aAAa;;;;;qBAKjB,CAAA;AAEF,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAA;AAInC,QAAA,MAAM,YAAY,EAAE,gBAAgB,CAAC,OAAO,aAAa,CAwFxD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,98 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @copyright Sister Software
4
+ * @license AGPL-3.0
5
+ * @author Teffen Ellis, et al.
6
+ *
7
+ * `mailwoman corpus upload` — sync the local corpus + tokenizer to Cloudflare R2 via rclone.
8
+ *
9
+ * Uploads the versioned corpus (v0.3.0 base + v0.4.0 adapter shards), the A1 tokenizer, and the
10
+ * training code to an R2 bucket so that a remote GPU provider can pull them at datacenter speed.
11
+ *
12
+ * Requires RCLONE_S3_* env vars set in .env (Cloudflare R2 credentials).
13
+ */
14
+ import { Box, Text } from "ink";
15
+ import { useEffect, useState } from "react";
16
+ import zod from "zod";
17
+ import { $ } from "zx";
18
+ const DEFAULT_BUCKET = "mailwoman-assets";
19
+ const DEFAULT_CORPUS_DIR = "/data/corpus/versioned";
20
+ const DEFAULT_TOKENIZER_DIR = "/data/models/tokenizer";
21
+ const OptionsSchema = zod.object({
22
+ bucket: zod.string().optional().default(DEFAULT_BUCKET).describe("R2 bucket name"),
23
+ corpusDir: zod.string().optional().default(DEFAULT_CORPUS_DIR).describe("Local corpus root"),
24
+ tokenizerDir: zod.string().optional().default(DEFAULT_TOKENIZER_DIR).describe("Local tokenizer root"),
25
+ dryRun: zod.boolean().optional().default(false).describe("Show what would be uploaded without uploading"),
26
+ });
27
+ export { OptionsSchema as options };
28
+ const CorpusUpload = ({ options }) => {
29
+ const [steps, setSteps] = useState([
30
+ { label: "Create bucket (if needed)", status: "pending" },
31
+ { label: "Sync corpus v0.3.0", status: "pending" },
32
+ { label: "Sync corpus v0.4.0", status: "pending" },
33
+ { label: "Sync tokenizer", status: "pending" },
34
+ { label: "Sync training code", status: "pending" },
35
+ ]);
36
+ const updateStep = (idx, update) => {
37
+ setSteps((prev) => prev.map((s, i) => (i === idx ? { ...s, ...update } : s)));
38
+ };
39
+ useEffect(() => {
40
+ const run = async () => {
41
+ const rcloneBase = `:s3:${options.bucket}`;
42
+ const dryFlag = options.dryRun ? "--dry-run" : "";
43
+ // Step 0: Create bucket
44
+ updateStep(0, { status: "running" });
45
+ try {
46
+ await $ `rclone mkdir ${rcloneBase} ${dryFlag}`.quiet();
47
+ updateStep(0, { status: "done" });
48
+ }
49
+ catch (e) {
50
+ updateStep(0, { status: "done", detail: "bucket may already exist" });
51
+ }
52
+ // Step 1: Sync v0.3.0 corpus
53
+ updateStep(1, { status: "running" });
54
+ try {
55
+ const result = await $ `rclone sync ${options.corpusDir}/v0.3.0/corpus-v0.3.0/ ${rcloneBase}/corpus/v0.3.0/ --progress --transfers 8 --checkers 16 ${dryFlag}`.quiet();
56
+ updateStep(1, { status: "done", detail: "v0.3.0 synced" });
57
+ }
58
+ catch (e) {
59
+ updateStep(1, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
60
+ return;
61
+ }
62
+ // Step 2: Sync v0.4.0 adapter shards
63
+ updateStep(2, { status: "running" });
64
+ try {
65
+ await $ `rclone sync ${options.corpusDir}/v0.4.0/corpus-v0.4.0/ ${rcloneBase}/corpus/v0.4.0/ --progress --transfers 4 ${dryFlag}`.quiet();
66
+ updateStep(2, { status: "done", detail: "v0.4.0 synced" });
67
+ }
68
+ catch (e) {
69
+ updateStep(2, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
70
+ return;
71
+ }
72
+ // Step 3: Sync tokenizer
73
+ updateStep(3, { status: "running" });
74
+ try {
75
+ await $ `rclone sync ${options.tokenizerDir}/ ${rcloneBase}/models/tokenizer/ --progress ${dryFlag}`.quiet();
76
+ updateStep(3, { status: "done", detail: "tokenizer synced" });
77
+ }
78
+ catch (e) {
79
+ updateStep(3, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
80
+ return;
81
+ }
82
+ // Step 4: Sync training code
83
+ updateStep(4, { status: "running" });
84
+ try {
85
+ await $ `rclone sync ./corpus-python/ ${rcloneBase}/corpus-python/ --exclude '.venv/**' --exclude '__pycache__/**' --exclude '*.egg-info/**' --progress ${dryFlag}`.quiet();
86
+ updateStep(4, { status: "done", detail: "training code synced" });
87
+ }
88
+ catch (e) {
89
+ updateStep(4, { status: "error", detail: String(e.stderr ?? e.message).slice(0, 100) });
90
+ return;
91
+ }
92
+ };
93
+ run();
94
+ }, [options]);
95
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, children: ["Corpus Upload \u2192 R2 (", options.bucket, ")"] }), options.dryRun && _jsx(Text, { color: "yellow", children: "DRY RUN \u2014 no files will be transferred" }), _jsx(Text, { children: " " }), steps.map((step, i) => (_jsx(Box, { children: _jsxs(Text, { children: [step.status === "done" ? "✓" : step.status === "running" ? "◼" : step.status === "error" ? "✗" : "○", " ", step.label, step.detail ? ` — ${step.detail}` : ""] }) }, i)))] }));
96
+ };
97
+ export default CorpusUpload;
98
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../commands/corpus/upload.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../commands/parse.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKrD,QAAA,MAAM,eAAe,6BAAiE,CAAA;AACtF,OAAO,EAAE,eAAe,IAAI,IAAI,EAAE,iBAAiB,IAAI,OAAO,EAAE,CAAA;AAEhE,QAAA,MAAM,iBAAiB;;;;;;;;;;;;qBA+BrB,CAAA;AAqBF,QAAA,MAAM,YAAY,EAAE,gBAAgB,CAAC,OAAO,iBAAiB,EAAE,OAAO,eAAe,CAwDpF,CAAA;AAsDD,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../commands/parse.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKrD,QAAA,MAAM,eAAe,6BAAiE,CAAA;AACtF,OAAO,EAAE,eAAe,IAAI,IAAI,EAAE,iBAAiB,IAAI,OAAO,EAAE,CAAA;AAEhE,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;qBA+ErB,CAAA;AAqBF,QAAA,MAAM,YAAY,EAAE,gBAAgB,CAAC,OAAO,iBAAiB,EAAE,OAAO,eAAe,CA0EpF,CAAA;AA2VD,eAAe,YAAY,CAAA"}