@cliwant/mcp-sam-gov 0.3.0 → 1.0.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.
Files changed (228) hide show
  1. package/LICENSE +21 -21
  2. package/README.ja.md +48 -16
  3. package/README.ko.md +48 -16
  4. package/README.md +226 -64
  5. package/dist/attachments.d.ts +63 -0
  6. package/dist/attachments.d.ts.map +1 -0
  7. package/dist/attachments.js +576 -0
  8. package/dist/attachments.js.map +1 -0
  9. package/dist/bls.d.ts +267 -0
  10. package/dist/bls.d.ts.map +1 -0
  11. package/dist/bls.js +1549 -0
  12. package/dist/bls.js.map +1 -0
  13. package/dist/cache.d.ts +2 -0
  14. package/dist/cache.d.ts.map +1 -1
  15. package/dist/cache.js +4 -0
  16. package/dist/cache.js.map +1 -1
  17. package/dist/census.d.ts +182 -0
  18. package/dist/census.d.ts.map +1 -0
  19. package/dist/census.js +576 -0
  20. package/dist/census.js.map +1 -0
  21. package/dist/ckan.d.ts +141 -0
  22. package/dist/ckan.d.ts.map +1 -0
  23. package/dist/ckan.js +393 -0
  24. package/dist/ckan.js.map +1 -0
  25. package/dist/clinicaltrials.d.ts +180 -0
  26. package/dist/clinicaltrials.d.ts.map +1 -0
  27. package/dist/clinicaltrials.js +730 -0
  28. package/dist/clinicaltrials.js.map +1 -0
  29. package/dist/cms.d.ts +140 -0
  30. package/dist/cms.d.ts.map +1 -0
  31. package/dist/cms.js +482 -0
  32. package/dist/cms.js.map +1 -0
  33. package/dist/coerce.d.ts +32 -0
  34. package/dist/coerce.d.ts.map +1 -0
  35. package/dist/coerce.js +50 -0
  36. package/dist/coerce.js.map +1 -0
  37. package/dist/datagov-catalog.d.ts +84 -0
  38. package/dist/datagov-catalog.d.ts.map +1 -0
  39. package/dist/datagov-catalog.js +233 -0
  40. package/dist/datagov-catalog.js.map +1 -0
  41. package/dist/datagov.d.ts +146 -0
  42. package/dist/datagov.d.ts.map +1 -0
  43. package/dist/datagov.js +689 -0
  44. package/dist/datagov.js.map +1 -0
  45. package/dist/datagovKey.d.ts +36 -0
  46. package/dist/datagovKey.d.ts.map +1 -0
  47. package/dist/datagovKey.js +60 -0
  48. package/dist/datagovKey.js.map +1 -0
  49. package/dist/datasource.d.ts +313 -0
  50. package/dist/datasource.d.ts.map +1 -0
  51. package/dist/datasource.js +551 -0
  52. package/dist/datasource.js.map +1 -0
  53. package/dist/disclosure.d.ts +55 -0
  54. package/dist/disclosure.d.ts.map +1 -0
  55. package/dist/disclosure.js +57 -0
  56. package/dist/disclosure.js.map +1 -0
  57. package/dist/ecfr.d.ts +4 -2
  58. package/dist/ecfr.d.ts.map +1 -1
  59. package/dist/ecfr.js +74 -1
  60. package/dist/ecfr.js.map +1 -1
  61. package/dist/echo.d.ts +143 -0
  62. package/dist/echo.d.ts.map +1 -0
  63. package/dist/echo.js +424 -0
  64. package/dist/echo.js.map +1 -0
  65. package/dist/edgar.d.ts +377 -0
  66. package/dist/edgar.d.ts.map +1 -0
  67. package/dist/edgar.js +2418 -0
  68. package/dist/edgar.js.map +1 -0
  69. package/dist/errors.d.ts +26 -0
  70. package/dist/errors.d.ts.map +1 -1
  71. package/dist/errors.js +69 -1
  72. package/dist/errors.js.map +1 -1
  73. package/dist/fac.d.ts +180 -0
  74. package/dist/fac.d.ts.map +1 -0
  75. package/dist/fac.js +416 -0
  76. package/dist/fac.js.map +1 -0
  77. package/dist/far.d.ts +170 -0
  78. package/dist/far.d.ts.map +1 -0
  79. package/dist/far.js +804 -0
  80. package/dist/far.js.map +1 -0
  81. package/dist/fdic.d.ts +599 -0
  82. package/dist/fdic.d.ts.map +1 -0
  83. package/dist/fdic.js +1624 -0
  84. package/dist/fdic.js.map +1 -0
  85. package/dist/federal-register.d.ts +139 -2
  86. package/dist/federal-register.d.ts.map +1 -1
  87. package/dist/federal-register.js +419 -3
  88. package/dist/federal-register.js.map +1 -1
  89. package/dist/fema.d.ts +181 -0
  90. package/dist/fema.d.ts.map +1 -0
  91. package/dist/fema.js +436 -0
  92. package/dist/fema.js.map +1 -0
  93. package/dist/fpds.d.ts +108 -0
  94. package/dist/fpds.d.ts.map +1 -0
  95. package/dist/fpds.js +519 -0
  96. package/dist/fpds.js.map +1 -0
  97. package/dist/gao.d.ts +64 -0
  98. package/dist/gao.d.ts.map +1 -0
  99. package/dist/gao.js +640 -0
  100. package/dist/gao.js.map +1 -0
  101. package/dist/govinfo.d.ts +111 -0
  102. package/dist/govinfo.d.ts.map +1 -0
  103. package/dist/govinfo.js +422 -0
  104. package/dist/govinfo.js.map +1 -0
  105. package/dist/grants.d.ts +27 -4
  106. package/dist/grants.d.ts.map +1 -1
  107. package/dist/grants.js +111 -6
  108. package/dist/grants.js.map +1 -1
  109. package/dist/gsa-csv.d.ts +249 -0
  110. package/dist/gsa-csv.d.ts.map +1 -0
  111. package/dist/gsa-csv.js +784 -0
  112. package/dist/gsa-csv.js.map +1 -0
  113. package/dist/integrity.d.ts +212 -0
  114. package/dist/integrity.d.ts.map +1 -0
  115. package/dist/integrity.js +707 -0
  116. package/dist/integrity.js.map +1 -0
  117. package/dist/meta.d.ts +165 -0
  118. package/dist/meta.d.ts.map +1 -0
  119. package/dist/meta.js +162 -0
  120. package/dist/meta.js.map +1 -0
  121. package/dist/nih.d.ts +117 -0
  122. package/dist/nih.d.ts.map +1 -0
  123. package/dist/nih.js +291 -0
  124. package/dist/nih.js.map +1 -0
  125. package/dist/nppes.d.ts +157 -0
  126. package/dist/nppes.d.ts.map +1 -0
  127. package/dist/nppes.js +648 -0
  128. package/dist/nppes.js.map +1 -0
  129. package/dist/nsf.d.ts +176 -0
  130. package/dist/nsf.d.ts.map +1 -0
  131. package/dist/nsf.js +554 -0
  132. package/dist/nsf.js.map +1 -0
  133. package/dist/nvd.d.ts +176 -0
  134. package/dist/nvd.d.ts.map +1 -0
  135. package/dist/nvd.js +912 -0
  136. package/dist/nvd.js.map +1 -0
  137. package/dist/ofac.d.ts +205 -0
  138. package/dist/ofac.d.ts.map +1 -0
  139. package/dist/ofac.js +919 -0
  140. package/dist/ofac.js.map +1 -0
  141. package/dist/pricing.d.ts +110 -0
  142. package/dist/pricing.d.ts.map +1 -0
  143. package/dist/pricing.js +843 -0
  144. package/dist/pricing.js.map +1 -0
  145. package/dist/sam-gov/client.d.ts +60 -2
  146. package/dist/sam-gov/client.d.ts.map +1 -1
  147. package/dist/sam-gov/client.js +320 -54
  148. package/dist/sam-gov/client.js.map +1 -1
  149. package/dist/sam-gov/index.d.ts +1 -1
  150. package/dist/sam-gov/index.d.ts.map +1 -1
  151. package/dist/sam-gov/index.js +1 -1
  152. package/dist/sam-gov/index.js.map +1 -1
  153. package/dist/sam-gov/types.d.ts +24 -0
  154. package/dist/sam-gov/types.d.ts.map +1 -1
  155. package/dist/sba.d.ts +72 -0
  156. package/dist/sba.d.ts.map +1 -0
  157. package/dist/sba.js +281 -0
  158. package/dist/sba.js.map +1 -0
  159. package/dist/server.d.ts +14 -2
  160. package/dist/server.d.ts.map +1 -1
  161. package/dist/server.js +3889 -296
  162. package/dist/server.js.map +1 -1
  163. package/dist/snapshot.d.ts +98 -0
  164. package/dist/snapshot.d.ts.map +1 -0
  165. package/dist/snapshot.js +146 -0
  166. package/dist/snapshot.js.map +1 -0
  167. package/dist/socrata.d.ts +157 -0
  168. package/dist/socrata.d.ts.map +1 -0
  169. package/dist/socrata.js +448 -0
  170. package/dist/socrata.js.map +1 -0
  171. package/dist/treasury.d.ts +143 -0
  172. package/dist/treasury.d.ts.map +1 -0
  173. package/dist/treasury.js +436 -0
  174. package/dist/treasury.js.map +1 -0
  175. package/dist/usaspending.d.ts +260 -65
  176. package/dist/usaspending.d.ts.map +1 -1
  177. package/dist/usaspending.js +1629 -201
  178. package/dist/usaspending.js.map +1 -1
  179. package/dist/usitc.d.ts +142 -0
  180. package/dist/usitc.d.ts.map +1 -0
  181. package/dist/usitc.js +339 -0
  182. package/dist/usitc.js.map +1 -0
  183. package/package.json +24 -2
  184. package/src/attachments.ts +652 -0
  185. package/src/bls.ts +1943 -0
  186. package/src/cache.ts +5 -0
  187. package/src/census.ts +735 -0
  188. package/src/ckan.ts +495 -0
  189. package/src/clinicaltrials.ts +923 -0
  190. package/src/cms.ts +634 -0
  191. package/src/coerce.ts +47 -0
  192. package/src/datagov-catalog.ts +296 -0
  193. package/src/datagov.ts +907 -0
  194. package/src/datagovKey.ts +68 -0
  195. package/src/datasource.ts +721 -0
  196. package/src/disclosure.ts +61 -0
  197. package/src/ecfr.ts +98 -1
  198. package/src/echo.ts +496 -0
  199. package/src/edgar.ts +3014 -0
  200. package/src/errors.ts +84 -1
  201. package/src/fac.ts +529 -0
  202. package/src/far.ts +1007 -0
  203. package/src/fdic.ts +2052 -0
  204. package/src/federal-register.ts +512 -3
  205. package/src/fema.ts +541 -0
  206. package/src/fpds.ts +620 -0
  207. package/src/gao.ts +744 -0
  208. package/src/govinfo.ts +497 -0
  209. package/src/grants.ts +139 -7
  210. package/src/gsa-csv.ts +992 -0
  211. package/src/integrity.ts +928 -0
  212. package/src/meta.ts +292 -0
  213. package/src/nih.ts +375 -0
  214. package/src/nppes.ts +834 -0
  215. package/src/nsf.ts +706 -0
  216. package/src/nvd.ts +1124 -0
  217. package/src/ofac.ts +1166 -0
  218. package/src/pricing.ts +1075 -0
  219. package/src/sam-gov/client.ts +345 -63
  220. package/src/sam-gov/index.ts +5 -1
  221. package/src/sam-gov/types.ts +22 -0
  222. package/src/sba.ts +357 -0
  223. package/src/server.ts +4551 -328
  224. package/src/snapshot.ts +192 -0
  225. package/src/socrata.ts +532 -0
  226. package/src/treasury.ts +575 -0
  227. package/src/usaspending.ts +1946 -214
  228. package/src/usitc.ts +420 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edgar.js","sourceRoot":"","sources":["../src/edgar.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -41,6 +41,19 @@ export type ToolError = {
41
41
  upstreamStatus?: number;
42
42
  /** Endpoint that failed — for ops. */
43
43
  upstreamEndpoint?: string;
44
+ /**
45
+ * Set true when the upstream EXPLICITLY asked us to wait — i.e. a 429, or a
46
+ * 5xx that CARRIED a `Retry-After` header (ADR-0045 M2). The resilience layer
47
+ * (circuit breaker + path-chain) consults `isHonorRetryAfter(err)` and EXCLUDES
48
+ * such errors from the breaker failure count AND from fallback (B1-policy): we
49
+ * wait and fail honestly as `rate_limited`/`upstream_unavailable`, never route
50
+ * around a rate limit onto a mirror/snapshot. Absent (undefined) on a plain 5xx
51
+ * with no Retry-After header — that stays a HARD failure the breaker counts, so
52
+ * absence must NOT be read as `false`-meaning-"honor". The 429 path never sets
53
+ * this flag (it is detected by `kind==="rate_limited"`), keeping the 429 error
54
+ * envelope byte-identical to before this ADR.
55
+ */
56
+ honorRetryAfter?: boolean;
44
57
  };
45
58
  export type ToolResult<T> = {
46
59
  ok: true;
@@ -59,6 +72,19 @@ export declare class ToolErrorCarrier extends Error {
59
72
  * Honors `Retry-After` (both seconds-int and HTTP-date forms).
60
73
  */
61
74
  export declare function errorFromResponse(r: Response, endpoint: string): ToolError;
75
+ /**
76
+ * Does this thrown error carry an EXPLICIT "wait, then fail honestly" signal
77
+ * from the upstream — a 429 (`rate_limited`), or a 5xx that carried a
78
+ * `Retry-After` header (ADR-0045 M2, flagged `honorRetryAfter`)?
79
+ *
80
+ * The resilience layer (circuit breaker + path-chain, datasource.ts) consults
81
+ * this to EXCLUDE such errors from the breaker failure count AND from fallback
82
+ * (ADR-0045 B1-policy): a rate limit / honor-Retry-After outcome must NEVER
83
+ * count as a breaker "hard failure" nor trigger a mirror/snapshot fallback — we
84
+ * wait and fail honestly. This is a POLICY boundary, not a bypass: we honor the
85
+ * upstream's explicit throttle, we do not route around it.
86
+ */
87
+ export declare function isHonorRetryAfter(err: unknown): boolean;
62
88
  /**
63
89
  * Wrap a fetch + json call in retry-with-backoff for transient errors.
64
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,SAAS;AACnB,iDAAiD;AAC/C,cAAc;AAChB,mDAAmD;GACjD,sBAAsB;AACxB,6CAA6C;GAC3C,WAAW;AACb,sEAAsE;GACpE,eAAe;AACjB,oEAAoE;GAClE,cAAc;AAChB,kCAAkC;GAChC,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACrB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAIpC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClB,SAAS,EAAE,SAAS;CAKjC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,QAAQ,EACX,QAAQ,EAAE,MAAM,GACf,SAAS,CAgDX;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,QAAQ,CAAC,CA0CnB;AAcD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CA2BzE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,MAAM,SAAS;AACnB,iDAAiD;AAC/C,cAAc;AAChB,mDAAmD;GACjD,sBAAsB;AACxB,6CAA6C;GAC3C,WAAW;AACb,sEAAsE;GACpE,eAAe;AACjB,oEAAoE;GAClE,cAAc;AAChB,kCAAkC;GAChC,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACrB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAIpC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClB,SAAS,EAAE,SAAS;CAKjC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,QAAQ,EACX,QAAQ,EAAE,MAAM,GACf,SAAS,CA6DX;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAKvD;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,QAAQ,CAAC,CA+DnB;AAcD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CA0CzE"}
package/dist/errors.js CHANGED
@@ -17,6 +17,7 @@
17
17
  * The agent can then decide: retry now, retry later, or surface
18
18
  * the error to the user with appropriate framing.
19
19
  */
20
+ import { ZodError } from "zod";
20
21
  const RATE_LIMIT_DEFAULT_SECONDS = 30;
21
22
  export class ToolErrorCarrier extends Error {
22
23
  toolError;
@@ -54,7 +55,7 @@ export function errorFromResponse(r, endpoint) {
54
55
  };
55
56
  }
56
57
  if (r.status >= 500) {
57
- return {
58
+ const err = {
58
59
  kind: "upstream_unavailable",
59
60
  message: `Upstream server error (HTTP ${r.status}) at ${endpoint}. Try again later.`,
60
61
  retryable: true,
@@ -62,6 +63,19 @@ export function errorFromResponse(r, endpoint) {
62
63
  upstreamStatus,
63
64
  upstreamEndpoint: endpoint,
64
65
  };
66
+ // ADR-0045 M2 — a 5xx MAY carry Retry-After (e.g. a 503 maintenance window).
67
+ // Parse it ONLY when the header is PRESENT (so a plain 5xx is byte-identical
68
+ // to before: retryAfterSeconds:60, no honorRetryAfter key), preserving the
69
+ // `Math.min(...,60)` worst-case cap. The 429 branch above is UNTOUCHED (it
70
+ // already parses Retry-After; re-implementing it is forbidden). Flagging
71
+ // honorRetryAfter lets the resilience layer EXCLUDE this from the breaker /
72
+ // fallback (B1-policy: honor the explicit wait, never route around it).
73
+ const retryAfterHeader = r.headers.get("Retry-After");
74
+ if (retryAfterHeader !== null) {
75
+ err.retryAfterSeconds = Math.min(parseRetryAfter(retryAfterHeader), 60);
76
+ err.honorRetryAfter = true;
77
+ }
78
+ return err;
65
79
  }
66
80
  if (r.status >= 400) {
67
81
  return {
@@ -80,6 +94,26 @@ export function errorFromResponse(r, endpoint) {
80
94
  upstreamEndpoint: endpoint,
81
95
  };
82
96
  }
97
+ /**
98
+ * Does this thrown error carry an EXPLICIT "wait, then fail honestly" signal
99
+ * from the upstream — a 429 (`rate_limited`), or a 5xx that carried a
100
+ * `Retry-After` header (ADR-0045 M2, flagged `honorRetryAfter`)?
101
+ *
102
+ * The resilience layer (circuit breaker + path-chain, datasource.ts) consults
103
+ * this to EXCLUDE such errors from the breaker failure count AND from fallback
104
+ * (ADR-0045 B1-policy): a rate limit / honor-Retry-After outcome must NEVER
105
+ * count as a breaker "hard failure" nor trigger a mirror/snapshot fallback — we
106
+ * wait and fail honestly. This is a POLICY boundary, not a bypass: we honor the
107
+ * upstream's explicit throttle, we do not route around it.
108
+ */
109
+ export function isHonorRetryAfter(err) {
110
+ if (!(err instanceof ToolErrorCarrier))
111
+ return false;
112
+ const te = err.toolError;
113
+ if (te.kind === "rate_limited")
114
+ return true;
115
+ return te.honorRetryAfter === true;
116
+ }
83
117
  /**
84
118
  * Wrap a fetch + json call in retry-with-backoff for transient errors.
85
119
  *
@@ -108,6 +142,25 @@ export async function fetchWithRetry(url, init, endpointLabel) {
108
142
  catch (e) {
109
143
  if (e instanceof ToolErrorCarrier)
110
144
  throw e;
145
+ // A timeout/abort. The caller's AbortSignal.timeout fired (or an
146
+ // already-aborted signal is being reused across attempts). Retrying is
147
+ // futile within this call's budget: the same signal stays aborted, so
148
+ // attempts 2/3 reject immediately without ever reaching the endpoint,
149
+ // and a re-driven tool call just re-hits the same wall. Fail fast,
150
+ // honestly non-retryable. Keyed on the DOMException NAME only —
151
+ // AbortSignal.timeout → "TimeoutError", AbortController.abort() →
152
+ // "AbortError" — which is disjoint from a genuine network fault
153
+ // (TypeError, name "TypeError"), so a real "fetch failed" falls through
154
+ // to the generic retryable branch below UNCHANGED.
155
+ if (e instanceof Error &&
156
+ (e.name === "TimeoutError" || e.name === "AbortError")) {
157
+ throw new ToolErrorCarrier({
158
+ kind: "upstream_unavailable",
159
+ message: `Request to ${endpointLabel} timed out.`,
160
+ retryable: false,
161
+ upstreamEndpoint: endpointLabel,
162
+ });
163
+ }
111
164
  // Network-level error
112
165
  lastErr = {
113
166
  kind: "upstream_unavailable",
@@ -150,6 +203,21 @@ function parseRetryAfter(value) {
150
203
  export function toToolError(e, endpointLabel) {
151
204
  if (e instanceof ToolErrorCarrier)
152
205
  return e.toolError;
206
+ // A Zod input-validation failure is a CALLER error (e.g. limit above the max,
207
+ // a value outside an enum). Classify it as `invalid_input` with a readable
208
+ // field-level message — NEVER a generic `unknown` carrying Zod's raw JSON
209
+ // issue array (which an agent can't act on, and which mislabels a fixable
210
+ // input problem as a mysterious/possibly-transient failure).
211
+ if (e instanceof ZodError) {
212
+ return {
213
+ kind: "invalid_input",
214
+ message: `Invalid input${endpointLabel ? ` for ${endpointLabel}` : ""}: ${e.issues
215
+ .map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`)
216
+ .join("; ")}`,
217
+ retryable: false,
218
+ upstreamEndpoint: endpointLabel,
219
+ };
220
+ }
153
221
  if (e instanceof Error) {
154
222
  const msg = e.message;
155
223
  // Common fetch timeout signature
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/fac.d.ts ADDED
@@ -0,0 +1,180 @@
1
+ /**
2
+ * fac.ts — CMS/GSA Federal Audit Clearinghouse (FAC) Single Audit vetting
3
+ * (ADR-0038). A NEW keyless PostgREST adapter over `api.fac.gov` (fronted by
4
+ * api.data.gov), housing TWO purpose-built audit-RISK vetting tools:
5
+ * - `fac_search_audits` — the `general` table (entity Single Audit summaries)
6
+ * - `fac_get_findings` — the `findings` table (the audit-RISK flags)
7
+ * The B2G unlock: before teaming with / subcontracting to a partner, vet their
8
+ * Single Audit RISK (material weaknesses, questioned costs, repeat findings,
9
+ * modified opinions) — joinable to SAM/USAspending/EDGAR by UEI/EIN. DISTINCT
10
+ * from `src/far.ts` (FAR clause compliance — no filename / gate-key collision).
11
+ *
12
+ * ★ KEYLESS-FIRST via the DEMO_KEY doctrine (the 3rd consumer of `datagovKey.ts`
13
+ * after datagov.ts + govinfo.ts). A bare api.fac.gov request → HTTP 403
14
+ * (API_KEY_MISSING); the SAME request + `X-Api-Key: DEMO_KEY` → 200/206 real
15
+ * data. `keyHeader()` places the secret in the `X-Api-Key` header ONLY (never the
16
+ * URL / label / _meta / a log); `resolvedKey()` falls back to the public literal
17
+ * "DEMO_KEY" when DATA_GOV_API_KEY is unset. `keylessMode:false` (honest — it
18
+ * genuinely sends a key, exactly like datagov.ts/govinfo.ts); `_meta.source`
19
+ * discloses the key-MODE only.
20
+ *
21
+ * R2 consumer — reuses the shared port: `getJsonWithHeaders` (ADR-0038 M1 — the
22
+ * header-exposing sibling of getJson; the EXACT total is a RESPONSE HEADER, not a
23
+ * body field), `driftError` / `throughGate` (datasource.ts), `num`·`str`
24
+ * (coerce.ts), `withMeta` (meta.ts). It writes ZERO bespoke fetch — a hand-rolled
25
+ * fetch inside fac.ts would re-open `redirect:"error"` (a 3xx off api.fac.gov
26
+ * carrying the X-Api-Key to a foreign host = key egress), the hostname/https
27
+ * assert, and `keyHeader()` placement, all of which the shared port keeps
28
+ * structurally present and ADR-0007-K-test-covered.
29
+ *
30
+ * ★ HONESTY (P1–P4; ADR §Q2 + the v2 review):
31
+ * (P1) The EXACT total is the `Content-Range` denominator (a RESPONSE HEADER
32
+ * under `Prefer: count=exact`; 206-on-subset). `parseTotal` takes the
33
+ * substring after the LAST `/`; a run of digits → num() EXACT; a `*`
34
+ * ("count not computed") / non-number / absent header → totalAvailable:null +
35
+ * a page-fullness `hasMore = returned >= limit` hedge + a disclosed note —
36
+ * NEVER 0 (the null-never-0 rule applied to a header).
37
+ * (P2) A genuine `[]` → honest empty (+ the M2 empty-findings note); a body
38
+ * that is not a JSON array → driftError. 400/403/5xx/timeout/off-host-redirect
39
+ * THROW via the port taxonomy (206 = success — `r.ok` covers 200-299). An
40
+ * HTML/non-JSON 200 (r.json() SyntaxError) → reclassified to schema_drift
41
+ * (S1) — never a fake empty.
42
+ * (P3) `total_amount_expended` is a JSON number → num() null-never-0. The `is_*`
43
+ * risk flags are STRINGS "Y"/"N" — surfaced verbatim (str → "Y"/"N"/null) AND
44
+ * mapped to a tri-state `riskFlags` object ("Y"→true / "N"→false / blank /
45
+ * absent / other → null=UNKNOWN). A null flag must NEVER read as false/"no
46
+ * material weakness" (the OFAC/sam_check_exclusions false-CLEAR class).
47
+ * (P4) Filters are server-side + self-policing: each caller filter maps to a
48
+ * KNOWN column + a FIXED operator, value-validated + URLSearchParams-encoded;
49
+ * a valid filter narrows the Content-Range total, a bad column → PostgREST 400
50
+ * → invalid_input. So `filtersDropped` is ALWAYS empty (no silent-drop path).
51
+ *
52
+ * ★ THE PII CRUX (load-bearing — §PII boundary, LIVE-confirmed SOUND): the
53
+ * `select=` is a HARDCODED MODULE CONSTANT allowlist that SURFACES only entity +
54
+ * audit-risk fields and EXCLUDES all 6 personal-contact columns (auditee_email,
55
+ * auditee_phone, auditee_certify_name, auditee_certify_title, auditee_contact_name,
56
+ * auditee_contact_title). PostgREST WILL project auditee_email the instant
57
+ * `select=` names it (live-verified), so the tools accept NO caller-supplied
58
+ * `select`/`order`/free-column param — the inputs are ONLY structured, validated
59
+ * filters. Purpose-built tools bake the allowlist in by construction (the reason
60
+ * v1 rejects a generic `fac_query{select}`). The mapper also picks ONLY the
61
+ * allowlist keys, so even a drifted server that returns an extra column cannot
62
+ * leak it into the output.
63
+ *
64
+ * ★ SSRF: fixed host `api.fac.gov` (single-entry FAC_HOSTS allowlist + a Set.has
65
+ * recheck); the table name is a FIXED per-tool path CONSTANT (`general`/`findings`
66
+ * — never caller free-text); filter values ride URLSearchParams as
67
+ * `col=eq.VALUE`; `redirect:"error"`; a post-construction hostname/https assert.
68
+ */
69
+ import { num } from "./coerce.js";
70
+ import { type MetaBundle } from "./meta.js";
71
+ export { num };
72
+ export declare const FAC_HOSTS: readonly string[];
73
+ export declare const FAC_LABEL: string;
74
+ export declare const GENERAL_SELECT = "report_id,auditee_uei,audit_year,auditee_name,auditee_ein,auditee_state,auditee_city,total_amount_expended,fac_accepted_date";
75
+ export declare const FINDINGS_SELECT = "report_id,auditee_uei,audit_year,award_reference,reference_number,is_material_weakness,is_modified_opinion,is_questioned_costs,is_repeat_finding,is_significant_deficiency,is_other_findings,is_other_matters,type_requirement,prior_finding_ref_numbers";
76
+ /**
77
+ * ★ §PII(d) — the mandatory not-a-determination caveat carried on EVERY response
78
+ * (mirrors OFAC_NOT_DETERMINATION_NOTE / NPPES_NOT_DETERMINATION_NOTE). Kept
79
+ * verbatim so the fault suite can assert it.
80
+ */
81
+ export declare const FAC_NOT_DETERMINATION_NOTE = "Public Single Audit data (Federal Audit Clearinghouse; 2 CFR 200 Subpart F / Single Audit Act). Reports the independent auditor's findings, opinions, and questioned costs AS SUBMITTED \u2014 it is NOT a debarment, suspension, exclusion, or fitness determination, and an audit finding is the auditor's opinion, not proof of wrongdoing (many findings are routine and remediated). This tool DELIBERATELY EXCLUDES the auditee's personal-contact fields (email / phone / certifying-official name) \u2014 the vetting subject is the entity, not the individual. Cross-check SAM exclusions + OFAC and read the specific finding text before acting.";
82
+ /** ★ P3 — the risk-flag typing disclosure carried on EVERY fac_get_findings response. */
83
+ export declare const FAC_VALUE_TYPING_NOTE = "Risk flags (is_material_weakness, is_modified_opinion, is_questioned_costs, is_repeat_finding, is_significant_deficiency, is_other_findings, is_other_matters) are surfaced VERBATIM as the auditor reported them (\"Y\"/\"N\") plus a typed riskFlags tri-state; a blank/absent flag is UNKNOWN (null), NOT a \"no\" \u2014 never read a null flag as 'no finding'.";
84
+ /** ★ M2 — the empty-findings ≠ clean-audit disclosure (any totalAvailable:0 / empty findings). */
85
+ export declare const FAC_EMPTY_FINDINGS_NOTE = "An empty findings list means NO findings are ON RECORD for this UEI/report \u2014 it does NOT confirm a clean audit. The entity may not have filed a Single Audit (below the $750K threshold), the audit may predate FAC coverage, or the UEI may be wrong. Confirm the entity has an ACCEPTED audit via fac_search_audits before treating empty as clean.";
86
+ /**
87
+ * Parse the EXACT total from `Content-Range: <start>-<end>/<TOTAL>` — take the
88
+ * substring after the LAST `/` and `num()` it. A run of digits → the EXACT total
89
+ * (`0` denominator → 0, a genuine-empty total); a `*` (PostgREST "count not
90
+ * computed") / non-number / absent header → null (NEVER 0 — the null-never-0 rule
91
+ * on a header). Exported for the Content-Range-matrix fault fixture.
92
+ */
93
+ export declare function parseTotal(contentRange: string | null): number | null;
94
+ /**
95
+ * Map an FAC risk flag to an HONEST tri-state: "Y" → true, "N" → false, and a
96
+ * null / blank / absent / any-other value → null (UNKNOWN — NEVER false). A null
97
+ * `is_material_weakness` silently read as "no material weakness" is the false-CLEAR
98
+ * class OFAC/sam_check_exclusions forbid. Exported for the flag-type fault fixture.
99
+ */
100
+ export declare function flagTri(v: unknown): boolean | null;
101
+ export type FacAudit = {
102
+ report_id: string | null;
103
+ auditee_uei: string | null;
104
+ audit_year: string | null;
105
+ auditee_name: string | null;
106
+ auditee_ein: string | null;
107
+ auditee_state: string | null;
108
+ auditee_city: string | null;
109
+ total_amount_expended: number | null;
110
+ fac_accepted_date: string | null;
111
+ };
112
+ export type FacFinding = {
113
+ report_id: string | null;
114
+ auditee_uei: string | null;
115
+ audit_year: string | null;
116
+ award_reference: string | null;
117
+ reference_number: string | null;
118
+ is_material_weakness: string | null;
119
+ is_modified_opinion: string | null;
120
+ is_questioned_costs: string | null;
121
+ is_repeat_finding: string | null;
122
+ is_significant_deficiency: string | null;
123
+ is_other_findings: string | null;
124
+ is_other_matters: string | null;
125
+ type_requirement: string | null;
126
+ prior_finding_ref_numbers: string | null;
127
+ riskFlags: {
128
+ materialWeakness: boolean | null;
129
+ modifiedOpinion: boolean | null;
130
+ questionedCosts: boolean | null;
131
+ repeatFinding: boolean | null;
132
+ significantDeficiency: boolean | null;
133
+ otherFindings: boolean | null;
134
+ otherMatters: boolean | null;
135
+ };
136
+ };
137
+ /**
138
+ * Search entity Single Audit summaries (`/general`). Structured filters (all
139
+ * optional, AND-combined): `auditeeUei` (^[A-Z0-9]{12}$), `auditeeState`
140
+ * (^[A-Z]{2}$), `auditYear` (int), `totalExpendedMin`/`totalExpendedMax` (finite
141
+ * → gte/lte on total_amount_expended). Plus `limit` (1..100, def 25) / `offset`.
142
+ * The `select=` is the HARDCODED GENERAL_SELECT allowlist (NO personal-contact
143
+ * columns; NO caller column param). Order is the fixed GENERAL_ORDER.
144
+ *
145
+ * HONESTY: totalAvailable is the EXACT Content-Range denominator (P1; a `*`/
146
+ * absent/non-numeric → null + a page-fullness hedge, never 0); a bad column ⇒
147
+ * PostgREST 400 ⇒ invalid_input (filtersDropped always empty, P4); a genuine `[]`
148
+ * ⇒ honest empty; 400/403/5xx/timeout/HTML(SyntaxError)/non-array THROW (P2, 206 =
149
+ * success). The FAC_NOT_DETERMINATION_NOTE rides every response.
150
+ */
151
+ export declare function searchAudits(args: {
152
+ auditeeUei?: string;
153
+ auditeeState?: string;
154
+ auditYear?: number;
155
+ totalExpendedMin?: number;
156
+ totalExpendedMax?: number;
157
+ limit?: number;
158
+ offset?: number;
159
+ }): Promise<MetaBundle>;
160
+ /**
161
+ * Drill into the audit-RISK findings (`/findings`) for a UEI and/or report. At
162
+ * least ONE of `auditeeUei` (^[A-Z0-9]{12}$) / `reportId` (^[0-9A-Za-z-]+$) is
163
+ * REQUIRED (empty → invalid_input, never a no-op full-table scan). Optional
164
+ * `auditYear` (int), `limit` (1..100, def 50), `offset`. The `select=` is the
165
+ * HARDCODED FINDINGS_SELECT allowlist (NO caller column param). Order is fixed.
166
+ *
167
+ * HONESTY: EXACT Content-Range total (P1); risk flags "Y"/"N" verbatim + the tri-
168
+ * state riskFlags (P3, null-is-UNKNOWN); a bad column ⇒ 400 ⇒ invalid_input (P4);
169
+ * 400/403/5xx/timeout/HTML/non-array THROW (P2); a genuine empty ⇒ honest empty +
170
+ * the ★M2 empty≠clean note. FAC_NOT_DETERMINATION_NOTE + FAC_VALUE_TYPING_NOTE
171
+ * ride every response.
172
+ */
173
+ export declare function getFindings(args: {
174
+ auditeeUei?: string;
175
+ reportId?: string;
176
+ auditYear?: number;
177
+ limit?: number;
178
+ offset?: number;
179
+ }): Promise<MetaBundle>;
180
+ //# sourceMappingURL=fac.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fac.d.ts","sourceRoot":"","sources":["../src/fac.ts"],"names":[],"mappings":"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"}