pigeongov 0.2.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 (571) hide show
  1. package/AGENTS.md +258 -0
  2. package/LICENSE +21 -0
  3. package/PRIVACY.md +38 -0
  4. package/README.md +234 -0
  5. package/agents.json +72 -0
  6. package/dist/bin/pigeongov.d.ts +2 -0
  7. package/dist/bin/pigeongov.js +4 -0
  8. package/dist/bin/pigeongov.js.map +1 -0
  9. package/dist/src/advisory/decision-support/contribution-optimizer.d.ts +36 -0
  10. package/dist/src/advisory/decision-support/contribution-optimizer.js +88 -0
  11. package/dist/src/advisory/decision-support/contribution-optimizer.js.map +1 -0
  12. package/dist/src/advisory/decision-support/deduction-optimizer.d.ts +31 -0
  13. package/dist/src/advisory/decision-support/deduction-optimizer.js +96 -0
  14. package/dist/src/advisory/decision-support/deduction-optimizer.js.map +1 -0
  15. package/dist/src/advisory/life-events/events.d.ts +4 -0
  16. package/dist/src/advisory/life-events/events.js +156 -0
  17. package/dist/src/advisory/life-events/events.js.map +1 -0
  18. package/dist/src/advisory/life-events/planner.d.ts +19 -0
  19. package/dist/src/advisory/life-events/planner.js +72 -0
  20. package/dist/src/advisory/life-events/planner.js.map +1 -0
  21. package/dist/src/advisory/screener/engine.d.ts +4 -0
  22. package/dist/src/advisory/screener/engine.js +368 -0
  23. package/dist/src/advisory/screener/engine.js.map +1 -0
  24. package/dist/src/advisory/screener/intake.d.ts +68 -0
  25. package/dist/src/advisory/screener/intake.js +93 -0
  26. package/dist/src/advisory/screener/intake.js.map +1 -0
  27. package/dist/src/analytics/stats.d.ts +18 -0
  28. package/dist/src/analytics/stats.js +158 -0
  29. package/dist/src/analytics/stats.js.map +1 -0
  30. package/dist/src/api/handlers/deadlines.d.ts +2 -0
  31. package/dist/src/api/handlers/deadlines.js +7 -0
  32. package/dist/src/api/handlers/deadlines.js.map +1 -0
  33. package/dist/src/api/handlers/openapi.d.ts +2 -0
  34. package/dist/src/api/handlers/openapi.js +7 -0
  35. package/dist/src/api/handlers/openapi.js.map +1 -0
  36. package/dist/src/api/handlers/workflows.d.ts +5 -0
  37. package/dist/src/api/handlers/workflows.js +73 -0
  38. package/dist/src/api/handlers/workflows.js.map +1 -0
  39. package/dist/src/api/index.d.ts +20 -0
  40. package/dist/src/api/index.js +70 -0
  41. package/dist/src/api/index.js.map +1 -0
  42. package/dist/src/api/openapi.d.ts +5 -0
  43. package/dist/src/api/openapi.js +384 -0
  44. package/dist/src/api/openapi.js.map +1 -0
  45. package/dist/src/api/router.d.ts +19 -0
  46. package/dist/src/api/router.js +57 -0
  47. package/dist/src/api/router.js.map +1 -0
  48. package/dist/src/cli/commands/completions.d.ts +2 -0
  49. package/dist/src/cli/commands/completions.js +396 -0
  50. package/dist/src/cli/commands/completions.js.map +1 -0
  51. package/dist/src/cli/commands/deadlines.d.ts +2 -0
  52. package/dist/src/cli/commands/deadlines.js +47 -0
  53. package/dist/src/cli/commands/deadlines.js.map +1 -0
  54. package/dist/src/cli/commands/doctor.d.ts +2 -0
  55. package/dist/src/cli/commands/doctor.js +50 -0
  56. package/dist/src/cli/commands/doctor.js.map +1 -0
  57. package/dist/src/cli/commands/drafts.d.ts +2 -0
  58. package/dist/src/cli/commands/drafts.js +75 -0
  59. package/dist/src/cli/commands/drafts.js.map +1 -0
  60. package/dist/src/cli/commands/extract.d.ts +2 -0
  61. package/dist/src/cli/commands/extract.js +17 -0
  62. package/dist/src/cli/commands/extract.js.map +1 -0
  63. package/dist/src/cli/commands/fees.d.ts +2 -0
  64. package/dist/src/cli/commands/fees.js +40 -0
  65. package/dist/src/cli/commands/fees.js.map +1 -0
  66. package/dist/src/cli/commands/fill.d.ts +25 -0
  67. package/dist/src/cli/commands/fill.js +354 -0
  68. package/dist/src/cli/commands/fill.js.map +1 -0
  69. package/dist/src/cli/commands/glossary.d.ts +2 -0
  70. package/dist/src/cli/commands/glossary.js +90 -0
  71. package/dist/src/cli/commands/glossary.js.map +1 -0
  72. package/dist/src/cli/commands/life-event.d.ts +2 -0
  73. package/dist/src/cli/commands/life-event.js +41 -0
  74. package/dist/src/cli/commands/life-event.js.map +1 -0
  75. package/dist/src/cli/commands/list.d.ts +2 -0
  76. package/dist/src/cli/commands/list.js +19 -0
  77. package/dist/src/cli/commands/list.js.map +1 -0
  78. package/dist/src/cli/commands/machine.d.ts +2 -0
  79. package/dist/src/cli/commands/machine.js +100 -0
  80. package/dist/src/cli/commands/machine.js.map +1 -0
  81. package/dist/src/cli/commands/merge.d.ts +2 -0
  82. package/dist/src/cli/commands/merge.js +24 -0
  83. package/dist/src/cli/commands/merge.js.map +1 -0
  84. package/dist/src/cli/commands/plugin.d.ts +2 -0
  85. package/dist/src/cli/commands/plugin.js +119 -0
  86. package/dist/src/cli/commands/plugin.js.map +1 -0
  87. package/dist/src/cli/commands/profile.d.ts +2 -0
  88. package/dist/src/cli/commands/profile.js +125 -0
  89. package/dist/src/cli/commands/profile.js.map +1 -0
  90. package/dist/src/cli/commands/review.d.ts +2 -0
  91. package/dist/src/cli/commands/review.js +25 -0
  92. package/dist/src/cli/commands/review.js.map +1 -0
  93. package/dist/src/cli/commands/scaffold.d.ts +2 -0
  94. package/dist/src/cli/commands/scaffold.js +304 -0
  95. package/dist/src/cli/commands/scaffold.js.map +1 -0
  96. package/dist/src/cli/commands/schemas.d.ts +2 -0
  97. package/dist/src/cli/commands/schemas.js +14 -0
  98. package/dist/src/cli/commands/schemas.js.map +1 -0
  99. package/dist/src/cli/commands/screen.d.ts +2 -0
  100. package/dist/src/cli/commands/screen.js +89 -0
  101. package/dist/src/cli/commands/screen.js.map +1 -0
  102. package/dist/src/cli/commands/serve.d.ts +2 -0
  103. package/dist/src/cli/commands/serve.js +46 -0
  104. package/dist/src/cli/commands/serve.js.map +1 -0
  105. package/dist/src/cli/commands/start.d.ts +2 -0
  106. package/dist/src/cli/commands/start.js +16 -0
  107. package/dist/src/cli/commands/start.js.map +1 -0
  108. package/dist/src/cli/commands/stats.d.ts +2 -0
  109. package/dist/src/cli/commands/stats.js +17 -0
  110. package/dist/src/cli/commands/stats.js.map +1 -0
  111. package/dist/src/cli/commands/testdata.d.ts +2 -0
  112. package/dist/src/cli/commands/testdata.js +60 -0
  113. package/dist/src/cli/commands/testdata.js.map +1 -0
  114. package/dist/src/cli/commands/tui.d.ts +2 -0
  115. package/dist/src/cli/commands/tui.js +26 -0
  116. package/dist/src/cli/commands/tui.js.map +1 -0
  117. package/dist/src/cli/commands/validate.d.ts +2 -0
  118. package/dist/src/cli/commands/validate.js +22 -0
  119. package/dist/src/cli/commands/validate.js.map +1 -0
  120. package/dist/src/cli/commands/vault.d.ts +2 -0
  121. package/dist/src/cli/commands/vault.js +73 -0
  122. package/dist/src/cli/commands/vault.js.map +1 -0
  123. package/dist/src/cli/commands/workflows.d.ts +2 -0
  124. package/dist/src/cli/commands/workflows.js +23 -0
  125. package/dist/src/cli/commands/workflows.js.map +1 -0
  126. package/dist/src/cli/display/review.d.ts +2 -0
  127. package/dist/src/cli/display/review.js +4 -0
  128. package/dist/src/cli/display/review.js.map +1 -0
  129. package/dist/src/cli/display/summary.d.ts +2 -0
  130. package/dist/src/cli/display/summary.js +19 -0
  131. package/dist/src/cli/display/summary.js.map +1 -0
  132. package/dist/src/cli/display/validation.d.ts +2 -0
  133. package/dist/src/cli/display/validation.js +16 -0
  134. package/dist/src/cli/display/validation.js.map +1 -0
  135. package/dist/src/cli/index.d.ts +1 -0
  136. package/dist/src/cli/index.js +83 -0
  137. package/dist/src/cli/index.js.map +1 -0
  138. package/dist/src/cli/output.d.ts +21 -0
  139. package/dist/src/cli/output.js +107 -0
  140. package/dist/src/cli/output.js.map +1 -0
  141. package/dist/src/cli/prompts/common.d.ts +21 -0
  142. package/dist/src/cli/prompts/common.js +53 -0
  143. package/dist/src/cli/prompts/common.js.map +1 -0
  144. package/dist/src/cli/prompts/credits.d.ts +3 -0
  145. package/dist/src/cli/prompts/credits.js +23 -0
  146. package/dist/src/cli/prompts/credits.js.map +1 -0
  147. package/dist/src/cli/prompts/deductions.d.ts +12 -0
  148. package/dist/src/cli/prompts/deductions.js +26 -0
  149. package/dist/src/cli/prompts/deductions.js.map +1 -0
  150. package/dist/src/cli/prompts/identity.d.ts +8 -0
  151. package/dist/src/cli/prompts/identity.js +36 -0
  152. package/dist/src/cli/prompts/identity.js.map +1 -0
  153. package/dist/src/cli/prompts/income.d.ts +15 -0
  154. package/dist/src/cli/prompts/income.js +61 -0
  155. package/dist/src/cli/prompts/income.js.map +1 -0
  156. package/dist/src/cli/prompts/workflow.d.ts +3 -0
  157. package/dist/src/cli/prompts/workflow.js +74 -0
  158. package/dist/src/cli/prompts/workflow.js.map +1 -0
  159. package/dist/src/cli/support.d.ts +53 -0
  160. package/dist/src/cli/support.js +80 -0
  161. package/dist/src/cli/support.js.map +1 -0
  162. package/dist/src/cli/tui.d.ts +22 -0
  163. package/dist/src/cli/tui.js +122 -0
  164. package/dist/src/cli/tui.js.map +1 -0
  165. package/dist/src/engine/audit-risk/scorer.d.ts +36 -0
  166. package/dist/src/engine/audit-risk/scorer.js +132 -0
  167. package/dist/src/engine/audit-risk/scorer.js.map +1 -0
  168. package/dist/src/engine/crypto/cost-basis.d.ts +19 -0
  169. package/dist/src/engine/crypto/cost-basis.js +115 -0
  170. package/dist/src/engine/crypto/cost-basis.js.map +1 -0
  171. package/dist/src/engine/crypto/transaction-parser.d.ts +36 -0
  172. package/dist/src/engine/crypto/transaction-parser.js +124 -0
  173. package/dist/src/engine/crypto/transaction-parser.js.map +1 -0
  174. package/dist/src/engine/crypto/wash-sale.d.ts +25 -0
  175. package/dist/src/engine/crypto/wash-sale.js +51 -0
  176. package/dist/src/engine/crypto/wash-sale.js.map +1 -0
  177. package/dist/src/engine/equity/espp.d.ts +41 -0
  178. package/dist/src/engine/equity/espp.js +90 -0
  179. package/dist/src/engine/equity/espp.js.map +1 -0
  180. package/dist/src/engine/equity/iso.d.ts +42 -0
  181. package/dist/src/engine/equity/iso.js +94 -0
  182. package/dist/src/engine/equity/iso.js.map +1 -0
  183. package/dist/src/engine/equity/nso.d.ts +35 -0
  184. package/dist/src/engine/equity/nso.js +63 -0
  185. package/dist/src/engine/equity/nso.js.map +1 -0
  186. package/dist/src/engine/equity/rsu.d.ts +33 -0
  187. package/dist/src/engine/equity/rsu.js +64 -0
  188. package/dist/src/engine/equity/rsu.js.map +1 -0
  189. package/dist/src/engine/field-mapper.d.ts +26 -0
  190. package/dist/src/engine/field-mapper.js +119 -0
  191. package/dist/src/engine/field-mapper.js.map +1 -0
  192. package/dist/src/engine/forms/core-1040.d.ts +2 -0
  193. package/dist/src/engine/forms/core-1040.js +124 -0
  194. package/dist/src/engine/forms/core-1040.js.map +1 -0
  195. package/dist/src/engine/forms/form-8949.d.ts +21 -0
  196. package/dist/src/engine/forms/form-8949.js +96 -0
  197. package/dist/src/engine/forms/form-8949.js.map +1 -0
  198. package/dist/src/engine/forms/index.d.ts +7 -0
  199. package/dist/src/engine/forms/index.js +6 -0
  200. package/dist/src/engine/forms/index.js.map +1 -0
  201. package/dist/src/engine/forms/schedule-b.d.ts +15 -0
  202. package/dist/src/engine/forms/schedule-b.js +78 -0
  203. package/dist/src/engine/forms/schedule-b.js.map +1 -0
  204. package/dist/src/engine/forms/schedule-d.d.ts +9 -0
  205. package/dist/src/engine/forms/schedule-d.js +86 -0
  206. package/dist/src/engine/forms/schedule-d.js.map +1 -0
  207. package/dist/src/engine/fpl.d.ts +70 -0
  208. package/dist/src/engine/fpl.js +127 -0
  209. package/dist/src/engine/fpl.js.map +1 -0
  210. package/dist/src/engine/gig/home-office.d.ts +34 -0
  211. package/dist/src/engine/gig/home-office.js +53 -0
  212. package/dist/src/engine/gig/home-office.js.map +1 -0
  213. package/dist/src/engine/gig/mileage.d.ts +30 -0
  214. package/dist/src/engine/gig/mileage.js +45 -0
  215. package/dist/src/engine/gig/mileage.js.map +1 -0
  216. package/dist/src/engine/gig/multi-1099.d.ts +19 -0
  217. package/dist/src/engine/gig/multi-1099.js +28 -0
  218. package/dist/src/engine/gig/multi-1099.js.map +1 -0
  219. package/dist/src/engine/multiyear/carryforward.d.ts +31 -0
  220. package/dist/src/engine/multiyear/carryforward.js +77 -0
  221. package/dist/src/engine/multiyear/carryforward.js.map +1 -0
  222. package/dist/src/engine/multiyear/compare.d.ts +25 -0
  223. package/dist/src/engine/multiyear/compare.js +94 -0
  224. package/dist/src/engine/multiyear/compare.js.map +1 -0
  225. package/dist/src/engine/multiyear/import.d.ts +23 -0
  226. package/dist/src/engine/multiyear/import.js +193 -0
  227. package/dist/src/engine/multiyear/import.js.map +1 -0
  228. package/dist/src/engine/optimizer/filing-status.d.ts +29 -0
  229. package/dist/src/engine/optimizer/filing-status.js +66 -0
  230. package/dist/src/engine/optimizer/filing-status.js.map +1 -0
  231. package/dist/src/engine/orchestrator.d.ts +14 -0
  232. package/dist/src/engine/orchestrator.js +135 -0
  233. package/dist/src/engine/orchestrator.js.map +1 -0
  234. package/dist/src/engine/scenarios/whatif.d.ts +34 -0
  235. package/dist/src/engine/scenarios/whatif.js +70 -0
  236. package/dist/src/engine/scenarios/whatif.js.map +1 -0
  237. package/dist/src/engine/state/ca/calculator.d.ts +3 -0
  238. package/dist/src/engine/state/ca/calculator.js +107 -0
  239. package/dist/src/engine/state/ca/calculator.js.map +1 -0
  240. package/dist/src/engine/state/common.d.ts +39 -0
  241. package/dist/src/engine/state/common.js +115 -0
  242. package/dist/src/engine/state/common.js.map +1 -0
  243. package/dist/src/engine/state/ga/calculator.d.ts +3 -0
  244. package/dist/src/engine/state/ga/calculator.js +82 -0
  245. package/dist/src/engine/state/ga/calculator.js.map +1 -0
  246. package/dist/src/engine/state/il/calculator.d.ts +3 -0
  247. package/dist/src/engine/state/il/calculator.js +49 -0
  248. package/dist/src/engine/state/il/calculator.js.map +1 -0
  249. package/dist/src/engine/state/mi/calculator.d.ts +3 -0
  250. package/dist/src/engine/state/mi/calculator.js +60 -0
  251. package/dist/src/engine/state/mi/calculator.js.map +1 -0
  252. package/dist/src/engine/state/nc/calculator.d.ts +3 -0
  253. package/dist/src/engine/state/nc/calculator.js +54 -0
  254. package/dist/src/engine/state/nc/calculator.js.map +1 -0
  255. package/dist/src/engine/state/nj/calculator.d.ts +3 -0
  256. package/dist/src/engine/state/nj/calculator.js +90 -0
  257. package/dist/src/engine/state/nj/calculator.js.map +1 -0
  258. package/dist/src/engine/state/ny/calculator.d.ts +3 -0
  259. package/dist/src/engine/state/ny/calculator.js +103 -0
  260. package/dist/src/engine/state/ny/calculator.js.map +1 -0
  261. package/dist/src/engine/state/oh/calculator.d.ts +3 -0
  262. package/dist/src/engine/state/oh/calculator.js +79 -0
  263. package/dist/src/engine/state/oh/calculator.js.map +1 -0
  264. package/dist/src/engine/state/pa/calculator.d.ts +3 -0
  265. package/dist/src/engine/state/pa/calculator.js +58 -0
  266. package/dist/src/engine/state/pa/calculator.js.map +1 -0
  267. package/dist/src/engine/state/registry.d.ts +9 -0
  268. package/dist/src/engine/state/registry.js +67 -0
  269. package/dist/src/engine/state/registry.js.map +1 -0
  270. package/dist/src/engine/state/types.d.ts +57 -0
  271. package/dist/src/engine/state/types.js +2 -0
  272. package/dist/src/engine/state/types.js.map +1 -0
  273. package/dist/src/engine/state/va/calculator.d.ts +3 -0
  274. package/dist/src/engine/state/va/calculator.js +76 -0
  275. package/dist/src/engine/state/va/calculator.js.map +1 -0
  276. package/dist/src/engine/suggestions/missed-deductions.d.ts +43 -0
  277. package/dist/src/engine/suggestions/missed-deductions.js +128 -0
  278. package/dist/src/engine/suggestions/missed-deductions.js.map +1 -0
  279. package/dist/src/engine/tax-calculator.d.ts +55 -0
  280. package/dist/src/engine/tax-calculator.js +156 -0
  281. package/dist/src/engine/tax-calculator.js.map +1 -0
  282. package/dist/src/engine/tax-constants-2025.d.ts +56 -0
  283. package/dist/src/engine/tax-constants-2025.js +138 -0
  284. package/dist/src/engine/tax-constants-2025.js.map +1 -0
  285. package/dist/src/engine/types.d.ts +77 -0
  286. package/dist/src/engine/types.js +2 -0
  287. package/dist/src/engine/types.js.map +1 -0
  288. package/dist/src/engine/va-math.d.ts +24 -0
  289. package/dist/src/engine/va-math.js +90 -0
  290. package/dist/src/engine/va-math.js.map +1 -0
  291. package/dist/src/engine/validator.d.ts +7 -0
  292. package/dist/src/engine/validator.js +108 -0
  293. package/dist/src/engine/validator.js.map +1 -0
  294. package/dist/src/glossary/entries/healthcare.d.ts +2 -0
  295. package/dist/src/glossary/entries/healthcare.js +78 -0
  296. package/dist/src/glossary/entries/healthcare.js.map +1 -0
  297. package/dist/src/glossary/entries/immigration.d.ts +2 -0
  298. package/dist/src/glossary/entries/immigration.js +112 -0
  299. package/dist/src/glossary/entries/immigration.js.map +1 -0
  300. package/dist/src/glossary/entries/tax.d.ts +2 -0
  301. package/dist/src/glossary/entries/tax.js +149 -0
  302. package/dist/src/glossary/entries/tax.js.map +1 -0
  303. package/dist/src/glossary/entries/unemployment.d.ts +2 -0
  304. package/dist/src/glossary/entries/unemployment.js +52 -0
  305. package/dist/src/glossary/entries/unemployment.js.map +1 -0
  306. package/dist/src/glossary/index.d.ts +19 -0
  307. package/dist/src/glossary/index.js +39 -0
  308. package/dist/src/glossary/index.js.map +1 -0
  309. package/dist/src/i18n/index.d.ts +21 -0
  310. package/dist/src/i18n/index.js +92 -0
  311. package/dist/src/i18n/index.js.map +1 -0
  312. package/dist/src/mcp/result.d.ts +3 -0
  313. package/dist/src/mcp/result.js +7 -0
  314. package/dist/src/mcp/result.js.map +1 -0
  315. package/dist/src/mcp/return-bundle.d.ts +19 -0
  316. package/dist/src/mcp/return-bundle.js +49 -0
  317. package/dist/src/mcp/return-bundle.js.map +1 -0
  318. package/dist/src/mcp/shared.d.ts +49102 -0
  319. package/dist/src/mcp/shared.js +354 -0
  320. package/dist/src/mcp/shared.js.map +1 -0
  321. package/dist/src/mcp/tools/build-packet.d.ts +7 -0
  322. package/dist/src/mcp/tools/build-packet.js +23 -0
  323. package/dist/src/mcp/tools/build-packet.js.map +1 -0
  324. package/dist/src/mcp/tools/calculate-tax.d.ts +40 -0
  325. package/dist/src/mcp/tools/calculate-tax.js +17 -0
  326. package/dist/src/mcp/tools/calculate-tax.js.map +1 -0
  327. package/dist/src/mcp/tools/deadlines.d.ts +7 -0
  328. package/dist/src/mcp/tools/deadlines.js +23 -0
  329. package/dist/src/mcp/tools/deadlines.js.map +1 -0
  330. package/dist/src/mcp/tools/describe-form.d.ts +14 -0
  331. package/dist/src/mcp/tools/describe-form.js +23 -0
  332. package/dist/src/mcp/tools/describe-form.js.map +1 -0
  333. package/dist/src/mcp/tools/describe-workflow.d.ts +6 -0
  334. package/dist/src/mcp/tools/describe-workflow.js +16 -0
  335. package/dist/src/mcp/tools/describe-workflow.js.map +1 -0
  336. package/dist/src/mcp/tools/explain-flag.d.ts +7 -0
  337. package/dist/src/mcp/tools/explain-flag.js +19 -0
  338. package/dist/src/mcp/tools/explain-flag.js.map +1 -0
  339. package/dist/src/mcp/tools/extract-document.d.ts +13 -0
  340. package/dist/src/mcp/tools/extract-document.js +20 -0
  341. package/dist/src/mcp/tools/extract-document.js.map +1 -0
  342. package/dist/src/mcp/tools/fees.d.ts +7 -0
  343. package/dist/src/mcp/tools/fees.js +24 -0
  344. package/dist/src/mcp/tools/fees.js.map +1 -0
  345. package/dist/src/mcp/tools/fill-form.d.ts +56 -0
  346. package/dist/src/mcp/tools/fill-form.js +47 -0
  347. package/dist/src/mcp/tools/fill-form.js.map +1 -0
  348. package/dist/src/mcp/tools/fill-workflow.d.ts +7 -0
  349. package/dist/src/mcp/tools/fill-workflow.js +24 -0
  350. package/dist/src/mcp/tools/fill-workflow.js.map +1 -0
  351. package/dist/src/mcp/tools/glossary.d.ts +8 -0
  352. package/dist/src/mcp/tools/glossary.js +54 -0
  353. package/dist/src/mcp/tools/glossary.js.map +1 -0
  354. package/dist/src/mcp/tools/list-forms.d.ts +6 -0
  355. package/dist/src/mcp/tools/list-forms.js +15 -0
  356. package/dist/src/mcp/tools/list-forms.js.map +1 -0
  357. package/dist/src/mcp/tools/list-workflows.d.ts +6 -0
  358. package/dist/src/mcp/tools/list-workflows.js +16 -0
  359. package/dist/src/mcp/tools/list-workflows.js.map +1 -0
  360. package/dist/src/mcp/tools/plan-life-event.d.ts +59 -0
  361. package/dist/src/mcp/tools/plan-life-event.js +41 -0
  362. package/dist/src/mcp/tools/plan-life-event.js.map +1 -0
  363. package/dist/src/mcp/tools/review-form.d.ts +40 -0
  364. package/dist/src/mcp/tools/review-form.js +26 -0
  365. package/dist/src/mcp/tools/review-form.js.map +1 -0
  366. package/dist/src/mcp/tools/review-workflow.d.ts +7 -0
  367. package/dist/src/mcp/tools/review-workflow.js +27 -0
  368. package/dist/src/mcp/tools/review-workflow.js.map +1 -0
  369. package/dist/src/mcp/tools/screen-eligibility.d.ts +53 -0
  370. package/dist/src/mcp/tools/screen-eligibility.js +44 -0
  371. package/dist/src/mcp/tools/screen-eligibility.js.map +1 -0
  372. package/dist/src/mcp/tools/start-workflow.d.ts +6 -0
  373. package/dist/src/mcp/tools/start-workflow.js +17 -0
  374. package/dist/src/mcp/tools/start-workflow.js.map +1 -0
  375. package/dist/src/mcp/tools/validate-form.d.ts +48 -0
  376. package/dist/src/mcp/tools/validate-form.js +30 -0
  377. package/dist/src/mcp/tools/validate-form.js.map +1 -0
  378. package/dist/src/mcp/tools/validate-workflow.d.ts +7 -0
  379. package/dist/src/mcp/tools/validate-workflow.js +24 -0
  380. package/dist/src/mcp/tools/validate-workflow.js.map +1 -0
  381. package/dist/src/pdf/batch.d.ts +8 -0
  382. package/dist/src/pdf/batch.js +15 -0
  383. package/dist/src/pdf/batch.js.map +1 -0
  384. package/dist/src/pdf/merge.d.ts +10 -0
  385. package/dist/src/pdf/merge.js +62 -0
  386. package/dist/src/pdf/merge.js.map +1 -0
  387. package/dist/src/pdf/ocr.d.ts +22 -0
  388. package/dist/src/pdf/ocr.js +52 -0
  389. package/dist/src/pdf/ocr.js.map +1 -0
  390. package/dist/src/pdf/reader.d.ts +2 -0
  391. package/dist/src/pdf/reader.js +354 -0
  392. package/dist/src/pdf/reader.js.map +1 -0
  393. package/dist/src/pdf/shared.d.ts +89 -0
  394. package/dist/src/pdf/shared.js +137 -0
  395. package/dist/src/pdf/shared.js.map +1 -0
  396. package/dist/src/pdf/writer.d.ts +7 -0
  397. package/dist/src/pdf/writer.js +311 -0
  398. package/dist/src/pdf/writer.js.map +1 -0
  399. package/dist/src/plugins/loader.d.ts +15 -0
  400. package/dist/src/plugins/loader.js +86 -0
  401. package/dist/src/plugins/loader.js.map +1 -0
  402. package/dist/src/plugins/sandbox.d.ts +14 -0
  403. package/dist/src/plugins/sandbox.js +88 -0
  404. package/dist/src/plugins/sandbox.js.map +1 -0
  405. package/dist/src/plugins/types.d.ts +17 -0
  406. package/dist/src/plugins/types.js +13 -0
  407. package/dist/src/plugins/types.js.map +1 -0
  408. package/dist/src/schemas/2025/f1040.d.ts +127 -0
  409. package/dist/src/schemas/2025/f1040.js +104 -0
  410. package/dist/src/schemas/2025/f1040.js.map +1 -0
  411. package/dist/src/schemas/2025/f1099-int.d.ts +53 -0
  412. package/dist/src/schemas/2025/f1099-int.js +51 -0
  413. package/dist/src/schemas/2025/f1099-int.js.map +1 -0
  414. package/dist/src/schemas/2025/f1099-nec.d.ts +47 -0
  415. package/dist/src/schemas/2025/f1099-nec.js +45 -0
  416. package/dist/src/schemas/2025/f1099-nec.js.map +1 -0
  417. package/dist/src/schemas/2025/form-8949.d.ts +46 -0
  418. package/dist/src/schemas/2025/form-8949.js +71 -0
  419. package/dist/src/schemas/2025/form-8949.js.map +1 -0
  420. package/dist/src/schemas/2025/index.d.ts +1004 -0
  421. package/dist/src/schemas/2025/index.js +60 -0
  422. package/dist/src/schemas/2025/index.js.map +1 -0
  423. package/dist/src/schemas/2025/schedule-1.d.ts +44 -0
  424. package/dist/src/schemas/2025/schedule-1.js +56 -0
  425. package/dist/src/schemas/2025/schedule-1.js.map +1 -0
  426. package/dist/src/schemas/2025/schedule-b.d.ts +32 -0
  427. package/dist/src/schemas/2025/schedule-b.js +53 -0
  428. package/dist/src/schemas/2025/schedule-b.js.map +1 -0
  429. package/dist/src/schemas/2025/schedule-c.d.ts +58 -0
  430. package/dist/src/schemas/2025/schedule-c.js +46 -0
  431. package/dist/src/schemas/2025/schedule-c.js.map +1 -0
  432. package/dist/src/schemas/2025/schedule-d.d.ts +36 -0
  433. package/dist/src/schemas/2025/schedule-d.js +52 -0
  434. package/dist/src/schemas/2025/schedule-d.js.map +1 -0
  435. package/dist/src/schemas/2025/shared.d.ts +98 -0
  436. package/dist/src/schemas/2025/shared.js +161 -0
  437. package/dist/src/schemas/2025/shared.js.map +1 -0
  438. package/dist/src/schemas/2025/w2.d.ts +57 -0
  439. package/dist/src/schemas/2025/w2.js +62 -0
  440. package/dist/src/schemas/2025/w2.js.map +1 -0
  441. package/dist/src/storage/drafts.d.ts +25 -0
  442. package/dist/src/storage/drafts.js +117 -0
  443. package/dist/src/storage/drafts.js.map +1 -0
  444. package/dist/src/storage/paths.d.ts +15 -0
  445. package/dist/src/storage/paths.js +33 -0
  446. package/dist/src/storage/paths.js.map +1 -0
  447. package/dist/src/storage/profile.d.ts +17 -0
  448. package/dist/src/storage/profile.js +59 -0
  449. package/dist/src/storage/profile.js.map +1 -0
  450. package/dist/src/storage/vault.d.ts +38 -0
  451. package/dist/src/storage/vault.js +187 -0
  452. package/dist/src/storage/vault.js.map +1 -0
  453. package/dist/src/testing/synthetic.d.ts +13 -0
  454. package/dist/src/testing/synthetic.js +164 -0
  455. package/dist/src/testing/synthetic.js.map +1 -0
  456. package/dist/src/types.d.ts +362 -0
  457. package/dist/src/types.js +2 -0
  458. package/dist/src/types.js.map +1 -0
  459. package/dist/src/workflows/deadlines.d.ts +13 -0
  460. package/dist/src/workflows/deadlines.js +88 -0
  461. package/dist/src/workflows/deadlines.js.map +1 -0
  462. package/dist/src/workflows/domains/benefits.d.ts +409 -0
  463. package/dist/src/workflows/domains/benefits.js +744 -0
  464. package/dist/src/workflows/domains/benefits.js.map +1 -0
  465. package/dist/src/workflows/domains/business.d.ts +65 -0
  466. package/dist/src/workflows/domains/business.js +76 -0
  467. package/dist/src/workflows/domains/business.js.map +1 -0
  468. package/dist/src/workflows/domains/education.d.ts +251 -0
  469. package/dist/src/workflows/domains/education.js +504 -0
  470. package/dist/src/workflows/domains/education.js.map +1 -0
  471. package/dist/src/workflows/domains/estate.d.ts +217 -0
  472. package/dist/src/workflows/domains/estate.js +407 -0
  473. package/dist/src/workflows/domains/estate.js.map +1 -0
  474. package/dist/src/workflows/domains/healthcare-ext.d.ts +88 -0
  475. package/dist/src/workflows/domains/healthcare-ext.js +150 -0
  476. package/dist/src/workflows/domains/healthcare-ext.js.map +1 -0
  477. package/dist/src/workflows/domains/healthcare.d.ts +92 -0
  478. package/dist/src/workflows/domains/healthcare.js +126 -0
  479. package/dist/src/workflows/domains/healthcare.js.map +1 -0
  480. package/dist/src/workflows/domains/identity-domain.d.ts +291 -0
  481. package/dist/src/workflows/domains/identity-domain.js +541 -0
  482. package/dist/src/workflows/domains/identity-domain.js.map +1 -0
  483. package/dist/src/workflows/domains/immigration-ext.d.ts +282 -0
  484. package/dist/src/workflows/domains/immigration-ext.js +590 -0
  485. package/dist/src/workflows/domains/immigration-ext.js.map +1 -0
  486. package/dist/src/workflows/domains/immigration.d.ts +121 -0
  487. package/dist/src/workflows/domains/immigration.js +152 -0
  488. package/dist/src/workflows/domains/immigration.js.map +1 -0
  489. package/dist/src/workflows/domains/legal.d.ts +235 -0
  490. package/dist/src/workflows/domains/legal.js +380 -0
  491. package/dist/src/workflows/domains/legal.js.map +1 -0
  492. package/dist/src/workflows/domains/permits.d.ts +65 -0
  493. package/dist/src/workflows/domains/permits.js +74 -0
  494. package/dist/src/workflows/domains/permits.js.map +1 -0
  495. package/dist/src/workflows/domains/retirement.d.ts +59 -0
  496. package/dist/src/workflows/domains/retirement.js +155 -0
  497. package/dist/src/workflows/domains/retirement.js.map +1 -0
  498. package/dist/src/workflows/domains/tax.d.ts +133 -0
  499. package/dist/src/workflows/domains/tax.js +187 -0
  500. package/dist/src/workflows/domains/tax.js.map +1 -0
  501. package/dist/src/workflows/domains/unemployment.d.ts +105 -0
  502. package/dist/src/workflows/domains/unemployment.js +122 -0
  503. package/dist/src/workflows/domains/unemployment.js.map +1 -0
  504. package/dist/src/workflows/domains/veterans.d.ts +189 -0
  505. package/dist/src/workflows/domains/veterans.js +380 -0
  506. package/dist/src/workflows/domains/veterans.js.map +1 -0
  507. package/dist/src/workflows/fees.d.ts +15 -0
  508. package/dist/src/workflows/fees.js +93 -0
  509. package/dist/src/workflows/fees.js.map +1 -0
  510. package/dist/src/workflows/helpers.d.ts +8 -0
  511. package/dist/src/workflows/helpers.js +66 -0
  512. package/dist/src/workflows/helpers.js.map +1 -0
  513. package/dist/src/workflows/io.d.ts +3 -0
  514. package/dist/src/workflows/io.js +38 -0
  515. package/dist/src/workflows/io.js.map +1 -0
  516. package/dist/src/workflows/registry.d.ts +51355 -0
  517. package/dist/src/workflows/registry.js +140 -0
  518. package/dist/src/workflows/registry.js.map +1 -0
  519. package/dist/src/workflows/schemas/benefits.d.ts +78 -0
  520. package/dist/src/workflows/schemas/benefits.js +91 -0
  521. package/dist/src/workflows/schemas/benefits.js.map +1 -0
  522. package/dist/src/workflows/schemas/common.d.ts +27 -0
  523. package/dist/src/workflows/schemas/common.js +28 -0
  524. package/dist/src/workflows/schemas/common.js.map +1 -0
  525. package/dist/src/workflows/schemas/education.d.ts +70 -0
  526. package/dist/src/workflows/schemas/education.js +85 -0
  527. package/dist/src/workflows/schemas/education.js.map +1 -0
  528. package/dist/src/workflows/schemas/estate.d.ts +64 -0
  529. package/dist/src/workflows/schemas/estate.js +85 -0
  530. package/dist/src/workflows/schemas/estate.js.map +1 -0
  531. package/dist/src/workflows/schemas/healthcare-ext.d.ts +15 -0
  532. package/dist/src/workflows/schemas/healthcare-ext.js +17 -0
  533. package/dist/src/workflows/schemas/healthcare-ext.js.map +1 -0
  534. package/dist/src/workflows/schemas/healthcare.d.ts +33 -0
  535. package/dist/src/workflows/schemas/healthcare.js +20 -0
  536. package/dist/src/workflows/schemas/healthcare.js.map +1 -0
  537. package/dist/src/workflows/schemas/identity-domain.d.ts +64 -0
  538. package/dist/src/workflows/schemas/identity-domain.js +87 -0
  539. package/dist/src/workflows/schemas/identity-domain.js.map +1 -0
  540. package/dist/src/workflows/schemas/immigration-ext.d.ts +63 -0
  541. package/dist/src/workflows/schemas/immigration-ext.js +58 -0
  542. package/dist/src/workflows/schemas/immigration-ext.js.map +1 -0
  543. package/dist/src/workflows/schemas/immigration.d.ts +48 -0
  544. package/dist/src/workflows/schemas/immigration.js +27 -0
  545. package/dist/src/workflows/schemas/immigration.js.map +1 -0
  546. package/dist/src/workflows/schemas/legal.d.ts +45 -0
  547. package/dist/src/workflows/schemas/legal.js +45 -0
  548. package/dist/src/workflows/schemas/legal.js.map +1 -0
  549. package/dist/src/workflows/schemas/planning.d.ts +23 -0
  550. package/dist/src/workflows/schemas/planning.js +15 -0
  551. package/dist/src/workflows/schemas/planning.js.map +1 -0
  552. package/dist/src/workflows/schemas/retirement.d.ts +14 -0
  553. package/dist/src/workflows/schemas/retirement.js +22 -0
  554. package/dist/src/workflows/schemas/retirement.js.map +1 -0
  555. package/dist/src/workflows/schemas/tax.d.ts +58 -0
  556. package/dist/src/workflows/schemas/tax.js +51 -0
  557. package/dist/src/workflows/schemas/tax.js.map +1 -0
  558. package/dist/src/workflows/schemas/unemployment.d.ts +33 -0
  559. package/dist/src/workflows/schemas/unemployment.js +19 -0
  560. package/dist/src/workflows/schemas/unemployment.js.map +1 -0
  561. package/dist/src/workflows/schemas/veterans.d.ts +47 -0
  562. package/dist/src/workflows/schemas/veterans.js +51 -0
  563. package/dist/src/workflows/schemas/veterans.js.map +1 -0
  564. package/dist/src/workflows/types.d.ts +9 -0
  565. package/dist/src/workflows/types.js +2 -0
  566. package/dist/src/workflows/types.js.map +1 -0
  567. package/dist/xmcp.config.d.ts +3 -0
  568. package/dist/xmcp.config.js +29 -0
  569. package/dist/xmcp.config.js.map +1 -0
  570. package/llms.txt +48 -0
  571. package/package.json +82 -0
@@ -0,0 +1,217 @@
1
+ import type { WorkflowBundle } from "../../types.js";
2
+ import { type BasicWillInput, type PowerOfAttorneyInput, type AdvanceDirectiveInput } from "../schemas/estate.js";
3
+ export declare const estateWorkflows: {
4
+ readonly "estate/basic-will": {
5
+ summary: {
6
+ id: string;
7
+ domain: "estate";
8
+ title: string;
9
+ summary: string;
10
+ status: "active";
11
+ audience: "individual";
12
+ tags: string[];
13
+ };
14
+ inputSchema: import("zod").ZodObject<{
15
+ testatorName: import("zod").ZodString;
16
+ state: import("zod").ZodString;
17
+ maritalStatus: import("zod").ZodEnum<{
18
+ single: "single";
19
+ married: "married";
20
+ divorced: "divorced";
21
+ widowed: "widowed";
22
+ }>;
23
+ children: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
24
+ name: import("zod").ZodString;
25
+ age: import("zod").ZodCoercedNumber<unknown>;
26
+ isMinor: import("zod").ZodBoolean;
27
+ }, import("zod/v4/core").$strict>>>;
28
+ assets: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
29
+ description: import("zod").ZodString;
30
+ estimatedValue: import("zod").ZodCoercedNumber<unknown>;
31
+ beneficiary: import("zod").ZodString;
32
+ }, import("zod/v4/core").$strict>>>;
33
+ executor: import("zod").ZodObject<{
34
+ name: import("zod").ZodString;
35
+ relationship: import("zod").ZodString;
36
+ }, import("zod/v4/core").$strict>;
37
+ alternateExecutor: import("zod").ZodOptional<import("zod").ZodObject<{
38
+ name: import("zod").ZodString;
39
+ relationship: import("zod").ZodString;
40
+ }, import("zod/v4/core").$strict>>;
41
+ guardianForMinors: import("zod").ZodOptional<import("zod").ZodString>;
42
+ }, import("zod/v4/core").$strict>;
43
+ starterData: {
44
+ testatorName: string;
45
+ state: string;
46
+ maritalStatus: "single";
47
+ children: never[];
48
+ assets: never[];
49
+ executor: {
50
+ name: string;
51
+ relationship: string;
52
+ };
53
+ };
54
+ sections: ({
55
+ id: string;
56
+ title: string;
57
+ fields: ({
58
+ key: string;
59
+ label: string;
60
+ type: "text";
61
+ options?: never;
62
+ } | {
63
+ key: string;
64
+ label: string;
65
+ type: "select";
66
+ options: {
67
+ label: string;
68
+ value: string;
69
+ }[];
70
+ })[];
71
+ description?: never;
72
+ } | {
73
+ id: string;
74
+ title: string;
75
+ description: string;
76
+ fields: {
77
+ key: string;
78
+ label: string;
79
+ type: "textarea";
80
+ helpText: string;
81
+ }[];
82
+ })[];
83
+ buildBundle(input: BasicWillInput): WorkflowBundle;
84
+ };
85
+ readonly "estate/power-of-attorney": {
86
+ summary: {
87
+ id: string;
88
+ domain: "estate";
89
+ title: string;
90
+ summary: string;
91
+ status: "active";
92
+ audience: "individual";
93
+ tags: string[];
94
+ };
95
+ inputSchema: import("zod").ZodObject<{
96
+ principalName: import("zod").ZodString;
97
+ agentName: import("zod").ZodString;
98
+ type: import("zod").ZodEnum<{
99
+ healthcare: "healthcare";
100
+ financial: "financial";
101
+ durable: "durable";
102
+ springing: "springing";
103
+ }>;
104
+ state: import("zod").ZodString;
105
+ powers: import("zod").ZodArray<import("zod").ZodString>;
106
+ effectiveDate: import("zod").ZodOptional<import("zod").ZodString>;
107
+ }, import("zod/v4/core").$strict>;
108
+ starterData: {
109
+ principalName: string;
110
+ agentName: string;
111
+ type: "durable";
112
+ state: string;
113
+ powers: string[];
114
+ };
115
+ sections: ({
116
+ id: string;
117
+ title: string;
118
+ fields: {
119
+ key: string;
120
+ label: string;
121
+ type: "textarea";
122
+ helpText: string;
123
+ }[];
124
+ } | {
125
+ id: string;
126
+ title: string;
127
+ fields: ({
128
+ key: string;
129
+ label: string;
130
+ type: "select";
131
+ options: {
132
+ label: string;
133
+ value: string;
134
+ }[];
135
+ } | {
136
+ key: string;
137
+ label: string;
138
+ type: "date";
139
+ options?: never;
140
+ } | {
141
+ key: string;
142
+ label: string;
143
+ type: "text";
144
+ options?: never;
145
+ })[];
146
+ })[];
147
+ buildBundle(input: PowerOfAttorneyInput): WorkflowBundle;
148
+ };
149
+ readonly "estate/advance-directive": {
150
+ summary: {
151
+ id: string;
152
+ domain: "estate";
153
+ title: string;
154
+ summary: string;
155
+ status: "active";
156
+ audience: "individual";
157
+ tags: string[];
158
+ };
159
+ inputSchema: import("zod").ZodObject<{
160
+ principalName: import("zod").ZodString;
161
+ state: import("zod").ZodString;
162
+ preferences: import("zod").ZodObject<{
163
+ lifeSupport: import("zod").ZodBoolean;
164
+ feedingTube: import("zod").ZodBoolean;
165
+ painManagement: import("zod").ZodBoolean;
166
+ organDonation: import("zod").ZodBoolean;
167
+ }, import("zod/v4/core").$strict>;
168
+ healthcareAgent: import("zod").ZodObject<{
169
+ name: import("zod").ZodString;
170
+ relationship: import("zod").ZodString;
171
+ }, import("zod/v4/core").$strict>;
172
+ alternateAgent: import("zod").ZodOptional<import("zod").ZodObject<{
173
+ name: import("zod").ZodString;
174
+ relationship: import("zod").ZodString;
175
+ }, import("zod/v4/core").$strict>>;
176
+ }, import("zod/v4/core").$strict>;
177
+ starterData: {
178
+ principalName: string;
179
+ state: string;
180
+ preferences: {
181
+ lifeSupport: false;
182
+ feedingTube: false;
183
+ painManagement: true;
184
+ organDonation: false;
185
+ };
186
+ healthcareAgent: {
187
+ name: string;
188
+ relationship: string;
189
+ };
190
+ };
191
+ sections: ({
192
+ id: string;
193
+ title: string;
194
+ fields: {
195
+ key: string;
196
+ label: string;
197
+ type: "confirm";
198
+ }[];
199
+ description?: never;
200
+ } | {
201
+ id: string;
202
+ title: string;
203
+ fields: {
204
+ key: string;
205
+ label: string;
206
+ type: "text";
207
+ }[];
208
+ description?: never;
209
+ } | {
210
+ id: string;
211
+ title: string;
212
+ description: string;
213
+ fields: never[];
214
+ })[];
215
+ buildBundle(input: AdvanceDirectiveInput): WorkflowBundle;
216
+ };
217
+ };
@@ -0,0 +1,407 @@
1
+ import { buildEvidenceItem, buildGenericSummary, currency, genericArtifacts, makeCheck, makeFlag, } from "../helpers.js";
2
+ import { basicWillInputSchema, powerOfAttorneyInputSchema, advanceDirectiveInputSchema, } from "../schemas/estate.js";
3
+ // ---------------------------------------------------------------------------
4
+ // estate/basic-will
5
+ // ---------------------------------------------------------------------------
6
+ /** Most states require 2 witnesses; a handful require or strongly recommend notarisation. */
7
+ function witnessRequirements(state) {
8
+ // Vermont requires 3 witnesses; Louisiana requires notarisation + 2 witnesses
9
+ const threeWitnessStates = new Set(["VT"]);
10
+ const notaryStates = new Set(["LA", "CO", "IN", "NH"]);
11
+ return {
12
+ witnesses: threeWitnessStates.has(state) ? 3 : 2,
13
+ notarizationRecommended: notaryStates.has(state),
14
+ };
15
+ }
16
+ const basicWillWorkflow = {
17
+ summary: {
18
+ id: "estate/basic-will",
19
+ domain: "estate",
20
+ title: "Basic will planner",
21
+ summary: "Plan asset distribution, executor selection, and guardian designation for a basic last will and testament.",
22
+ status: "active",
23
+ audience: "individual",
24
+ tags: ["will", "estate", "executor", "guardian", "probate"],
25
+ },
26
+ inputSchema: basicWillInputSchema,
27
+ starterData: {
28
+ testatorName: "",
29
+ state: "CA",
30
+ maritalStatus: "single",
31
+ children: [],
32
+ assets: [],
33
+ executor: { name: "", relationship: "" },
34
+ },
35
+ sections: [
36
+ {
37
+ id: "personal-information",
38
+ title: "Personal Information",
39
+ fields: [
40
+ { key: "testatorName", label: "Your full legal name (testator)", type: "text" },
41
+ { key: "state", label: "State of residence", type: "text" },
42
+ {
43
+ key: "maritalStatus",
44
+ label: "Marital status",
45
+ type: "select",
46
+ options: [
47
+ { label: "Single", value: "single" },
48
+ { label: "Married", value: "married" },
49
+ { label: "Divorced", value: "divorced" },
50
+ { label: "Widowed", value: "widowed" },
51
+ ],
52
+ },
53
+ ],
54
+ },
55
+ {
56
+ id: "assets-beneficiaries",
57
+ title: "Assets & Beneficiaries",
58
+ description: "List each asset with its estimated value and intended beneficiary.",
59
+ fields: [
60
+ {
61
+ key: "assets",
62
+ label: "Assets",
63
+ type: "textarea",
64
+ helpText: "Enter each asset's description, estimated value, and beneficiary.",
65
+ },
66
+ ],
67
+ },
68
+ {
69
+ id: "executor-guardian",
70
+ title: "Executor & Guardian",
71
+ fields: [
72
+ { key: "executor.name", label: "Executor name", type: "text" },
73
+ { key: "executor.relationship", label: "Executor relationship", type: "text" },
74
+ {
75
+ key: "alternateExecutor.name",
76
+ label: "Alternate executor name (optional)",
77
+ type: "text",
78
+ },
79
+ {
80
+ key: "guardianForMinors",
81
+ label: "Guardian for minor children (if applicable)",
82
+ type: "text",
83
+ },
84
+ ],
85
+ },
86
+ {
87
+ id: "state-requirements",
88
+ title: "State Requirements",
89
+ description: "Witness and notarisation requirements vary by state.",
90
+ fields: [],
91
+ },
92
+ ],
93
+ buildBundle(input) {
94
+ const hasMinorChildren = input.children.some((c) => c.isMinor);
95
+ const totalEstateValue = input.assets.reduce((s, a) => s + a.estimatedValue, 0);
96
+ const uniqueBeneficiaries = new Set(input.assets.map((a) => a.beneficiary));
97
+ const stateReqs = witnessRequirements(input.state);
98
+ const evidence = [
99
+ buildEvidenceItem("asset-docs", "Asset documentation (titles, deeds, account statements)", false, input.assets.length > 0),
100
+ buildEvidenceItem("current-will", "Current will (if updating)", false, false),
101
+ ];
102
+ const flags = [
103
+ // Always flag that this is a planning tool
104
+ makeFlag("general", "review", "This is a planning tool, not a legal document. Consult an attorney to draft and execute your will."),
105
+ ];
106
+ if (hasMinorChildren && !input.guardianForMinors) {
107
+ flags.push(makeFlag("guardianForMinors", "warning", "You have minor children but no guardian designated. Strongly recommended."));
108
+ }
109
+ if (totalEstateValue > 500_000) {
110
+ flags.push(makeFlag("assets", "review", `Estate value (${currency(totalEstateValue)}) may benefit from trust planning or more sophisticated estate tools. Consult an estate attorney.`));
111
+ }
112
+ const checks = [
113
+ makeCheck("testator-name", "Testator name provided", input.testatorName.trim().length > 0, "error", "Your full legal name is required."),
114
+ makeCheck("executor-named", "Executor named", input.executor.name.trim().length > 0, "error", "An executor must be named to administer the estate."),
115
+ makeCheck("assets-listed", "At least one asset listed", input.assets.length > 0, "warning", "List your assets to plan distribution."),
116
+ ];
117
+ return {
118
+ workflowId: "estate/basic-will",
119
+ domain: "estate",
120
+ title: "Basic will planner",
121
+ summary: "Will planning bundle. This is NOT a legal document — consult an attorney.",
122
+ applicant: undefined,
123
+ household: input.children.map((c) => ({
124
+ name: c.name,
125
+ relationship: "child",
126
+ age: c.age,
127
+ notes: c.isMinor ? "Minor" : undefined,
128
+ })),
129
+ evidence,
130
+ answers: input,
131
+ derived: {
132
+ totalEstateValue,
133
+ assetCount: input.assets.length,
134
+ beneficiaryCount: uniqueBeneficiaries.size,
135
+ hasMinorChildren,
136
+ witnessesRequired: stateReqs.witnesses,
137
+ notarizationRecommended: stateReqs.notarizationRecommended,
138
+ hasAlternateExecutor: !!input.alternateExecutor,
139
+ hasGuardian: !!input.guardianForMinors,
140
+ },
141
+ validation: { checks, flaggedFields: flags },
142
+ review: buildGenericSummary("Will plan", `${input.assets.length} assets, ${uniqueBeneficiaries.size} beneficiaries`, evidence, flags, [
143
+ `Will plan for ${input.testatorName || "?"}. ${input.assets.length} assets, ${uniqueBeneficiaries.size} beneficiaries.`,
144
+ `Executor: ${input.executor.name || "?"}${input.alternateExecutor ? ` (alternate: ${input.alternateExecutor.name})` : ""}.`,
145
+ `State: ${input.state} — ${stateReqs.witnesses} witnesses required${stateReqs.notarizationRecommended ? ", notarisation recommended" : ""}.`,
146
+ "Attorney review recommended.",
147
+ ]),
148
+ outputArtifacts: genericArtifacts("estate-basic-will", evidence),
149
+ provenance: ["workflow-registry"],
150
+ };
151
+ },
152
+ };
153
+ // ---------------------------------------------------------------------------
154
+ // estate/power-of-attorney
155
+ // ---------------------------------------------------------------------------
156
+ const powerOfAttorneyWorkflow = {
157
+ summary: {
158
+ id: "estate/power-of-attorney",
159
+ domain: "estate",
160
+ title: "Power of attorney planner",
161
+ summary: "Select POA type, define granted powers, and understand state-specific requirements for durable, springing, healthcare, or financial powers of attorney.",
162
+ status: "active",
163
+ audience: "individual",
164
+ tags: ["poa", "power-of-attorney", "estate", "durable", "healthcare"],
165
+ },
166
+ inputSchema: powerOfAttorneyInputSchema,
167
+ starterData: {
168
+ principalName: "",
169
+ agentName: "",
170
+ type: "durable",
171
+ state: "CA",
172
+ powers: ["financial management", "property transactions", "legal matters"],
173
+ },
174
+ sections: [
175
+ {
176
+ id: "principal-agent",
177
+ title: "Principal & Agent",
178
+ fields: [
179
+ { key: "principalName", label: "Principal (you)", type: "text" },
180
+ { key: "agentName", label: "Agent (person receiving authority)", type: "text" },
181
+ ],
182
+ },
183
+ {
184
+ id: "powers",
185
+ title: "Powers",
186
+ fields: [
187
+ {
188
+ key: "powers",
189
+ label: "Powers granted",
190
+ type: "textarea",
191
+ helpText: "List specific powers: financial management, property transactions, healthcare decisions, etc.",
192
+ },
193
+ ],
194
+ },
195
+ {
196
+ id: "type-selection",
197
+ title: "Type Selection",
198
+ fields: [
199
+ {
200
+ key: "type",
201
+ label: "POA type",
202
+ type: "select",
203
+ options: [
204
+ { label: "Durable (survives incapacity)", value: "durable" },
205
+ { label: "Springing (activates on condition)", value: "springing" },
206
+ { label: "Healthcare", value: "healthcare" },
207
+ { label: "Financial", value: "financial" },
208
+ ],
209
+ },
210
+ {
211
+ key: "effectiveDate",
212
+ label: "Effective date (optional — immediate if blank)",
213
+ type: "date",
214
+ },
215
+ { key: "state", label: "State", type: "text" },
216
+ ],
217
+ },
218
+ ],
219
+ buildBundle(input) {
220
+ const evidence = [
221
+ buildEvidenceItem("principal-id", "Principal identity document", true, false),
222
+ buildEvidenceItem("agent-id", "Agent identity document", true, false),
223
+ ];
224
+ const flags = [];
225
+ if (input.type === "springing") {
226
+ flags.push(makeFlag("type", "warning", "Springing POA may be harder to use in practice — the agent must prove the triggering condition (typically incapacity) has occurred, which can cause delays in emergencies."));
227
+ }
228
+ // Recommend type based on selections
229
+ const hasHealthcarePowers = input.powers.some((p) => p.toLowerCase().includes("healthcare") || p.toLowerCase().includes("medical"));
230
+ let recommendedType;
231
+ if (hasHealthcarePowers && input.type !== "healthcare") {
232
+ recommendedType = "Consider a separate healthcare POA / advance directive for medical decisions.";
233
+ }
234
+ else if (input.type === "durable") {
235
+ recommendedType = "Durable POA is the most common choice — remains effective if you become incapacitated.";
236
+ }
237
+ else if (input.type === "healthcare") {
238
+ recommendedType = "Healthcare POA grants authority for medical decisions. Consider pairing with an advance directive.";
239
+ }
240
+ else if (input.type === "financial") {
241
+ recommendedType = "Financial POA is limited to financial and property matters.";
242
+ }
243
+ else {
244
+ recommendedType = "Springing POA activates only when a specified condition is met.";
245
+ }
246
+ const checks = [
247
+ makeCheck("principal-name", "Principal name provided", input.principalName.trim().length > 0, "error", "The principal's legal name is required."),
248
+ makeCheck("agent-name", "Agent name provided", input.agentName.trim().length > 0, "error", "The agent's legal name is required."),
249
+ makeCheck("powers-defined", "Powers defined", input.powers.length > 0, "error", "At least one power must be granted."),
250
+ ];
251
+ return {
252
+ workflowId: "estate/power-of-attorney",
253
+ domain: "estate",
254
+ title: "Power of attorney planner",
255
+ summary: "POA planning bundle. This is NOT a legal document — consult an attorney.",
256
+ applicant: undefined,
257
+ household: [],
258
+ evidence,
259
+ answers: input,
260
+ derived: {
261
+ poaType: input.type,
262
+ powersCount: input.powers.length,
263
+ recommendedType,
264
+ isImmediate: !input.effectiveDate,
265
+ stateFormNote: `Check ${input.state} statutory form requirements — many states have specific POA forms.`,
266
+ },
267
+ validation: { checks, flaggedFields: flags },
268
+ review: buildGenericSummary("Power of attorney", `${input.type} POA — ${input.powers.length} powers`, evidence, flags, [
269
+ `${input.type.charAt(0).toUpperCase() + input.type.slice(1)} POA: ${input.principalName || "?"} grants authority to ${input.agentName || "?"}.`,
270
+ `${input.powers.length} powers defined.`,
271
+ recommendedType,
272
+ ]),
273
+ outputArtifacts: genericArtifacts("estate-power-of-attorney", evidence),
274
+ provenance: ["workflow-registry"],
275
+ };
276
+ },
277
+ };
278
+ // ---------------------------------------------------------------------------
279
+ // estate/advance-directive
280
+ // ---------------------------------------------------------------------------
281
+ const advanceDirectiveWorkflow = {
282
+ summary: {
283
+ id: "estate/advance-directive",
284
+ domain: "estate",
285
+ title: "Advance directive planner",
286
+ summary: "Document healthcare preferences, designate a healthcare agent, and create a distribution plan for your advance directive.",
287
+ status: "active",
288
+ audience: "individual",
289
+ tags: ["advance-directive", "living-will", "healthcare-proxy", "estate", "end-of-life"],
290
+ },
291
+ inputSchema: advanceDirectiveInputSchema,
292
+ starterData: {
293
+ principalName: "",
294
+ state: "CA",
295
+ preferences: {
296
+ lifeSupport: false,
297
+ feedingTube: false,
298
+ painManagement: true,
299
+ organDonation: false,
300
+ },
301
+ healthcareAgent: { name: "", relationship: "" },
302
+ },
303
+ sections: [
304
+ {
305
+ id: "healthcare-preferences",
306
+ title: "Healthcare Preferences",
307
+ fields: [
308
+ { key: "preferences.lifeSupport", label: "Accept life-sustaining treatment", type: "confirm" },
309
+ { key: "preferences.feedingTube", label: "Accept artificial nutrition/hydration", type: "confirm" },
310
+ { key: "preferences.painManagement", label: "Prioritise comfort/pain management", type: "confirm" },
311
+ { key: "preferences.organDonation", label: "Organ donation", type: "confirm" },
312
+ ],
313
+ },
314
+ {
315
+ id: "agent-selection",
316
+ title: "Agent Selection",
317
+ fields: [
318
+ { key: "healthcareAgent.name", label: "Healthcare agent name", type: "text" },
319
+ { key: "healthcareAgent.relationship", label: "Relationship", type: "text" },
320
+ {
321
+ key: "alternateAgent.name",
322
+ label: "Alternate agent name (recommended)",
323
+ type: "text",
324
+ },
325
+ {
326
+ key: "alternateAgent.relationship",
327
+ label: "Alternate agent relationship",
328
+ type: "text",
329
+ },
330
+ ],
331
+ },
332
+ {
333
+ id: "distribution",
334
+ title: "Distribution",
335
+ description: "Who should receive copies of your advance directive.",
336
+ fields: [],
337
+ },
338
+ ],
339
+ buildBundle(input) {
340
+ // No evidence required for advance directives — they are self-declarative
341
+ const evidence = [];
342
+ const flags = [];
343
+ if (!input.alternateAgent) {
344
+ flags.push(makeFlag("alternateAgent", "review", "No alternate healthcare agent designated. Consider naming one in case your primary agent is unavailable."));
345
+ }
346
+ // Distribution checklist
347
+ const distributionChecklist = [
348
+ { recipient: "Primary care physician", distributed: false },
349
+ { recipient: "Hospital / healthcare system", distributed: false },
350
+ { recipient: `Healthcare agent: ${input.healthcareAgent.name || "?"}`, distributed: false },
351
+ ...(input.alternateAgent
352
+ ? [{ recipient: `Alternate agent: ${input.alternateAgent.name}`, distributed: false }]
353
+ : []),
354
+ { recipient: "Family members", distributed: false },
355
+ { recipient: "Attorney (if applicable)", distributed: false },
356
+ ];
357
+ // Summarise preferences
358
+ const preferencesSummary = [
359
+ `Life support: ${input.preferences.lifeSupport ? "accept" : "decline"}.`,
360
+ `Artificial nutrition/hydration: ${input.preferences.feedingTube ? "accept" : "decline"}.`,
361
+ `Pain management priority: ${input.preferences.painManagement ? "yes" : "no"}.`,
362
+ `Organ donation: ${input.preferences.organDonation ? "yes" : "no"}.`,
363
+ ];
364
+ const checks = [
365
+ makeCheck("principal-name", "Your name provided", input.principalName.trim().length > 0, "error", "Your legal name is required."),
366
+ makeCheck("agent-name", "Healthcare agent named", input.healthcareAgent.name.trim().length > 0, "error", "A healthcare agent must be designated."),
367
+ ];
368
+ return {
369
+ workflowId: "estate/advance-directive",
370
+ domain: "estate",
371
+ title: "Advance directive planner",
372
+ summary: "Advance directive planning bundle. This is NOT a legal document — consult an attorney or use your state's statutory form.",
373
+ applicant: undefined,
374
+ household: [],
375
+ evidence,
376
+ answers: input,
377
+ derived: {
378
+ distributionChecklist,
379
+ preferencesSummary,
380
+ hasAlternateAgent: !!input.alternateAgent,
381
+ stateFormNote: `Use ${input.state}'s statutory advance directive form for legal validity.`,
382
+ },
383
+ validation: { checks, flaggedFields: flags },
384
+ review: {
385
+ headline: `Advance directive for ${input.principalName || "?"}. Healthcare agent: ${input.healthcareAgent.name || "?"}. Key preferences documented.`,
386
+ notes: [
387
+ `Advance directive for ${input.principalName || "?"}.`,
388
+ `Healthcare agent: ${input.healthcareAgent.name || "?"} (${input.healthcareAgent.relationship || "?"}).`,
389
+ ...preferencesSummary,
390
+ `Distribute copies to ${distributionChecklist.length} recipients.`,
391
+ ],
392
+ flaggedFields: flags,
393
+ },
394
+ outputArtifacts: genericArtifacts("estate-advance-directive", evidence),
395
+ provenance: ["workflow-registry"],
396
+ };
397
+ },
398
+ };
399
+ // ---------------------------------------------------------------------------
400
+ // Export
401
+ // ---------------------------------------------------------------------------
402
+ export const estateWorkflows = {
403
+ "estate/basic-will": basicWillWorkflow,
404
+ "estate/power-of-attorney": powerOfAttorneyWorkflow,
405
+ "estate/advance-directive": advanceDirectiveWorkflow,
406
+ };
407
+ //# sourceMappingURL=estate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estate.js","sourceRoot":"","sources":["../../../../src/workflows/domains/estate.ts"],"names":[],"mappings":"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"}