@cyanheads/zenodo-mcp-server 0.1.2 → 0.1.3
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/AGENTS.md +22 -15
- package/CLAUDE.md +22 -15
- package/Dockerfile +3 -3
- package/README.md +6 -4
- package/changelog/0.1.x/0.1.3.md +35 -0
- package/dist/mcp-server/tools/definitions/get-record.tool.d.ts +106 -2
- package/dist/mcp-server/tools/definitions/get-record.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-record.tool.js +452 -106
- package/dist/mcp-server/tools/definitions/get-record.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +283 -180
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-files.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-files.tool.js +21 -15
- package/dist/mcp-server/tools/definitions/list-files.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/list-versions.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/list-versions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-versions.tool.js +29 -20
- package/dist/mcp-server/tools/definitions/list-versions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.d.ts +2 -1
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.js +39 -22
- package/dist/mcp-server/tools/definitions/lookup-vocabulary.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/read-file.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/read-file.tool.js +16 -14
- package/dist/mcp-server/tools/definitions/read-file.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-records.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/search-records.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-records.tool.js +138 -29
- package/dist/mcp-server/tools/definitions/search-records.tool.js.map +1 -1
- package/dist/mcp-server/tools/paging.d.ts +42 -0
- package/dist/mcp-server/tools/paging.d.ts.map +1 -0
- package/dist/mcp-server/tools/paging.js +44 -0
- package/dist/mcp-server/tools/paging.js.map +1 -0
- package/dist/mcp-server/tools/record-miss.d.ts +5 -1
- package/dist/mcp-server/tools/record-miss.d.ts.map +1 -1
- package/dist/mcp-server/tools/record-miss.js +6 -2
- package/dist/mcp-server/tools/record-miss.js.map +1 -1
- package/dist/services/zenodo/html-to-text.d.ts +19 -8
- package/dist/services/zenodo/html-to-text.d.ts.map +1 -1
- package/dist/services/zenodo/html-to-text.js +175 -48
- package/dist/services/zenodo/html-to-text.js.map +1 -1
- package/dist/services/zenodo/http.js +1 -1
- package/dist/services/zenodo/http.js.map +1 -1
- package/dist/services/zenodo/normalize.d.ts.map +1 -1
- package/dist/services/zenodo/normalize.js +5 -2
- package/dist/services/zenodo/normalize.js.map +1 -1
- package/dist/services/zenodo/query-builder.d.ts +84 -8
- package/dist/services/zenodo/query-builder.d.ts.map +1 -1
- package/dist/services/zenodo/query-builder.js +484 -21
- package/dist/services/zenodo/query-builder.js.map +1 -1
- package/dist/services/zenodo/text-preview.d.ts +1 -1
- package/dist/services/zenodo/text-preview.d.ts.map +1 -1
- package/dist/services/zenodo/text-preview.js +38 -38
- package/dist/services/zenodo/text-preview.js.map +1 -1
- package/package.json +7 -7
- package/server.json +3 -3
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Paging rules shared by the Zenodo tools: Zenodo's 10,000-hit result
|
|
3
|
+
* window on paged searches and listings, and the per-call cap that serves a larger
|
|
4
|
+
* budget input (a page size, an entry limit, a byte count) at the cap instead of
|
|
5
|
+
* rejecting it.
|
|
6
|
+
* @module mcp-server/tools/paging
|
|
7
|
+
*/
|
|
8
|
+
/** Zenodo pages through only the first 10,000 hits of a search or listing. */
|
|
9
|
+
export declare const RESULT_WINDOW = 10000;
|
|
10
|
+
/**
|
|
11
|
+
* Page size cap of the search, version, and vocabulary pages. Zenodo answers a
|
|
12
|
+
* larger search or versions page with HTTP 400; vocabulary pages share the cap so
|
|
13
|
+
* one paging rule holds across the three tools.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PAGE_SIZE_CAP = 25;
|
|
16
|
+
/** Hits reachable by paging: the total, or the window when the total passes it. */
|
|
17
|
+
export declare const reachableHits: (total: number) => number;
|
|
18
|
+
/** True when another page of reachable hits follows: page × size < min(total, 10,000). */
|
|
19
|
+
export declare const hasMorePages: (page: number, size: number, total: number) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The rejection message for a page that starts past the window, or `undefined` when
|
|
22
|
+
* the page is servable. Zenodo rejects only a page whose first hit lies past the
|
|
23
|
+
* window, `(page − 1) × size ≥ 10,000`, and serves the page straddling hit 10,000
|
|
24
|
+
* short; the message names the last servable page at this size, plus `capNote` when
|
|
25
|
+
* a cap lowered the size the page was counted at.
|
|
26
|
+
*/
|
|
27
|
+
export declare function windowRejection(page: number, size: number, noun: string, capNote?: string): string | undefined;
|
|
28
|
+
/** A budget input after its per-call cap. */
|
|
29
|
+
export interface CappedValue {
|
|
30
|
+
/** The value the call runs with: the request, or the cap when the request is larger. */
|
|
31
|
+
applied: number;
|
|
32
|
+
/** `<name> <requested> is capped at <cap> per call`; present only when the cap lowered the value. */
|
|
33
|
+
capNote?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Serves a budget input up to its per-call cap instead of rejecting a larger value.
|
|
37
|
+
* `applied` drives the upstream request, the cache key, continuation, and the value
|
|
38
|
+
* the output reports. `capNote` belongs in the notice only when the cap withheld
|
|
39
|
+
* results, which the calling tool decides (another page or byte range follows).
|
|
40
|
+
*/
|
|
41
|
+
export declare function applyCap(name: string, requested: number, cap: number): CappedValue;
|
|
42
|
+
//# sourceMappingURL=paging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/paging.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,aAAa,QAAS,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,mFAAmF;AACnF,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAAwC,CAAC;AAEvF,0FAA0F;AAC1F,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAG,OACrC,CAAC;AAErC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAIpB;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAIlF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Paging rules shared by the Zenodo tools: Zenodo's 10,000-hit result
|
|
3
|
+
* window on paged searches and listings, and the per-call cap that serves a larger
|
|
4
|
+
* budget input (a page size, an entry limit, a byte count) at the cap instead of
|
|
5
|
+
* rejecting it.
|
|
6
|
+
* @module mcp-server/tools/paging
|
|
7
|
+
*/
|
|
8
|
+
/** Zenodo pages through only the first 10,000 hits of a search or listing. */
|
|
9
|
+
export const RESULT_WINDOW = 10_000;
|
|
10
|
+
/**
|
|
11
|
+
* Page size cap of the search, version, and vocabulary pages. Zenodo answers a
|
|
12
|
+
* larger search or versions page with HTTP 400; vocabulary pages share the cap so
|
|
13
|
+
* one paging rule holds across the three tools.
|
|
14
|
+
*/
|
|
15
|
+
export const PAGE_SIZE_CAP = 25;
|
|
16
|
+
/** Hits reachable by paging: the total, or the window when the total passes it. */
|
|
17
|
+
export const reachableHits = (total) => Math.min(total, RESULT_WINDOW);
|
|
18
|
+
/** True when another page of reachable hits follows: page × size < min(total, 10,000). */
|
|
19
|
+
export const hasMorePages = (page, size, total) => page * size < reachableHits(total);
|
|
20
|
+
/**
|
|
21
|
+
* The rejection message for a page that starts past the window, or `undefined` when
|
|
22
|
+
* the page is servable. Zenodo rejects only a page whose first hit lies past the
|
|
23
|
+
* window, `(page − 1) × size ≥ 10,000`, and serves the page straddling hit 10,000
|
|
24
|
+
* short; the message names the last servable page at this size, plus `capNote` when
|
|
25
|
+
* a cap lowered the size the page was counted at.
|
|
26
|
+
*/
|
|
27
|
+
export function windowRejection(page, size, noun, capNote) {
|
|
28
|
+
if ((page - 1) * size < RESULT_WINDOW)
|
|
29
|
+
return;
|
|
30
|
+
const last = Math.ceil(RESULT_WINDOW / size);
|
|
31
|
+
return `Page ${page} at size ${size} starts past the first 10,000 ${noun}${capNote ? ` (${capNote})` : ''}; the last reachable page at size ${size} is ${last}.`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Serves a budget input up to its per-call cap instead of rejecting a larger value.
|
|
35
|
+
* `applied` drives the upstream request, the cache key, continuation, and the value
|
|
36
|
+
* the output reports. `capNote` belongs in the notice only when the cap withheld
|
|
37
|
+
* results, which the calling tool decides (another page or byte range follows).
|
|
38
|
+
*/
|
|
39
|
+
export function applyCap(name, requested, cap) {
|
|
40
|
+
return requested > cap
|
|
41
|
+
? { applied: cap, capNote: `${name} ${requested} is capped at ${cap} per call` }
|
|
42
|
+
: { applied: requested };
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=paging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paging.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/paging.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAEvF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,KAAa,EAAW,EAAE,CACjF,IAAI,GAAG,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,OAAgB;IAEhB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,aAAa;QAAE,OAAO;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,QAAQ,IAAI,YAAY,IAAI,iCAAiC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,qCAAqC,IAAI,OAAO,IAAI,GAAG,CAAC;AACnK,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,SAAiB,EAAE,GAAW;IACnE,OAAO,SAAS,GAAG,GAAG;QACpB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,SAAS,iBAAiB,GAAG,WAAW,EAAE;QAChF,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -29,7 +29,11 @@ export declare function recordMiss(recid: string, lookup: Exclude<RecordLookup,
|
|
|
29
29
|
miss_kind: 'restricted';
|
|
30
30
|
guidance: string;
|
|
31
31
|
};
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* `miss_kind` and guidance for a non-Zenodo DOI that no Zenodo record carries. Only
|
|
34
|
+
* Zenodo was searched, so the guidance offers the DOI resolver without claiming the
|
|
35
|
+
* DOI resolves there.
|
|
36
|
+
*/
|
|
33
37
|
export declare function notOnZenodoMiss(doi: string): {
|
|
34
38
|
miss_kind: 'not_on_zenodo';
|
|
35
39
|
guidance: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-miss.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/record-miss.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;;;;iBAYyB,CAAC;AAEtD,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;eAIzE,WAAW;;;;eAOX,SAAS;;;;;eAOT,YAAY;;EAI9B;AAED
|
|
1
|
+
{"version":3,"file":"record-miss.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/record-miss.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;;;;iBAYyB,CAAC;AAEtD,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;eAIzE,WAAW;;;;eAOX,SAAS;;;;;eAOT,YAAY;;EAI9B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM;IAEvC,SAAS,EAAE,eAAe;IAC1B,QAAQ;EAEX"}
|
|
@@ -41,11 +41,15 @@ export function recordMiss(recid, lookup) {
|
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* `miss_kind` and guidance for a non-Zenodo DOI that no Zenodo record carries. Only
|
|
46
|
+
* Zenodo was searched, so the guidance offers the DOI resolver without claiming the
|
|
47
|
+
* DOI resolves there.
|
|
48
|
+
*/
|
|
45
49
|
export function notOnZenodoMiss(doi) {
|
|
46
50
|
return {
|
|
47
51
|
miss_kind: 'not_on_zenodo',
|
|
48
|
-
guidance: `DOI ${doi} is not registered to a Zenodo record
|
|
52
|
+
guidance: `DOI ${doi} is not registered to a Zenodo record; check https://doi.org/${doi} to see whether it resolves outside Zenodo, or search by title with zenodo_search_records to find a related deposit.`,
|
|
49
53
|
};
|
|
50
54
|
}
|
|
51
55
|
//# sourceMappingURL=record-miss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-miss.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/record-miss.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACvF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC5F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG;CACJ,CAAC;KACD,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AAEtD,0GAA0G;AAC1G,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAkD;IAC1F,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,WAAW;YACd,OAAO;gBACL,SAAS,EAAE,WAAoB;gBAC/B,QAAQ,EAAE,2BAA2B,KAAK,4GAA4G,KAAK,2BAA2B;aACvL,CAAC;QACJ,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC;YAC1E,OAAO;gBACL,SAAS,EAAE,SAAkB;gBAC7B,QAAQ,EAAE,UAAU,KAAK,+BAA+B,IAAI,aAAa,SAAS,CAAC,cAAc,IAAI,WAAW,oHAAoH;gBACpO,SAAS;aACV,CAAC;QACJ,CAAC;QACD,KAAK,YAAY;YACf,OAAO;gBACL,SAAS,EAAE,YAAqB;gBAChC,QAAQ,EAAE,UAAU,KAAK,4FAA4F;aACtH,CAAC;IACN,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"record-miss.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/record-miss.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACvF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC5F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG;CACJ,CAAC;KACD,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AAEtD,0GAA0G;AAC1G,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAkD;IAC1F,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,WAAW;YACd,OAAO;gBACL,SAAS,EAAE,WAAoB;gBAC/B,QAAQ,EAAE,2BAA2B,KAAK,4GAA4G,KAAK,2BAA2B;aACvL,CAAC;QACJ,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC;YAC1E,OAAO;gBACL,SAAS,EAAE,SAAkB;gBAC7B,QAAQ,EAAE,UAAU,KAAK,+BAA+B,IAAI,aAAa,SAAS,CAAC,cAAc,IAAI,WAAW,oHAAoH;gBACpO,SAAS;aACV,CAAC;QACJ,CAAC;QACD,KAAK,YAAY;YACf,OAAO;gBACL,SAAS,EAAE,YAAqB;gBAChC,QAAQ,EAAE,UAAU,KAAK,4FAA4F;aACtH,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO;QACL,SAAS,EAAE,eAAwB;QACnC,QAAQ,EAAE,OAAO,GAAG,gEAAgE,GAAG,sHAAsH;KAC9M,CAAC;AACJ,CAAC"}
|
|
@@ -1,22 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Deterministic HTML → plain-text conversion for depositor-supplied
|
|
3
3
|
* record descriptions. The one documented transformation of upstream text: drop
|
|
4
|
-
* script/style, turn block ends and line breaks into newlines,
|
|
5
|
-
*
|
|
4
|
+
* script/style, turn block ends and line breaks into newlines, put each table row on
|
|
5
|
+
* one line (a one-cell row keeps its line breaks), inline link targets, strip tags,
|
|
6
|
+
* decode entities, normalize whitespace.
|
|
6
7
|
* @module services/zenodo/html-to-text
|
|
7
8
|
*/
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* Every named entity the converter decodes, keyed by exact name: the 252 HTML 4.01
|
|
11
|
+
* entities plus `apos`. `nbsp` decodes to a plain space (the later entry wins).
|
|
12
|
+
*/
|
|
13
|
+
export declare const NAMED_ENTITIES: ReadonlyMap<string, string>;
|
|
14
|
+
/**
|
|
15
|
+
* Decodes numeric (decimal and hex) references and `NAMED_ENTITIES` in one
|
|
16
|
+
* left-to-right pass, so decoded text is never read again. Names match by exact case,
|
|
17
|
+
* except the `ANY_CASE` names; every other name stays as written.
|
|
11
18
|
*/
|
|
12
19
|
export declare function decodeEntities(text: string): string;
|
|
13
20
|
/**
|
|
14
21
|
* Converts an HTML fragment to plain text:
|
|
15
22
|
* 1. drops `<script>`/`<style>` elements with their content (and comments);
|
|
16
|
-
* 2. `<br>` → newline,
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
23
|
+
* 2. `<br>` → newline, together with a line break directly after it; closing block
|
|
24
|
+
* tags → newline; `<li>` → `- `;
|
|
25
|
+
* 3. each table row → one line, cells joined by ` | `, whitespace and block breaks
|
|
26
|
+
* inside a cell collapsed to single spaces; a row with one cell keeps the cell's
|
|
27
|
+
* line breaks, each line collapsed and trimmed the same way;
|
|
28
|
+
* 4. `<a href="X">T</a>` → `T (X)` when X is http(s) and differs from T;
|
|
29
|
+
* 5. strips remaining tags; 6. decodes entities (numeric and the HTML 4 named set);
|
|
30
|
+
* 7. normalizes CRLF/CR to LF, trims trailing spaces per line, collapses 3+
|
|
20
31
|
* newlines to 2, and trims the result.
|
|
21
32
|
*/
|
|
22
33
|
export declare function htmlToText(html: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-to-text.d.ts","sourceRoot":"","sources":["../../../src/services/zenodo/html-to-text.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"html-to-text.d.ts","sourceRoot":"","sources":["../../../src/services/zenodo/html-to-text.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAOrD,CAAC;AAgBH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD;AAiMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY/C"}
|
|
@@ -1,50 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Deterministic HTML → plain-text conversion for depositor-supplied
|
|
3
3
|
* record descriptions. The one documented transformation of upstream text: drop
|
|
4
|
-
* script/style, turn block ends and line breaks into newlines,
|
|
5
|
-
*
|
|
4
|
+
* script/style, turn block ends and line breaks into newlines, put each table row on
|
|
5
|
+
* one line (a one-cell row keeps its line breaks), inline link targets, strip tags,
|
|
6
|
+
* decode entities, normalize whitespace.
|
|
6
7
|
* @module services/zenodo/html-to-text
|
|
7
8
|
*/
|
|
8
|
-
const NAMED_ENTITIES = {
|
|
9
|
-
amp: '&',
|
|
10
|
-
lt: '<',
|
|
11
|
-
gt: '>',
|
|
12
|
-
quot: '"',
|
|
13
|
-
apos: "'",
|
|
14
|
-
nbsp: ' ',
|
|
15
|
-
ndash: '–',
|
|
16
|
-
mdash: '—',
|
|
17
|
-
hellip: '…',
|
|
18
|
-
lsquo: '‘',
|
|
19
|
-
rsquo: '’',
|
|
20
|
-
ldquo: '“',
|
|
21
|
-
rdquo: '”',
|
|
22
|
-
copy: '©',
|
|
23
|
-
reg: '®',
|
|
24
|
-
deg: '°',
|
|
25
|
-
};
|
|
26
9
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
10
|
+
* `name:code` pairs of the HTML 4.01 character entity sets, transcribed in DTD order
|
|
11
|
+
* from https://www.w3.org/TR/html401/HTMLlat1.ent (96 names, U+00A0–U+00FF),
|
|
12
|
+
* HTMLsymbol.ent (124: Greek, math, arrows), and HTMLspecial.ent (32: markup-significant
|
|
13
|
+
* characters, Latin Extended-A, spacing and punctuation).
|
|
30
14
|
*/
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
15
|
+
const HTML4_ENTITY_SETS = [
|
|
16
|
+
'nbsp:160 iexcl:161 cent:162 pound:163 curren:164 yen:165 brvbar:166 sect:167 uml:168 copy:169 ordf:170 laquo:171 not:172 shy:173 reg:174 macr:175 deg:176 plusmn:177 sup2:178 sup3:179 acute:180 micro:181 para:182 middot:183 cedil:184 sup1:185 ordm:186 raquo:187 frac14:188 frac12:189 frac34:190 iquest:191 Agrave:192 Aacute:193 Acirc:194 Atilde:195 Auml:196 Aring:197 AElig:198 Ccedil:199 Egrave:200 Eacute:201 Ecirc:202 Euml:203 Igrave:204 Iacute:205 Icirc:206 Iuml:207 ETH:208 Ntilde:209 Ograve:210 Oacute:211 Ocirc:212 Otilde:213 Ouml:214 times:215 Oslash:216 Ugrave:217 Uacute:218 Ucirc:219 Uuml:220 Yacute:221 THORN:222 szlig:223 agrave:224 aacute:225 acirc:226 atilde:227 auml:228 aring:229 aelig:230 ccedil:231 egrave:232 eacute:233 ecirc:234 euml:235 igrave:236 iacute:237 icirc:238 iuml:239 eth:240 ntilde:241 ograve:242 oacute:243 ocirc:244 otilde:245 ouml:246 divide:247 oslash:248 ugrave:249 uacute:250 ucirc:251 uuml:252 yacute:253 thorn:254 yuml:255',
|
|
17
|
+
'fnof:402 Alpha:913 Beta:914 Gamma:915 Delta:916 Epsilon:917 Zeta:918 Eta:919 Theta:920 Iota:921 Kappa:922 Lambda:923 Mu:924 Nu:925 Xi:926 Omicron:927 Pi:928 Rho:929 Sigma:931 Tau:932 Upsilon:933 Phi:934 Chi:935 Psi:936 Omega:937 alpha:945 beta:946 gamma:947 delta:948 epsilon:949 zeta:950 eta:951 theta:952 iota:953 kappa:954 lambda:955 mu:956 nu:957 xi:958 omicron:959 pi:960 rho:961 sigmaf:962 sigma:963 tau:964 upsilon:965 phi:966 chi:967 psi:968 omega:969 thetasym:977 upsih:978 piv:982 bull:8226 hellip:8230 prime:8242 Prime:8243 oline:8254 frasl:8260 weierp:8472 image:8465 real:8476 trade:8482 alefsym:8501 larr:8592 uarr:8593 rarr:8594 darr:8595 harr:8596 crarr:8629 lArr:8656 uArr:8657 rArr:8658 dArr:8659 hArr:8660 forall:8704 part:8706 exist:8707 empty:8709 nabla:8711 isin:8712 notin:8713 ni:8715 prod:8719 sum:8721 minus:8722 lowast:8727 radic:8730 prop:8733 infin:8734 ang:8736 and:8743 or:8744 cap:8745 cup:8746 int:8747 there4:8756 sim:8764 cong:8773 asymp:8776 ne:8800 equiv:8801 le:8804 ge:8805 sub:8834 sup:8835 nsub:8836 sube:8838 supe:8839 oplus:8853 otimes:8855 perp:8869 sdot:8901 lceil:8968 rceil:8969 lfloor:8970 rfloor:8971 lang:9001 rang:9002 loz:9674 spades:9824 clubs:9827 hearts:9829 diams:9830',
|
|
18
|
+
'quot:34 amp:38 lt:60 gt:62 OElig:338 oelig:339 Scaron:352 scaron:353 Yuml:376 circ:710 tilde:732 ensp:8194 emsp:8195 thinsp:8201 zwnj:8204 zwj:8205 lrm:8206 rlm:8207 ndash:8211 mdash:8212 lsquo:8216 rsquo:8217 sbquo:8218 ldquo:8220 rdquo:8221 bdquo:8222 dagger:8224 Dagger:8225 permil:8240 lsaquo:8249 rsaquo:8250 euro:8364',
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Every named entity the converter decodes, keyed by exact name: the 252 HTML 4.01
|
|
22
|
+
* entities plus `apos`. `nbsp` decodes to a plain space (the later entry wins).
|
|
23
|
+
*/
|
|
24
|
+
export const NAMED_ENTITIES = new Map([
|
|
25
|
+
...HTML4_ENTITY_SETS.flatMap((set) => set.split(' ')).map((pair) => {
|
|
26
|
+
const [name = '', code] = pair.split(':');
|
|
27
|
+
return [name, String.fromCodePoint(Number(code))];
|
|
28
|
+
}),
|
|
29
|
+
['apos', "'"],
|
|
30
|
+
['nbsp', ' '],
|
|
31
|
+
]);
|
|
32
|
+
/** The common names, also matched in any letter case (`&`, `&Nbsp;`). */
|
|
33
|
+
const ANY_CASE = new Set('amp lt gt quot apos nbsp ndash mdash hellip lsquo rsquo ldquo rdquo copy reg deg'.split(' '));
|
|
37
34
|
function codePointToString(codePoint) {
|
|
38
35
|
return Number.isInteger(codePoint) &&
|
|
39
36
|
codePoint > 0 &&
|
|
40
37
|
codePoint <= 0x10ffff &&
|
|
41
38
|
(codePoint < 0xd800 || codePoint > 0xdfff)
|
|
42
39
|
? String.fromCodePoint(codePoint)
|
|
43
|
-
:
|
|
40
|
+
: String.fromCodePoint(0xfffd);
|
|
44
41
|
}
|
|
45
42
|
/**
|
|
46
|
-
* Decodes numeric (decimal and hex)
|
|
47
|
-
*
|
|
43
|
+
* Decodes numeric (decimal and hex) references and `NAMED_ENTITIES` in one
|
|
44
|
+
* left-to-right pass, so decoded text is never read again. Names match by exact case,
|
|
45
|
+
* except the `ANY_CASE` names; every other name stays as written.
|
|
48
46
|
*/
|
|
49
47
|
export function decodeEntities(text) {
|
|
50
48
|
return text.replace(/&(#x[0-9a-f]+|#\d+|[a-z][a-z0-9]*);/gi, (match, body) => {
|
|
@@ -52,11 +50,8 @@ export function decodeEntities(text) {
|
|
|
52
50
|
const hex = body[1] === 'x' || body[1] === 'X';
|
|
53
51
|
return codePointToString(Number.parseInt(body.slice(hex ? 2 : 1), hex ? 16 : 10));
|
|
54
52
|
}
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
return named;
|
|
58
|
-
const latin1 = LATIN1_ENTITIES[body];
|
|
59
|
-
return latin1 === undefined ? match : String.fromCodePoint(latin1);
|
|
53
|
+
const lower = body.toLowerCase();
|
|
54
|
+
return NAMED_ENTITIES.get(ANY_CASE.has(lower) ? lower : body) ?? match;
|
|
60
55
|
});
|
|
61
56
|
}
|
|
62
57
|
/** Re-escapes the characters entity decoding would otherwise read twice. */
|
|
@@ -112,6 +107,139 @@ function inlineLinks(html) {
|
|
|
112
107
|
}
|
|
113
108
|
return out + html.slice(from);
|
|
114
109
|
}
|
|
110
|
+
/** `<br>` with the line break directly after it, and the spaces and tabs around that break. */
|
|
111
|
+
const BR = /<br\s*\/?>(?:[ \t]*(?:\r\n?|\n)[ \t]*)?/gi;
|
|
112
|
+
/** Line breaks, block ends, list items, links, tag stripping, and entity decoding. */
|
|
113
|
+
function flowToText(html) {
|
|
114
|
+
const s = html
|
|
115
|
+
.replace(BR, '\n')
|
|
116
|
+
.replace(/<\/(?:p|div|h[1-6]|li|tr|blockquote|pre|ul|ol|table)\s*>/gi, '\n')
|
|
117
|
+
.replace(/<li\b[^<>]*>/gi, '- ');
|
|
118
|
+
return decodeEntities(stripTags(inlineLinks(s)));
|
|
119
|
+
}
|
|
120
|
+
/** `text` with each whitespace run collapsed to one space, trimmed. */
|
|
121
|
+
function collapseSpace(text) {
|
|
122
|
+
return text.replace(/[\s\u0085]+/g, ' ').trim();
|
|
123
|
+
}
|
|
124
|
+
/** A table cell, or text inside a table but outside its cells, as one line. */
|
|
125
|
+
function cellToText(html) {
|
|
126
|
+
return collapseSpace(flowToText(html));
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The cell of a one-cell row as blocks: its line breaks kept, whitespace inside each
|
|
130
|
+
* line collapsed as in a cell (so a pretty-printed layout table leaves no indentation),
|
|
131
|
+
* and blank lines at either end dropped.
|
|
132
|
+
*/
|
|
133
|
+
function blockToText(html) {
|
|
134
|
+
const lines = flowToText(html)
|
|
135
|
+
.split(/\r\n?|\n/)
|
|
136
|
+
.map(collapseSpace);
|
|
137
|
+
let start = 0;
|
|
138
|
+
let end = lines.length;
|
|
139
|
+
while (start < end && lines[start] === '')
|
|
140
|
+
start++;
|
|
141
|
+
while (end > start && lines[end - 1] === '')
|
|
142
|
+
end--;
|
|
143
|
+
return lines.slice(start, end).join('\n');
|
|
144
|
+
}
|
|
145
|
+
/** A row from its cells' HTML: one cell as blocks, several as one line joined by ` | `; `''` when no cell has text. */
|
|
146
|
+
function rowToText(cells) {
|
|
147
|
+
if (cells.length === 1)
|
|
148
|
+
return blockToText(cells[0] ?? '');
|
|
149
|
+
const texts = cells.map(cellToText);
|
|
150
|
+
return texts.some((text) => text !== '') ? texts.join(' | ') : '';
|
|
151
|
+
}
|
|
152
|
+
/** A `table`, `tr`, `td`, or `th` tag, opening or closing, that closes before the next `<`. */
|
|
153
|
+
const TABLE_TAG = /<(\/?)(table|tr|t[dh])(?=[\s/>])[^<>]*>/gi;
|
|
154
|
+
/** True when `text` is empty or ends with a line break, ignoring trailing spaces and tabs. */
|
|
155
|
+
function atLineStart(text) {
|
|
156
|
+
let end = text.length;
|
|
157
|
+
while (end > 0 && (text[end - 1] === ' ' || text[end - 1] === '\t'))
|
|
158
|
+
end--;
|
|
159
|
+
return end === 0 || text[end - 1] === '\n' || text[end - 1] === '\r';
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Converts `html` in one forward scan over its table tags. Text outside tables goes
|
|
163
|
+
* through `flowToText`. Each table becomes one line per row, cells joined by ` | `,
|
|
164
|
+
* on its own line and followed by a blank line; a row with exactly one cell keeps that
|
|
165
|
+
* cell's line breaks instead (a layout table). A cell or row without its closing tag
|
|
166
|
+
* ends where the next cell, row, or the table does. A table nested in a cell becomes
|
|
167
|
+
* part of that cell's text, its row and table ends kept as line breaks and its other
|
|
168
|
+
* tags as spaces, and text inside a table but outside its cells gets a line of its own.
|
|
169
|
+
*/
|
|
170
|
+
function convertBlocks(html) {
|
|
171
|
+
let out = '';
|
|
172
|
+
let from = 0; // start of the input not yet converted
|
|
173
|
+
let depth = 0; // table nesting at the scan position
|
|
174
|
+
let lines = [];
|
|
175
|
+
let row; // HTML of each closed cell of the open row
|
|
176
|
+
let cell; // HTML of the open cell
|
|
177
|
+
const take = (end) => {
|
|
178
|
+
const chunk = html.slice(from, end);
|
|
179
|
+
if (cell !== undefined) {
|
|
180
|
+
cell += chunk;
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const text = cellToText(chunk);
|
|
184
|
+
if (text)
|
|
185
|
+
lines.push(text);
|
|
186
|
+
};
|
|
187
|
+
const closeCell = () => {
|
|
188
|
+
if (cell === undefined)
|
|
189
|
+
return;
|
|
190
|
+
row ??= [];
|
|
191
|
+
row.push(cell);
|
|
192
|
+
cell = undefined;
|
|
193
|
+
};
|
|
194
|
+
const closeRow = () => {
|
|
195
|
+
closeCell();
|
|
196
|
+
const text = row ? rowToText(row) : '';
|
|
197
|
+
if (text)
|
|
198
|
+
lines.push(text);
|
|
199
|
+
row = undefined;
|
|
200
|
+
};
|
|
201
|
+
const closeTable = () => {
|
|
202
|
+
closeRow();
|
|
203
|
+
if (lines.length > 0)
|
|
204
|
+
out += `${atLineStart(out) ? '' : '\n'}${lines.join('\n')}\n`;
|
|
205
|
+
out += '\n';
|
|
206
|
+
lines = [];
|
|
207
|
+
};
|
|
208
|
+
for (const tag of html.matchAll(TABLE_TAG)) {
|
|
209
|
+
const closing = tag[1] === '/';
|
|
210
|
+
const name = tag[2]?.toLowerCase();
|
|
211
|
+
if (depth === 0) {
|
|
212
|
+
if (name !== 'table' || closing)
|
|
213
|
+
continue;
|
|
214
|
+
out += flowToText(html.slice(from, tag.index));
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
take(tag.index);
|
|
218
|
+
}
|
|
219
|
+
from = tag.index + tag[0].length;
|
|
220
|
+
const nested = depth > 1 || (depth === 1 && name === 'table' && !closing);
|
|
221
|
+
if (name === 'table')
|
|
222
|
+
depth += closing ? -1 : 1;
|
|
223
|
+
if (depth === 0)
|
|
224
|
+
closeTable();
|
|
225
|
+
else if (nested) {
|
|
226
|
+
if (cell !== undefined)
|
|
227
|
+
cell += closing && (name === 'tr' || name === 'table') ? '\n' : ' ';
|
|
228
|
+
}
|
|
229
|
+
else if (name === 'tr')
|
|
230
|
+
closeRow();
|
|
231
|
+
else if (name !== 'table') {
|
|
232
|
+
closeCell();
|
|
233
|
+
if (!closing)
|
|
234
|
+
cell = '';
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (depth === 0)
|
|
238
|
+
return out + flowToText(html.slice(from));
|
|
239
|
+
take(html.length);
|
|
240
|
+
closeTable();
|
|
241
|
+
return out;
|
|
242
|
+
}
|
|
115
243
|
/** `line` without trailing spaces and tabs. */
|
|
116
244
|
function trimTrailingBlanks(line) {
|
|
117
245
|
let end = line.length;
|
|
@@ -122,22 +250,21 @@ function trimTrailingBlanks(line) {
|
|
|
122
250
|
/**
|
|
123
251
|
* Converts an HTML fragment to plain text:
|
|
124
252
|
* 1. drops `<script>`/`<style>` elements with their content (and comments);
|
|
125
|
-
* 2. `<br>` → newline,
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
253
|
+
* 2. `<br>` → newline, together with a line break directly after it; closing block
|
|
254
|
+
* tags → newline; `<li>` → `- `;
|
|
255
|
+
* 3. each table row → one line, cells joined by ` | `, whitespace and block breaks
|
|
256
|
+
* inside a cell collapsed to single spaces; a row with one cell keeps the cell's
|
|
257
|
+
* line breaks, each line collapsed and trimmed the same way;
|
|
258
|
+
* 4. `<a href="X">T</a>` → `T (X)` when X is http(s) and differs from T;
|
|
259
|
+
* 5. strips remaining tags; 6. decodes entities (numeric and the HTML 4 named set);
|
|
260
|
+
* 7. normalizes CRLF/CR to LF, trims trailing spaces per line, collapses 3+
|
|
129
261
|
* newlines to 2, and trims the result.
|
|
130
262
|
*/
|
|
131
263
|
export function htmlToText(html) {
|
|
132
|
-
|
|
264
|
+
const s = html
|
|
133
265
|
.replace(/<!--[\s\S]*?(?:-->|$)/g, '')
|
|
134
266
|
.replace(/<(script|style)\b[^<>]*>[\s\S]*?(?:<\/\1\s*>|$)/gi, '');
|
|
135
|
-
|
|
136
|
-
.replace(/<br\s*\/?>/gi, '\n')
|
|
137
|
-
.replace(/<\/(?:p|div|h[1-6]|li|tr|blockquote|pre|ul|ol|table)\s*>/gi, '\n')
|
|
138
|
-
.replace(/<li\b[^<>]*>/gi, '- ');
|
|
139
|
-
s = decodeEntities(stripTags(inlineLinks(s)));
|
|
140
|
-
return s
|
|
267
|
+
return convertBlocks(s)
|
|
141
268
|
.replace(/\r\n?/g, '\n')
|
|
142
269
|
.split('\n')
|
|
143
270
|
.map(trimTrailingBlanks)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-to-text.js","sourceRoot":"","sources":["../../../src/services/zenodo/html-to-text.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"html-to-text.js","sourceRoot":"","sources":["../../../src/services/zenodo/html-to-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ export async function discardBody(res) {
|
|
|
39
39
|
export async function readText(res) {
|
|
40
40
|
const { bytes, more } = await readCapped(res, MAX_BODY_BYTES);
|
|
41
41
|
if (more) {
|
|
42
|
-
throw serviceUnavailable(`Zenodo returned a response body over ${MAX_BODY_BYTES} bytes; it was not read.`, { status: res.status, retryable: false });
|
|
42
|
+
throw serviceUnavailable(`Zenodo returned a response body over ${MAX_BODY_BYTES.toLocaleString('en-US')} bytes; it was not read.`, { status: res.status, retryable: false });
|
|
43
43
|
}
|
|
44
44
|
return new TextDecoder().decode(bytes);
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/zenodo/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/zenodo/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/services/zenodo/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAGhB,WAAW,EACX,YAAY,EAGZ,QAAQ,EACR,YAAY,EACZ,YAAY,EAGZ,SAAS,EAGT,UAAU,EACV,SAAS,EACT,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EAET,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EACrC,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAIvB;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/services/zenodo/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAGhB,WAAW,EACX,YAAY,EAGZ,QAAQ,EACR,YAAY,EACZ,YAAY,EAGZ,SAAS,EAGT,UAAU,EACV,SAAS,EACT,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EAET,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EACrC,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAIvB;AA+DD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY,CAuF5D;AAED,uCAAuC;AACvC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAO3E;AAUD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,aAAa,CAyChE;AAOD,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAAG,YAAY,CAmBrF;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,cAAc,CAelE;AAED,yCAAyC;AACzC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,gBAAgB,CActE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,CAYpE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,CAS3D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAcxD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,CAS9D"}
|
|
@@ -45,11 +45,14 @@ function normalizePerson(raw) {
|
|
|
45
45
|
.map((a) => ({ ...opt('name', a.name), ...opt('ror', a.id) })),
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* The complete manifest in upstream order (`files.order` when non-empty, else object
|
|
50
|
+
* order). An `order` name counts only when it is an own key of `entries`.
|
|
51
|
+
*/
|
|
49
52
|
function normalizeManifest(recid, files) {
|
|
50
53
|
const entries = files?.entries ?? {};
|
|
51
54
|
const keys = files?.order?.length
|
|
52
|
-
? files.order.filter((k) => k
|
|
55
|
+
? files.order.filter((k) => Object.hasOwn(entries, k))
|
|
53
56
|
: Object.keys(entries);
|
|
54
57
|
return keys.map((mapKey) => {
|
|
55
58
|
const e = entries[mapKey] ?? {};
|