@cliwant/mcp-sam-gov 1.4.0 → 1.5.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 (82) hide show
  1. package/README.ja.md +11 -11
  2. package/README.ko.md +11 -11
  3. package/README.md +21 -13
  4. package/dist/cbp-border.d.ts +51 -0
  5. package/dist/cbp-border.d.ts.map +1 -0
  6. package/dist/cbp-border.js +123 -0
  7. package/dist/cbp-border.js.map +1 -0
  8. package/dist/datagov-catalog.d.ts.map +1 -1
  9. package/dist/datagov-catalog.js +16 -2
  10. package/dist/datagov-catalog.js.map +1 -1
  11. package/dist/ecfr.d.ts +2 -2
  12. package/dist/ecfr.d.ts.map +1 -1
  13. package/dist/ecfr.js +24 -10
  14. package/dist/ecfr.js.map +1 -1
  15. package/dist/edgar.d.ts.map +1 -1
  16. package/dist/edgar.js +26 -6
  17. package/dist/edgar.js.map +1 -1
  18. package/dist/epa-envirofacts.d.ts.map +1 -1
  19. package/dist/epa-envirofacts.js +14 -1
  20. package/dist/epa-envirofacts.js.map +1 -1
  21. package/dist/errors.d.ts.map +1 -1
  22. package/dist/errors.js +11 -0
  23. package/dist/errors.js.map +1 -1
  24. package/dist/far.d.ts.map +1 -1
  25. package/dist/far.js +3 -1
  26. package/dist/far.js.map +1 -1
  27. package/dist/federal-register.d.ts +2 -2
  28. package/dist/federal-register.d.ts.map +1 -1
  29. package/dist/federal-register.js +26 -10
  30. package/dist/federal-register.js.map +1 -1
  31. package/dist/fema.d.ts +36 -0
  32. package/dist/fema.d.ts.map +1 -1
  33. package/dist/fema.js +124 -0
  34. package/dist/fema.js.map +1 -1
  35. package/dist/gov-domains.d.ts +66 -0
  36. package/dist/gov-domains.d.ts.map +1 -0
  37. package/dist/gov-domains.js +211 -0
  38. package/dist/gov-domains.js.map +1 -0
  39. package/dist/nist-controls.d.ts +48 -0
  40. package/dist/nist-controls.d.ts.map +1 -0
  41. package/dist/nist-controls.js +174 -0
  42. package/dist/nist-controls.js.map +1 -0
  43. package/dist/nws-weather.d.ts +57 -0
  44. package/dist/nws-weather.d.ts.map +1 -0
  45. package/dist/nws-weather.js +131 -0
  46. package/dist/nws-weather.js.map +1 -0
  47. package/dist/openfda-drugsfda.d.ts +72 -0
  48. package/dist/openfda-drugsfda.d.ts.map +1 -0
  49. package/dist/openfda-drugsfda.js +230 -0
  50. package/dist/openfda-drugsfda.js.map +1 -0
  51. package/dist/openfda.d.ts.map +1 -1
  52. package/dist/openfda.js +31 -8
  53. package/dist/openfda.js.map +1 -1
  54. package/dist/server.d.ts.map +1 -1
  55. package/dist/server.js +331 -10
  56. package/dist/server.js.map +1 -1
  57. package/dist/treasury.d.ts +2 -0
  58. package/dist/treasury.d.ts.map +1 -1
  59. package/dist/treasury.js +7 -0
  60. package/dist/treasury.js.map +1 -1
  61. package/dist/usaspending.d.ts +32 -1
  62. package/dist/usaspending.d.ts.map +1 -1
  63. package/dist/usaspending.js +143 -16
  64. package/dist/usaspending.js.map +1 -1
  65. package/package.json +2 -2
  66. package/src/cbp-border.ts +177 -0
  67. package/src/datagov-catalog.ts +18 -2
  68. package/src/ecfr.ts +27 -10
  69. package/src/edgar.ts +39 -7
  70. package/src/epa-envirofacts.ts +17 -1
  71. package/src/errors.ts +11 -0
  72. package/src/far.ts +3 -1
  73. package/src/federal-register.ts +29 -10
  74. package/src/fema.ts +139 -0
  75. package/src/gov-domains.ts +237 -0
  76. package/src/nist-controls.ts +219 -0
  77. package/src/nws-weather.ts +167 -0
  78. package/src/openfda-drugsfda.ts +313 -0
  79. package/src/openfda.ts +30 -7
  80. package/src/server.ts +352 -10
  81. package/src/treasury.ts +7 -0
  82. package/src/usaspending.ts +189 -17
@@ -50,6 +50,8 @@ export declare const TREASURY_DATASETS: {
50
50
  readonly mts_table_1: "/v1/accounting/mts/mts_table_1";
51
51
  readonly rates_of_exchange: "/v1/accounting/od/rates_of_exchange";
52
52
  readonly debt_outstanding: "/v2/accounting/od/debt_outstanding";
53
+ readonly interest_expense: "/v2/accounting/od/interest_expense";
54
+ readonly tror: "/v2/debt/tror";
53
55
  };
54
56
  export type TreasuryDatasetKey = keyof typeof TREASURY_DATASETS;
55
57
  export type TreasuryValue = string | number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"treasury.d.ts","sourceRoot":"","sources":["../src/treasury.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treasury.d.ts","sourceRoot":"","sources":["../src/treasury.ts"],"names":[],"mappings":"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"}
package/dist/treasury.js CHANGED
@@ -69,6 +69,13 @@ export const TREASURY_DATASETS = {
69
69
  mts_table_1: "/v1/accounting/mts/mts_table_1",
70
70
  rates_of_exchange: "/v1/accounting/od/rates_of_exchange",
71
71
  debt_outstanding: "/v2/accounting/od/debt_outstanding",
72
+ // interest_expense = ACTUAL interest PAID on the debt (debt-service cost by
73
+ // security type), distinct from avg_interest_rates (rates only). LIVE-VERIFIED
74
+ // 2026-07-16 (total-count 7245, truthful pagination). tror = the Treasury Report
75
+ // on Receivables — federal receivables + delinquent-debt collections BY AGENCY
76
+ // (debt-collection contracting / agency financial-management signal; total 3953).
77
+ interest_expense: "/v2/accounting/od/interest_expense",
78
+ tror: "/v2/debt/tror",
72
79
  };
73
80
  // ─── HONESTY-CRITICAL coercions (F1/F2/F3) ────────────────────────
74
81
  // `num`/`str` are the shared, audited null-never-0 coercions in ./coerce.js
@@ -1 +1 @@
1
- {"version":3,"file":"treasury.js","sourceRoot":"","sources":["../src/treasury.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treasury.js","sourceRoot":"","sources":["../src/treasury.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,GAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAsC,MAAM,WAAW,CAAC;AAEzE,0EAA0E;AAC1E,+EAA+E;AAC/E,0DAA0D;AAC1D,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,MAAM,IAAI,GACR,iEAAiE,CAAC;AAEpE,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,6EAA6E;AAC7E,wEAAwE;AACxE,oCAAoC;AACpC,MAAM,aAAa,GAAG,6BAA6B,CAAC;AACpD,IAAI,eAAe,GAAG,IAAI,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,6BAA6B;IAC3C,eAAe,GAAG,IAAI,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,qEAAqE;AACrE,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa,EAAE,iCAAiC;IAChD,kBAAkB,EAAE,sCAAsC;IAC1D,WAAW,EAAE,gCAAgC;IAC7C,iBAAiB,EAAE,qCAAqC;IACxD,gBAAgB,EAAE,oCAAoC;IACtD,4EAA4E;IAC5E,+EAA+E;IAC/E,iFAAiF;IACjF,+EAA+E;IAC/E,kFAAkF;IAClF,gBAAgB,EAAE,oCAAoC;IACtD,IAAI,EAAE,eAAe;CACb,CAAC;AAwCX,qEAAqE;AACrE,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,mEAAmE;AAEnE,qEAAqE;AACrE;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,KAAoB,EACpB,WAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC;IACjC,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,QAAQ,GAA0C;QACtD,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;QAChC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAwB,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC;KAC1D,CAAC;IACF,2EAA2E;IAC3E,oEAAoE;IACpE,+EAA+E;IAC/E,8EAA8E;IAC9E,sEAAsE;IACtE,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,YAAY,CAAwB,WAAW,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,gBAAgB,CAEtD,KAAK,EAAE,eAAe,CAAC,CAAC;IAC1B,+EAA+E;IAC/E,4EAA4E;IAC5E,gCAAgC;IAChC,IACE,CAAC,GAAG;QACJ,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,GAAG,CAAC,IAAI,KAAK,IAAI;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ;QAC3C,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,CAAC;QACD,MAAM,UAAU,CACd,KAAK,EACL,YAAY,IAAI,kGAAkG,CACnH,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED,qEAAqE;AACrE,MAAM,oBAAoB,GACxB,oOAAoO,CAAC;AAEvO;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAiBrB;IACC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,CAAC;IACnD,MAAM,IAAI,GAA0B;QAClC,MAAM,EAAE,yCAAyC,IAAI,CAAC,IAAI,EAAE;QAC5D,WAAW,EAAE,IAAI;QACjB,QAAQ;QACR,cAAc;QACd,UAAU,EAAE;YACV,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,OAAO;YACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI;SAC/C;QACD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE;QACzC,cAAc,EAAE,EAAE;QAClB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;QAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;IACF,6EAA6E;IAC7E,0EAA0E;IAC1E,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,SAAkB,EAAE,OAAgB;IACvD,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,IAAI,SAAS;QAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;IACtD,IAAI,OAAO;QAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,OAAO,OAAO,CAAC,uBAAuB,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;YACtC,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AACrE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAOlC;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;QACR,UAAU;KACX,CAAC,CAAC;IACH,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM;QAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM;QAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,QAAQ,CACb,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAC/C,YAAY,CAAC;QACX,GAAG;QACH,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,cAAc;QACd,UAAU;QACV,KAAK,EAAE;YACL,8LAA8L;SAC/L;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,oBAAoB,GACxB,yEAAyE,CAAC;AAE5E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAMjC;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM;QACnB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACrE,+EAA+E;IAC/E,6EAA6E;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAC3C,IAAI,EACJ;QACE,MAAM,EAAE,oBAAoB;QAC5B,MAAM;QACN,IAAI,EAAE,cAAc;QACpB,QAAQ;QACR,UAAU;KACX,EACD,WAAW,CACZ,CAAC;IACF,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9B,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC;YACvD,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC7C,yBAAyB,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;SACpD,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;QAAE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnF,OAAO,QAAQ,CACb,IAAI,EACJ,YAAY,CAAC;QACX,GAAG;QACH,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,cAAc;QACd,UAAU;QACV,KAAK,EAAE;YACL,MAAM;gBACJ,CAAC,CAAC,qEAAqE;gBACvE,CAAC,CAAC,gEAAgE;YACpE,oBAAoB;SACrB;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,GACd,+IAA+I,CAAC;AAElJ;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAMtC;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;IACtC,uEAAuE;IACvE,MAAM,SAAS,GACb,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;QAClD,MAAM,EAAE,UAAU;QAClB,MAAM;QACN,IAAI,EAAE,4BAA4B;QAClC,QAAQ;QACR,UAAU;KACX,CAAC,CAAC;IACH,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9B,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC1C,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC;YAClD,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,6BAA6B,CAAC;YAClD,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC;SAClD,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO;QAAE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjE,IAAI,cAAc;QAAE,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAa;QACtB,cAAc;YACZ,CAAC,CAAC,mRAAmR;YACrR,CAAC,CAAC,6KAA6K;QACjL,oBAAoB;KACrB,CAAC;IACF,OAAO,QAAQ,CACb,IAAI,EACJ,YAAY,CAAC;QACX,GAAG;QACH,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,cAAc;QACd,KAAK;QACL,UAAU;KACX,CAAC,CACH,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,mBAAmB,GACvB,oEAAoE,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAOtC;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,sCAAsC,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC;QAC7E,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,qBAAqB,CAAC;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG;QAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;QAChC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,YAAqB;IAErB,MAAM,IAAI,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,qBAAqB,CAAC;QAC3B,YAAY;QACZ,SAAS,EAAE,OAAO,IAAI,SAAS;QAC/B,OAAO,EAAE,OAAO,IAAI,SAAS;QAC7B,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAQpC;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;QAClD,MAAM,EAAE,mBAAmB;QAC3B,MAAM;QACN,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9B,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACvC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;YACzC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC;SACrD,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;QAAE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,YAAY;QAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,UAAU;YACb,CAAC,CAAC,uDAAuD,IAAI,CAAC,UAAU,sCAAsC;YAC9G,CAAC,CAAC,yFAAyF,CAC9F,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,OAAO,QAAQ,CACb,IAAI,EACJ,YAAY,CAAC;QACX,GAAG;QACH,IAAI;QACJ,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc;QACd,KAAK;QACL,UAAU;KACX,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -104,7 +104,7 @@ export declare function searchAwardsByRecipient(args: {
104
104
  totalRecords: number | null;
105
105
  }>>;
106
106
  export declare function searchSubawards(args: {
107
- primeRecipientName?: string;
107
+ subRecipientName?: string;
108
108
  agency?: string;
109
109
  naics?: string;
110
110
  fiscalYear?: number;
@@ -549,6 +549,37 @@ export declare function glossary(args: {
549
549
  definition: string;
550
550
  }[];
551
551
  }>>;
552
+ /**
553
+ * List the Disaster Emergency Fund Codes (DEFC) — the supplemental-appropriation
554
+ * tags (COVID-19 relief, IIJA/infrastructure, and other emergency laws) that
555
+ * usas_disaster_spending filters on. GET references/def_codes/ (keyless). Returns the
556
+ * COMPLETE code set (no pagination), each with `group` ('covid_19' | 'infrastructure'
557
+ * | null), title, and public law. Discovery front-door for usas_disaster_spending.
558
+ */
559
+ export declare function listDisasterCodes(): Promise<MetaBundle<{
560
+ codes: {
561
+ code: string;
562
+ group: string | null;
563
+ title: string;
564
+ publicLaw: string | null;
565
+ }[];
566
+ }>>;
567
+ /**
568
+ * Disaster / emergency-fund spending BY GEOGRAPHY — obligations or outlays tagged to
569
+ * one or more Disaster Emergency Fund Codes (DEFC: COVID-19, IIJA, etc.), broken out
570
+ * per state / county / congressional district. POST disaster/spending_by_geography/
571
+ * (keyless). Answers "which geographies captured COVID/IIJA relief money" — a
572
+ * distinct axis the standard award search does not expose. `defCodes` REQUIRED
573
+ * (discover them via usas_list_disaster_codes). The geography endpoint returns the
574
+ * COMPLETE set of geo units (no pagination) ⇒ totalAvailable = returned, complete.
575
+ * amount/perCapita are number|null (a real 0 stays 0 — some DEFCs report $0
576
+ * obligations with a nonzero awardCount; absent → null, never a fabricated 0).
577
+ */
578
+ export declare function disasterSpending(args: {
579
+ defCodes: string[];
580
+ spendingType?: "obligation" | "outlay";
581
+ geoLayer?: "state" | "county" | "district";
582
+ }): Promise<MetaBundle>;
552
583
  export declare function listToptierAgencies(args: {
553
584
  limit?: number;
554
585
  }): Promise<MetaBundle<{
@@ -1 +1 @@
1
- {"version":3,"file":"usaspending.d.ts","sourceRoot":"","sources":["../src/usaspending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usaspending.d.ts","sourceRoot":"","sources":["../src/usaspending.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,30 @@
35
35
  * Total: 22 endpoints across the USAspending surface, all keyless.
36
36
  */
37
37
  const USAS = "https://api.usaspending.gov/api/v2";
38
+ /**
39
+ * Build the awarding-agency filter for spending_by_category / spending_by_award —
40
+ * ALWAYS a canonical NAME match. A purely-numeric value is a toptier CODE (e.g.
41
+ * "036"), which the sibling code-based tools (usas_get_agency_profile /
42
+ * usas_get_agency_budget_function) take but which silently matches NOTHING here —
43
+ * returning a confidently-wrong empty (e.g. "VA had $0 subagency spending" when VA
44
+ * actually has $66.87B). Fail loud instead of faking a zero (dogfooding 2026-07-16;
45
+ * same confidently-wrong-empty class as the subaward drift). No real agency NAME is
46
+ * purely numeric, so the /^\d+$/ test never rejects a legitimate name.
47
+ */
48
+ function awardingAgencyFilter(agency) {
49
+ if (/^\d+$/.test(agency.trim())) {
50
+ throw new ToolErrorCarrier({
51
+ kind: "invalid_input",
52
+ retryable: false,
53
+ message: `agency ${JSON.stringify(agency)} looks like a toptier CODE, but this filter matches the canonical agency NAME (e.g. "Department of Veterans Affairs") — a code silently matches nothing here and would return a false empty. Resolve the name via usas_lookup_agency or usas_list_toptier_agencies, or use a code-based tool (usas_get_agency_profile / usas_get_agency_budget_function) that takes a toptierCode.`,
54
+ });
55
+ }
56
+ return [{ type: "awarding", tier: "toptier", name: agency }];
57
+ }
38
58
  function buildFilters(args) {
39
59
  const filters = { award_type_codes: ["A", "B", "C", "D"] };
40
60
  if (args.agency) {
41
- filters.agencies = [
42
- { type: "awarding", tier: "toptier", name: args.agency },
43
- ];
61
+ filters.agencies = awardingAgencyFilter(args.agency);
44
62
  }
45
63
  if (args.naics)
46
64
  filters.naics_codes = [args.naics];
@@ -138,6 +156,17 @@ function categoryAggregateMeta(opts) {
138
156
  if (truncated) {
139
157
  notes.push(`Capped at the top ${opts.limit} categories by amount; more categories may exist. This endpoint reports no grand total, so the true number of categories is unknown (totalAvailable is null, NOT the returned count). These extra categories are NOT page-reachable — all six callers post page:1 with NO offset/page input (nextOffset is null). Raise limit (up to 50) or narrow filters to see the rest.`);
140
158
  }
159
+ // Confidently-wrong-empty guard (dogfooding 2026-07-16): a SET agency filter that
160
+ // yields ZERO rows is ambiguous — a genuine zero OR a NAME that didn't match the
161
+ // exact canonical toptier name (an abbreviation / mis-case / partial / typo
162
+ // silently matches nothing on this NAME filter, so "$0" reads as authoritative
163
+ // when the name simply missed). Disclose the ambiguity. (A numeric CODE is already
164
+ // loud-failed by awardingAgencyFilter; this catches the wrong-NAME residual.)
165
+ const agencyFilterSet = Array.isArray(opts.filters?.agencies) &&
166
+ ((opts.filters.agencies?.length ?? 0) > 0);
167
+ if (agencyFilterSet && opts.returned === 0) {
168
+ notes.push(`The agency filter matched NO records. This filter requires the EXACT canonical toptier agency NAME (e.g. "Department of Veterans Affairs"): an abbreviation, mis-cased, partial, or mistyped name silently matches nothing here. Verify the exact name via usas_list_toptier_agencies or usas_lookup_agency. If the name is correct, this is a genuine zero for this slice.`);
169
+ }
141
170
  if (opts.extraNotes)
142
171
  notes.push(...opts.extraNotes);
143
172
  return {
@@ -510,8 +539,11 @@ export async function searchAwardsByRecipient(args) {
510
539
  // ─── Subaward enumeration ─────────────────────────────────────────
511
540
  export async function searchSubawards(args) {
512
541
  const filters = buildFilters(args);
513
- if (args.primeRecipientName) {
514
- filters.recipient_search_text = [args.primeRecipientName];
542
+ // recipient_search_text on a subawards spending_by_award search matches the
543
+ // SUBAWARDEE name (live-verified 2026-07-16), so this param is subRecipientName —
544
+ // NOT a prime filter (the old `primeRecipientName` name was inverted).
545
+ if (args.subRecipientName) {
546
+ filters.recipient_search_text = [args.subRecipientName];
515
547
  }
516
548
  const limit = args.limit ?? 15;
517
549
  // A3 (spec §1.2, §3.2): the OLD code requested "Sub-Award NAICS", which is
@@ -525,6 +557,13 @@ export async function searchSubawards(args) {
525
557
  filters,
526
558
  fields: [
527
559
  "Sub-Award ID",
560
+ // DRIFT FIX (dogfooding 2026-07-15): USAspending's spending_by_award now
561
+ // returns the subawardee under "Sub-Awardee Name"; the legacy
562
+ // "Sub-Award Recipient" field is still echoed but is ALWAYS null. Request
563
+ // BOTH and prefer the live one (the endpoint echoes an unknown field as
564
+ // null, so requesting both is safe). Without this, every subRecipient was
565
+ // silently null — the supply-chain/teaming lane could not name any sub.
566
+ "Sub-Awardee Name",
528
567
  "Sub-Award Recipient",
529
568
  "Sub-Award Amount",
530
569
  "Sub-Award Date",
@@ -540,13 +579,12 @@ export async function searchSubawards(args) {
540
579
  const data = {
541
580
  subawards: results.map((r) => ({
542
581
  subAwardId: r["Sub-Award ID"] ?? "",
543
- // minor m2 (W3-1 honesty): an ABSENT Sub-Award Recipient → null, NOT a
544
- // fabricated "(name redacted)". The old sentinel asserted a specific PRIVACY
545
- // reason on ANY nullish value (schema gap / null echo / genuine redaction
546
- // alike) — internally inconsistent with the null-never-fabricate discipline
547
- // this same function applies to `amount` below. Honest null; the caller
548
- // reads absence, not an invented redaction cause.
549
- subRecipient: r["Sub-Award Recipient"] ?? null,
582
+ // The subawardee name — read from the CURRENT field "Sub-Awardee Name",
583
+ // falling back to the legacy "Sub-Award Recipient" (now always null upstream).
584
+ // A genuinely absent name in BOTH ⇒ null (honest absence, never a fabricated
585
+ // "(name redacted)" — consistent with the null-never-fabricate discipline
586
+ // `amount` uses below).
587
+ subRecipient: r["Sub-Awardee Name"] ?? r["Sub-Award Recipient"] ?? null,
550
588
  // F2 (P3 null-never-0): an ABSENT Sub-Award Amount → null, NEVER a
551
589
  // fabricated $0. A genuine 0 still survives (`??` fires only on null).
552
590
  amount: r["Sub-Award Amount"] ?? null,
@@ -1031,7 +1069,7 @@ export async function searchRecompetes(args) {
1031
1069
  const filtersApplied = ["awardType(contracts A/B/C/D)"];
1032
1070
  const filtersDropped = [];
1033
1071
  if (args.agency) {
1034
- filters.agencies = [{ type: "awarding", tier: "toptier", name: args.agency }];
1072
+ filters.agencies = awardingAgencyFilter(args.agency);
1035
1073
  filtersApplied.push("agency");
1036
1074
  }
1037
1075
  if (args.naics) {
@@ -1325,6 +1363,16 @@ export async function spendingOverTime(args) {
1325
1363
  if (group !== "fiscal_year") {
1326
1364
  notes.push(`Completeness for group='${group}': this endpoint returns no pagination envelope, and no-truncation is verified only for fiscal_year granularity — a very long ${group} series could in principle be capped server-side without a signal. Confirm the span (${spanStart ?? "?"} … ${spanEnd ?? "?"}) covers your expected range.`);
1327
1365
  }
1366
+ // Confidently-wrong-empty guard (dogfooding 2026-07-16): a SET agency filter that
1367
+ // yields an ALL-ZERO timeline is ambiguous — a genuine zero OR a NAME that missed
1368
+ // the exact canonical toptier name (an abbreviation / mis-case / typo silently
1369
+ // matches nothing, producing a false "$0 every period" that reads as authoritative
1370
+ // "this agency never spent on X"). Disclose it. (A numeric CODE is already
1371
+ // loud-failed by awardingAgencyFilter; this catches the wrong-NAME residual.)
1372
+ if (args.agency &&
1373
+ (timeline.length === 0 || timeline.every((t) => t.total === 0))) {
1374
+ notes.push(`The agency filter produced an ALL-ZERO timeline. This filter requires the EXACT canonical toptier agency NAME (e.g. "Department of Veterans Affairs"): an abbreviation, mis-cased, partial, or mistyped name silently matches nothing, yielding a false "$0 in every period". Verify the exact name via usas_list_toptier_agencies or usas_lookup_agency. If the name is correct, the agency genuinely had no CONTRACT obligations in this span.`);
1375
+ }
1328
1376
  return withMeta({ group: json.group ?? group, timeline }, {
1329
1377
  source: SPENDING_OVER_TIME_SOURCE,
1330
1378
  keylessMode: true,
@@ -1392,9 +1440,7 @@ export async function searchCfdaSpending(args) {
1392
1440
  award_type_codes: ["02", "03", "04", "05"], // grants
1393
1441
  };
1394
1442
  if (args.agency) {
1395
- filters.agencies = [
1396
- { type: "awarding", tier: "toptier", name: args.agency },
1397
- ];
1443
+ filters.agencies = awardingAgencyFilter(args.agency);
1398
1444
  }
1399
1445
  if (args.fiscalYear) {
1400
1446
  filters.time_period = [
@@ -1948,6 +1994,87 @@ export async function glossary(args) {
1948
1994
  });
1949
1995
  });
1950
1996
  }
1997
+ // ─── Disaster / emergency-fund spending (DEFC axis) ───────────────
1998
+ /**
1999
+ * List the Disaster Emergency Fund Codes (DEFC) — the supplemental-appropriation
2000
+ * tags (COVID-19 relief, IIJA/infrastructure, and other emergency laws) that
2001
+ * usas_disaster_spending filters on. GET references/def_codes/ (keyless). Returns the
2002
+ * COMPLETE code set (no pagination), each with `group` ('covid_19' | 'infrastructure'
2003
+ * | null), title, and public law. Discovery front-door for usas_disaster_spending.
2004
+ */
2005
+ export async function listDisasterCodes() {
2006
+ return memoize("usas:def_codes", async () => {
2007
+ const json = await getUsas("references/def_codes/");
2008
+ const results = json.codes ?? [];
2009
+ const codes = results.map((c) => ({
2010
+ code: c.code ?? "",
2011
+ // The supplemental-law GROUP: 'covid_19' (COVID relief), 'infrastructure'
2012
+ // (IIJA), or null (other emergency appropriations). NOT fabricated when absent.
2013
+ group: c.disaster ?? null,
2014
+ title: c.title ?? "",
2015
+ publicLaw: typeof c.public_law === "string" ? c.public_law : null,
2016
+ }));
2017
+ return withMeta({ codes }, referenceMeta({
2018
+ source: "usaspending.gov/api/v2 references/def_codes",
2019
+ returned: codes.length,
2020
+ limit: codes.length,
2021
+ totalAvailable: codes.length,
2022
+ // The endpoint takes no `limit` and returns the COMPLETE DEFC set → complete.
2023
+ limitHonored: false,
2024
+ extraNotes: [
2025
+ "Complete list of Disaster Emergency Fund Codes (DEFC). group 'covid_19' = COVID-19 relief appropriations; 'infrastructure' = IIJA (Infrastructure Investment and Jobs Act); null = other supplemental/emergency appropriations. Pass one or more `code` values to usas_disaster_spending's `defCodes` to see spending tagged to those funds.",
2026
+ ],
2027
+ }));
2028
+ });
2029
+ }
2030
+ /**
2031
+ * Disaster / emergency-fund spending BY GEOGRAPHY — obligations or outlays tagged to
2032
+ * one or more Disaster Emergency Fund Codes (DEFC: COVID-19, IIJA, etc.), broken out
2033
+ * per state / county / congressional district. POST disaster/spending_by_geography/
2034
+ * (keyless). Answers "which geographies captured COVID/IIJA relief money" — a
2035
+ * distinct axis the standard award search does not expose. `defCodes` REQUIRED
2036
+ * (discover them via usas_list_disaster_codes). The geography endpoint returns the
2037
+ * COMPLETE set of geo units (no pagination) ⇒ totalAvailable = returned, complete.
2038
+ * amount/perCapita are number|null (a real 0 stays 0 — some DEFCs report $0
2039
+ * obligations with a nonzero awardCount; absent → null, never a fabricated 0).
2040
+ */
2041
+ export async function disasterSpending(args) {
2042
+ const spendingType = args.spendingType ?? "obligation";
2043
+ const geoLayer = args.geoLayer ?? "state";
2044
+ const json = await postUsas("disaster/spending_by_geography/", {
2045
+ filter: { def_codes: args.defCodes },
2046
+ spending_type: spendingType,
2047
+ geo_layer: geoLayer,
2048
+ });
2049
+ const results = json.results ?? [];
2050
+ // null-never-0: a real 0 (a DEFC that obligated nothing in that geo) stays 0; an
2051
+ // absent/non-number amount is null (never a fabricated 0).
2052
+ const nn = (v) => (typeof v === "number" ? v : null);
2053
+ const geographies = results.map((r) => ({
2054
+ name: r.display_name ?? "",
2055
+ code: r.shape_code ?? null,
2056
+ amount: nn(r.amount),
2057
+ awardCount: nn(r.award_count),
2058
+ population: nn(r.population),
2059
+ perCapita: nn(r.per_capita),
2060
+ }));
2061
+ return withMeta({ spendingType, geoLayer, defCodes: args.defCodes, geographies }, {
2062
+ source: "usaspending.gov/api/v2 disaster/spending_by_geography",
2063
+ keylessMode: true,
2064
+ returned: geographies.length,
2065
+ // The endpoint returns EVERY geo unit for the layer (no cursor/paging) → the
2066
+ // returned set IS complete; totalAvailable = returned, never a fabricated cap.
2067
+ totalAvailable: geographies.length,
2068
+ truncated: false,
2069
+ filtersApplied: ["defCodes", "spendingType", "geoLayer"],
2070
+ filtersDropped: [],
2071
+ notes: [
2072
+ "Spending tagged to the given Disaster Emergency Fund Codes (DEFC), per geography. amount/perCapita are number|null (a real 0 stays 0; absent → null).",
2073
+ "obligation vs outlay differ: some DEFCs (e.g. IIJA/infrastructure) report $0 OBLIGATIONS by geography while awardCount is nonzero — a $0 with awards is NOT 'no activity'; try spendingType:'outlay' and read awardCount alongside the amount.",
2074
+ "This returns the COMPLETE set of geo units for the layer (no pagination) — totalAvailable is the returned count, not a fabricated total.",
2075
+ ],
2076
+ });
2077
+ }
1951
2078
  export async function listToptierAgencies(args) {
1952
2079
  const limit = args.limit ?? 50;
1953
2080
  return memoize(`usas:toptier:${limit}`, async () => {