@cyanheads/mcp-ts-core 0.11.2 → 0.11.4
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 +14 -10
- package/CLAUDE.md +14 -10
- package/README.md +3 -3
- package/changelog/0.11.x/0.11.3.md +49 -0
- package/changelog/0.11.x/0.11.4.md +67 -0
- package/dist/config/index.d.ts +0 -10
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -25
- package/dist/config/index.js.map +1 -1
- package/dist/config/logLevelAlias.d.ts +15 -0
- package/dist/config/logLevelAlias.d.ts.map +1 -0
- package/dist/config/logLevelAlias.js +30 -0
- package/dist/config/logLevelAlias.js.map +1 -0
- package/dist/core/context.d.ts +10 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +10 -1
- package/dist/core/context.js.map +1 -1
- package/dist/core/worker.js +1 -1
- package/dist/core/worker.js.map +1 -1
- package/dist/linter/rules/enrichment-rules.d.ts +3 -2
- package/dist/linter/rules/enrichment-rules.d.ts.map +1 -1
- package/dist/linter/rules/enrichment-rules.js +35 -7
- package/dist/linter/rules/enrichment-rules.js.map +1 -1
- package/dist/linter/rules/format-parity-rules.d.ts +8 -4
- package/dist/linter/rules/format-parity-rules.d.ts.map +1 -1
- package/dist/linter/rules/format-parity-rules.js +72 -20
- package/dist/linter/rules/format-parity-rules.js.map +1 -1
- package/dist/linter/rules/index.d.ts +1 -1
- package/dist/linter/rules/index.d.ts.map +1 -1
- package/dist/linter/rules/index.js +1 -1
- package/dist/linter/rules/index.js.map +1 -1
- package/dist/linter/rules/prompt-rules.d.ts.map +1 -1
- package/dist/linter/rules/prompt-rules.js +6 -3
- package/dist/linter/rules/prompt-rules.js.map +1 -1
- package/dist/linter/rules/resource-rules.d.ts.map +1 -1
- package/dist/linter/rules/resource-rules.js +11 -5
- package/dist/linter/rules/resource-rules.js.map +1 -1
- package/dist/linter/rules/schema-rules.d.ts +21 -2
- package/dist/linter/rules/schema-rules.d.ts.map +1 -1
- package/dist/linter/rules/schema-rules.js +110 -2
- package/dist/linter/rules/schema-rules.js.map +1 -1
- package/dist/linter/rules/tool-rules.d.ts.map +1 -1
- package/dist/linter/rules/tool-rules.js +11 -5
- package/dist/linter/rules/tool-rules.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +44 -10
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts +10 -10
- package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts.map +1 -1
- package/dist/services/mirror/sqlite/sqliteMirrorStore.js +29 -24
- package/dist/services/mirror/sqlite/sqliteMirrorStore.js.map +1 -1
- package/dist/storage/core/storageValidation.d.ts +4 -4
- package/dist/storage/core/storageValidation.d.ts.map +1 -1
- package/dist/storage/core/storageValidation.js +4 -20
- package/dist/storage/core/storageValidation.js.map +1 -1
- package/dist/testing/fuzz.d.ts.map +1 -1
- package/dist/testing/fuzz.js +57 -2
- package/dist/testing/fuzz.js.map +1 -1
- package/dist/testing/index.d.ts +45 -13
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +29 -76
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/vitest.d.ts +1 -1
- package/dist/utils/formatting/diffFormatter.d.ts +5 -5
- package/dist/utils/formatting/diffFormatter.d.ts.map +1 -1
- package/dist/utils/formatting/diffFormatter.js +1 -1
- package/dist/utils/formatting/diffFormatter.js.map +1 -1
- package/dist/utils/formatting/tableFormatter.d.ts +3 -3
- package/dist/utils/formatting/tableFormatter.d.ts.map +1 -1
- package/dist/utils/formatting/tableFormatter.js +1 -1
- package/dist/utils/formatting/tableFormatter.js.map +1 -1
- package/dist/utils/formatting/treeFormatter.d.ts +3 -3
- package/dist/utils/formatting/treeFormatter.d.ts.map +1 -1
- package/dist/utils/formatting/treeFormatter.js +1 -1
- package/dist/utils/formatting/treeFormatter.js.map +1 -1
- package/dist/utils/metrics/tokenCounter.d.ts +3 -3
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -1
- package/dist/utils/metrics/tokenCounter.js.map +1 -1
- package/dist/utils/network/fetchWithTimeout.d.ts +43 -15
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
- package/dist/utils/network/fetchWithTimeout.js +163 -44
- package/dist/utils/network/fetchWithTimeout.js.map +1 -1
- package/dist/utils/network/httpError.d.ts.map +1 -1
- package/dist/utils/network/httpError.js +1 -2
- package/dist/utils/network/httpError.js.map +1 -1
- package/dist/utils/network/responseBody.d.ts +27 -7
- package/dist/utils/network/responseBody.d.ts.map +1 -1
- package/dist/utils/network/responseBody.js +54 -13
- package/dist/utils/network/responseBody.js.map +1 -1
- package/dist/utils/network/retry.d.ts +2 -2
- package/dist/utils/network/retry.d.ts.map +1 -1
- package/dist/utils/overflow/outlineOnOverflow.d.ts +4 -3
- package/dist/utils/overflow/outlineOnOverflow.d.ts.map +1 -1
- package/dist/utils/overflow/outlineOnOverflow.js +27 -8
- package/dist/utils/overflow/outlineOnOverflow.js.map +1 -1
- package/dist/utils/pagination/pagination.d.ts +3 -3
- package/dist/utils/pagination/pagination.d.ts.map +1 -1
- package/dist/utils/pagination/pagination.js.map +1 -1
- package/dist/utils/parsing/csvParser.d.ts +2 -2
- package/dist/utils/parsing/csvParser.d.ts.map +1 -1
- package/dist/utils/parsing/csvParser.js +1 -1
- package/dist/utils/parsing/csvParser.js.map +1 -1
- package/dist/utils/parsing/dateParser.d.ts +11 -7
- package/dist/utils/parsing/dateParser.d.ts.map +1 -1
- package/dist/utils/parsing/dateParser.js +8 -4
- package/dist/utils/parsing/dateParser.js.map +1 -1
- package/dist/utils/parsing/frontmatterParser.d.ts +5 -4
- package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -1
- package/dist/utils/parsing/frontmatterParser.js +5 -4
- package/dist/utils/parsing/frontmatterParser.js.map +1 -1
- package/dist/utils/parsing/htmlExtractor.d.ts +5 -4
- package/dist/utils/parsing/htmlExtractor.d.ts.map +1 -1
- package/dist/utils/parsing/htmlExtractor.js +4 -3
- package/dist/utils/parsing/htmlExtractor.js.map +1 -1
- package/dist/utils/parsing/inputBudget.d.ts +18 -11
- package/dist/utils/parsing/inputBudget.d.ts.map +1 -1
- package/dist/utils/parsing/inputBudget.js +20 -17
- package/dist/utils/parsing/inputBudget.js.map +1 -1
- package/dist/utils/parsing/jsonParser.d.ts +5 -4
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
- package/dist/utils/parsing/jsonParser.js +5 -4
- package/dist/utils/parsing/jsonParser.js.map +1 -1
- package/dist/utils/parsing/pdfParser.d.ts +38 -24
- package/dist/utils/parsing/pdfParser.d.ts.map +1 -1
- package/dist/utils/parsing/pdfParser.js +42 -31
- package/dist/utils/parsing/pdfParser.js.map +1 -1
- package/dist/utils/parsing/xmlParser.d.ts +3 -3
- package/dist/utils/parsing/xmlParser.d.ts.map +1 -1
- package/dist/utils/parsing/xmlParser.js +3 -6
- package/dist/utils/parsing/xmlParser.js.map +1 -1
- package/dist/utils/parsing/yamlParser.d.ts +3 -3
- package/dist/utils/parsing/yamlParser.d.ts.map +1 -1
- package/dist/utils/parsing/yamlParser.js +3 -3
- package/dist/utils/parsing/yamlParser.js.map +1 -1
- package/dist/utils/security/rateLimiter.d.ts +2 -2
- package/dist/utils/security/rateLimiter.d.ts.map +1 -1
- package/dist/utils/security/rateLimiter.js +1 -1
- package/dist/utils/security/rateLimiter.js.map +1 -1
- package/dist/utils/telemetry/trace.d.ts +3 -3
- package/dist/utils/telemetry/trace.d.ts.map +1 -1
- package/dist/utils/telemetry/trace.js.map +1 -1
- package/package.json +1 -1
- package/scripts/tree.ts +9 -3
- package/skills/add-test/SKILL.md +2 -2
- package/skills/api-auth/SKILL.md +5 -5
- package/skills/api-context/SKILL.md +14 -12
- package/skills/api-linter/SKILL.md +59 -5
- package/skills/api-testing/SKILL.md +31 -10
- package/skills/api-utils/SKILL.md +4 -2
- package/skills/api-utils/references/parsing.md +3 -2
- package/skills/setup/SKILL.md +6 -3
- package/skills/techniques/SKILL.md +1 -1
- package/skills/techniques/references/outline-on-overflow.md +3 -1
- package/templates/AGENTS.md +1 -1
- package/templates/CLAUDE.md +1 -1
- package/templates/Dockerfile +7 -2
- package/templates/_tsconfig.build.json +5 -0
- package/templates/_tsconfig.json +4 -2
- package/templates/package.json +1 -0
- package/templates/tests/prompts/echo.prompt.test.ts +4 -3
- package/templates/tests/resources/echo.resource.test.ts +11 -3
- package/templates/tests/smoke/definitions.smoke.test.ts +8 -4
- package/templates/tests/tools/echo.tool.test.ts +23 -4
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* @fileoverview Bounded response-body reader for error diagnostics.
|
|
3
3
|
* @module src/utils/network/responseBody
|
|
4
4
|
*/
|
|
5
|
+
/** Share of the capture budget spent on the head of an over-budget body. */
|
|
6
|
+
const HEAD_SHARE = 0.4;
|
|
5
7
|
function decodeUtf8Prefix(bytes) {
|
|
6
8
|
// A byte cap can split the final UTF-8 code point. Trim at most the maximum
|
|
7
9
|
// UTF-8 continuation width so a valid body never grows a replacement marker
|
|
@@ -17,30 +19,55 @@ function decodeUtf8Prefix(bytes) {
|
|
|
17
19
|
}
|
|
18
20
|
return new TextDecoder().decode(bytes);
|
|
19
21
|
}
|
|
22
|
+
/** Mirror of {@link decodeUtf8Prefix} for a slice taken from the end of a body. */
|
|
23
|
+
function decodeUtf8Suffix(bytes) {
|
|
24
|
+
const maximum = Math.min(3, bytes.byteLength);
|
|
25
|
+
for (let start = 0; start <= maximum; start += 1) {
|
|
26
|
+
try {
|
|
27
|
+
return new TextDecoder('utf-8', { fatal: true, ignoreBOM: false }).decode(bytes.subarray(start));
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Drop the leading continuation byte and try the next boundary.
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return new TextDecoder().decode(bytes);
|
|
34
|
+
}
|
|
35
|
+
function positiveOrZero(value) {
|
|
36
|
+
return value !== undefined && Number.isSafeInteger(value) && value > 0 ? value : 0;
|
|
37
|
+
}
|
|
20
38
|
/**
|
|
21
|
-
* Reads
|
|
22
|
-
*
|
|
23
|
-
*
|
|
39
|
+
* Reads a response body under a byte budget and returns display-ready
|
|
40
|
+
* diagnostic text — elision markers included, so callers append nothing.
|
|
41
|
+
* At most `maxBytes` of body content is retained; the stream is cancelled once
|
|
42
|
+
* the scan ceiling is passed.
|
|
43
|
+
*
|
|
44
|
+
* This is intentionally destructive: callers use it only for responses that
|
|
45
|
+
* will be converted into an error.
|
|
46
|
+
*
|
|
47
|
+
* @param response - The response whose body is captured (consumed).
|
|
48
|
+
* @param maxBytes - Body bytes retained in the returned text.
|
|
49
|
+
* @param options - See {@link BoundedReadOptions.scanBytes} for head+tail capture.
|
|
24
50
|
*/
|
|
25
|
-
export async function readBoundedResponseText(response, maxBytes) {
|
|
26
|
-
const limit =
|
|
51
|
+
export async function readBoundedResponseText(response, maxBytes, options = {}) {
|
|
52
|
+
const limit = positiveOrZero(maxBytes);
|
|
53
|
+
const scan = Math.max(limit, positiveOrZero(options.scanBytes));
|
|
27
54
|
if (!response.body) {
|
|
28
|
-
return
|
|
55
|
+
return await response.text();
|
|
29
56
|
}
|
|
30
57
|
const reader = response.body.getReader();
|
|
31
58
|
const chunks = [];
|
|
32
|
-
// Keep reading until the
|
|
33
|
-
// exactly `
|
|
59
|
+
// Keep reading until the ceiling is exceeded, not merely reached, so a body of
|
|
60
|
+
// exactly `scan` bytes is known to be whole rather than assumed truncated.
|
|
34
61
|
let read = 0;
|
|
35
|
-
while (read <=
|
|
62
|
+
while (read <= scan) {
|
|
36
63
|
const { done, value } = await reader.read();
|
|
37
64
|
if (done)
|
|
38
65
|
break;
|
|
39
66
|
chunks.push(value);
|
|
40
67
|
read += value.byteLength;
|
|
41
68
|
}
|
|
42
|
-
const
|
|
43
|
-
if (
|
|
69
|
+
const stillStreaming = read > scan;
|
|
70
|
+
if (stillStreaming) {
|
|
44
71
|
try {
|
|
45
72
|
await reader.cancel('Response body diagnostic limit reached');
|
|
46
73
|
}
|
|
@@ -48,7 +75,7 @@ export async function readBoundedResponseText(response, maxBytes) {
|
|
|
48
75
|
// The bounded capture remains valid if the producer rejects cancellation.
|
|
49
76
|
}
|
|
50
77
|
}
|
|
51
|
-
const captured = Math.min(read,
|
|
78
|
+
const captured = Math.min(read, scan);
|
|
52
79
|
const bytes = new Uint8Array(captured);
|
|
53
80
|
let offset = 0;
|
|
54
81
|
for (const chunk of chunks) {
|
|
@@ -58,6 +85,20 @@ export async function readBoundedResponseText(response, maxBytes) {
|
|
|
58
85
|
bytes.set(accepted, offset);
|
|
59
86
|
offset += accepted.byteLength;
|
|
60
87
|
}
|
|
61
|
-
|
|
88
|
+
if (read <= limit)
|
|
89
|
+
return decodeUtf8Prefix(bytes);
|
|
90
|
+
// The tail was never read — keep the head and say so.
|
|
91
|
+
if (stillStreaming)
|
|
92
|
+
return `${decodeUtf8Prefix(bytes.subarray(0, limit))}…`;
|
|
93
|
+
// The whole document was read and is over budget: keep both ends, since the
|
|
94
|
+
// opening bytes are the least informative part of a wrapped error document.
|
|
95
|
+
const head = Math.floor(limit * HEAD_SHARE);
|
|
96
|
+
const tail = limit - head;
|
|
97
|
+
const elided = captured - limit;
|
|
98
|
+
return [
|
|
99
|
+
decodeUtf8Prefix(bytes.subarray(0, head)),
|
|
100
|
+
`…[${elided} byte${elided === 1 ? '' : 's'} elided]…`,
|
|
101
|
+
decodeUtf8Suffix(bytes.subarray(captured - tail)),
|
|
102
|
+
].join('');
|
|
62
103
|
}
|
|
63
104
|
//# sourceMappingURL=responseBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseBody.js","sourceRoot":"","sources":["../../../src/utils/network/responseBody.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"responseBody.js","sourceRoot":"","sources":["../../../src/utils/network/responseBody.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RequestContext } from '../../utils/internal/requestContext.js';
|
|
1
|
+
import type { RequestContext, RequestContextLike } from '../../utils/internal/requestContext.js';
|
|
2
2
|
/** Configuration for {@link withRetry}. */
|
|
3
3
|
export interface RetryOptions {
|
|
4
4
|
/**
|
|
@@ -17,7 +17,7 @@ export interface RetryOptions {
|
|
|
17
17
|
* safe — the logger strips non-serializable fields (`signal`, `log`,
|
|
18
18
|
* `state`, protocol method handles) before pino sees them.
|
|
19
19
|
*/
|
|
20
|
-
context?: RequestContext;
|
|
20
|
+
context?: RequestContextLike | RequestContext;
|
|
21
21
|
/**
|
|
22
22
|
* Custom predicate to determine if an error is transient and should be
|
|
23
23
|
* retried. When provided, this **replaces** the default predicate entirely
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/utils/network/retry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/utils/network/retry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAY7F,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAE1C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA8GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAgE/F"}
|
|
@@ -69,10 +69,11 @@ export interface OutlineOptions<T> {
|
|
|
69
69
|
*/
|
|
70
70
|
extract?: (doc: T) => SectionMeta[];
|
|
71
71
|
/**
|
|
72
|
-
* Builds the re-call notice from the size-sorted sections
|
|
73
|
-
*
|
|
72
|
+
* Builds the re-call notice from the size-sorted sections and the budget they
|
|
73
|
+
* were measured against. Default names the largest section that fits the
|
|
74
|
+
* budget, with its size inline.
|
|
74
75
|
*/
|
|
75
|
-
notice?: (sections: SectionMeta[]) => string;
|
|
76
|
+
notice?: (sections: SectionMeta[], budget: number) => string;
|
|
76
77
|
}
|
|
77
78
|
/**
|
|
78
79
|
* Returns the document whole when it fits the budget, or a section outline when
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlineOnOverflow.d.ts","sourceRoot":"","sources":["../../../src/utils/overflow/outlineOnOverflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe;;;;;;;iBAW1B,CAAC;AAEH,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,mFAAmF;AACnF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,cAAc,CAAC;AAEvE,6CAA6C;AAC7C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC;IACpC
|
|
1
|
+
{"version":3,"file":"outlineOnOverflow.d.ts","sourceRoot":"","sources":["../../../src/utils/overflow/outlineOnOverflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe;;;;;;;iBAW1B,CAAC;AAEH,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,mFAAmF;AACnF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,cAAc,CAAC;AAEvE,6CAA6C;AAC7C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC;IACpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9D;AAsCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,CAgBlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC,OAAO,CAAC,CAAC,CAAC,CAGZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,EAAE,CASrE"}
|
|
@@ -34,13 +34,32 @@ function defaultExtract(doc) {
|
|
|
34
34
|
bytes: JSON.stringify(value)?.length ?? 0,
|
|
35
35
|
}));
|
|
36
36
|
}
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Default notice: a re-call instruction whose worked example names the largest
|
|
39
|
+
* section that fits the budget, with its size inline.
|
|
40
|
+
*
|
|
41
|
+
* Naming the largest sections instead would hand the agent the most expensive
|
|
42
|
+
* retrieval available — the one most likely to blow the same budget the outline
|
|
43
|
+
* exists to enforce. Picking the largest *fitting* section is also what keeps
|
|
44
|
+
* trivial metadata keys (ids, timestamps — sections that retrieve nothing
|
|
45
|
+
* substantive) out of the example without the helper needing to know which keys
|
|
46
|
+
* those are.
|
|
47
|
+
*
|
|
48
|
+
* One section, not several: each listed size is per-section, and a selection
|
|
49
|
+
* naming several sums them, so a multi-section example would advertise a
|
|
50
|
+
* combination that may not fit. Every section's size is listed alongside the
|
|
51
|
+
* outline, so the agent can build a larger selection deliberately. When nothing
|
|
52
|
+
* fits, no section is named at all — every name available would be a worked
|
|
53
|
+
* example that overflows.
|
|
54
|
+
*/
|
|
55
|
+
function defaultNotice(sections, budget) {
|
|
56
|
+
// `sections` is sorted largest-first, so the first that fits is the largest.
|
|
57
|
+
const fits = sections.find((s) => s.bytes <= budget);
|
|
58
|
+
if (!fits) {
|
|
59
|
+
const smallest = Math.min(...sections.map((s) => s.bytes));
|
|
60
|
+
return `Record too large to inline, and no single section fits the ${budget}-byte budget — the smallest is ${smallest} bytes. Narrow the request through this tool's other inputs; sections:[...] cannot bring this record under the budget.`;
|
|
61
|
+
}
|
|
62
|
+
return `Record too large to inline. Re-call this tool with sections:[...] to retrieve specific sections — e.g. sections:["${fits.name}"] (${fits.bytes} bytes, against a ${budget}-byte budget). Sizes are listed per section and a selection returns whatever it names, so sum them yourself before requesting several.`;
|
|
44
63
|
}
|
|
45
64
|
/**
|
|
46
65
|
* Returns the document whole when it fits the budget, or a section outline when
|
|
@@ -76,7 +95,7 @@ export function outlineOnOverflow(doc, options) {
|
|
|
76
95
|
if (sections.length < 2) {
|
|
77
96
|
return { ...doc, kind: 'full' };
|
|
78
97
|
}
|
|
79
|
-
const notice = (options?.notice ?? defaultNotice)(sections);
|
|
98
|
+
const notice = (options?.notice ?? defaultNotice)(sections, budget);
|
|
80
99
|
return { kind: 'outline', sections, notice };
|
|
81
100
|
}
|
|
82
101
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlineOnOverflow.js","sourceRoot":"","sources":["../../../src/utils/overflow/outlineOnOverflow.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qFAAqF;AACrF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAUnD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACnF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACtF,CAAC,CACH;SACA,QAAQ,CAAC,mCAAmC,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC7E,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"outlineOnOverflow.js","sourceRoot":"","sources":["../../../src/utils/overflow/outlineOnOverflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @see {@link https://modelcontextprotocol.io/specification/2025-06-18/utils/pagination | MCP Pagination Spec}
|
|
12
12
|
* @module src/utils/pagination/pagination
|
|
13
13
|
*/
|
|
14
|
-
import type { RequestContext } from '../../utils/internal/requestContext.js';
|
|
14
|
+
import type { RequestContext, RequestContextLike } from '../../utils/internal/requestContext.js';
|
|
15
15
|
/**
|
|
16
16
|
* Generic pagination state that can be encoded into a cursor.
|
|
17
17
|
* Implementations can extend this with additional fields as needed.
|
|
@@ -72,7 +72,7 @@ export declare function encodeCursor(state: PaginationState): string;
|
|
|
72
72
|
* const state = decodeCursor(req.params.cursor, ctx);
|
|
73
73
|
* // state.offset and state.limit are safe to use directly
|
|
74
74
|
*/
|
|
75
|
-
export declare function decodeCursor(cursor: string, context: RequestContext): PaginationState;
|
|
75
|
+
export declare function decodeCursor(cursor: string, context: RequestContextLike | RequestContext): PaginationState;
|
|
76
76
|
/**
|
|
77
77
|
* Extracts the cursor parameter from an MCP request's params object.
|
|
78
78
|
* Checks `params.cursor` first, then falls back to `params._meta.cursor`,
|
|
@@ -130,7 +130,7 @@ export declare function extractCursor(params?: {
|
|
|
130
130
|
* const page3 = paginateArray(allItems, page2.nextCursor, 2, 100, ctx);
|
|
131
131
|
* // => { items: ['e'], totalCount: 5 } (no nextCursor)
|
|
132
132
|
*/
|
|
133
|
-
export declare function paginateArray<T>(items: T[], cursorStr: string | undefined, defaultPageSize: number, maxPageSize: number, context: RequestContext): PaginatedResult<T>;
|
|
133
|
+
export declare function paginateArray<T>(items: T[], cursorStr: string | undefined, defaultPageSize: number, maxPageSize: number, context: RequestContextLike | RequestContext): PaginatedResult<T>;
|
|
134
134
|
/**
|
|
135
135
|
* Default pagination configuration values used by {@link paginateArray} callers.
|
|
136
136
|
* These serve as sensible defaults; individual call sites may pass different values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/pagination/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/pagination/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IAEjF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,iCAAiC;IACjC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAc3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAAG,cAAc,GAC3C,eAAe,CA6BjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B,GAAG,MAAM,GAAG,SAAS,CAErB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAAG,cAAc,GAC3C,eAAe,CAAC,CAAC,CAAC,CAmCpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB;IACpC,uCAAuC;aACvC,iBAAiB,EAAE,EAAE;IACrB,qCAAqC;aACrC,aAAa,EAAE,IAAI;IACnB,qCAAqC;aACrC,aAAa,EAAE,CAAC;CACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utils/pagination/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAsCpD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,yEAAyE;QACzE,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;aACtC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,oCAAoC,EAAE;YACvF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utils/pagination/pagination.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module src/utils/parsing/csvParser
|
|
9
9
|
*/
|
|
10
10
|
import type Papa from 'papaparse';
|
|
11
|
-
import { type RequestContext } from '../../utils/internal/requestContext.js';
|
|
11
|
+
import { type RequestContext, type RequestContextLike } from '../../utils/internal/requestContext.js';
|
|
12
12
|
/**
|
|
13
13
|
* Utility class for parsing CSV strings.
|
|
14
14
|
*
|
|
@@ -54,7 +54,7 @@ export declare class CsvParser {
|
|
|
54
54
|
* console.log(fromLlm.data[0]); // { a: '1', b: '2' }
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
parse<T = unknown>(csvString: string, options?: Papa.ParseConfig, context?: RequestContext): Promise<Papa.ParseResult<T>>;
|
|
57
|
+
parse<T = unknown>(csvString: string, options?: Papa.ParseConfig, context?: RequestContextLike | RequestContext): Promise<Papa.ParseResult<T>>;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
60
|
* Singleton instance of {@link CsvParser}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csvParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/csvParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAKlC,OAAO,
|
|
1
|
+
{"version":3,"file":"csvParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/csvParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAKlC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,oCAAoC,CAAC;AAkB5C;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAC5C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA4D9B;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { validationError } from '../../types-global/errors.js';
|
|
2
2
|
import { lazyImport } from '../../utils/internal/lazyImport.js';
|
|
3
3
|
import { logger } from '../../utils/internal/logger.js';
|
|
4
|
-
import { requestContextService } from '../../utils/internal/requestContext.js';
|
|
4
|
+
import { requestContextService, } from '../../utils/internal/requestContext.js';
|
|
5
5
|
import { thinkBlockRegex } from './thinkBlock.js';
|
|
6
6
|
const importPapa = lazyImport(() => import('papaparse'), 'Install "papaparse" to use CSV parsing: bun add papaparse');
|
|
7
7
|
let _papa;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csvParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/csvParser.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"csvParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/csvParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @module src/utils/parsing/dateParser
|
|
5
5
|
*/
|
|
6
6
|
import type * as chrono from 'chrono-node';
|
|
7
|
-
import type { RequestContext } from '../../utils/internal/requestContext.js';
|
|
7
|
+
import type { RequestContext, RequestContextLike } from '../../utils/internal/requestContext.js';
|
|
8
8
|
/**
|
|
9
9
|
* Parses a natural language date string into a JavaScript `Date` object.
|
|
10
10
|
*
|
|
@@ -16,13 +16,14 @@ import type { RequestContext } from '../../utils/internal/requestContext.js';
|
|
|
16
16
|
* (`bun add chrono-node`).
|
|
17
17
|
*
|
|
18
18
|
* @param text - The natural language date string to parse (e.g. `"next Friday at 3pm"`).
|
|
19
|
-
* @param context -
|
|
19
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
20
|
+
* `Context` is accepted directly.
|
|
20
21
|
* @param refDate - Reference date for relative expressions. Defaults to the current date/time.
|
|
21
22
|
* @returns A `Date` object if a date was found, or `null` if parsing yields no result.
|
|
22
23
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
23
24
|
* @throws {McpError} With `ParseError` if an unexpected error occurs during parsing.
|
|
24
25
|
*/
|
|
25
|
-
export declare function parseDateString(text: string, context: RequestContext, refDate?: Date): Promise<Date | null>;
|
|
26
|
+
export declare function parseDateString(text: string, context: RequestContextLike | RequestContext, refDate?: Date): Promise<Date | null>;
|
|
26
27
|
/**
|
|
27
28
|
* Parses a natural language date string and returns detailed `chrono-node` results.
|
|
28
29
|
*
|
|
@@ -38,14 +39,15 @@ export declare function parseDateString(text: string, context: RequestContext, r
|
|
|
38
39
|
* (`bun add chrono-node`).
|
|
39
40
|
*
|
|
40
41
|
* @param text - The natural language date string to parse.
|
|
41
|
-
* @param context -
|
|
42
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
43
|
+
* `Context` is accepted directly.
|
|
42
44
|
* @param refDate - Reference date for relative expressions. Defaults to the current date/time.
|
|
43
45
|
* @returns An array of `chrono.ParsedResult` objects — one per date expression found.
|
|
44
46
|
* Empty array if no dates are present in the text.
|
|
45
47
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
46
48
|
* @throws {McpError} With `ParseError` if an unexpected error occurs during parsing.
|
|
47
49
|
*/
|
|
48
|
-
export declare function parseDateStringDetailed(text: string, context: RequestContext, refDate?: Date): Promise<chrono.ParsedResult[]>;
|
|
50
|
+
export declare function parseDateStringDetailed(text: string, context: RequestContextLike | RequestContext, refDate?: Date): Promise<chrono.ParsedResult[]>;
|
|
49
51
|
/**
|
|
50
52
|
* Singleton object providing natural language date parsing via `chrono-node`.
|
|
51
53
|
*
|
|
@@ -79,7 +81,8 @@ export declare const dateParser: {
|
|
|
79
81
|
* Async due to lazy loading of `chrono-node` (`bun add chrono-node`).
|
|
80
82
|
*
|
|
81
83
|
* @param text - The natural language date string to parse.
|
|
82
|
-
* @param context -
|
|
84
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
85
|
+
* `Context` is accepted directly.
|
|
83
86
|
* @param refDate - Reference date for relative expressions. Defaults to now.
|
|
84
87
|
* @returns An array of `chrono.ParsedResult` objects; empty if no dates found.
|
|
85
88
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
@@ -92,7 +95,8 @@ export declare const dateParser: {
|
|
|
92
95
|
* Async due to lazy loading of `chrono-node` (`bun add chrono-node`).
|
|
93
96
|
*
|
|
94
97
|
* @param text - The natural language date string to parse.
|
|
95
|
-
* @param context -
|
|
98
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
99
|
+
* `Context` is accepted directly.
|
|
96
100
|
* @param refDate - Reference date for relative expressions. Defaults to now.
|
|
97
101
|
* @returns A `Date` if a date expression was found, or `null` if none was recognized.
|
|
98
102
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/dateParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAM3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"dateParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/dateParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAM3C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAO7F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAAG,cAAc,EAC5C,OAAO,CAAC,EAAE,IAAI,GACb,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CA4BtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAAG,cAAc,EAC5C,OAAO,CAAC,EAAE,IAAI,GACb,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAuBhC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,UAAU;IACrB;;;;;;;;;;;;;OAaG;IACH,KAAK;IACL;;;;;;;;;;;;OAYG;IACH,SAAS;CACV,CAAC"}
|
|
@@ -14,7 +14,8 @@ const getChrono = lazyImport(() => import('chrono-node'), 'Install "chrono-node"
|
|
|
14
14
|
* (`bun add chrono-node`).
|
|
15
15
|
*
|
|
16
16
|
* @param text - The natural language date string to parse (e.g. `"next Friday at 3pm"`).
|
|
17
|
-
* @param context -
|
|
17
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
18
|
+
* `Context` is accepted directly.
|
|
18
19
|
* @param refDate - Reference date for relative expressions. Defaults to the current date/time.
|
|
19
20
|
* @returns A `Date` object if a date was found, or `null` if parsing yields no result.
|
|
20
21
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
@@ -60,7 +61,8 @@ export async function parseDateString(text, context, refDate) {
|
|
|
60
61
|
* (`bun add chrono-node`).
|
|
61
62
|
*
|
|
62
63
|
* @param text - The natural language date string to parse.
|
|
63
|
-
* @param context -
|
|
64
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
65
|
+
* `Context` is accepted directly.
|
|
64
66
|
* @param refDate - Reference date for relative expressions. Defaults to the current date/time.
|
|
65
67
|
* @returns An array of `chrono.ParsedResult` objects — one per date expression found.
|
|
66
68
|
* Empty array if no dates are present in the text.
|
|
@@ -116,7 +118,8 @@ export const dateParser = {
|
|
|
116
118
|
* Async due to lazy loading of `chrono-node` (`bun add chrono-node`).
|
|
117
119
|
*
|
|
118
120
|
* @param text - The natural language date string to parse.
|
|
119
|
-
* @param context -
|
|
121
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
122
|
+
* `Context` is accepted directly.
|
|
120
123
|
* @param refDate - Reference date for relative expressions. Defaults to now.
|
|
121
124
|
* @returns An array of `chrono.ParsedResult` objects; empty if no dates found.
|
|
122
125
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
@@ -129,7 +132,8 @@ export const dateParser = {
|
|
|
129
132
|
* Async due to lazy loading of `chrono-node` (`bun add chrono-node`).
|
|
130
133
|
*
|
|
131
134
|
* @param text - The natural language date string to parse.
|
|
132
|
-
* @param context -
|
|
135
|
+
* @param context - Context for correlated logging and error metadata. The handler
|
|
136
|
+
* `Context` is accepted directly.
|
|
133
137
|
* @param refDate - Reference date for relative expressions. Defaults to now.
|
|
134
138
|
* @returns A `Date` if a date expression was found, or `null` if none was recognized.
|
|
135
139
|
* @throws {McpError} With `ConfigurationError` if `chrono-node` is not installed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/dateParser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,MAAM,SAAS,GAAG,UAAU,CAC1B,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3B,gEAAgE,CACjE,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"dateParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/dateParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type RequestContext } from '../../utils/internal/requestContext.js';
|
|
1
|
+
import { type RequestContext, type RequestContextLike } from '../../utils/internal/requestContext.js';
|
|
2
2
|
import { type ParserInputBudgetOptions } from './inputBudget.js';
|
|
3
3
|
/**
|
|
4
4
|
* Result of parsing markdown with frontmatter.
|
|
@@ -36,8 +36,9 @@ export declare class FrontmatterParser {
|
|
|
36
36
|
*
|
|
37
37
|
* @template T - The expected shape of the parsed frontmatter object. Defaults to `unknown`.
|
|
38
38
|
* @param markdown - The markdown string that may contain a frontmatter block.
|
|
39
|
-
* @param context - Optional
|
|
40
|
-
*
|
|
39
|
+
* @param context - Optional context for correlated logging. The handler `Context`
|
|
40
|
+
* is accepted directly.
|
|
41
|
+
* @param budget - Optional UTF-8 byte budget for the input. Unbounded when omitted.
|
|
41
42
|
* @returns A {@link FrontmatterResult} with `frontmatter`, `content`, and `hasFrontmatter`.
|
|
42
43
|
* @throws {McpError} With code `ValidationError` if the YAML content is present but malformed.
|
|
43
44
|
* @example
|
|
@@ -51,7 +52,7 @@ export declare class FrontmatterParser {
|
|
|
51
52
|
* // result.hasFrontmatter → true
|
|
52
53
|
* ```
|
|
53
54
|
*/
|
|
54
|
-
parse<T = unknown>(markdown: string, context?: RequestContext, budget?: ParserInputBudgetOptions): Promise<FrontmatterResult<T>>;
|
|
55
|
+
parse<T = unknown>(markdown: string, context?: RequestContextLike | RequestContext, budget?: ParserInputBudgetOptions): Promise<FrontmatterResult<T>>;
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
58
|
* Singleton instance of {@link FrontmatterParser}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatterParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/frontmatterParser.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"frontmatterParser.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/frontmatterParser.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAyB,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAYxF;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC;IACf;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAC7C,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CA2F/B;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { McpError, validationError } from '../../types-global/errors.js';
|
|
8
8
|
import { logger } from '../../utils/internal/logger.js';
|
|
9
|
-
import { requestContextService } from '../../utils/internal/requestContext.js';
|
|
9
|
+
import { requestContextService, } from '../../utils/internal/requestContext.js';
|
|
10
10
|
import { assertTextInputBudget } from './inputBudget.js';
|
|
11
11
|
import { yamlParser } from './yamlParser.js';
|
|
12
12
|
/**
|
|
@@ -34,8 +34,9 @@ export class FrontmatterParser {
|
|
|
34
34
|
*
|
|
35
35
|
* @template T - The expected shape of the parsed frontmatter object. Defaults to `unknown`.
|
|
36
36
|
* @param markdown - The markdown string that may contain a frontmatter block.
|
|
37
|
-
* @param context - Optional
|
|
38
|
-
*
|
|
37
|
+
* @param context - Optional context for correlated logging. The handler `Context`
|
|
38
|
+
* is accepted directly.
|
|
39
|
+
* @param budget - Optional UTF-8 byte budget for the input. Unbounded when omitted.
|
|
39
40
|
* @returns A {@link FrontmatterResult} with `frontmatter`, `content`, and `hasFrontmatter`.
|
|
40
41
|
* @throws {McpError} With code `ValidationError` if the YAML content is present but malformed.
|
|
41
42
|
* @example
|
|
@@ -118,7 +119,7 @@ export class FrontmatterParser {
|
|
|
118
119
|
if (error instanceof McpError) {
|
|
119
120
|
throw error;
|
|
120
121
|
}
|
|
121
|
-
throw validationError(
|
|
122
|
+
throw validationError(`Failed to parse frontmatter content: ${error.message}`, { reason: 'frontmatter_parse_failed' }, { cause: error });
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatterParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/frontmatterParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"frontmatterParser.js","sourceRoot":"","sources":["../../../src/utils/parsing/frontmatterParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAGL,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiC,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;AAsBjE;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,OAA6C,EAC7C,MAAiC;QAEjC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,iDAAiD;YACjD,MAAM,UAAU,GACd,OAAO;gBACP,qBAAqB,CAAC,oBAAoB,CAAC;oBACzC,SAAS,EAAE,iCAAiC;iBAC7C,CAAC,CAAC;YACL,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,UAAU,CAAC,CAAC;YAEjE,OAAO;gBACL,WAAW,EAAE,EAAO;gBACpB,OAAO,EAAE,QAAQ;gBACjB,cAAc,EAAE,KAAK;aACtB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvC,MAAM,UAAU,GACd,OAAO;YACP,qBAAqB,CAAC,oBAAoB,CAAC;gBACzC,SAAS,EAAE,yBAAyB;aACrC,CAAC,CAAC;QAEL,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;YAC5D,GAAG,UAAU;YACb,UAAU,EAAE,WAAW,CAAC,MAAM;YAC9B,aAAa,EAAE,eAAe,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;YAC9D,OAAO;gBACL,WAAW,EAAE,EAAO;gBACpB,OAAO,EAAE,eAAe;gBACxB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,KAAK,CAAI,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAElF,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBAC/C,GAAG,UAAU;gBACb,eAAe,EACb,iBAAiB;oBACjB,OAAO,iBAAiB,KAAK,QAAQ;oBACrC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAChC,CAAC,CAAC,EAAE;aACT,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,eAAe;gBACxB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,eAAe,GACnB,OAAO;gBACP,qBAAqB,CAAC,oBAAoB,CAAC;oBACzC,SAAS,EAAE,8BAA8B;iBAC1C,CAAC,CAAC;YAEL,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACxD,GAAG,eAAe;gBAClB,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;aACjD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,eAAe,CACnB,wCAAwC,KAAK,CAAC,OAAO,EAAE,EACvD,EAAE,MAAM,EAAE,0BAA0B,EAAE,EACtC,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type RequestContext } from '../../utils/internal/requestContext.js';
|
|
1
|
+
import { type RequestContext, type RequestContextLike } from '../../utils/internal/requestContext.js';
|
|
2
2
|
/**
|
|
3
3
|
* Options for HTML article extraction.
|
|
4
4
|
*/
|
|
@@ -26,7 +26,7 @@ export interface ExtractArticleOptions {
|
|
|
26
26
|
*/
|
|
27
27
|
language?: string;
|
|
28
28
|
/**
|
|
29
|
-
* UTF-8 input budget in bytes.
|
|
29
|
+
* UTF-8 input budget in bytes. Unbounded when omitted.
|
|
30
30
|
*/
|
|
31
31
|
maxBytes?: number;
|
|
32
32
|
/**
|
|
@@ -103,7 +103,8 @@ export declare class HtmlExtractor {
|
|
|
103
103
|
*
|
|
104
104
|
* @param html - Raw HTML string to extract from.
|
|
105
105
|
* @param options - Optional extraction options (format, URL, content selector, etc.).
|
|
106
|
-
* @param context - Optional
|
|
106
|
+
* @param context - Optional context for correlated logging and error metadata. The
|
|
107
|
+
* handler `Context` is accepted directly.
|
|
107
108
|
* @returns Extracted content and metadata. Only `content` is guaranteed to
|
|
108
109
|
* be present; all other fields are best-effort.
|
|
109
110
|
* @throws {McpError} With `ConfigurationError` if `defuddle` or `linkedom` is not installed.
|
|
@@ -124,7 +125,7 @@ export declare class HtmlExtractor {
|
|
|
124
125
|
* console.log(result.content);
|
|
125
126
|
* ```
|
|
126
127
|
*/
|
|
127
|
-
extract(html: string, options?: ExtractArticleOptions, context?: RequestContext): Promise<ExtractArticleResult>;
|
|
128
|
+
extract(html: string, options?: ExtractArticleOptions, context?: RequestContextLike | RequestContext): Promise<ExtractArticleResult>;
|
|
128
129
|
}
|
|
129
130
|
/**
|
|
130
131
|
* Singleton instance of {@link HtmlExtractor}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlExtractor.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/htmlExtractor.ts"],"names":[],"mappings":"AAgCA,OAAO,
|
|
1
|
+
{"version":3,"file":"htmlExtractor.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/htmlExtractor.ts"],"names":[],"mappings":"AAgCA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,oCAAoC,CAAC;AAsC5C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,qBAAqB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CA6E/B;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|