@cyanheads/federal-regulations-mcp-server 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +17 -13
- package/changelog/0.3.x/0.3.0.md +27 -0
- package/dist/mcp-server/resources/definitions/document.resource.js +1 -1
- package/dist/mcp-server/resources/definitions/document.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/date-input.d.ts +14 -0
- package/dist/mcp-server/tools/definitions/date-input.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/date-input.js +27 -0
- package/dist/mcp-server/tools/definitions/date-input.js.map +1 -0
- package/dist/mcp-server/tools/definitions/format-utils.d.ts +11 -0
- package/dist/mcp-server/tools/definitions/format-utils.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/format-utils.js +12 -0
- package/dist/mcp-server/tools/definitions/format-utils.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-document.tool.d.ts +23 -4
- package/dist/mcp-server/tools/definitions/get-document.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-document.tool.js +88 -11
- package/dist/mcp-server/tools/definitions/get-document.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +134 -84
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.d.ts +26 -6
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.js +107 -56
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-rules.tool.d.ts +18 -3
- package/dist/mcp-server/tools/definitions/search-rules.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-rules.tool.js +38 -26
- package/dist/mcp-server/tools/definitions/search-rules.tool.js.map +1 -1
- package/dist/services/federal-register/federal-register-service.d.ts +16 -6
- package/dist/services/federal-register/federal-register-service.d.ts.map +1 -1
- package/dist/services/federal-register/federal-register-service.js +231 -33
- package/dist/services/federal-register/federal-register-service.js.map +1 -1
- package/dist/services/federal-register/types.d.ts +38 -8
- package/dist/services/federal-register/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
|
@@ -3,63 +3,61 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/index
|
|
4
4
|
*/
|
|
5
5
|
export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"Proposed Rule": "Proposed Rule";
|
|
11
|
-
Rule: "Rule";
|
|
12
|
-
"Supporting & Related Material": "Supporting & Related Material";
|
|
13
|
-
}>>>;
|
|
14
|
-
per_page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
15
|
-
page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
6
|
+
document_number: import("zod").ZodString;
|
|
7
|
+
include_full_text: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
8
|
+
offset: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
9
|
+
max_chars: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
16
10
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
17
|
-
|
|
11
|
+
documentNumber: import("zod").ZodString;
|
|
18
12
|
title: import("zod").ZodString;
|
|
19
|
-
|
|
20
|
-
agencyId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
21
|
-
rin: import("zod").ZodNullable<import("zod").ZodString>;
|
|
13
|
+
type: import("zod").ZodString;
|
|
22
14
|
abstract: import("zod").ZodNullable<import("zod").ZodString>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
action: import("zod").ZodNullable<import("zod").ZodString>;
|
|
16
|
+
dates: import("zod").ZodNullable<import("zod").ZodString>;
|
|
17
|
+
publicationDate: import("zod").ZodString;
|
|
18
|
+
effectiveOn: import("zod").ZodNullable<import("zod").ZodString>;
|
|
19
|
+
commentsCloseOn: import("zod").ZodNullable<import("zod").ZodString>;
|
|
20
|
+
agencies: import("zod").ZodArray<import("zod").ZodObject<{
|
|
21
|
+
name: import("zod").ZodString;
|
|
22
|
+
slug: import("zod").ZodNullable<import("zod").ZodString>;
|
|
23
|
+
}, import("zod/v4/core").$strip>>;
|
|
24
|
+
regulationIdNumbers: import("zod").ZodArray<import("zod").ZodString>;
|
|
25
|
+
cfrReferences: import("zod").ZodArray<import("zod").ZodObject<{
|
|
26
|
+
title: import("zod").ZodNumber;
|
|
27
|
+
part: import("zod").ZodString;
|
|
28
|
+
}, import("zod/v4/core").$strip>>;
|
|
29
|
+
docketId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
30
|
+
regulationsGovDocumentId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
31
|
+
commentCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
32
|
+
supportingDocuments: import("zod").ZodArray<import("zod").ZodObject<{
|
|
29
33
|
title: import("zod").ZodString;
|
|
30
|
-
|
|
31
|
-
postedDate: import("zod").ZodString;
|
|
32
|
-
frDocNum: import("zod").ZodNullable<import("zod").ZodString>;
|
|
33
|
-
commentEndDate: import("zod").ZodNullable<import("zod").ZodString>;
|
|
34
|
-
withdrawn: import("zod").ZodBoolean;
|
|
34
|
+
documentId: import("zod").ZodString;
|
|
35
35
|
}, import("zod/v4/core").$strip>>;
|
|
36
|
+
bodyHtmlUrl: import("zod").ZodString;
|
|
37
|
+
rawTextUrl: import("zod").ZodString;
|
|
38
|
+
htmlUrl: import("zod").ZodString;
|
|
39
|
+
fullText: import("zod").ZodOptional<import("zod").ZodString>;
|
|
40
|
+
fullTextOffset: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
41
|
+
fullTextLength: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
42
|
+
fullTextNextOffset: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
36
43
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
37
|
-
readonly reason: "
|
|
38
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.
|
|
39
|
-
readonly when: "
|
|
40
|
-
readonly recovery: "
|
|
44
|
+
readonly reason: "full_text_disabled";
|
|
45
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
46
|
+
readonly when: "offset or max_chars was passed together with include_full_text: false.";
|
|
47
|
+
readonly recovery: "Drop include_full_text: false to read the body window, or drop offset and max_chars to skip the body.";
|
|
41
48
|
}, {
|
|
42
49
|
readonly reason: "not_found";
|
|
43
50
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
44
|
-
readonly when: "No
|
|
45
|
-
readonly recovery: "Verify the
|
|
46
|
-
readonly thrownBy: "service";
|
|
47
|
-
}, {
|
|
48
|
-
readonly reason: "rate_limited";
|
|
49
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
|
|
50
|
-
readonly when: "Regulations.gov returned 429 (1,000 requests/hour per key).";
|
|
51
|
-
readonly retryable: true;
|
|
52
|
-
readonly recovery: "Wait and retry — the per-key hourly limit was hit.";
|
|
51
|
+
readonly when: "No Federal Register document exists with that number.";
|
|
52
|
+
readonly recovery: "Verify the number via regulations_search_rules; FR numbers look like \"2025-14555\".";
|
|
53
53
|
readonly thrownBy: "service";
|
|
54
54
|
}, {
|
|
55
55
|
readonly reason: "upstream_unavailable";
|
|
56
56
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
57
|
-
readonly when: "
|
|
58
|
-
readonly recovery: "Retry after a brief wait.";
|
|
57
|
+
readonly when: "Federal Register returned a 5xx, timed out, served an HTML error page, or failed to serve the body URL it published (include_full_text only).";
|
|
58
|
+
readonly recovery: "Retry after a brief wait; the Federal Register API may be momentarily down.";
|
|
59
59
|
readonly thrownBy: "service";
|
|
60
60
|
}], {
|
|
61
|
-
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
62
|
-
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
63
61
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
64
62
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
65
63
|
query: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -72,6 +70,11 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
72
70
|
agencies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
73
71
|
published_after: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"">, import("zod").ZodString]>>;
|
|
74
72
|
published_before: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"">, import("zod").ZodString]>>;
|
|
73
|
+
order: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
74
|
+
newest: "newest";
|
|
75
|
+
oldest: "oldest";
|
|
76
|
+
relevance: "relevance";
|
|
77
|
+
}>>;
|
|
75
78
|
per_page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
76
79
|
page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
77
80
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -81,7 +84,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
81
84
|
type: import("zod").ZodString;
|
|
82
85
|
abstract: import("zod").ZodNullable<import("zod").ZodString>;
|
|
83
86
|
publicationDate: import("zod").ZodString;
|
|
84
|
-
agencies: import("zod").ZodArray<import("zod").
|
|
87
|
+
agencies: import("zod").ZodArray<import("zod").ZodObject<{
|
|
88
|
+
name: import("zod").ZodString;
|
|
89
|
+
slug: import("zod").ZodNullable<import("zod").ZodString>;
|
|
90
|
+
}, import("zod/v4/core").$strip>>;
|
|
85
91
|
docketIds: import("zod").ZodArray<import("zod").ZodString>;
|
|
86
92
|
regulationIdNumbers: import("zod").ZodArray<import("zod").ZodString>;
|
|
87
93
|
cfrReferences: import("zod").ZodArray<import("zod").ZodObject<{
|
|
@@ -97,52 +103,19 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
97
103
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
98
104
|
readonly when: "Federal Register returned a 5xx, timed out, or served an HTML error page.";
|
|
99
105
|
readonly recovery: "Retry after a brief wait; the Federal Register API may be momentarily down.";
|
|
106
|
+
}, {
|
|
107
|
+
readonly reason: "invalid_filter";
|
|
108
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
109
|
+
readonly when: "The Federal Register rejected a filter value — most often an agency name or acronym passed where a slug belongs.";
|
|
110
|
+
readonly recovery: "Correct the parameter the message names: agencies takes Federal Register slugs in lowercase kebab-case (e.g. \"environmental-protection-agency\"; read one off agencies[].slug in a result), and dates must be real YYYY-MM-DD days.";
|
|
111
|
+
readonly severity: "notice";
|
|
112
|
+
readonly thrownBy: "service";
|
|
100
113
|
}], {
|
|
101
114
|
readonly totalCount: import("zod").ZodNumber;
|
|
102
115
|
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
103
116
|
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
104
117
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
105
118
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
106
|
-
document_number: import("zod").ZodString;
|
|
107
|
-
include_full_text: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
|
|
108
|
-
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
109
|
-
documentNumber: import("zod").ZodString;
|
|
110
|
-
title: import("zod").ZodString;
|
|
111
|
-
type: import("zod").ZodString;
|
|
112
|
-
abstract: import("zod").ZodNullable<import("zod").ZodString>;
|
|
113
|
-
action: import("zod").ZodNullable<import("zod").ZodString>;
|
|
114
|
-
dates: import("zod").ZodNullable<import("zod").ZodString>;
|
|
115
|
-
publicationDate: import("zod").ZodString;
|
|
116
|
-
effectiveOn: import("zod").ZodNullable<import("zod").ZodString>;
|
|
117
|
-
commentsCloseOn: import("zod").ZodNullable<import("zod").ZodString>;
|
|
118
|
-
agencies: import("zod").ZodArray<import("zod").ZodString>;
|
|
119
|
-
regulationIdNumbers: import("zod").ZodArray<import("zod").ZodString>;
|
|
120
|
-
cfrReferences: import("zod").ZodArray<import("zod").ZodObject<{
|
|
121
|
-
title: import("zod").ZodNumber;
|
|
122
|
-
part: import("zod").ZodString;
|
|
123
|
-
}, import("zod/v4/core").$strip>>;
|
|
124
|
-
docketId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
125
|
-
regulationsGovDocumentId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
126
|
-
commentCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
127
|
-
supportingDocuments: import("zod").ZodArray<import("zod").ZodObject<{
|
|
128
|
-
title: import("zod").ZodString;
|
|
129
|
-
documentId: import("zod").ZodString;
|
|
130
|
-
}, import("zod/v4/core").$strip>>;
|
|
131
|
-
bodyHtmlUrl: import("zod").ZodString;
|
|
132
|
-
rawTextUrl: import("zod").ZodString;
|
|
133
|
-
htmlUrl: import("zod").ZodString;
|
|
134
|
-
fullText: import("zod").ZodOptional<import("zod").ZodString>;
|
|
135
|
-
}, import("zod/v4/core").$strip>, readonly [{
|
|
136
|
-
readonly reason: "not_found";
|
|
137
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
138
|
-
readonly when: "No Federal Register document exists with that number.";
|
|
139
|
-
readonly recovery: "Verify the number via regulations_search_rules; FR numbers look like \"2025-14555\".";
|
|
140
|
-
}, {
|
|
141
|
-
readonly reason: "upstream_unavailable";
|
|
142
|
-
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
143
|
-
readonly when: "Federal Register returned a 5xx, timed out, served an HTML error page, or failed to serve the body URL it published (include_full_text only).";
|
|
144
|
-
readonly recovery: "Retry after a brief wait; the Federal Register API may be momentarily down.";
|
|
145
|
-
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
146
119
|
mode: import("zod").ZodEnum<{
|
|
147
120
|
search: "search";
|
|
148
121
|
structure: "structure";
|
|
@@ -271,6 +244,65 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
271
244
|
readonly recovery: "Retry after a brief wait; the eCFR API may be momentarily unavailable.";
|
|
272
245
|
readonly thrownBy: "service";
|
|
273
246
|
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
247
|
+
docket_id: import("zod").ZodString;
|
|
248
|
+
document_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
|
|
249
|
+
Notice: "Notice";
|
|
250
|
+
Other: "Other";
|
|
251
|
+
"Proposed Rule": "Proposed Rule";
|
|
252
|
+
Rule: "Rule";
|
|
253
|
+
"Supporting & Related Material": "Supporting & Related Material";
|
|
254
|
+
}>>>;
|
|
255
|
+
per_page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
256
|
+
page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
257
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
258
|
+
docketId: import("zod").ZodString;
|
|
259
|
+
title: import("zod").ZodString;
|
|
260
|
+
docketType: import("zod").ZodNullable<import("zod").ZodString>;
|
|
261
|
+
agencyId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
262
|
+
rin: import("zod").ZodNullable<import("zod").ZodString>;
|
|
263
|
+
abstract: import("zod").ZodNullable<import("zod").ZodString>;
|
|
264
|
+
modifyDate: import("zod").ZodNullable<import("zod").ZodString>;
|
|
265
|
+
objectId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
266
|
+
documentCount: import("zod").ZodNumber;
|
|
267
|
+
documents: import("zod").ZodArray<import("zod").ZodObject<{
|
|
268
|
+
documentId: import("zod").ZodString;
|
|
269
|
+
objectId: import("zod").ZodString;
|
|
270
|
+
title: import("zod").ZodString;
|
|
271
|
+
documentType: import("zod").ZodString;
|
|
272
|
+
postedDate: import("zod").ZodString;
|
|
273
|
+
frDocNum: import("zod").ZodNullable<import("zod").ZodString>;
|
|
274
|
+
commentEndDate: import("zod").ZodNullable<import("zod").ZodString>;
|
|
275
|
+
withdrawn: import("zod").ZodBoolean;
|
|
276
|
+
}, import("zod/v4/core").$strip>>;
|
|
277
|
+
}, import("zod/v4/core").$strip>, readonly [{
|
|
278
|
+
readonly reason: "auth_required";
|
|
279
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Unauthorized;
|
|
280
|
+
readonly when: "REGULATIONS_GOV_API_KEY is not configured, or Regulations.gov rejected the key that is.";
|
|
281
|
+
readonly recovery: "Set the REGULATIONS_GOV_API_KEY env var to a working key (free at https://api.data.gov/signup/). The Federal Register and eCFR tools work without it.";
|
|
282
|
+
}, {
|
|
283
|
+
readonly reason: "not_found";
|
|
284
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
285
|
+
readonly when: "No docket exists with that ID.";
|
|
286
|
+
readonly recovery: "Verify the docket ID from a Federal Register document's docketId; format is like \"EPA-HQ-OAR-2025-0194\".";
|
|
287
|
+
readonly thrownBy: "service";
|
|
288
|
+
}, {
|
|
289
|
+
readonly reason: "rate_limited";
|
|
290
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
|
|
291
|
+
readonly when: "Regulations.gov returned 429 (1,000 requests/hour per key).";
|
|
292
|
+
readonly retryable: true;
|
|
293
|
+
readonly recovery: "Wait and retry — the per-key hourly limit was hit.";
|
|
294
|
+
readonly thrownBy: "service";
|
|
295
|
+
}, {
|
|
296
|
+
readonly reason: "upstream_unavailable";
|
|
297
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
298
|
+
readonly when: "Regulations.gov returned a 5xx, timed out, or could not be reached at all.";
|
|
299
|
+
readonly recovery: "Retry after a brief wait.";
|
|
300
|
+
readonly thrownBy: "service";
|
|
301
|
+
}], {
|
|
302
|
+
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
303
|
+
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
304
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
305
|
+
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
274
306
|
docket_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
275
307
|
document_object_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
276
308
|
fr_document_number: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -352,6 +384,11 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
352
384
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
353
385
|
}> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
354
386
|
query: import("zod").ZodOptional<import("zod").ZodString>;
|
|
387
|
+
type: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
|
|
388
|
+
NOTICE: "NOTICE";
|
|
389
|
+
PRORULE: "PRORULE";
|
|
390
|
+
RULE: "RULE";
|
|
391
|
+
}>>>;
|
|
355
392
|
agencies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
356
393
|
closing_before: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"">, import("zod").ZodString]>>;
|
|
357
394
|
per_page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
|
|
@@ -363,7 +400,10 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
363
400
|
documentNumber: import("zod").ZodString;
|
|
364
401
|
title: import("zod").ZodString;
|
|
365
402
|
type: import("zod").ZodString;
|
|
366
|
-
agencies: import("zod").ZodArray<import("zod").
|
|
403
|
+
agencies: import("zod").ZodArray<import("zod").ZodObject<{
|
|
404
|
+
name: import("zod").ZodString;
|
|
405
|
+
slug: import("zod").ZodNullable<import("zod").ZodString>;
|
|
406
|
+
}, import("zod/v4/core").$strip>>;
|
|
367
407
|
publicationDate: import("zod").ZodString;
|
|
368
408
|
commentsCloseOn: import("zod").ZodString;
|
|
369
409
|
daysRemaining: import("zod").ZodNumber;
|
|
@@ -375,10 +415,20 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
375
415
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
376
416
|
readonly when: "Federal Register returned a 5xx, timed out, or served an HTML error page.";
|
|
377
417
|
readonly recovery: "Retry after a brief wait; the Federal Register API may be momentarily down.";
|
|
418
|
+
}, {
|
|
419
|
+
readonly reason: "invalid_filter";
|
|
420
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
421
|
+
readonly when: "The Federal Register rejected a filter value — most often an agency name or acronym passed where a slug belongs.";
|
|
422
|
+
readonly recovery: "Correct the parameter the message names: agencies takes Federal Register slugs in lowercase kebab-case (e.g. \"environmental-protection-agency\"; read one off agencies[].slug in a result), and closing_before must be a real YYYY-MM-DD day.";
|
|
423
|
+
readonly severity: "notice";
|
|
424
|
+
readonly thrownBy: "service";
|
|
378
425
|
}], {
|
|
379
426
|
readonly totalCount: import("zod").ZodNumber;
|
|
427
|
+
readonly totalPages: import("zod").ZodNumber;
|
|
428
|
+
readonly nextPage: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
380
429
|
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
381
430
|
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
431
|
+
readonly cap: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
382
432
|
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
383
433
|
}>)[];
|
|
384
434
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ9B,CAAC"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview regulations_list_open_comments —
|
|
3
|
-
* comment
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* @fileoverview regulations_list_open_comments — documents currently open for
|
|
3
|
+
* public comment (proposed rules and comment-requesting final rules by default,
|
|
4
|
+
* notices on request), filterable by agency and topic. "What can I still weigh in
|
|
5
|
+
* on?" Runs on the Federal Register's open-comment window (keyless), fetched
|
|
6
|
+
* whole, sorted by closing date, and paged locally; the comment count is read
|
|
7
|
+
* from each FR document's own embedded Regulations.gov info when a key is
|
|
8
|
+
* present. Degrades gracefully — fully functional without the key.
|
|
7
9
|
* @module mcp-server/tools/definitions/list-open-comments.tool
|
|
8
10
|
*/
|
|
9
11
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
10
12
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
11
13
|
export declare const listOpenCommentsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
12
14
|
query: z.ZodOptional<z.ZodString>;
|
|
15
|
+
type: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
16
|
+
NOTICE: "NOTICE";
|
|
17
|
+
PRORULE: "PRORULE";
|
|
18
|
+
RULE: "RULE";
|
|
19
|
+
}>>>;
|
|
13
20
|
agencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
21
|
closing_before: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
|
|
15
22
|
per_page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
@@ -21,7 +28,10 @@ export declare const listOpenCommentsTool: import("@cyanheads/mcp-ts-core").Tool
|
|
|
21
28
|
documentNumber: z.ZodString;
|
|
22
29
|
title: z.ZodString;
|
|
23
30
|
type: z.ZodString;
|
|
24
|
-
agencies: z.ZodArray<z.
|
|
31
|
+
agencies: z.ZodArray<z.ZodObject<{
|
|
32
|
+
name: z.ZodString;
|
|
33
|
+
slug: z.ZodNullable<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>>;
|
|
25
35
|
publicationDate: z.ZodString;
|
|
26
36
|
commentsCloseOn: z.ZodString;
|
|
27
37
|
daysRemaining: z.ZodNumber;
|
|
@@ -33,10 +43,20 @@ export declare const listOpenCommentsTool: import("@cyanheads/mcp-ts-core").Tool
|
|
|
33
43
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
34
44
|
readonly when: "Federal Register returned a 5xx, timed out, or served an HTML error page.";
|
|
35
45
|
readonly recovery: "Retry after a brief wait; the Federal Register API may be momentarily down.";
|
|
46
|
+
}, {
|
|
47
|
+
readonly reason: "invalid_filter";
|
|
48
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
49
|
+
readonly when: "The Federal Register rejected a filter value — most often an agency name or acronym passed where a slug belongs.";
|
|
50
|
+
readonly recovery: "Correct the parameter the message names: agencies takes Federal Register slugs in lowercase kebab-case (e.g. \"environmental-protection-agency\"; read one off agencies[].slug in a result), and closing_before must be a real YYYY-MM-DD day.";
|
|
51
|
+
readonly severity: "notice";
|
|
52
|
+
readonly thrownBy: "service";
|
|
36
53
|
}], {
|
|
37
54
|
readonly totalCount: z.ZodNumber;
|
|
55
|
+
readonly totalPages: z.ZodNumber;
|
|
56
|
+
readonly nextPage: z.ZodOptional<z.ZodNumber>;
|
|
38
57
|
readonly truncated: z.ZodOptional<z.ZodBoolean>;
|
|
39
58
|
readonly shown: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
readonly cap: z.ZodOptional<z.ZodNumber>;
|
|
40
60
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
41
61
|
}>;
|
|
42
62
|
//# sourceMappingURL=list-open-comments.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-open-comments.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-open-comments.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"list-open-comments.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-open-comments.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsBjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+O/B,CAAC"}
|