paperlint 11.0.0 → 11.1.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/dist/adapters/hotcrp/index.d.ts +1 -1
- package/dist/adapters/hotcrp/index.d.ts.map +1 -1
- package/dist/adapters/hotcrp/index.js +1 -1
- package/dist/adapters/hotcrp/index.js.map +1 -1
- package/dist/adapters/hotcrp/portal.io.d.ts.map +1 -1
- package/dist/adapters/hotcrp/portal.io.js +17 -2
- package/dist/adapters/hotcrp/portal.io.js.map +1 -1
- package/dist/adapters/hotcrp/response.d.ts +7 -1
- package/dist/adapters/hotcrp/response.d.ts.map +1 -1
- package/dist/adapters/hotcrp/response.js +35 -3
- package/dist/adapters/hotcrp/response.js.map +1 -1
- package/dist/adapters/hotcrp/site.d.ts +1 -1
- package/dist/adapters/hotcrp/site.d.ts.map +1 -1
- package/dist/adapters/hotcrp/site.js +1 -2
- package/dist/adapters/hotcrp/site.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/domain/submission-fields.d.ts +77 -0
- package/dist/domain/submission-fields.d.ts.map +1 -0
- package/dist/domain/submission-fields.js +127 -0
- package/dist/domain/submission-fields.js.map +1 -0
- package/dist/domain/submission.d.ts +10 -0
- package/dist/domain/submission.d.ts.map +1 -1
- package/dist/domain/submission.js.map +1 -1
- package/dist/lib/paper-config.d.ts.map +1 -1
- package/dist/lib/paper-config.js +2 -0
- package/dist/lib/paper-config.js.map +1 -1
- package/dist/paper-settings.d.ts +5 -0
- package/dist/paper-settings.d.ts.map +1 -1
- package/dist/paper-settings.js +5 -2
- package/dist/paper-settings.js.map +1 -1
- package/dist/ports/submission-portal.d.ts +3 -1
- package/dist/ports/submission-portal.d.ts.map +1 -1
- package/dist/presets.d.ts +3 -0
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +3 -1
- package/dist/presets.js.map +1 -1
- package/dist/submission.d.ts +24 -5
- package/dist/submission.d.ts.map +1 -1
- package/dist/submission.js +140 -50
- package/dist/submission.js.map +1 -1
- package/dist/tex-requirements.d.ts +3 -0
- package/dist/tex-requirements.d.ts.map +1 -1
- package/dist/tex-requirements.js +30 -2
- package/dist/tex-requirements.js.map +1 -1
- package/docs/submission.md +29 -6
- package/lib/paper-config.ts +3 -0
- package/package.json +1 -1
- package/presets/msr.jsonc +66 -0
- package/presets/venue-profile.schema.json +41 -0
- package/skills/submission-portal/SKILL.md +51 -20
- package/skills/submission-portal/SKILL.md.spec.ts +50 -19
- package/src/adapters/hotcrp/cassette/README.md +7 -6
- package/src/adapters/hotcrp/cassette/get-searchcompletion.json +100 -0
- package/src/adapters/hotcrp/index.ts +1 -0
- package/src/adapters/hotcrp/portal.io.ts +22 -2
- package/src/adapters/hotcrp/portal.test.ts +103 -2
- package/src/adapters/hotcrp/response.ts +45 -4
- package/src/adapters/hotcrp/site.ts +2 -3
- package/src/cli.ts +6 -1
- package/src/domain/submission-fields.test.ts +183 -0
- package/src/domain/submission-fields.ts +190 -0
- package/src/domain/submission.ts +11 -0
- package/src/new-paper.test.ts +1 -0
- package/src/paper-settings.test.ts +6 -0
- package/src/paper-settings.ts +11 -3
- package/src/ports/submission-portal.ts +3 -0
- package/src/presets.ts +12 -2
- package/src/submission-fields-run.test.ts +247 -0
- package/src/submission-new.test.ts +4 -4
- package/src/submission-update.test.ts +7 -1
- package/src/submission.test.ts +1 -1
- package/src/submission.ts +207 -54
- package/src/tex-requirements.test.ts +21 -0
- package/src/tex-requirements.ts +67 -2
package/dist/submission.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Result } from "./domain/result.ts";
|
|
2
2
|
import { type Sha256 } from "./domain/sha256.ts";
|
|
3
|
-
import { type Author, type CreateOutcome, type PortalFailure, type SubmissionView, type SupportedPortal, type UpdateOutcome } from "./domain/submission.ts";
|
|
3
|
+
import { type Author, type CreateOutcome, type NewSubmission, type PortalFailure, type SubmissionView, type SupportedPortal, type UpdateOutcome } from "./domain/submission.ts";
|
|
4
|
+
import { type FieldValues, type VenueFields } from "./domain/submission-fields.ts";
|
|
4
5
|
import type { Files } from "./ports/files.ts";
|
|
5
6
|
import type { PortalSite } from "./ports/submission-portal.ts";
|
|
6
7
|
import { type PresetDeps } from "./presets.ts";
|
|
@@ -17,7 +18,7 @@ export declare function tokenProblemLines(portal: SupportedPortal, site: PortalS
|
|
|
17
18
|
* a token without the scope — both answered with the site's token page. Empty for anything else. Pure.
|
|
18
19
|
*/
|
|
19
20
|
export declare function tokenRefusedLines(portal: SupportedPortal, site: PortalSite, f: PortalFailure): readonly string[];
|
|
20
|
-
export declare const SUBCOMMANDS: readonly ["new", "show", "update"];
|
|
21
|
+
export declare const SUBCOMMANDS: readonly ["new", "show", "update", "topics"];
|
|
21
22
|
export type Subcommand = (typeof SUBCOMMANDS)[number];
|
|
22
23
|
/** What one `submission` run was asked, after the command line. */
|
|
23
24
|
export interface SubmissionArgs {
|
|
@@ -59,6 +60,15 @@ export interface SubmissionTarget {
|
|
|
59
60
|
readonly config: string;
|
|
60
61
|
/** The authors the paper declares for the portal; null when it declares none. */
|
|
61
62
|
readonly authors: readonly Author[] | null;
|
|
63
|
+
/**
|
|
64
|
+
* The paper's answers to the venue's own form fields, checked against `venueFields`: only `new`
|
|
65
|
+
* and `update` send them, so only they stop on a problem — `show` and `topics` read past it.
|
|
66
|
+
*/
|
|
67
|
+
readonly answers: Result<FieldValues, string>;
|
|
68
|
+
/** The answers to send: `answers`' value once a sending subcommand checked it; empty otherwise. */
|
|
69
|
+
readonly fields: FieldValues;
|
|
70
|
+
/** The venue's own form fields, as its preset records them; null when it records none. */
|
|
71
|
+
readonly venueFields: VenueFields | null;
|
|
62
72
|
/** The cycle attempt is accepted: a new submission belongs to a new cycle. */
|
|
63
73
|
readonly accepted: boolean;
|
|
64
74
|
/** The paper's built PDF, absolute. */
|
|
@@ -88,6 +98,10 @@ export declare function showLines(t: SubmissionTarget, view: SubmissionView, loc
|
|
|
88
98
|
* counts. Pure.
|
|
89
99
|
*/
|
|
90
100
|
export declare const checkPdfLine: (shown: string, call: string | null) => string;
|
|
101
|
+
/** The fields the paper sent, one line each, as the portal will get them. Pure. */
|
|
102
|
+
export declare const fieldLines: (fields: FieldValues) => readonly string[];
|
|
103
|
+
/** The checkbox fields the portal did not take, said; none when it took them all. Pure. */
|
|
104
|
+
export declare function droppedLines(fields: FieldValues, venue: VenueFields | null, o: UpdateOutcome): readonly string[];
|
|
91
105
|
/** `update`'s report. Pure. */
|
|
92
106
|
export declare function updateLines(o: UpdateOutcome, local: {
|
|
93
107
|
readonly shown: string;
|
|
@@ -103,11 +117,16 @@ export declare function titleOf(source: {
|
|
|
103
117
|
readonly where: (offset: number) => string;
|
|
104
118
|
} | null, latex: Pick<LatexReader, "headings">, metadata: Readonly<Record<string, string>> | null): Result<string, string>;
|
|
105
119
|
/** What `new` will send, as the author reads it before saying yes. Pure. */
|
|
106
|
-
export declare function newLines(
|
|
107
|
-
/** What
|
|
108
|
-
export declare function onTheSiteLines(site: PortalSite, id: number | null, paperArg: string): readonly string[];
|
|
120
|
+
export declare function newLines(p: NewSubmission): readonly string[];
|
|
121
|
+
/** What is left after `new`: the venue's fields the paper did not answer, what only the site takes, the submit. Pure. */
|
|
122
|
+
export declare function onTheSiteLines(site: PortalSite, t: Pick<SubmissionTarget, "fields" | "venueFields">, id: number | null, paperArg: string): readonly string[];
|
|
109
123
|
/** `new`'s report of the portal's answer. Pure. */
|
|
110
124
|
export declare function createLines(o: CreateOutcome, save: boolean): readonly string[];
|
|
125
|
+
/** `topics`' report: each topic the portal offers against the preset's options, and whether they agree. Pure. */
|
|
126
|
+
export declare function topicsReport(t: Pick<SubmissionTarget, "portal" | "venueFields">, offered: readonly string[]): {
|
|
127
|
+
readonly lines: readonly string[];
|
|
128
|
+
readonly agrees: boolean;
|
|
129
|
+
};
|
|
111
130
|
/** Why the command line cannot be run as asked; null when it can. Pure. */
|
|
112
131
|
export declare function usageProblem(a: SubmissionArgs): string | null;
|
|
113
132
|
/** `paperlint submission <new|show|update> [paper-dir]` — exit 0, 1 (the portal said no), or 2 (usage). */
|
package/dist/submission.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../src/submission.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../src/submission.ts"],"names":[],"mappings":"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"}
|
package/dist/submission.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `paperlint submission show|update [paper-dir]` — read and change a paper's
|
|
3
|
-
* venue's portal, through the portal's API.
|
|
2
|
+
* `paperlint submission new|show|update|topics [paper-dir]` — create, read and change a paper's
|
|
3
|
+
* submission on the venue's portal, through the portal's API.
|
|
4
4
|
*
|
|
5
5
|
* The command is named by the job, not by the portal: WHERE the submission lives is data. The venue
|
|
6
6
|
* preset declares the portal (`"portal": { "kind": "hotcrp", "url": … }`), the paper's
|
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
* whether it is the local `paper.pdf`, by sha256
|
|
12
12
|
* update send the PDF (and, if asked, an abstract, or "submitted"). A DRY RUN unless `--save`:
|
|
13
13
|
* the portal checks the change and keeps nothing
|
|
14
|
+
* topics the topics the portal offers, against the ones the venue preset records
|
|
15
|
+
*
|
|
16
|
+
* `new` and `update` also send the paper's `fields` — its answers to the venue's own form fields
|
|
17
|
+
* (topics, PC conflicts, …), checked against the preset's `submission_fields` before anything is
|
|
18
|
+
* sent (`src/domain/submission-fields.ts`). A checkbox field the portal did not take is said, and
|
|
19
|
+
* fails the command: HotCRP keeps an option it does not know as nothing, without an error.
|
|
14
20
|
*
|
|
15
21
|
* 🔴 THE TOKEN IS AN INPUT, AND ONLY AN INPUT. It comes from the environment (the root reads it), is
|
|
16
22
|
* handed to the adapter, and never appears in anything printed here.
|
|
@@ -21,6 +27,7 @@ import { messageOf } from "./domain/text.js";
|
|
|
21
27
|
import { err, ok } from "./domain/result.js";
|
|
22
28
|
import { sha256Hex } from "./domain/sha256.js";
|
|
23
29
|
import { supportedPortal, withSubmissionId, wordCount, } from "./domain/submission.js";
|
|
30
|
+
import { droppedFields, parsePaperFields, } from "./domain/submission-fields.js";
|
|
24
31
|
import { paperPreset, unusablePresetLine, } from "./presets.js";
|
|
25
32
|
import { currentDeadlines } from "./domain/cycle.js";
|
|
26
33
|
import { deadlinesInForce, readingText, } from "./domain/deadline.js";
|
|
@@ -60,37 +67,46 @@ export function tokenRefusedLines(portal, site, f) {
|
|
|
60
67
|
: `${variable} was used; the site turned the request away — the token may lack a scope this subcommand needs`;
|
|
61
68
|
return [why, ...tokenSteps(portal, site, variable)];
|
|
62
69
|
}
|
|
63
|
-
export const SUBCOMMANDS = ["new", "show", "update"];
|
|
70
|
+
export const SUBCOMMANDS = ["new", "show", "update", "topics"];
|
|
64
71
|
const isSubcommand = (s) => SUBCOMMANDS.some((x) => x === s);
|
|
65
72
|
const configOf = (dir) => join(dir, CONFIG_FILE);
|
|
66
73
|
/** Why a paper without a venue preset has no portal: the key to set, or — with cycles — where. */
|
|
67
74
|
const noPresetLine = (paperDir, settings) => settings === null || settings.cycles === null
|
|
68
75
|
? `${configOf(paperDir)}: no "extends" — the venue preset it names declares the portal ("portal": { "kind": …, "url": … })`
|
|
69
76
|
: `${configOf(paperDir)}: the current cycle names no venue preset, and the preset is what declares the portal — set the venue in the current cycle ("venue": { "kind": "preset", "extends": "paperlint:…" }), or upload by hand`;
|
|
77
|
+
/** The paper's `fields`, checked against its venue preset's form, or the line naming what is wrong. */
|
|
78
|
+
function fieldsOf(paperDir, p) {
|
|
79
|
+
const fields = parsePaperFields(p.settings.fields, p.preset.submissionFields, p.preset.chain.join(", "));
|
|
80
|
+
return fields.ok ? fields : err(`${configOf(paperDir)}: ${fields.error}`);
|
|
81
|
+
}
|
|
82
|
+
/** The venue preset's portal, if it declares one that paperlint can talk to; else the line to act on. */
|
|
83
|
+
function portalOfPreset(p) {
|
|
84
|
+
const declared = p.preset.portal;
|
|
85
|
+
return declared === null
|
|
86
|
+
? err(`the venue preset declares no "portal" (read: ${p.preset.chain.join(", ")}) — add "portal": { "kind": "hotcrp", "url": "<the site>" } to the venue's preset, or upload by hand`)
|
|
87
|
+
: supportedPortal(declared);
|
|
88
|
+
}
|
|
70
89
|
/** A resolved paper → its portal and submission, or the line naming the file and key to set. */
|
|
71
90
|
function targetOf(paperDir, p) {
|
|
72
|
-
const
|
|
73
|
-
if (declared === null)
|
|
74
|
-
return err(`the venue preset declares no "portal" (read: ${p.preset.chain.join(", ")}) — add "portal": { "kind": "hotcrp", "url": "<the site>" } to the venue's preset, or upload by hand`);
|
|
75
|
-
const portal = supportedPortal(declared);
|
|
91
|
+
const portal = portalOfPreset(p);
|
|
76
92
|
if (!portal.ok)
|
|
77
93
|
return portal;
|
|
78
|
-
const pdf = join(paperDir, p.settings.pdf ?? "paper.pdf");
|
|
79
94
|
const identity = p.preset.identity;
|
|
80
|
-
const call = identity.type === "venue" ? identity.url : null;
|
|
81
95
|
const own = p.settings.cycles === null
|
|
82
96
|
? []
|
|
83
97
|
: currentDeadlines(p.settings.cycles.current);
|
|
84
|
-
const deadlines = deadlinesInForce(own, p.preset.deadlines);
|
|
85
98
|
return ok({
|
|
86
99
|
portal: portal.value,
|
|
87
100
|
id: p.settings.submission?.id ?? null,
|
|
88
101
|
config: configOf(paperDir),
|
|
89
102
|
authors: p.settings.authors,
|
|
103
|
+
answers: fieldsOf(paperDir, p),
|
|
104
|
+
fields: {},
|
|
105
|
+
venueFields: p.preset.submissionFields,
|
|
90
106
|
accepted: p.settings.cycles?.current.kind === "accepted",
|
|
91
|
-
pdf,
|
|
92
|
-
call,
|
|
93
|
-
deadlines,
|
|
107
|
+
pdf: join(paperDir, p.settings.pdf ?? "paper.pdf"),
|
|
108
|
+
call: identity.type === "venue" ? identity.url : null,
|
|
109
|
+
deadlines: deadlinesInForce(own, p.preset.deadlines),
|
|
94
110
|
});
|
|
95
111
|
}
|
|
96
112
|
/** The paper directory → its portal and submission, or the line naming the file and key to set. */
|
|
@@ -170,6 +186,16 @@ export function showLines(t, view, local) {
|
|
|
170
186
|
* counts. Pure.
|
|
171
187
|
*/
|
|
172
188
|
export const checkPdfLine = (shown, call) => `before you rely on it, open ${shown} yourself and check it against ${call === null ? "the venue's call for papers" : `the call for papers, ${call}`}: the page count and what counts toward the limit, the template and its class options, anonymity, and that every figure, table and reference renders — paperlint passing is not the venue accepting the format`;
|
|
189
|
+
/** The fields the paper sent, one line each, as the portal will get them. Pure. */
|
|
190
|
+
export const fieldLines = (fields) => Object.entries(fields).map(([key, value]) => `field ${key}: ${JSON.stringify(value)}`);
|
|
191
|
+
/** The checkbox fields the portal did not take, said; none when it took them all. Pure. */
|
|
192
|
+
export function droppedLines(fields, venue, o) {
|
|
193
|
+
const dropped = droppedFields(fields, venue, {
|
|
194
|
+
changes: o.changes,
|
|
195
|
+
messageFields: o.messages.map((m) => m.field),
|
|
196
|
+
});
|
|
197
|
+
return dropped.map((key) => `NOT TAKEN ${key}: the portal kept none of ${JSON.stringify(fields[key])} — an option it does not know is dropped without an error; \`paperlint submission topics\` lists what it offers`);
|
|
198
|
+
}
|
|
173
199
|
/** `update`'s report. Pure. */
|
|
174
200
|
export function updateLines(o, local, save) {
|
|
175
201
|
const mode = save
|
|
@@ -189,6 +215,11 @@ export function updateLines(o, local, save) {
|
|
|
189
215
|
const shownPath = (cwd, p) => p.startsWith(`${cwd}/`) ? p.slice(cwd.length + 1) : p;
|
|
190
216
|
/** The file's bytes, or null when there is none. */
|
|
191
217
|
const bytesAt = (files, p) => files.readBytes(absolutePath(p));
|
|
218
|
+
const logAll = (lines, deps) => {
|
|
219
|
+
lines.forEach((l) => {
|
|
220
|
+
deps.log(l);
|
|
221
|
+
});
|
|
222
|
+
};
|
|
192
223
|
/** A failure printed — the portal's words, then what to do about the token if it was the token — exit 1. */
|
|
193
224
|
function failed(f, deps) {
|
|
194
225
|
[failureText(f), ...deps.refused(f)].forEach((l) => {
|
|
@@ -225,11 +256,12 @@ function abstractOf(a, deps) {
|
|
|
225
256
|
? err(`--abstract: no file at ${shownPath(deps.cwd, p)}`)
|
|
226
257
|
: ok(new TextDecoder().decode(bytes).trim());
|
|
227
258
|
}
|
|
228
|
-
/** What `update` sends: the PDF's bytes, the abstract's text,
|
|
229
|
-
const changeOf = (a, bytes, abstract) => ({
|
|
259
|
+
/** What `update` sends: the PDF's bytes, the abstract's text, whether to mark it submitted, the fields. */
|
|
260
|
+
const changeOf = (a, bytes, abstract, fields) => ({
|
|
230
261
|
pdf: { name: basename(a.pdfPath), bytes },
|
|
231
262
|
abstract,
|
|
232
263
|
submit: a.submit,
|
|
264
|
+
fields,
|
|
233
265
|
});
|
|
234
266
|
/** `update`: send the PDF (and the abstract, and "submitted" when asked); a dry run unless saving. */
|
|
235
267
|
async function runUpdate(t, portal, a, deps) {
|
|
@@ -241,18 +273,16 @@ async function runUpdate(t, portal, a, deps) {
|
|
|
241
273
|
const abstract = abstractOf(a, deps);
|
|
242
274
|
if (!abstract.ok)
|
|
243
275
|
return (deps.err(abstract.error), 2);
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
});
|
|
276
|
+
logAll([checkPdfLine(shown, t.call), ...fieldLines(t.fields)], deps);
|
|
277
|
+
const change = changeOf(a, bytes, abstract.value, t.fields);
|
|
278
|
+
const r = await portal.update(t.id, change, { save: a.save });
|
|
248
279
|
if (!r.ok)
|
|
249
280
|
return failed(r.error, deps);
|
|
250
281
|
const local = { shown, sha256: sha256Hex(bytes) };
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
});
|
|
282
|
+
const dropped = droppedLines(t.fields, t.venueFields, r.value);
|
|
283
|
+
logAll([...updateLines(r.value, local, a.save), ...dropped], deps);
|
|
254
284
|
const fine = r.value.valid && r.value.httpStatus >= 200 && r.value.httpStatus < 300;
|
|
255
|
-
return fine ? 0 : 1;
|
|
285
|
+
return fine && dropped.length === 0 ? 0 : 1;
|
|
256
286
|
}
|
|
257
287
|
// ── new ──────────────────────────────────────────────────────────────────────────────
|
|
258
288
|
/**
|
|
@@ -324,19 +354,23 @@ const noReadableTitle = (text) => text === ""
|
|
|
324
354
|
? `no \\title in ${MAIN}, and the PDF names no Title — add \\title{…}, or \\hypersetup{pdftitle={…}}, and rebuild`
|
|
325
355
|
: `the \\title in ${MAIN} uses a command paperlint does not read («${text.replaceAll(OPAQUE, "…")}»), and the PDF names no Title — set \\hypersetup{pdftitle={<the title as plain text>}} and rebuild`;
|
|
326
356
|
/** What `new` will send, as the author reads it before saying yes. Pure. */
|
|
327
|
-
export function newLines(
|
|
357
|
+
export function newLines(p) {
|
|
328
358
|
return [
|
|
329
|
-
`title ${title}`,
|
|
330
|
-
...authors.map((a, i) => `author ${String(i + 1).padEnd(6)} ${a.name} <${a.email}>${a.affiliation === null ? "" : `, ${a.affiliation}`}`),
|
|
331
|
-
`abstract ${String(wordCount(abstract))} words:`,
|
|
332
|
-
` ${abstract}`,
|
|
359
|
+
`title ${p.title}`,
|
|
360
|
+
...p.authors.map((a, i) => `author ${String(i + 1).padEnd(6)} ${a.name} <${a.email}>${a.affiliation === null ? "" : `, ${a.affiliation}`}`),
|
|
361
|
+
`abstract ${String(wordCount(p.abstract))} words:`,
|
|
362
|
+
` ${p.abstract}`,
|
|
363
|
+
...fieldLines(p.fields),
|
|
333
364
|
];
|
|
334
365
|
}
|
|
335
|
-
/** What
|
|
336
|
-
export function onTheSiteLines(site, id, paperArg) {
|
|
366
|
+
/** What is left after `new`: the venue's fields the paper did not answer, what only the site takes, the submit. Pure. */
|
|
367
|
+
export function onTheSiteLines(site, t, id, paperArg) {
|
|
368
|
+
const sent = Object.keys(t.fields);
|
|
369
|
+
const unanswered = Object.keys(t.venueFields?.fields ?? {}).filter((k) => !sent.includes(k));
|
|
337
370
|
return [
|
|
338
|
-
`
|
|
339
|
-
...
|
|
371
|
+
`still to do for ${site.submissionPage(id)} — paperlint sent the title, the abstract, the authors and the PDF${sent.length ? `, and ${sent.join(", ")}` : ""}:`,
|
|
372
|
+
...unanswered.map((k) => ` - answer ${k} in the paper's paperlint.json "fields" (the venue preset records it), then: npx paperlint submission update ${paperArg} (a dry run; --save after your yes)`),
|
|
373
|
+
...site.siteOnly.map((f) => ` - on the site: ${f}`),
|
|
340
374
|
` - then mark it submitted: npx paperlint submission update ${paperArg} --submit (a dry run; --save after your yes)`,
|
|
341
375
|
];
|
|
342
376
|
}
|
|
@@ -436,6 +470,7 @@ function newSubmissionOf(t, a, deps) {
|
|
|
436
470
|
...text.value,
|
|
437
471
|
authors: authors.value,
|
|
438
472
|
pdf: { name: basename(a.pdfPath), bytes: pdf },
|
|
473
|
+
fields: t.fields,
|
|
439
474
|
};
|
|
440
475
|
return ok({ paper, shown });
|
|
441
476
|
}
|
|
@@ -451,11 +486,12 @@ function recordCreated(t, id, paperArg, deps) {
|
|
|
451
486
|
deps.log(`next npx paperlint submission show ${paperArg} — it should say "match yes"`);
|
|
452
487
|
return 0;
|
|
453
488
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
489
|
+
/** After a creation the portal took: what is still to do, and the id recorded when it saved one. */
|
|
490
|
+
function afterCreated(t, id, a, deps) {
|
|
491
|
+
const paperArg = a.paperDir === deps.cwd ? "." : shownPath(deps.cwd, a.paperDir);
|
|
492
|
+
logAll(onTheSiteLines(deps.portalSite, t, id, paperArg), deps);
|
|
493
|
+
return id === null ? 0 : recordCreated(t, id, paperArg, deps);
|
|
494
|
+
}
|
|
459
495
|
/**
|
|
460
496
|
* `new`: create the paper's submission — title and abstract from the build, the authors the paper
|
|
461
497
|
* declares, the PDF. A dry run unless `--save`; after a save, the id goes into `paperlint.json`.
|
|
@@ -466,17 +502,68 @@ async function runNew(t, portal, a, deps) {
|
|
|
466
502
|
return (deps.err(n.error), 2);
|
|
467
503
|
const { paper, shown } = n.value;
|
|
468
504
|
deps.log(checkPdfLine(shown, t.call));
|
|
469
|
-
logAll(newLines(paper
|
|
505
|
+
logAll(newLines(paper), deps);
|
|
470
506
|
const r = await portal.create(paper, { save: a.save });
|
|
471
507
|
if (!r.ok)
|
|
472
508
|
return failed(r.error, deps);
|
|
473
|
-
|
|
509
|
+
const dropped = droppedLines(t.fields, t.venueFields, r.value);
|
|
510
|
+
logAll([...createLines(r.value, a.save), ...dropped], deps);
|
|
474
511
|
const fine = r.value.valid && r.value.httpStatus >= 200 && r.value.httpStatus < 300;
|
|
475
512
|
if (!fine || (a.save && r.value.id === null))
|
|
476
513
|
return 1;
|
|
477
|
-
const
|
|
478
|
-
|
|
479
|
-
|
|
514
|
+
const recorded = afterCreated(t, r.value.id, a, deps);
|
|
515
|
+
return dropped.length === 0 ? recorded : 1;
|
|
516
|
+
}
|
|
517
|
+
/** The subcommands that run before the paper has a submission id: `new` creates it, `topics` needs none. */
|
|
518
|
+
const NEEDS_NO_ID = ["new", "topics"];
|
|
519
|
+
/** The subcommands that send the paper's answers to the venue's fields. */
|
|
520
|
+
const SENDS_FIELDS = ["new", "update"];
|
|
521
|
+
/**
|
|
522
|
+
* What the subcommand needs before a token is looked up: the submission id (`show`, `update`) and
|
|
523
|
+
* the paper's checked answers (`new`, `update`) — or the line naming what to fix.
|
|
524
|
+
*/
|
|
525
|
+
function readyFor(sub, t) {
|
|
526
|
+
const id = NEEDS_NO_ID.some((s) => s === sub) ? ok(null) : idOf(t);
|
|
527
|
+
if (!id.ok)
|
|
528
|
+
return id;
|
|
529
|
+
const fields = SENDS_FIELDS.some((s) => s === sub) ? t.answers : ok({});
|
|
530
|
+
return fields.ok ? ok({ id: id.value, fields: fields.value }) : fields;
|
|
531
|
+
}
|
|
532
|
+
/** The checkbox field the preset records the portal's topics under: the one named `topics`. */
|
|
533
|
+
const TOPICS = "topics";
|
|
534
|
+
/** `topics`' report: each topic the portal offers against the preset's options, and whether they agree. Pure. */
|
|
535
|
+
export function topicsReport(t, offered) {
|
|
536
|
+
const declared = t.venueFields?.fields[TOPICS];
|
|
537
|
+
const head = `topics on ${t.portal.url}: ${String(offered.length)}`;
|
|
538
|
+
if (t.venueFields === null || declared?.kind !== "checkboxes")
|
|
539
|
+
return {
|
|
540
|
+
lines: [
|
|
541
|
+
head,
|
|
542
|
+
...offered.map((n) => ` ${n}`),
|
|
543
|
+
`the venue preset records no "submission_fields" with "topics" — record these, spelled as listed, before a paper can send any`,
|
|
544
|
+
],
|
|
545
|
+
agrees: false,
|
|
546
|
+
};
|
|
547
|
+
const recorded = declared.options;
|
|
548
|
+
const extra = offered.filter((n) => !recorded.includes(n));
|
|
549
|
+
const missing = recorded.filter((n) => !offered.includes(n));
|
|
550
|
+
return {
|
|
551
|
+
lines: [
|
|
552
|
+
`${head}; the preset records ${String(recorded.length)} (read ${t.venueFields.read})`,
|
|
553
|
+
...offered.map((n) => ` ${recorded.includes(n) ? "✓" : "+ not in the preset:"} ${n}`),
|
|
554
|
+
...missing.map((n) => ` − in the preset, not offered: ${n}`),
|
|
555
|
+
],
|
|
556
|
+
agrees: extra.length === 0 && missing.length === 0,
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
/** `topics`: what the portal offers, and whether the preset records the same — exit 1 when not. */
|
|
560
|
+
async function runTopics(t, portal, deps) {
|
|
561
|
+
const r = await portal.options();
|
|
562
|
+
if (!r.ok)
|
|
563
|
+
return failed(r.error, deps);
|
|
564
|
+
const report = topicsReport(t, r.value.topics);
|
|
565
|
+
logAll(report.lines, deps);
|
|
566
|
+
return report.agrees ? 0 : 1;
|
|
480
567
|
}
|
|
481
568
|
//** The flags that change something, as given. */
|
|
482
569
|
const writingFlags = (a) => [
|
|
@@ -491,8 +578,8 @@ export function usageProblem(a) {
|
|
|
491
578
|
if (a.extra.length > 0)
|
|
492
579
|
return `\`submission ${a.sub}\` takes one paper folder — got also \`${a.extra.join(" ")}\``;
|
|
493
580
|
const writing = writingFlags(a);
|
|
494
|
-
if (a.sub === "show" && writing.length > 0)
|
|
495
|
-
return `${writing.join(", ")}: only \`submission new\` and \`submission update\` change anything; \`
|
|
581
|
+
if ((a.sub === "show" || a.sub === "topics") && writing.length > 0)
|
|
582
|
+
return `${writing.join(", ")}: only \`submission new\` and \`submission update\` change anything; \`${a.sub}\` reads`;
|
|
496
583
|
return a.sub === "new" && a.submit
|
|
497
584
|
? "--submit: `submission new` creates the submission; mark it submitted with `submission update --submit` once `show` says the portal holds this build"
|
|
498
585
|
: null;
|
|
@@ -518,9 +605,9 @@ export async function runSubmission(a, deps) {
|
|
|
518
605
|
const t = submissionTarget(paperDir, deps.presets);
|
|
519
606
|
if (!t.ok)
|
|
520
607
|
return (deps.err(t.error), 2);
|
|
521
|
-
const
|
|
522
|
-
if (!
|
|
523
|
-
return (deps.err(
|
|
608
|
+
const ready = readyFor(a.sub, t.value);
|
|
609
|
+
if (!ready.ok)
|
|
610
|
+
return (deps.err(ready.error), 2);
|
|
524
611
|
const site = deps.site(t.value.portal);
|
|
525
612
|
const found = lookUpToken(tokenNames(site), deps.env);
|
|
526
613
|
if (!found.ok)
|
|
@@ -532,9 +619,12 @@ export async function runSubmission(a, deps) {
|
|
|
532
619
|
portalSite: site,
|
|
533
620
|
refused: (f) => tokenRefusedLines(t.value.portal, site, f),
|
|
534
621
|
};
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
622
|
+
const sending = { ...t.value, fields: ready.value.fields };
|
|
623
|
+
if (a.sub === "topics")
|
|
624
|
+
return runTopics(sending, portal, withToken);
|
|
625
|
+
if (ready.value.id === null)
|
|
626
|
+
return runNew(sending, portal, { ...a, pdfPath, paperDir }, withToken);
|
|
627
|
+
const target = { ...sending, id: ready.value.id };
|
|
538
628
|
return a.sub === "show"
|
|
539
629
|
? runShow(target, portal, pdfPath, withToken)
|
|
540
630
|
: runUpdate(target, portal, { ...a, pdfPath }, withToken);
|
package/dist/submission.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submission.js","sourceRoot":"","sources":["../src/submission.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"submission.js","sourceRoot":"","sources":["../src/submission.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { RegisterAnchor } from "./domain/register.ts";
|
|
|
3
3
|
import { type VenueTalk } from "./domain/talk.ts";
|
|
4
4
|
import type { VenuePortal } from "./domain/submission.ts";
|
|
5
5
|
import type { Reading } from "./domain/deadline.ts";
|
|
6
|
+
import { type VenueFields } from "./domain/submission-fields.ts";
|
|
6
7
|
/** CTAN package name → the names that prove it is installed. */
|
|
7
8
|
export type PackageProofs = Readonly<Record<string, readonly string[]>>;
|
|
8
9
|
export interface TexRequirements {
|
|
@@ -121,6 +122,8 @@ export interface PresetFile {
|
|
|
121
122
|
readonly portal: VenuePortal | null;
|
|
122
123
|
/** The edition's deadlines as they were read; null when the file names none (a child's list replaces its parent's). */
|
|
123
124
|
readonly deadlines: readonly Reading[] | null;
|
|
125
|
+
/** The fields the edition's submission form asks, as read; null when the file records none. */
|
|
126
|
+
readonly submissionFields: VenueFields | null;
|
|
124
127
|
}
|
|
125
128
|
/** One ajv error, as far as the hints read it. */
|
|
126
129
|
interface SchemaError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tex-requirements.d.ts","sourceRoot":"","sources":["../src/tex-requirements.ts"],"names":[],"mappings":"AA0BA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"tex-requirements.d.ts","sourceRoot":"","sources":["../src/tex-requirements.ts"],"names":[],"mappings":"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"}
|