@cyanheads/ris-austria-mcp-server 0.4.4 → 0.5.1
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 +16 -14
- package/CLAUDE.md +16 -14
- package/Dockerfile +92 -36
- package/README.md +57 -94
- package/changelog/0.5.x/0.5.0.md +29 -0
- package/changelog/0.5.x/0.5.1.md +33 -0
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +1 -1
- package/dist/config/server-config.js.map +1 -1
- package/dist/mcp-server/resources/definitions/ris-document.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/ris-document.resource.js +3 -7
- package/dist/mcp-server/resources/definitions/ris-document.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared.d.ts +31 -9
- package/dist/mcp-server/tools/definitions/_shared.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared.js +40 -7
- package/dist/mcp-server/tools/definitions/_shared.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts +19 -7
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js +67 -39
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js +12 -8
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js +3 -9
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts +9 -3
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js +46 -62
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js +27 -55
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts +9 -3
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js +20 -29
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js +28 -44
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js +18 -44
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js +3 -11
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js.map +1 -1
- package/dist/services/ris/reference/changed-since-intervals.d.ts +5 -3
- package/dist/services/ris/reference/changed-since-intervals.d.ts.map +1 -1
- package/dist/services/ris/reference/changed-since-intervals.js +4 -2
- package/dist/services/ris/reference/changed-since-intervals.js.map +1 -1
- package/dist/services/ris/reference/collections.d.ts +10 -6
- package/dist/services/ris/reference/collections.d.ts.map +1 -1
- package/dist/services/ris/reference/collections.js +29 -3
- package/dist/services/ris/reference/collections.js.map +1 -1
- package/dist/services/ris/reference/issuing-bodies.d.ts +57 -22
- package/dist/services/ris/reference/issuing-bodies.d.ts.map +1 -1
- package/dist/services/ris/reference/issuing-bodies.js +58 -23
- package/dist/services/ris/reference/issuing-bodies.js.map +1 -1
- package/dist/services/ris/reference/ministries.d.ts +56 -2
- package/dist/services/ris/reference/ministries.d.ts.map +1 -1
- package/dist/services/ris/reference/ministries.js +65 -1
- package/dist/services/ris/reference/ministries.js.map +1 -1
- package/dist/services/ris/request-builder.d.ts +20 -3
- package/dist/services/ris/request-builder.d.ts.map +1 -1
- package/dist/services/ris/request-builder.js +69 -17
- package/dist/services/ris/request-builder.js.map +1 -1
- package/dist/services/ris/ris-service.d.ts +14 -5
- package/dist/services/ris/ris-service.d.ts.map +1 -1
- package/dist/services/ris/ris-service.js +43 -17
- package/dist/services/ris/ris-service.js.map +1 -1
- package/package.json +11 -10
- package/server.json +12 -26
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
7
7
|
import { JsonRpcErrorCode, McpError, validationError } from '@cyanheads/mcp-ts-core/errors';
|
|
8
|
+
import { UNRESOLVED_MINISTRY_REASON } from '../../../services/ris/request-builder.js';
|
|
8
9
|
/** Months with 30 days — the only non-February lengths a day of 31 can overshoot. */
|
|
9
10
|
const THIRTY_DAY_MONTHS = new Set([4, 6, 9, 11]);
|
|
10
11
|
/**
|
|
@@ -36,6 +37,28 @@ export const isoDateString = z
|
|
|
36
37
|
.string()
|
|
37
38
|
.regex(/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/u, 'Expected an ISO calendar date in YYYY-MM-DD form.')
|
|
38
39
|
.refine(isRealCalendarDate, 'No such calendar date — check the day against the month and year.');
|
|
40
|
+
/**
|
|
41
|
+
* A free-text search filter, validated client-side: a supplied value must carry a
|
|
42
|
+
* non-whitespace character. RIS reads an empty filter as no filter and ignores some
|
|
43
|
+
* whitespace-only ones, so a blank would answer the unfiltered query the caller meant to
|
|
44
|
+
* narrow; omitting the field is the one way to leave a filter unset. The pattern reaches the
|
|
45
|
+
* advertised JSON Schema, so a schema-validating client rejects a blank before the call.
|
|
46
|
+
*/
|
|
47
|
+
export const filterText = z
|
|
48
|
+
.string()
|
|
49
|
+
.regex(/\S/u, 'Blank or whitespace-only — send a value, or omit the field to leave it unfiltered.');
|
|
50
|
+
/**
|
|
51
|
+
* Documents per page on every paginated tool. RIS pages by page number over a fixed page
|
|
52
|
+
* size, so `page` / `pageSize` / `totalCount` / `truncated` stay exact at either size here;
|
|
53
|
+
* the service still speaks all four RIS sizes, but pages of 50 or 100 records are too large
|
|
54
|
+
* to return on both response surfaces, so callers read further with `page` instead.
|
|
55
|
+
*/
|
|
56
|
+
export const pageSizeParam = z
|
|
57
|
+
.literal([10, 20], {
|
|
58
|
+
error: 'Expected 10 or 20 (default 20) — larger pages are not served; raise page to read further results.',
|
|
59
|
+
})
|
|
60
|
+
.optional()
|
|
61
|
+
.describe('Documents per page: 10 or 20 (default 20). For more results, keep the size and raise page.');
|
|
39
62
|
/**
|
|
40
63
|
* Framework codes raised below the handler, mapped to the contract reason describing them.
|
|
41
64
|
*
|
|
@@ -52,10 +75,10 @@ const REASON_BY_CODE = new Map([
|
|
|
52
75
|
[JsonRpcErrorCode.Timeout, 'upstream_timeout'],
|
|
53
76
|
]);
|
|
54
77
|
/**
|
|
55
|
-
* Map a request-builder or service failure onto the declared contract, so `reason`
|
|
56
|
-
*
|
|
57
|
-
* framework errors carry
|
|
58
|
-
* the framework to classify.
|
|
78
|
+
* Map a request-builder or service failure onto the declared contract, so `reason` reaches
|
|
79
|
+
* the wire and the framework fills the entry's `recovery` from it — neither the builder's
|
|
80
|
+
* `validationError` nor the service's framework errors carry a reason on their own. An
|
|
81
|
+
* unmapped code is returned untouched for the framework to classify.
|
|
59
82
|
*
|
|
60
83
|
* Returns the error for the caller to `throw`, keeping the throw visible at the call site.
|
|
61
84
|
*/
|
|
@@ -63,9 +86,19 @@ export function failSearchError(error, ctx) {
|
|
|
63
86
|
if (!(error instanceof McpError))
|
|
64
87
|
return error;
|
|
65
88
|
const reason = REASON_BY_CODE.get(error.code);
|
|
66
|
-
return reason === undefined
|
|
67
|
-
|
|
68
|
-
|
|
89
|
+
return reason === undefined ? error : ctx.fail(reason, error.message);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* {@link failSearchError} for the tools that take a ministry. The request builder tags a
|
|
93
|
+
* ministry it cannot resolve with `data.reason: 'unresolved_ministry'`; that rejection maps to
|
|
94
|
+
* the tool's own `unresolved_ministry` contract entry, whose recovery points at the ministries
|
|
95
|
+
* table, instead of the generic `invalid_query` advice. Everything else maps as usual.
|
|
96
|
+
*/
|
|
97
|
+
export function failMinistrySearchError(error, ctx) {
|
|
98
|
+
if (error instanceof McpError && error.data?.reason === UNRESOLVED_MINISTRY_REASON) {
|
|
99
|
+
return ctx.fail(UNRESOLVED_MINISTRY_REASON, error.message);
|
|
100
|
+
}
|
|
101
|
+
return failSearchError(error, ctx);
|
|
69
102
|
}
|
|
70
103
|
/**
|
|
71
104
|
* Replace the request builder's unsupported-parameter message with one written in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/_shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAE5F,qFAAqF;AACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjD;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;QAC1E,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,KAAK,CACJ,oDAAoD,EACpD,mDAAmD,CACpD;KACA,MAAM,CAAC,kBAAkB,EAAE,mEAAmE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/_shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAE5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,qFAAqF;AACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjD;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;QAC1E,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,KAAK,CACJ,oDAAoD,EACpD,mDAAmD,CACpD;KACA,MAAM,CAAC,kBAAkB,EAAE,mEAAmE,CAAC,CAAC;AAEnG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,KAAK,CACJ,KAAK,EACL,oFAAoF,CACrF,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACjB,KAAK,EACH,mGAAmG;CACtG,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CACP,4FAA4F,CAC7F,CAAC;AAeJ;;;;;;;;;GASG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAwC;IACpE,CAAC,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC;IACnD,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IACvD,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC;CAC/C,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,GAAyB;IACvE,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,GAAkF;IAElF,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,0BAA0B,EAAE,CAAC;QACnF,OAAO,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC;AAYD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,OAA2D;IAE3D,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1F,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC;QACtB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,YAAyB,CAAC,CAAC,CAAC,EAAE;QAC3E,KAAK;QACL,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
* retrievable outline rather than a silent truncation — its §/Artikel/Anlage sections, or
|
|
15
15
|
* `Part n of N` byte windows where it carries no such headings; a follow-up call with
|
|
16
16
|
* `sections:[…]` returns just the chosen entries, and a selector matching nothing gets the
|
|
17
|
-
* outline back with a notice rather than the whole document.
|
|
17
|
+
* outline back with a notice rather than the whole document. Raw `html` and `xml` are never
|
|
18
|
+
* sliced: over the same budget they come back as a `kind: link` result that carries no text
|
|
19
|
+
* and points at `content_urls`, which fetches the whole artifact in one GET. Raw text that
|
|
20
|
+
* does return is fenced in `content[]`, so markup never renders there as markdown. The shared
|
|
18
21
|
* {@link renderDocument} helper backs both this tool and the `ris://document/…` resource.
|
|
19
22
|
* @module mcp-server/tools/definitions/ris-get-document
|
|
20
23
|
*/
|
|
@@ -43,6 +46,12 @@ export type DocumentFormat = 'markdown' | 'html' | 'xml' | 'urls_only';
|
|
|
43
46
|
*
|
|
44
47
|
* Handed to `outlineOnOverflow`, which measures `JSON.stringify` length (≈ UTF-8 bytes for
|
|
45
48
|
* the mostly-Latin legal text); the exact `byte_size` is reported separately.
|
|
49
|
+
*
|
|
50
|
+
* The same number bounds raw `html` and `xml`, measured on `byte_size` — the figure the caller
|
|
51
|
+
* sees and the link notice cites. Those are never windowed (their bodies are typically one
|
|
52
|
+
* line, and a slice is not well-formed), so over the budget they return a `kind: link` result
|
|
53
|
+
* instead. Every HTML rendition opens with a 40–70 KB stylesheet header, so html practically
|
|
54
|
+
* never inlines; markdown is the reading format, and `content_urls.html` the authentic markup.
|
|
46
55
|
*/
|
|
47
56
|
export declare const OUTLINE_BUDGET_BYTES = 40000;
|
|
48
57
|
/** Constructed rendition URLs for a document, keyed by DataType. */
|
|
@@ -88,8 +97,10 @@ type ParsedDocumentUrl = {
|
|
|
88
97
|
};
|
|
89
98
|
/**
|
|
90
99
|
* Parse a caller-supplied `document_url` into `(application, documentNumber)` — errors as
|
|
91
|
-
* values (no throw). Enforces the same
|
|
92
|
-
* fetch guard, then reverse-maps the content-path segment to its application.
|
|
100
|
+
* values (no throw). Enforces the same origin + `/Dokumente/` allowlist as the service's
|
|
101
|
+
* fetch guard, then reverse-maps the content-path segment to its application. The origin a
|
|
102
|
+
* URL arrived on is not carried forward: the rendition is fetched from the URL the service
|
|
103
|
+
* constructs, which RIS serves identically on both content origins.
|
|
93
104
|
*/
|
|
94
105
|
export declare function parseDocumentUrl(url: string, contentBaseUrl: string): ParsedDocumentUrl;
|
|
95
106
|
/**
|
|
@@ -151,8 +162,8 @@ export declare function windowDocument(text: string, budget: number): DocumentSe
|
|
|
151
162
|
* here, so every entry the outline advertises is retrievable by name.
|
|
152
163
|
*
|
|
153
164
|
* Markdown only. `html` and `xml` are byte-identical passthroughs of the published artifact
|
|
154
|
-
* and a mid-document slice of either is not well-formed, so they
|
|
155
|
-
* a
|
|
165
|
+
* and a mid-document slice of either is not well-formed, so they are never addressed in
|
|
166
|
+
* pieces: whole under the budget, a `kind: link` result pointing at `content_urls` over it.
|
|
156
167
|
*
|
|
157
168
|
* The two-entry floor matches `outlineOnOverflow`'s own short-circuit: an outline whose only
|
|
158
169
|
* possible `sections` argument returns the same bytes costs a round-trip and buys nothing.
|
|
@@ -245,6 +256,7 @@ export declare const risGetDocument: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
245
256
|
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
246
257
|
kind: z.ZodEnum<{
|
|
247
258
|
full: "full";
|
|
259
|
+
link: "link";
|
|
248
260
|
outline: "outline";
|
|
249
261
|
}>;
|
|
250
262
|
sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -277,8 +289,8 @@ export declare const risGetDocument: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
277
289
|
}, {
|
|
278
290
|
readonly reason: "unsupported_url";
|
|
279
291
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
280
|
-
readonly when: "document_url fails the
|
|
281
|
-
readonly recovery: "Only ris.bka.gv.at
|
|
292
|
+
readonly when: "document_url fails the origin + /Dokumente/ path-prefix allowlist (exactly https://www.ris.bka.gv.at and https://ogd.ris.bka.gv.at), its path segment is not a recognized RIS application, or its trailing filename addresses neither the document’s own rendition nor one of its companion documents — thrown locally, nothing fetched.";
|
|
293
|
+
readonly recovery: "Only /Dokumente/ URLs on www.ris.bka.gv.at or ogd.ris.bka.gv.at are fetchable, and only a document’s own rendition or a companion filed in the same folder — copy the URL verbatim from a result’s content_urls or a ris_search_drafts record’s materials, or switch to document_number + application.";
|
|
282
294
|
}, {
|
|
283
295
|
readonly reason: "document_not_found";
|
|
284
296
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-get-document.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ris-get-document.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,17 +14,20 @@
|
|
|
14
14
|
* retrievable outline rather than a silent truncation — its §/Artikel/Anlage sections, or
|
|
15
15
|
* `Part n of N` byte windows where it carries no such headings; a follow-up call with
|
|
16
16
|
* `sections:[…]` returns just the chosen entries, and a selector matching nothing gets the
|
|
17
|
-
* outline back with a notice rather than the whole document.
|
|
17
|
+
* outline back with a notice rather than the whole document. Raw `html` and `xml` are never
|
|
18
|
+
* sliced: over the same budget they come back as a `kind: link` result that carries no text
|
|
19
|
+
* and points at `content_urls`, which fetches the whole artifact in one GET. Raw text that
|
|
20
|
+
* does return is fenced in `content[]`, so markup never renders there as markdown. The shared
|
|
18
21
|
* {@link renderDocument} helper backs both this tool and the `ris://document/…` resource.
|
|
19
22
|
* @module mcp-server/tools/definitions/ris-get-document
|
|
20
23
|
*/
|
|
21
24
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
22
25
|
import { JsonRpcErrorCode, McpError, validationError } from '@cyanheads/mcp-ts-core/errors';
|
|
23
|
-
import { OUTLINE_VARIANT, outlineOnOverflow, } from '@cyanheads/mcp-ts-core/utils';
|
|
26
|
+
import { markdown, OUTLINE_VARIANT, outlineOnOverflow, } from '@cyanheads/mcp-ts-core/utils';
|
|
24
27
|
import { NodeHtmlMarkdown } from 'node-html-markdown';
|
|
25
28
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
26
29
|
import { RIS_APPLICATIONS } from '../../../services/ris/reference/index.js';
|
|
27
|
-
import { getRisService, RIS_CONTENT_FORMATS, } from '../../../services/ris/ris-service.js';
|
|
30
|
+
import { fetchableOrigins, getRisService, RIS_CONTENT_FORMATS, } from '../../../services/ris/ris-service.js';
|
|
28
31
|
/** The seven canonical binding labels (Design Decisions › Binding status). */
|
|
29
32
|
const BINDING_STATUSES = [
|
|
30
33
|
'authentic',
|
|
@@ -53,6 +56,12 @@ const BINDING_STATUSES = [
|
|
|
53
56
|
*
|
|
54
57
|
* Handed to `outlineOnOverflow`, which measures `JSON.stringify` length (≈ UTF-8 bytes for
|
|
55
58
|
* the mostly-Latin legal text); the exact `byte_size` is reported separately.
|
|
59
|
+
*
|
|
60
|
+
* The same number bounds raw `html` and `xml`, measured on `byte_size` — the figure the caller
|
|
61
|
+
* sees and the link notice cites. Those are never windowed (their bodies are typically one
|
|
62
|
+
* line, and a slice is not well-formed), so over the budget they return a `kind: link` result
|
|
63
|
+
* instead. Every HTML rendition opens with a 40–70 KB stylesheet header, so html practically
|
|
64
|
+
* never inlines; markdown is the reading format, and `content_urls.html` the authentic markup.
|
|
56
65
|
*/
|
|
57
66
|
export const OUTLINE_BUDGET_BYTES = 40_000;
|
|
58
67
|
const APPLICATION_CODES = RIS_APPLICATIONS.map((app) => app.code);
|
|
@@ -151,8 +160,10 @@ function decodePathSegment(segment) {
|
|
|
151
160
|
}
|
|
152
161
|
/**
|
|
153
162
|
* Parse a caller-supplied `document_url` into `(application, documentNumber)` — errors as
|
|
154
|
-
* values (no throw). Enforces the same
|
|
155
|
-
* fetch guard, then reverse-maps the content-path segment to its application.
|
|
163
|
+
* values (no throw). Enforces the same origin + `/Dokumente/` allowlist as the service's
|
|
164
|
+
* fetch guard, then reverse-maps the content-path segment to its application. The origin a
|
|
165
|
+
* URL arrived on is not carried forward: the rendition is fetched from the URL the service
|
|
166
|
+
* constructs, which RIS serves identically on both content origins.
|
|
156
167
|
*/
|
|
157
168
|
export function parseDocumentUrl(url, contentBaseUrl) {
|
|
158
169
|
let parsed;
|
|
@@ -162,8 +173,9 @@ export function parseDocumentUrl(url, contentBaseUrl) {
|
|
|
162
173
|
catch {
|
|
163
174
|
return { error: `"${url}" is not a valid URL` };
|
|
164
175
|
}
|
|
165
|
-
|
|
166
|
-
|
|
176
|
+
const origins = fetchableOrigins(contentBaseUrl);
|
|
177
|
+
if (!origins.includes(parsed.origin)) {
|
|
178
|
+
return { error: `only ${origins.join(' or ')} URLs are fetchable` };
|
|
167
179
|
}
|
|
168
180
|
if (!parsed.pathname.startsWith('/Dokumente/')) {
|
|
169
181
|
return { error: 'the path is outside the /Dokumente/ tree' };
|
|
@@ -419,8 +431,8 @@ export function windowDocument(text, budget) {
|
|
|
419
431
|
* here, so every entry the outline advertises is retrievable by name.
|
|
420
432
|
*
|
|
421
433
|
* Markdown only. `html` and `xml` are byte-identical passthroughs of the published artifact
|
|
422
|
-
* and a mid-document slice of either is not well-formed, so they
|
|
423
|
-
* a
|
|
434
|
+
* and a mid-document slice of either is not well-formed, so they are never addressed in
|
|
435
|
+
* pieces: whole under the budget, a `kind: link` result pointing at `content_urls` over it.
|
|
424
436
|
*
|
|
425
437
|
* The two-entry floor matches `outlineOnOverflow`'s own short-circuit: an outline whose only
|
|
426
438
|
* possible `sections` argument returns the same bytes costs a round-trip and buys nothing.
|
|
@@ -575,7 +587,7 @@ const ContentUrlsSchema = z
|
|
|
575
587
|
.describe('Constructed rendition URLs. Empty for authentic-PDF-only (Bvb/GrA/KmGer) and metadata-only (BgblAlt) applications — see authentic_pdf_url and the notice. For a companion document (a draft’s Erläuterungen, Textgegenüberstellung, WFA, cover letter, or annex) these are the companion’s own XML/HTML/PDF, not the parent document’s — constructed rather than read back from RIS, so for the roughly one companion in eight that RIS files as a PDF only, xml and html return 404 and pdf is the one that resolves.');
|
|
576
588
|
export const risGetDocument = tool('ris_get_document', {
|
|
577
589
|
title: 'Get RIS Document',
|
|
578
|
-
description: 'Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls — or, for a draft’s companion documents (Erläuterungen, Textgegenüberstellung, WFA, cover letter, annexes), a ris_search_drafts record’s materials[].url, which is the only route to them. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the 40,000-byte budget the tool returns an outline (kind: outline) instead of truncating: the document’s §/Artikel/Anlage sections where it carries at least two such headings, otherwise contiguous byte windows named Part 1 of N … Part N of N covering the whole text and listed in document order. Re-call with sections:[…] naming outline entries to retrieve just those; a name matching no entry returns the outline again with a notice rather than the whole document. Windows are cut at line breaks, not at sentence or § boundaries, so one can open mid-sentence — read them in order and pull the neighbour when a passage straddles a cut. Raw html and xml renditions are never sliced
|
|
590
|
+
description: 'Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls — or, for a draft’s companion documents (Erläuterungen, Textgegenüberstellung, WFA, cover letter, annexes), a ris_search_drafts record’s materials[].url, which is the only route to them. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the 40,000-byte budget the tool returns an outline (kind: outline) instead of truncating: the document’s §/Artikel/Anlage sections where it carries at least two such headings, otherwise contiguous byte windows named Part 1 of N … Part N of N covering the whole text and listed in document order. Re-call with sections:[…] naming outline entries to retrieve just those; a name matching no entry returns the outline again with a notice rather than the whole document. Windows are cut at line breaks, not at sentence or § boundaries, so one can open mid-sentence — read them in order and pull the neighbour when a passage straddles a cut. Raw html and xml renditions are never sliced: at or under the 40,000-byte budget they return whole; over it the result is kind: link — no text, truncated: true, the full byte_size, and content_urls, whose html or xml entry fetches the whole artifact in one GET. Every HTML rendition opens with a 40–70 KB stylesheet, so html practically always returns kind: link — read with markdown, parse with xml, and fetch content_urls.html for the authentic markup. Markdown drops the screen-reader expansions RIS ships alongside each abbreviated citation, keeping the visible citation form; raw html/xml renditions are returned exactly as published.',
|
|
579
591
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
580
592
|
input: z.object({
|
|
581
593
|
document_number: z
|
|
@@ -589,35 +601,35 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
589
601
|
document_url: z
|
|
590
602
|
.string()
|
|
591
603
|
.optional()
|
|
592
|
-
.describe('A https://www.ris.bka.gv.at
|
|
604
|
+
.describe('A /Dokumente/… rendition URL on https://www.ris.bka.gv.at or https://ogd.ris.bka.gv.at, passed exactly as a result’s content_urls returned it — the alternative to document_number + application. Also the only way to read a draft’s companion documents: pass a ris_search_drafts record’s materials[].url (the Erläuterungen, Textgegenüberstellung, WFA, cover letter, or annex), whose filenames are opaque and per-record and so cannot be reached through document_number. Every companion filename RIS publishes is accepted, whichever shape it carries. The URL’s own extension is only checked against the rendition extensions RIS uses and is then discarded — format selects which rendition is returned, for a companion exactly as for a main document. A filename that is neither this document’s own rendition nor one of its companions is rejected; companion filenames cannot be composed by hand, so copy one verbatim.'),
|
|
593
605
|
format: z
|
|
594
606
|
.enum(['markdown', 'html', 'xml', 'urls_only'])
|
|
595
607
|
.default('markdown')
|
|
596
|
-
.describe('markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (RIS Nutzdaten schema), or urls_only (no fetch — all rendition URLs incl. the authentic PDF).'),
|
|
608
|
+
.describe('markdown (default — the HTML rendition converted to markdown, and the format for reading), html (raw HTML rendition), xml (RIS Nutzdaten schema), or urls_only (no fetch — all rendition URLs incl. the authentic PDF). html and xml over 40,000 bytes return kind: link with no text — nearly every html rendition does, since each carries a 40–70 KB stylesheet — so fetch content_urls.html or content_urls.xml for the whole artifact.'),
|
|
597
609
|
sections: z
|
|
598
610
|
.array(z.string())
|
|
599
611
|
.optional()
|
|
600
|
-
.describe('Entry names to retrieve, each copied verbatim from a prior outline response (kind: outline) — §/Artikel/Anlage section names, or window names of the form "Part 2 of 6". Omit for the full document, which returns an outline instead when the markdown overflows the 40,000-byte budget. A name that matches no entry is never silently ignored: a total miss returns the outline (kind: outline) with a notice, a partial miss returns the matched entries with a notice naming others to pick from. Applies to markdown only
|
|
612
|
+
.describe('Entry names to retrieve, each copied verbatim from a prior outline response (kind: outline) — §/Artikel/Anlage section names, or window names of the form "Part 2 of 6". Omit for the full document, which returns an outline instead when the markdown overflows the 40,000-byte budget. A name that matches no entry is never silently ignored: a total miss returns the outline (kind: outline) with a notice, a partial miss returns the matched entries with a notice naming others to pick from. Applies to markdown only. html and xml are never sliced — the selector is ignored with a notice, and they return whole under the 40,000-byte budget and as kind: link over it; urls_only carries no text to select from.'),
|
|
601
613
|
}),
|
|
602
614
|
output: z.object({
|
|
603
615
|
text: z
|
|
604
616
|
.string()
|
|
605
617
|
.optional()
|
|
606
|
-
.describe('The document text in the requested format. Absent for urls_only
|
|
618
|
+
.describe('The document text in the requested format. Absent for urls_only, when the application carries no text rendition (see the notice), for an outline (kind: outline), and for an html or xml rendition over the 40,000-byte budget (kind: link).'),
|
|
607
619
|
format: z
|
|
608
620
|
.enum(['markdown', 'html', 'xml', 'urls_only'])
|
|
609
621
|
.describe('The format served — echoes the requested format.'),
|
|
610
622
|
byte_size: z
|
|
611
623
|
.number()
|
|
612
624
|
.optional()
|
|
613
|
-
.describe('Full UTF-8 byte size of the document text. Present when text was fetched — for an overflowed document (kind: outline) this reports the full text’s size, not the
|
|
625
|
+
.describe('Full UTF-8 byte size of the document text. Present when text was fetched — for an overflowed document (kind: outline) or an over-budget html/xml rendition (kind: link) this reports the full text’s size, not the returned payload’s.'),
|
|
614
626
|
truncated: z
|
|
615
627
|
.boolean()
|
|
616
628
|
.optional()
|
|
617
|
-
.describe('Present and true when the full text isn’t inline
|
|
629
|
+
.describe('Present and true when the full text isn’t inline. kind: outline — the markdown overflowed the byte budget or a sections:[…] selector matched nothing (the notice names which); retrieve entries via the sections input. kind: link — an html or xml rendition overflowed the budget; fetch content_urls.html or content_urls.xml for the whole artifact, or re-call with format: markdown.'),
|
|
618
630
|
kind: z
|
|
619
|
-
.enum(['full', 'outline'])
|
|
620
|
-
.describe('full — the complete response (document text, selected entries, or rendition URLs). outline — sections lists the retrievable entries instead of the text, either because the
|
|
631
|
+
.enum(['full', 'outline', 'link'])
|
|
632
|
+
.describe('full — the complete response (document text, selected entries, or rendition URLs). outline — sections lists the retrievable entries instead of the text, either because the markdown overflowed the byte budget or because a sections:[…] selector matched nothing; re-call with sections:[…] naming entries from it. link — an html or xml rendition over the 40,000-byte budget: no text, only byte_size and content_urls, whose entry for the requested format fetches the whole artifact in one GET; re-call with format: markdown to read it.'),
|
|
621
633
|
sections: z
|
|
622
634
|
.array(OUTLINE_VARIANT.shape.sections.element.describe('A retrievable entry — a §/Artikel/Anlage section or a Part n of N byte window, with its UTF-8 byte size.'))
|
|
623
635
|
.optional()
|
|
@@ -637,7 +649,7 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
637
649
|
notice: z
|
|
638
650
|
.string()
|
|
639
651
|
.optional()
|
|
640
|
-
.describe('Present when the requested text format is unavailable for this application (names why and the usable URL), when the document overflowed to a section outline (names how to retrieve sections), or when a sections:[…] entry matched no section (names the unmatched entries).'),
|
|
652
|
+
.describe('Present when the requested text format is unavailable for this application (names why and the usable URL), when the document overflowed to a section outline (names how to retrieve sections), when an html or xml rendition overflowed to a link (names content_urls.<format> and format: markdown), or when a sections:[…] entry matched no section or was ignored (names the unmatched entries).'),
|
|
641
653
|
},
|
|
642
654
|
errors: [
|
|
643
655
|
{
|
|
@@ -649,8 +661,8 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
649
661
|
{
|
|
650
662
|
reason: 'unsupported_url',
|
|
651
663
|
code: JsonRpcErrorCode.ValidationError,
|
|
652
|
-
when: 'document_url fails the
|
|
653
|
-
recovery: 'Only ris.bka.gv.at
|
|
664
|
+
when: 'document_url fails the origin + /Dokumente/ path-prefix allowlist (exactly https://www.ris.bka.gv.at and https://ogd.ris.bka.gv.at), its path segment is not a recognized RIS application, or its trailing filename addresses neither the document’s own rendition nor one of its companion documents — thrown locally, nothing fetched.',
|
|
665
|
+
recovery: 'Only /Dokumente/ URLs on www.ris.bka.gv.at or ogd.ris.bka.gv.at are fetchable, and only a document’s own rendition or a companion filed in the same folder — copy the URL verbatim from a result’s content_urls or a ris_search_drafts record’s materials, or switch to document_number + application.',
|
|
654
666
|
},
|
|
655
667
|
{
|
|
656
668
|
reason: 'document_not_found',
|
|
@@ -675,10 +687,9 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
675
687
|
],
|
|
676
688
|
async handler(input, ctx) {
|
|
677
689
|
const documentNumber = meaningful(input.document_number);
|
|
678
|
-
const application = meaningful(input.application);
|
|
679
690
|
const documentUrl = meaningful(input.document_url);
|
|
680
|
-
const { format } = input;
|
|
681
|
-
const failAddressing = (message) => ctx.fail('invalid_addressing', message
|
|
691
|
+
const { application, format } = input;
|
|
692
|
+
const failAddressing = (message) => ctx.fail('invalid_addressing', message);
|
|
682
693
|
let resolvedApplication;
|
|
683
694
|
let resolvedDocumentNumber;
|
|
684
695
|
let resolvedContentName;
|
|
@@ -688,9 +699,7 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
688
699
|
}
|
|
689
700
|
const parsed = parseDocumentUrl(documentUrl, getServerConfig().contentBaseUrl);
|
|
690
701
|
if ('error' in parsed) {
|
|
691
|
-
throw ctx.fail('unsupported_url', `document_url is not fetchable — ${parsed.error}
|
|
692
|
-
...ctx.recoveryFor('unsupported_url'),
|
|
693
|
-
});
|
|
702
|
+
throw ctx.fail('unsupported_url', `document_url is not fetchable — ${parsed.error}.`);
|
|
694
703
|
}
|
|
695
704
|
resolvedApplication = parsed.application;
|
|
696
705
|
resolvedDocumentNumber = parsed.documentNumber;
|
|
@@ -707,9 +716,7 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
707
716
|
const rendition = await renderDocument(resolvedApplication, resolvedDocumentNumber, format, ctx, resolvedContentName).catch((err) => {
|
|
708
717
|
if (err instanceof McpError) {
|
|
709
718
|
if (err.code === JsonRpcErrorCode.ValidationError) {
|
|
710
|
-
throw ctx.fail('invalid_addressing', err.message
|
|
711
|
-
...ctx.recoveryFor('invalid_addressing'),
|
|
712
|
-
});
|
|
719
|
+
throw ctx.fail('invalid_addressing', err.message);
|
|
713
720
|
}
|
|
714
721
|
if (err.code === JsonRpcErrorCode.NotFound) {
|
|
715
722
|
// The contract's recovery is written for the document_number + application mode.
|
|
@@ -718,7 +725,7 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
718
725
|
// as PDF (or PDF and RTF) with no html or xml twin to render, nearly all of them
|
|
719
726
|
// review-draft covering letters, and RIS 404s a rendition it does not list.
|
|
720
727
|
throw ctx.fail('document_not_found', err.message, resolvedContentName === undefined
|
|
721
|
-
?
|
|
728
|
+
? undefined
|
|
722
729
|
: {
|
|
723
730
|
recovery: {
|
|
724
731
|
hint: `This companion document has no ${format} rendition — about one in eight is filed as a PDF with no text rendition at all, and RIS returns 404 for a rendition it does not publish. Re-call with format: urls_only and fetch content_urls.pdf yourself. If the PDF 404s too, the URL itself is stale — take a fresh one from a ris_search_drafts record's materials.`,
|
|
@@ -726,15 +733,13 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
726
733
|
});
|
|
727
734
|
}
|
|
728
735
|
if (err.code === JsonRpcErrorCode.ServiceUnavailable) {
|
|
729
|
-
throw ctx.fail('upstream_error', err.message
|
|
736
|
+
throw ctx.fail('upstream_error', err.message);
|
|
730
737
|
}
|
|
731
738
|
// Its own reason, not a widened upstream_error guard: `ctx.fail` resolves the code
|
|
732
739
|
// from the contract entry, so folding a deadline into upstream_error would report
|
|
733
740
|
// -32000 for it — and the two want different recovery (degraded host vs. cold render).
|
|
734
741
|
if (err.code === JsonRpcErrorCode.Timeout) {
|
|
735
|
-
throw ctx.fail('upstream_timeout', err.message
|
|
736
|
-
...ctx.recoveryFor('upstream_timeout'),
|
|
737
|
-
});
|
|
742
|
+
throw ctx.fail('upstream_timeout', err.message);
|
|
738
743
|
}
|
|
739
744
|
}
|
|
740
745
|
throw err;
|
|
@@ -757,6 +762,18 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
757
762
|
}
|
|
758
763
|
const { byteSize } = rendition;
|
|
759
764
|
const requestedSections = input.sections?.filter((name) => name.trim() !== '') ?? [];
|
|
765
|
+
// A raw rendition over the budget. Never sliced — its body is typically one line and a
|
|
766
|
+
// slice is not well-formed — so no text returns on either surface; content_urls fetches
|
|
767
|
+
// the whole artifact in one GET, and markdown is the bounded reading path.
|
|
768
|
+
if ((format === 'html' || format === 'xml') &&
|
|
769
|
+
byteSize !== undefined &&
|
|
770
|
+
byteSize > OUTLINE_BUDGET_BYTES) {
|
|
771
|
+
const ignored = requestedSections.length > 0
|
|
772
|
+
? `sections:[…] was ignored — raw html and xml are never sliced, so ${quoteNames([...new Set(requestedSections)])} could not be resolved. `
|
|
773
|
+
: '';
|
|
774
|
+
ctx.enrich.notice(`${ignored}The ${format} rendition is ${byteSize} bytes, over the ${OUTLINE_BUDGET_BYTES}-byte budget for inline text, so no text is returned. Fetch the whole artifact in one GET from content_urls.${format} (${rendition.contentUrls[format]}), or re-call ris_get_document with the same addressing and format: "markdown" for readable text, which outlines a long document into retrievable sections.`);
|
|
775
|
+
return { ...base, kind: 'link', truncated: true, byte_size: byteSize };
|
|
776
|
+
}
|
|
760
777
|
// Selective retrieval — the re-call after an outline. Every outcome is disclosed: a
|
|
761
778
|
// partial match names the entries that were dropped, and a total miss returns the section
|
|
762
779
|
// roster (driven by the no-match, not by the byte budget) so the caller can tell "your
|
|
@@ -826,12 +843,20 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
826
843
|
// format() populates content[] — the markdown twin of structuredContent. Every output
|
|
827
844
|
// field renders here; the notice rides the enrichment trailer. The full-text (`text`) and
|
|
828
845
|
// outline (`sections`) arms render on field presence, independently — never branch on
|
|
829
|
-
// `kind` (format-parity walks one sample with every optional field populated at once).
|
|
846
|
+
// `kind` (format-parity walks one sample with every optional field populated at once). A
|
|
847
|
+
// truncated result with no `sections` is the link arm, which has no outline to point at.
|
|
848
|
+
// Raw html/xml is fenced with a fence longer than any backtick run in it, so the markup
|
|
849
|
+
// reaches the client as literal text — never rendered, never able to close the block.
|
|
830
850
|
format: (result) => {
|
|
831
851
|
const lines = [`## ${result.document_number} (${result.application})`];
|
|
832
852
|
lines.push(`**Binding:** ${result.binding_status} | **Format:** ${result.format} | **Kind:** ${result.kind}`);
|
|
833
853
|
if (result.byte_size !== undefined) {
|
|
834
|
-
|
|
854
|
+
const suffix = result.truncated !== true
|
|
855
|
+
? ''
|
|
856
|
+
: result.sections !== undefined
|
|
857
|
+
? ' (truncated — retrieve sections from the outline below)'
|
|
858
|
+
: ` (not inline — fetch content_urls.${result.format}, or re-call with format: markdown)`;
|
|
859
|
+
lines.push(`**Size:** ${result.byte_size} bytes${suffix}`);
|
|
835
860
|
}
|
|
836
861
|
if (result.authentic_pdf_url !== undefined) {
|
|
837
862
|
lines.push(`**Authentic PDF:** ${result.authentic_pdf_url}`);
|
|
@@ -843,8 +868,11 @@ export const risGetDocument = tool('ris_get_document', {
|
|
|
843
868
|
lines.push(`**Renditions:** ${urls.join(' · ')}`);
|
|
844
869
|
if (result.sections !== undefined)
|
|
845
870
|
lines.push('', renderOutlineSections(result.sections));
|
|
846
|
-
if (result.text !== undefined)
|
|
847
|
-
lines.push('', result.
|
|
871
|
+
if (result.text !== undefined) {
|
|
872
|
+
lines.push('', result.format === 'markdown'
|
|
873
|
+
? result.text
|
|
874
|
+
: markdown().codeBlock(result.text, result.format).build());
|
|
875
|
+
}
|
|
848
876
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
849
877
|
},
|
|
850
878
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-get-document.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ris-get-document.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EACL,QAAQ,EACR,eAAe,EAEf,iBAAiB,GAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,GAEpB,MAAM,+BAA+B,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,4BAA4B;IAC5B,mBAAmB;IACnB,UAAU;IACV,aAAa;IACb,0BAA0B;IAC1B,aAAa;CACiC,CAAC;AAKjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAA0B,CAAC;AAE3F,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAC/C,CAAC;AAEF,qFAAqF;AACrF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAChF,CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,eAAe,GAAsB;IACzC,yFAAyF;IACzF,wBAAwB;IACxB,uDAAuD;CACxD,CAAC;AAEF,+EAA+E;AAC/E,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAA4B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,CAAC,GAAqB,EAAE;IACjD,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACzC,KAAK,MAAM,UAAU,IAAI;QACvB,SAAS,CAAC,WAAW;QACrB,SAAS,CAAC,eAAe;QACzB,SAAS,CAAC,oBAAoB;QAC9B,SAAS,CAAC,gBAAgB;QAC1B,SAAS,CAAC,mBAAmB;QAC7B,SAAS,CAAC,oBAAoB;KAC/B,EAAE,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,EAAE,CAAC;AAEL,mEAAmE;AACnE,SAAS,UAAU,CAAC,KAAyB;IAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AA8CD;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,cAAsB;IAClE,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,sBAAsB,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ;SACtE,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,KAAK,EAAE,iBAAiB,OAAO,uCAAuC,EAAE,CAAC;IACpF,CAAC;IACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,IAAI,iBAAiB,wDAAwD,EAAE,CAAC;IAClG,CAAC;IACD,2FAA2F;IAC3F,mFAAmF;IACnF,wFAAwF;IACxF,yFAAyF;IACzF,yFAAyF;IACzF,2FAA2F;IAC3F,2FAA2F;IAC3F,iFAAiF;IACjF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,IAAI,QAAQ,oDAAoD,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK,EAAE,IAAI,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wFAAwF,OAAO,IAAI,cAAc,8BAA8B;aAC5L,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,KAAK,EAAE,IAAI,eAAe,gDAAgD,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,+IAA+I;aAC9P,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,KAAK,cAAc,CAAC;QAC/C,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,KAAK,EAAE,IAAI,eAAe,gBAAgB,cAAc,qBAAqB,cAAc,IAAI,SAAS,qNAAqN,cAAc,SAAS;aACrV,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;AACnD,CAAC;AAED,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CACzB,OAAyC,EACzC,GAAmB,EACnB,cAAsB,EACtB,WAAoB;IAEpB,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,qCAAqC;IAC7F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,MAAwB,EAAE,EAAE,CACvC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACjF,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAClF,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,IAAI,GAAG,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;QACzC,oFAAoF;QACpF,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IAChE,OAAO;QACL,WAAW,EAAE;YACX,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC;YACrE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC;YACvE,GAAG;YACH,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC;SACtE;QACD,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,uBAAuB,CAC9B,GAAmB,EACnB,MAAsB,EACtB,IAAqE;IAErE,IAAI,GAAG,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;QACzC,OAAO,GAAG,GAAG,CAAC,IAAI,yEAAyE,MAAM,oEAAoE,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACjP,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,GAAG,GAAG,CAAC,IAAI,8BAA8B,MAAM,yDAAyD,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAC3L,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,IAAI,4PAA4P,CAAC;AACjR,CAAC;AAsBD;;;;;;GAMG;AACH,MAAM,eAAe,GACnB,oHAAoH,CAAC;AAEvH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChE,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;KACzD,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ,EAAE;QACjD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI;YAC3C,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/C,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,WAAW;YAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5F,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,KAAK,IAAI,MAAM;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,CAAC,0BAA0B;IAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CACzB,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAC;IAEF,2FAA2F;IAC3F,MAAM,GAAG,GAAG,CAAC,KAAa,EAAY,EAAE;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,SAAS,GAAG,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;YACpF,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,MAAM,GAAG,KAAK,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,MAAM;oBAAE,MAAM;gBAC9C,KAAK,IAAI,IAAI,CAAC;gBACd,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,QAAQ,IAAI,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,oFAAoF;IACpF,MAAM,IAAI,GAAG,CAAC,MAAyB,EAAW,EAAE,CAClD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;QACzC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEL,wFAAwF;IACxF,2EAA2E;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/E,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM;SAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;QACzC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,QAAiB;QACvB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE;QACzC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;KACpC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAsB;IACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,IAAuB,EACvB,MAAsB;IAEtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,qFAAqF;IACrF,4FAA4F;IAC5F,IAAI,CAAC,QAAQ;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO;QACL,SAAS;QACT,sFAAsF;QACtF,qFAAqF;QACrF,oFAAoF;QACpF,sFAAsF;QACtF,0EAA0E;QAC1E,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChE,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,SAAS,UAAU,CAAC,KAAwB;IAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,MAAkC,EAClC,MAA2C;IAE3C,MAAM,QAAQ,GAAG,iBAAiB,CAChC,EAAE,IAAI,EAAE,EACR;QACE,MAAM,EAAE,oBAAoB;QAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,MAAM;KACP,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC9D;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CAAC,QAAgC;IAClE,OAAO,QAAQ;SACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgC;IACpE,OAAO;QACL,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YACvC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,+CAA+C;YACrE,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,iCAAiC;QACzD,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,KAAK,QAAQ,CAAC;KAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,eAAuB,EACvB,cAAsB,EACtB,MAAsB,EACtB,GAAY,EACZ,WAAoB;IAEpB,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,eAAe,CAAC,4BAA4B,eAAe,IAAI,EAAE;YACrE,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,aAAa,EAAE,GAAG,CAAC,OAAO;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc;QACd,MAAM;QACN,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;KACzD,CAAC;IAE9B,sFAAsF;IACtF,2EAA2E;IAC3E,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACpF,CAAC;IACD,0FAA0F;IAC1F,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,WAAW,GAAqB,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,GAAG,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,QAAQ,GACZ,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAChC,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,MAAM;KACP,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC3D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC1D,CAAC;KACD,QAAQ,CACP,wfAAwf,CACzf,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE;IACrD,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,8vFAA8vF;IAChwF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yNAAyN,CAC1N;QACH,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,iBAAiB,CAAC;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,sMAAsM,CACvM;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+4BAA+4B,CACh5B;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;aAC9C,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CACP,6aAA6a,CAC9a;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,isBAAisB,CAClsB;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8OAA8O,CAC/O;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;aAC9C,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wOAAwO,CACzO;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,4XAA4X,CAC7X;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;aACjC,QAAQ,CACP,ohBAAohB,CACrhB;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAC7C,0GAA0G,CAC3G,CACF;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,8bAA8b,CAC/b;QACH,cAAc,EAAE,CAAC;aACd,IAAI,CAAC,gBAAgB,CAAC;aACtB,QAAQ,CACP,qWAAqW,CACtW;QACH,YAAY,EAAE,iBAAiB;QAC/B,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sIAAsI,CACvI;QACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACtF,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qYAAqY,CACtY;KACJ;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,0MAA0M;YAChN,QAAQ,EACN,sJAAsJ;SACzJ;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,0UAA0U;YAChV,QAAQ,EACN,wSAAwS;SAC3S;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,qDAAqD;YAC3D,QAAQ,EACN,sMAAsM;SACzM;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,kEAAkE;YACxE,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,wFAAwF;SAC3F;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,IAAI,EAAE,kKAAkK;YACxK,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,kXAAkX;SACrX;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEtC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAEpF,IAAI,mBAA2B,CAAC;QAChC,IAAI,sBAA8B,CAAC;QACnC,IAAI,mBAAuC,CAAC;QAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,cAAc,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9D,MAAM,cAAc,CAClB,mFAAmF,CACpF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,cAAc,CAAC,CAAC;YAC/E,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,mCAAmC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;YACzC,sBAAsB,GAAG,MAAM,CAAC,cAAc,CAAC;YAC/C,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9D,MAAM,cAAc,CAClB,+EAA+E,CAChF,CAAC;YACJ,CAAC;YACD,mBAAmB,GAAG,WAAW,CAAC;YAClC,sBAAsB,GAAG,cAAc,CAAC;QAC1C,CAAC;QAED,iFAAiF;QACjF,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,mBAAmB,EACnB,sBAAsB,EACtB,MAAM,EACN,GAAG,EACH,mBAAmB,CACpB,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACvB,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,eAAe,EAAE,CAAC;oBAClD,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBAC3C,iFAAiF;oBACjF,+EAA+E;oBAC/E,kFAAkF;oBAClF,iFAAiF;oBACjF,4EAA4E;oBAC5E,MAAM,GAAG,CAAC,IAAI,CACZ,oBAAoB,EACpB,GAAG,CAAC,OAAO,EACX,mBAAmB,KAAK,SAAS;wBAC/B,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC;4BACE,QAAQ,EAAE;gCACR,IAAI,EAAE,kCAAkC,MAAM,4TAA4T;6BAC3W;yBACF,CACN,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBACrD,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;gBACD,mFAAmF;gBACnF,kFAAkF;gBAClF,uFAAuF;gBACvF,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC1C,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG;YACX,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,cAAc,EAAE,SAAS,CAAC,aAAa;YACvC,YAAY,EAAE,SAAS,CAAC,WAAW;YACnC,eAAe,EAAE,SAAS,CAAC,cAAc;YACzC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,GAAG,CAAC,SAAS,CAAC,eAAe,KAAK,SAAS,IAAI;gBAC7C,iBAAiB,EAAE,SAAS,CAAC,eAAe;aAC7C,CAAC;SACH,CAAC;QAEF,4FAA4F;QAC5F,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,iBAAiB,KAAK,SAAS;gBAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC9F,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAe,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;QAC/B,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAErF,uFAAuF;QACvF,wFAAwF;QACxF,2EAA2E;QAC3E,IACE,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC;YACvC,QAAQ,KAAK,SAAS;YACtB,QAAQ,GAAG,oBAAoB,EAC/B,CAAC;YACD,MAAM,OAAO,GACX,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,oEAAoE,UAAU,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,0BAA0B;gBAC3I,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,GAAG,OAAO,OAAO,MAAM,iBAAiB,QAAQ,oBAAoB,oBAAoB,+GAA+G,MAAM,KAAK,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,6JAA6J,CAC7Y,CAAC;YACF,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAClF,CAAC;QAED,oFAAoF;QACpF,0FAA0F;QAC1F,uFAAuF;QACvF,8DAA8D;QAC9D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACpF,sFAAsF;YACtF,mEAAmE;YACnE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ;gBAC/B,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,6FAA6F,oBAAoB,cAAc;gBAC9J,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,4BAA4B,CAAC;YAC9D,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBAC1B,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,iFAAiF;oBACjF,6EAA6E;oBAC7E,kEAAkE;oBAClE,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,uCAAuC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,wCAAwC,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,+BAA+B,MAAM,uFAAuF,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CACvU,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM;iBAC3D,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,SAAS,CAAC,QAAQ;oBAChB,CAAC,CAAC,kCAAkC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,wDAAwD,MAAM,qGAAqG,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;oBACjR,CAAC,CAAC,kCAAkC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,yMAAyM,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAC1T,CAAC;gBACF,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE,SAAkB;oBACxB,QAAQ,EAAE,SAAS,CAAC,SAAS;oBAC7B,SAAS,EAAE,IAAI;oBACf,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;iBACvD,CAAC;YACJ,CAAC;YACD,qFAAqF;YACrF,sFAAsF;YACtF,qFAAqF;YACrF,4DAA4D;YAC5D,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,4EAA4E,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,uJAAuJ,oBAAoB,2CAA2C,CAClU,CAAC;QACJ,CAAC;QAED,uFAAuF;QACvF,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CACzE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,uCAAuC,IAAI,mEAAmE,QAAQ,CAAC,MAAM,kTAAkT,mBAAmB,CAAC,WAAW,CAAC,GAAG;YACpd,CAAC,CAAC,uCAAuC,IAAI,gHAAgH,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAChM,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;aACvD,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,SAAkB;YACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,sFAAsF;IACtF,0FAA0F;IAC1F,sFAAsF;IACtF,yFAAyF;IACzF,yFAAyF;IACzF,wFAAwF;IACxF,sFAAsF;IACtF,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CACR,gBAAgB,MAAM,CAAC,cAAc,kBAAkB,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAClG,CAAC;QACF,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,GACV,MAAM,CAAC,SAAS,KAAK,IAAI;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAC7B,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,qCAAqC,MAAM,CAAC,MAAM,qCAAqC,CAAC;YAChG,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,SAAS,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAW;aAClD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;aACvD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1F,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,EAAE,EACF,MAAM,CAAC,MAAM,KAAK,UAAU;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-list-reference.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-list-reference.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ris-list-reference.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-list-reference.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA4VjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA8E3B,CAAC"}
|