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.
- package/AGENTS.md +258 -0
- package/LICENSE +21 -0
- package/PRIVACY.md +38 -0
- package/README.md +234 -0
- package/agents.json +72 -0
- package/dist/bin/pigeongov.d.ts +2 -0
- package/dist/bin/pigeongov.js +4 -0
- package/dist/bin/pigeongov.js.map +1 -0
- package/dist/src/advisory/decision-support/contribution-optimizer.d.ts +36 -0
- package/dist/src/advisory/decision-support/contribution-optimizer.js +88 -0
- package/dist/src/advisory/decision-support/contribution-optimizer.js.map +1 -0
- package/dist/src/advisory/decision-support/deduction-optimizer.d.ts +31 -0
- package/dist/src/advisory/decision-support/deduction-optimizer.js +96 -0
- package/dist/src/advisory/decision-support/deduction-optimizer.js.map +1 -0
- package/dist/src/advisory/life-events/events.d.ts +4 -0
- package/dist/src/advisory/life-events/events.js +156 -0
- package/dist/src/advisory/life-events/events.js.map +1 -0
- package/dist/src/advisory/life-events/planner.d.ts +19 -0
- package/dist/src/advisory/life-events/planner.js +72 -0
- package/dist/src/advisory/life-events/planner.js.map +1 -0
- package/dist/src/advisory/screener/engine.d.ts +4 -0
- package/dist/src/advisory/screener/engine.js +368 -0
- package/dist/src/advisory/screener/engine.js.map +1 -0
- package/dist/src/advisory/screener/intake.d.ts +68 -0
- package/dist/src/advisory/screener/intake.js +93 -0
- package/dist/src/advisory/screener/intake.js.map +1 -0
- package/dist/src/analytics/stats.d.ts +18 -0
- package/dist/src/analytics/stats.js +158 -0
- package/dist/src/analytics/stats.js.map +1 -0
- package/dist/src/api/handlers/deadlines.d.ts +2 -0
- package/dist/src/api/handlers/deadlines.js +7 -0
- package/dist/src/api/handlers/deadlines.js.map +1 -0
- package/dist/src/api/handlers/openapi.d.ts +2 -0
- package/dist/src/api/handlers/openapi.js +7 -0
- package/dist/src/api/handlers/openapi.js.map +1 -0
- package/dist/src/api/handlers/workflows.d.ts +5 -0
- package/dist/src/api/handlers/workflows.js +73 -0
- package/dist/src/api/handlers/workflows.js.map +1 -0
- package/dist/src/api/index.d.ts +20 -0
- package/dist/src/api/index.js +70 -0
- package/dist/src/api/index.js.map +1 -0
- package/dist/src/api/openapi.d.ts +5 -0
- package/dist/src/api/openapi.js +384 -0
- package/dist/src/api/openapi.js.map +1 -0
- package/dist/src/api/router.d.ts +19 -0
- package/dist/src/api/router.js +57 -0
- package/dist/src/api/router.js.map +1 -0
- package/dist/src/cli/commands/completions.d.ts +2 -0
- package/dist/src/cli/commands/completions.js +396 -0
- package/dist/src/cli/commands/completions.js.map +1 -0
- package/dist/src/cli/commands/deadlines.d.ts +2 -0
- package/dist/src/cli/commands/deadlines.js +47 -0
- package/dist/src/cli/commands/deadlines.js.map +1 -0
- package/dist/src/cli/commands/doctor.d.ts +2 -0
- package/dist/src/cli/commands/doctor.js +50 -0
- package/dist/src/cli/commands/doctor.js.map +1 -0
- package/dist/src/cli/commands/drafts.d.ts +2 -0
- package/dist/src/cli/commands/drafts.js +75 -0
- package/dist/src/cli/commands/drafts.js.map +1 -0
- package/dist/src/cli/commands/extract.d.ts +2 -0
- package/dist/src/cli/commands/extract.js +17 -0
- package/dist/src/cli/commands/extract.js.map +1 -0
- package/dist/src/cli/commands/fees.d.ts +2 -0
- package/dist/src/cli/commands/fees.js +40 -0
- package/dist/src/cli/commands/fees.js.map +1 -0
- package/dist/src/cli/commands/fill.d.ts +25 -0
- package/dist/src/cli/commands/fill.js +354 -0
- package/dist/src/cli/commands/fill.js.map +1 -0
- package/dist/src/cli/commands/glossary.d.ts +2 -0
- package/dist/src/cli/commands/glossary.js +90 -0
- package/dist/src/cli/commands/glossary.js.map +1 -0
- package/dist/src/cli/commands/life-event.d.ts +2 -0
- package/dist/src/cli/commands/life-event.js +41 -0
- package/dist/src/cli/commands/life-event.js.map +1 -0
- package/dist/src/cli/commands/list.d.ts +2 -0
- package/dist/src/cli/commands/list.js +19 -0
- package/dist/src/cli/commands/list.js.map +1 -0
- package/dist/src/cli/commands/machine.d.ts +2 -0
- package/dist/src/cli/commands/machine.js +100 -0
- package/dist/src/cli/commands/machine.js.map +1 -0
- package/dist/src/cli/commands/merge.d.ts +2 -0
- package/dist/src/cli/commands/merge.js +24 -0
- package/dist/src/cli/commands/merge.js.map +1 -0
- package/dist/src/cli/commands/plugin.d.ts +2 -0
- package/dist/src/cli/commands/plugin.js +119 -0
- package/dist/src/cli/commands/plugin.js.map +1 -0
- package/dist/src/cli/commands/profile.d.ts +2 -0
- package/dist/src/cli/commands/profile.js +125 -0
- package/dist/src/cli/commands/profile.js.map +1 -0
- package/dist/src/cli/commands/review.d.ts +2 -0
- package/dist/src/cli/commands/review.js +25 -0
- package/dist/src/cli/commands/review.js.map +1 -0
- package/dist/src/cli/commands/scaffold.d.ts +2 -0
- package/dist/src/cli/commands/scaffold.js +304 -0
- package/dist/src/cli/commands/scaffold.js.map +1 -0
- package/dist/src/cli/commands/schemas.d.ts +2 -0
- package/dist/src/cli/commands/schemas.js +14 -0
- package/dist/src/cli/commands/schemas.js.map +1 -0
- package/dist/src/cli/commands/screen.d.ts +2 -0
- package/dist/src/cli/commands/screen.js +89 -0
- package/dist/src/cli/commands/screen.js.map +1 -0
- package/dist/src/cli/commands/serve.d.ts +2 -0
- package/dist/src/cli/commands/serve.js +46 -0
- package/dist/src/cli/commands/serve.js.map +1 -0
- package/dist/src/cli/commands/start.d.ts +2 -0
- package/dist/src/cli/commands/start.js +16 -0
- package/dist/src/cli/commands/start.js.map +1 -0
- package/dist/src/cli/commands/stats.d.ts +2 -0
- package/dist/src/cli/commands/stats.js +17 -0
- package/dist/src/cli/commands/stats.js.map +1 -0
- package/dist/src/cli/commands/testdata.d.ts +2 -0
- package/dist/src/cli/commands/testdata.js +60 -0
- package/dist/src/cli/commands/testdata.js.map +1 -0
- package/dist/src/cli/commands/tui.d.ts +2 -0
- package/dist/src/cli/commands/tui.js +26 -0
- package/dist/src/cli/commands/tui.js.map +1 -0
- package/dist/src/cli/commands/validate.d.ts +2 -0
- package/dist/src/cli/commands/validate.js +22 -0
- package/dist/src/cli/commands/validate.js.map +1 -0
- package/dist/src/cli/commands/vault.d.ts +2 -0
- package/dist/src/cli/commands/vault.js +73 -0
- package/dist/src/cli/commands/vault.js.map +1 -0
- package/dist/src/cli/commands/workflows.d.ts +2 -0
- package/dist/src/cli/commands/workflows.js +23 -0
- package/dist/src/cli/commands/workflows.js.map +1 -0
- package/dist/src/cli/display/review.d.ts +2 -0
- package/dist/src/cli/display/review.js +4 -0
- package/dist/src/cli/display/review.js.map +1 -0
- package/dist/src/cli/display/summary.d.ts +2 -0
- package/dist/src/cli/display/summary.js +19 -0
- package/dist/src/cli/display/summary.js.map +1 -0
- package/dist/src/cli/display/validation.d.ts +2 -0
- package/dist/src/cli/display/validation.js +16 -0
- package/dist/src/cli/display/validation.js.map +1 -0
- package/dist/src/cli/index.d.ts +1 -0
- package/dist/src/cli/index.js +83 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/output.d.ts +21 -0
- package/dist/src/cli/output.js +107 -0
- package/dist/src/cli/output.js.map +1 -0
- package/dist/src/cli/prompts/common.d.ts +21 -0
- package/dist/src/cli/prompts/common.js +53 -0
- package/dist/src/cli/prompts/common.js.map +1 -0
- package/dist/src/cli/prompts/credits.d.ts +3 -0
- package/dist/src/cli/prompts/credits.js +23 -0
- package/dist/src/cli/prompts/credits.js.map +1 -0
- package/dist/src/cli/prompts/deductions.d.ts +12 -0
- package/dist/src/cli/prompts/deductions.js +26 -0
- package/dist/src/cli/prompts/deductions.js.map +1 -0
- package/dist/src/cli/prompts/identity.d.ts +8 -0
- package/dist/src/cli/prompts/identity.js +36 -0
- package/dist/src/cli/prompts/identity.js.map +1 -0
- package/dist/src/cli/prompts/income.d.ts +15 -0
- package/dist/src/cli/prompts/income.js +61 -0
- package/dist/src/cli/prompts/income.js.map +1 -0
- package/dist/src/cli/prompts/workflow.d.ts +3 -0
- package/dist/src/cli/prompts/workflow.js +74 -0
- package/dist/src/cli/prompts/workflow.js.map +1 -0
- package/dist/src/cli/support.d.ts +53 -0
- package/dist/src/cli/support.js +80 -0
- package/dist/src/cli/support.js.map +1 -0
- package/dist/src/cli/tui.d.ts +22 -0
- package/dist/src/cli/tui.js +122 -0
- package/dist/src/cli/tui.js.map +1 -0
- package/dist/src/engine/audit-risk/scorer.d.ts +36 -0
- package/dist/src/engine/audit-risk/scorer.js +132 -0
- package/dist/src/engine/audit-risk/scorer.js.map +1 -0
- package/dist/src/engine/crypto/cost-basis.d.ts +19 -0
- package/dist/src/engine/crypto/cost-basis.js +115 -0
- package/dist/src/engine/crypto/cost-basis.js.map +1 -0
- package/dist/src/engine/crypto/transaction-parser.d.ts +36 -0
- package/dist/src/engine/crypto/transaction-parser.js +124 -0
- package/dist/src/engine/crypto/transaction-parser.js.map +1 -0
- package/dist/src/engine/crypto/wash-sale.d.ts +25 -0
- package/dist/src/engine/crypto/wash-sale.js +51 -0
- package/dist/src/engine/crypto/wash-sale.js.map +1 -0
- package/dist/src/engine/equity/espp.d.ts +41 -0
- package/dist/src/engine/equity/espp.js +90 -0
- package/dist/src/engine/equity/espp.js.map +1 -0
- package/dist/src/engine/equity/iso.d.ts +42 -0
- package/dist/src/engine/equity/iso.js +94 -0
- package/dist/src/engine/equity/iso.js.map +1 -0
- package/dist/src/engine/equity/nso.d.ts +35 -0
- package/dist/src/engine/equity/nso.js +63 -0
- package/dist/src/engine/equity/nso.js.map +1 -0
- package/dist/src/engine/equity/rsu.d.ts +33 -0
- package/dist/src/engine/equity/rsu.js +64 -0
- package/dist/src/engine/equity/rsu.js.map +1 -0
- package/dist/src/engine/field-mapper.d.ts +26 -0
- package/dist/src/engine/field-mapper.js +119 -0
- package/dist/src/engine/field-mapper.js.map +1 -0
- package/dist/src/engine/forms/core-1040.d.ts +2 -0
- package/dist/src/engine/forms/core-1040.js +124 -0
- package/dist/src/engine/forms/core-1040.js.map +1 -0
- package/dist/src/engine/forms/form-8949.d.ts +21 -0
- package/dist/src/engine/forms/form-8949.js +96 -0
- package/dist/src/engine/forms/form-8949.js.map +1 -0
- package/dist/src/engine/forms/index.d.ts +7 -0
- package/dist/src/engine/forms/index.js +6 -0
- package/dist/src/engine/forms/index.js.map +1 -0
- package/dist/src/engine/forms/schedule-b.d.ts +15 -0
- package/dist/src/engine/forms/schedule-b.js +78 -0
- package/dist/src/engine/forms/schedule-b.js.map +1 -0
- package/dist/src/engine/forms/schedule-d.d.ts +9 -0
- package/dist/src/engine/forms/schedule-d.js +86 -0
- package/dist/src/engine/forms/schedule-d.js.map +1 -0
- package/dist/src/engine/fpl.d.ts +70 -0
- package/dist/src/engine/fpl.js +127 -0
- package/dist/src/engine/fpl.js.map +1 -0
- package/dist/src/engine/gig/home-office.d.ts +34 -0
- package/dist/src/engine/gig/home-office.js +53 -0
- package/dist/src/engine/gig/home-office.js.map +1 -0
- package/dist/src/engine/gig/mileage.d.ts +30 -0
- package/dist/src/engine/gig/mileage.js +45 -0
- package/dist/src/engine/gig/mileage.js.map +1 -0
- package/dist/src/engine/gig/multi-1099.d.ts +19 -0
- package/dist/src/engine/gig/multi-1099.js +28 -0
- package/dist/src/engine/gig/multi-1099.js.map +1 -0
- package/dist/src/engine/multiyear/carryforward.d.ts +31 -0
- package/dist/src/engine/multiyear/carryforward.js +77 -0
- package/dist/src/engine/multiyear/carryforward.js.map +1 -0
- package/dist/src/engine/multiyear/compare.d.ts +25 -0
- package/dist/src/engine/multiyear/compare.js +94 -0
- package/dist/src/engine/multiyear/compare.js.map +1 -0
- package/dist/src/engine/multiyear/import.d.ts +23 -0
- package/dist/src/engine/multiyear/import.js +193 -0
- package/dist/src/engine/multiyear/import.js.map +1 -0
- package/dist/src/engine/optimizer/filing-status.d.ts +29 -0
- package/dist/src/engine/optimizer/filing-status.js +66 -0
- package/dist/src/engine/optimizer/filing-status.js.map +1 -0
- package/dist/src/engine/orchestrator.d.ts +14 -0
- package/dist/src/engine/orchestrator.js +135 -0
- package/dist/src/engine/orchestrator.js.map +1 -0
- package/dist/src/engine/scenarios/whatif.d.ts +34 -0
- package/dist/src/engine/scenarios/whatif.js +70 -0
- package/dist/src/engine/scenarios/whatif.js.map +1 -0
- package/dist/src/engine/state/ca/calculator.d.ts +3 -0
- package/dist/src/engine/state/ca/calculator.js +107 -0
- package/dist/src/engine/state/ca/calculator.js.map +1 -0
- package/dist/src/engine/state/common.d.ts +39 -0
- package/dist/src/engine/state/common.js +115 -0
- package/dist/src/engine/state/common.js.map +1 -0
- package/dist/src/engine/state/ga/calculator.d.ts +3 -0
- package/dist/src/engine/state/ga/calculator.js +82 -0
- package/dist/src/engine/state/ga/calculator.js.map +1 -0
- package/dist/src/engine/state/il/calculator.d.ts +3 -0
- package/dist/src/engine/state/il/calculator.js +49 -0
- package/dist/src/engine/state/il/calculator.js.map +1 -0
- package/dist/src/engine/state/mi/calculator.d.ts +3 -0
- package/dist/src/engine/state/mi/calculator.js +60 -0
- package/dist/src/engine/state/mi/calculator.js.map +1 -0
- package/dist/src/engine/state/nc/calculator.d.ts +3 -0
- package/dist/src/engine/state/nc/calculator.js +54 -0
- package/dist/src/engine/state/nc/calculator.js.map +1 -0
- package/dist/src/engine/state/nj/calculator.d.ts +3 -0
- package/dist/src/engine/state/nj/calculator.js +90 -0
- package/dist/src/engine/state/nj/calculator.js.map +1 -0
- package/dist/src/engine/state/ny/calculator.d.ts +3 -0
- package/dist/src/engine/state/ny/calculator.js +103 -0
- package/dist/src/engine/state/ny/calculator.js.map +1 -0
- package/dist/src/engine/state/oh/calculator.d.ts +3 -0
- package/dist/src/engine/state/oh/calculator.js +79 -0
- package/dist/src/engine/state/oh/calculator.js.map +1 -0
- package/dist/src/engine/state/pa/calculator.d.ts +3 -0
- package/dist/src/engine/state/pa/calculator.js +58 -0
- package/dist/src/engine/state/pa/calculator.js.map +1 -0
- package/dist/src/engine/state/registry.d.ts +9 -0
- package/dist/src/engine/state/registry.js +67 -0
- package/dist/src/engine/state/registry.js.map +1 -0
- package/dist/src/engine/state/types.d.ts +57 -0
- package/dist/src/engine/state/types.js +2 -0
- package/dist/src/engine/state/types.js.map +1 -0
- package/dist/src/engine/state/va/calculator.d.ts +3 -0
- package/dist/src/engine/state/va/calculator.js +76 -0
- package/dist/src/engine/state/va/calculator.js.map +1 -0
- package/dist/src/engine/suggestions/missed-deductions.d.ts +43 -0
- package/dist/src/engine/suggestions/missed-deductions.js +128 -0
- package/dist/src/engine/suggestions/missed-deductions.js.map +1 -0
- package/dist/src/engine/tax-calculator.d.ts +55 -0
- package/dist/src/engine/tax-calculator.js +156 -0
- package/dist/src/engine/tax-calculator.js.map +1 -0
- package/dist/src/engine/tax-constants-2025.d.ts +56 -0
- package/dist/src/engine/tax-constants-2025.js +138 -0
- package/dist/src/engine/tax-constants-2025.js.map +1 -0
- package/dist/src/engine/types.d.ts +77 -0
- package/dist/src/engine/types.js +2 -0
- package/dist/src/engine/types.js.map +1 -0
- package/dist/src/engine/va-math.d.ts +24 -0
- package/dist/src/engine/va-math.js +90 -0
- package/dist/src/engine/va-math.js.map +1 -0
- package/dist/src/engine/validator.d.ts +7 -0
- package/dist/src/engine/validator.js +108 -0
- package/dist/src/engine/validator.js.map +1 -0
- package/dist/src/glossary/entries/healthcare.d.ts +2 -0
- package/dist/src/glossary/entries/healthcare.js +78 -0
- package/dist/src/glossary/entries/healthcare.js.map +1 -0
- package/dist/src/glossary/entries/immigration.d.ts +2 -0
- package/dist/src/glossary/entries/immigration.js +112 -0
- package/dist/src/glossary/entries/immigration.js.map +1 -0
- package/dist/src/glossary/entries/tax.d.ts +2 -0
- package/dist/src/glossary/entries/tax.js +149 -0
- package/dist/src/glossary/entries/tax.js.map +1 -0
- package/dist/src/glossary/entries/unemployment.d.ts +2 -0
- package/dist/src/glossary/entries/unemployment.js +52 -0
- package/dist/src/glossary/entries/unemployment.js.map +1 -0
- package/dist/src/glossary/index.d.ts +19 -0
- package/dist/src/glossary/index.js +39 -0
- package/dist/src/glossary/index.js.map +1 -0
- package/dist/src/i18n/index.d.ts +21 -0
- package/dist/src/i18n/index.js +92 -0
- package/dist/src/i18n/index.js.map +1 -0
- package/dist/src/mcp/result.d.ts +3 -0
- package/dist/src/mcp/result.js +7 -0
- package/dist/src/mcp/result.js.map +1 -0
- package/dist/src/mcp/return-bundle.d.ts +19 -0
- package/dist/src/mcp/return-bundle.js +49 -0
- package/dist/src/mcp/return-bundle.js.map +1 -0
- package/dist/src/mcp/shared.d.ts +49102 -0
- package/dist/src/mcp/shared.js +354 -0
- package/dist/src/mcp/shared.js.map +1 -0
- package/dist/src/mcp/tools/build-packet.d.ts +7 -0
- package/dist/src/mcp/tools/build-packet.js +23 -0
- package/dist/src/mcp/tools/build-packet.js.map +1 -0
- package/dist/src/mcp/tools/calculate-tax.d.ts +40 -0
- package/dist/src/mcp/tools/calculate-tax.js +17 -0
- package/dist/src/mcp/tools/calculate-tax.js.map +1 -0
- package/dist/src/mcp/tools/deadlines.d.ts +7 -0
- package/dist/src/mcp/tools/deadlines.js +23 -0
- package/dist/src/mcp/tools/deadlines.js.map +1 -0
- package/dist/src/mcp/tools/describe-form.d.ts +14 -0
- package/dist/src/mcp/tools/describe-form.js +23 -0
- package/dist/src/mcp/tools/describe-form.js.map +1 -0
- package/dist/src/mcp/tools/describe-workflow.d.ts +6 -0
- package/dist/src/mcp/tools/describe-workflow.js +16 -0
- package/dist/src/mcp/tools/describe-workflow.js.map +1 -0
- package/dist/src/mcp/tools/explain-flag.d.ts +7 -0
- package/dist/src/mcp/tools/explain-flag.js +19 -0
- package/dist/src/mcp/tools/explain-flag.js.map +1 -0
- package/dist/src/mcp/tools/extract-document.d.ts +13 -0
- package/dist/src/mcp/tools/extract-document.js +20 -0
- package/dist/src/mcp/tools/extract-document.js.map +1 -0
- package/dist/src/mcp/tools/fees.d.ts +7 -0
- package/dist/src/mcp/tools/fees.js +24 -0
- package/dist/src/mcp/tools/fees.js.map +1 -0
- package/dist/src/mcp/tools/fill-form.d.ts +56 -0
- package/dist/src/mcp/tools/fill-form.js +47 -0
- package/dist/src/mcp/tools/fill-form.js.map +1 -0
- package/dist/src/mcp/tools/fill-workflow.d.ts +7 -0
- package/dist/src/mcp/tools/fill-workflow.js +24 -0
- package/dist/src/mcp/tools/fill-workflow.js.map +1 -0
- package/dist/src/mcp/tools/glossary.d.ts +8 -0
- package/dist/src/mcp/tools/glossary.js +54 -0
- package/dist/src/mcp/tools/glossary.js.map +1 -0
- package/dist/src/mcp/tools/list-forms.d.ts +6 -0
- package/dist/src/mcp/tools/list-forms.js +15 -0
- package/dist/src/mcp/tools/list-forms.js.map +1 -0
- package/dist/src/mcp/tools/list-workflows.d.ts +6 -0
- package/dist/src/mcp/tools/list-workflows.js +16 -0
- package/dist/src/mcp/tools/list-workflows.js.map +1 -0
- package/dist/src/mcp/tools/plan-life-event.d.ts +59 -0
- package/dist/src/mcp/tools/plan-life-event.js +41 -0
- package/dist/src/mcp/tools/plan-life-event.js.map +1 -0
- package/dist/src/mcp/tools/review-form.d.ts +40 -0
- package/dist/src/mcp/tools/review-form.js +26 -0
- package/dist/src/mcp/tools/review-form.js.map +1 -0
- package/dist/src/mcp/tools/review-workflow.d.ts +7 -0
- package/dist/src/mcp/tools/review-workflow.js +27 -0
- package/dist/src/mcp/tools/review-workflow.js.map +1 -0
- package/dist/src/mcp/tools/screen-eligibility.d.ts +53 -0
- package/dist/src/mcp/tools/screen-eligibility.js +44 -0
- package/dist/src/mcp/tools/screen-eligibility.js.map +1 -0
- package/dist/src/mcp/tools/start-workflow.d.ts +6 -0
- package/dist/src/mcp/tools/start-workflow.js +17 -0
- package/dist/src/mcp/tools/start-workflow.js.map +1 -0
- package/dist/src/mcp/tools/validate-form.d.ts +48 -0
- package/dist/src/mcp/tools/validate-form.js +30 -0
- package/dist/src/mcp/tools/validate-form.js.map +1 -0
- package/dist/src/mcp/tools/validate-workflow.d.ts +7 -0
- package/dist/src/mcp/tools/validate-workflow.js +24 -0
- package/dist/src/mcp/tools/validate-workflow.js.map +1 -0
- package/dist/src/pdf/batch.d.ts +8 -0
- package/dist/src/pdf/batch.js +15 -0
- package/dist/src/pdf/batch.js.map +1 -0
- package/dist/src/pdf/merge.d.ts +10 -0
- package/dist/src/pdf/merge.js +62 -0
- package/dist/src/pdf/merge.js.map +1 -0
- package/dist/src/pdf/ocr.d.ts +22 -0
- package/dist/src/pdf/ocr.js +52 -0
- package/dist/src/pdf/ocr.js.map +1 -0
- package/dist/src/pdf/reader.d.ts +2 -0
- package/dist/src/pdf/reader.js +354 -0
- package/dist/src/pdf/reader.js.map +1 -0
- package/dist/src/pdf/shared.d.ts +89 -0
- package/dist/src/pdf/shared.js +137 -0
- package/dist/src/pdf/shared.js.map +1 -0
- package/dist/src/pdf/writer.d.ts +7 -0
- package/dist/src/pdf/writer.js +311 -0
- package/dist/src/pdf/writer.js.map +1 -0
- package/dist/src/plugins/loader.d.ts +15 -0
- package/dist/src/plugins/loader.js +86 -0
- package/dist/src/plugins/loader.js.map +1 -0
- package/dist/src/plugins/sandbox.d.ts +14 -0
- package/dist/src/plugins/sandbox.js +88 -0
- package/dist/src/plugins/sandbox.js.map +1 -0
- package/dist/src/plugins/types.d.ts +17 -0
- package/dist/src/plugins/types.js +13 -0
- package/dist/src/plugins/types.js.map +1 -0
- package/dist/src/schemas/2025/f1040.d.ts +127 -0
- package/dist/src/schemas/2025/f1040.js +104 -0
- package/dist/src/schemas/2025/f1040.js.map +1 -0
- package/dist/src/schemas/2025/f1099-int.d.ts +53 -0
- package/dist/src/schemas/2025/f1099-int.js +51 -0
- package/dist/src/schemas/2025/f1099-int.js.map +1 -0
- package/dist/src/schemas/2025/f1099-nec.d.ts +47 -0
- package/dist/src/schemas/2025/f1099-nec.js +45 -0
- package/dist/src/schemas/2025/f1099-nec.js.map +1 -0
- package/dist/src/schemas/2025/form-8949.d.ts +46 -0
- package/dist/src/schemas/2025/form-8949.js +71 -0
- package/dist/src/schemas/2025/form-8949.js.map +1 -0
- package/dist/src/schemas/2025/index.d.ts +1004 -0
- package/dist/src/schemas/2025/index.js +60 -0
- package/dist/src/schemas/2025/index.js.map +1 -0
- package/dist/src/schemas/2025/schedule-1.d.ts +44 -0
- package/dist/src/schemas/2025/schedule-1.js +56 -0
- package/dist/src/schemas/2025/schedule-1.js.map +1 -0
- package/dist/src/schemas/2025/schedule-b.d.ts +32 -0
- package/dist/src/schemas/2025/schedule-b.js +53 -0
- package/dist/src/schemas/2025/schedule-b.js.map +1 -0
- package/dist/src/schemas/2025/schedule-c.d.ts +58 -0
- package/dist/src/schemas/2025/schedule-c.js +46 -0
- package/dist/src/schemas/2025/schedule-c.js.map +1 -0
- package/dist/src/schemas/2025/schedule-d.d.ts +36 -0
- package/dist/src/schemas/2025/schedule-d.js +52 -0
- package/dist/src/schemas/2025/schedule-d.js.map +1 -0
- package/dist/src/schemas/2025/shared.d.ts +98 -0
- package/dist/src/schemas/2025/shared.js +161 -0
- package/dist/src/schemas/2025/shared.js.map +1 -0
- package/dist/src/schemas/2025/w2.d.ts +57 -0
- package/dist/src/schemas/2025/w2.js +62 -0
- package/dist/src/schemas/2025/w2.js.map +1 -0
- package/dist/src/storage/drafts.d.ts +25 -0
- package/dist/src/storage/drafts.js +117 -0
- package/dist/src/storage/drafts.js.map +1 -0
- package/dist/src/storage/paths.d.ts +15 -0
- package/dist/src/storage/paths.js +33 -0
- package/dist/src/storage/paths.js.map +1 -0
- package/dist/src/storage/profile.d.ts +17 -0
- package/dist/src/storage/profile.js +59 -0
- package/dist/src/storage/profile.js.map +1 -0
- package/dist/src/storage/vault.d.ts +38 -0
- package/dist/src/storage/vault.js +187 -0
- package/dist/src/storage/vault.js.map +1 -0
- package/dist/src/testing/synthetic.d.ts +13 -0
- package/dist/src/testing/synthetic.js +164 -0
- package/dist/src/testing/synthetic.js.map +1 -0
- package/dist/src/types.d.ts +362 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/workflows/deadlines.d.ts +13 -0
- package/dist/src/workflows/deadlines.js +88 -0
- package/dist/src/workflows/deadlines.js.map +1 -0
- package/dist/src/workflows/domains/benefits.d.ts +409 -0
- package/dist/src/workflows/domains/benefits.js +744 -0
- package/dist/src/workflows/domains/benefits.js.map +1 -0
- package/dist/src/workflows/domains/business.d.ts +65 -0
- package/dist/src/workflows/domains/business.js +76 -0
- package/dist/src/workflows/domains/business.js.map +1 -0
- package/dist/src/workflows/domains/education.d.ts +251 -0
- package/dist/src/workflows/domains/education.js +504 -0
- package/dist/src/workflows/domains/education.js.map +1 -0
- package/dist/src/workflows/domains/estate.d.ts +217 -0
- package/dist/src/workflows/domains/estate.js +407 -0
- package/dist/src/workflows/domains/estate.js.map +1 -0
- package/dist/src/workflows/domains/healthcare-ext.d.ts +88 -0
- package/dist/src/workflows/domains/healthcare-ext.js +150 -0
- package/dist/src/workflows/domains/healthcare-ext.js.map +1 -0
- package/dist/src/workflows/domains/healthcare.d.ts +92 -0
- package/dist/src/workflows/domains/healthcare.js +126 -0
- package/dist/src/workflows/domains/healthcare.js.map +1 -0
- package/dist/src/workflows/domains/identity-domain.d.ts +291 -0
- package/dist/src/workflows/domains/identity-domain.js +541 -0
- package/dist/src/workflows/domains/identity-domain.js.map +1 -0
- package/dist/src/workflows/domains/immigration-ext.d.ts +282 -0
- package/dist/src/workflows/domains/immigration-ext.js +590 -0
- package/dist/src/workflows/domains/immigration-ext.js.map +1 -0
- package/dist/src/workflows/domains/immigration.d.ts +121 -0
- package/dist/src/workflows/domains/immigration.js +152 -0
- package/dist/src/workflows/domains/immigration.js.map +1 -0
- package/dist/src/workflows/domains/legal.d.ts +235 -0
- package/dist/src/workflows/domains/legal.js +380 -0
- package/dist/src/workflows/domains/legal.js.map +1 -0
- package/dist/src/workflows/domains/permits.d.ts +65 -0
- package/dist/src/workflows/domains/permits.js +74 -0
- package/dist/src/workflows/domains/permits.js.map +1 -0
- package/dist/src/workflows/domains/retirement.d.ts +59 -0
- package/dist/src/workflows/domains/retirement.js +155 -0
- package/dist/src/workflows/domains/retirement.js.map +1 -0
- package/dist/src/workflows/domains/tax.d.ts +133 -0
- package/dist/src/workflows/domains/tax.js +187 -0
- package/dist/src/workflows/domains/tax.js.map +1 -0
- package/dist/src/workflows/domains/unemployment.d.ts +105 -0
- package/dist/src/workflows/domains/unemployment.js +122 -0
- package/dist/src/workflows/domains/unemployment.js.map +1 -0
- package/dist/src/workflows/domains/veterans.d.ts +189 -0
- package/dist/src/workflows/domains/veterans.js +380 -0
- package/dist/src/workflows/domains/veterans.js.map +1 -0
- package/dist/src/workflows/fees.d.ts +15 -0
- package/dist/src/workflows/fees.js +93 -0
- package/dist/src/workflows/fees.js.map +1 -0
- package/dist/src/workflows/helpers.d.ts +8 -0
- package/dist/src/workflows/helpers.js +66 -0
- package/dist/src/workflows/helpers.js.map +1 -0
- package/dist/src/workflows/io.d.ts +3 -0
- package/dist/src/workflows/io.js +38 -0
- package/dist/src/workflows/io.js.map +1 -0
- package/dist/src/workflows/registry.d.ts +51355 -0
- package/dist/src/workflows/registry.js +140 -0
- package/dist/src/workflows/registry.js.map +1 -0
- package/dist/src/workflows/schemas/benefits.d.ts +78 -0
- package/dist/src/workflows/schemas/benefits.js +91 -0
- package/dist/src/workflows/schemas/benefits.js.map +1 -0
- package/dist/src/workflows/schemas/common.d.ts +27 -0
- package/dist/src/workflows/schemas/common.js +28 -0
- package/dist/src/workflows/schemas/common.js.map +1 -0
- package/dist/src/workflows/schemas/education.d.ts +70 -0
- package/dist/src/workflows/schemas/education.js +85 -0
- package/dist/src/workflows/schemas/education.js.map +1 -0
- package/dist/src/workflows/schemas/estate.d.ts +64 -0
- package/dist/src/workflows/schemas/estate.js +85 -0
- package/dist/src/workflows/schemas/estate.js.map +1 -0
- package/dist/src/workflows/schemas/healthcare-ext.d.ts +15 -0
- package/dist/src/workflows/schemas/healthcare-ext.js +17 -0
- package/dist/src/workflows/schemas/healthcare-ext.js.map +1 -0
- package/dist/src/workflows/schemas/healthcare.d.ts +33 -0
- package/dist/src/workflows/schemas/healthcare.js +20 -0
- package/dist/src/workflows/schemas/healthcare.js.map +1 -0
- package/dist/src/workflows/schemas/identity-domain.d.ts +64 -0
- package/dist/src/workflows/schemas/identity-domain.js +87 -0
- package/dist/src/workflows/schemas/identity-domain.js.map +1 -0
- package/dist/src/workflows/schemas/immigration-ext.d.ts +63 -0
- package/dist/src/workflows/schemas/immigration-ext.js +58 -0
- package/dist/src/workflows/schemas/immigration-ext.js.map +1 -0
- package/dist/src/workflows/schemas/immigration.d.ts +48 -0
- package/dist/src/workflows/schemas/immigration.js +27 -0
- package/dist/src/workflows/schemas/immigration.js.map +1 -0
- package/dist/src/workflows/schemas/legal.d.ts +45 -0
- package/dist/src/workflows/schemas/legal.js +45 -0
- package/dist/src/workflows/schemas/legal.js.map +1 -0
- package/dist/src/workflows/schemas/planning.d.ts +23 -0
- package/dist/src/workflows/schemas/planning.js +15 -0
- package/dist/src/workflows/schemas/planning.js.map +1 -0
- package/dist/src/workflows/schemas/retirement.d.ts +14 -0
- package/dist/src/workflows/schemas/retirement.js +22 -0
- package/dist/src/workflows/schemas/retirement.js.map +1 -0
- package/dist/src/workflows/schemas/tax.d.ts +58 -0
- package/dist/src/workflows/schemas/tax.js +51 -0
- package/dist/src/workflows/schemas/tax.js.map +1 -0
- package/dist/src/workflows/schemas/unemployment.d.ts +33 -0
- package/dist/src/workflows/schemas/unemployment.js +19 -0
- package/dist/src/workflows/schemas/unemployment.js.map +1 -0
- package/dist/src/workflows/schemas/veterans.d.ts +47 -0
- package/dist/src/workflows/schemas/veterans.js +51 -0
- package/dist/src/workflows/schemas/veterans.js.map +1 -0
- package/dist/src/workflows/types.d.ts +9 -0
- package/dist/src/workflows/types.js +2 -0
- package/dist/src/workflows/types.js.map +1 -0
- package/dist/xmcp.config.d.ts +3 -0
- package/dist/xmcp.config.js +29 -0
- package/dist/xmcp.config.js.map +1 -0
- package/llms.txt +48 -0
- package/package.json +82 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-document.js","sourceRoot":"","sources":["../../../../src/mcp/tools/extract-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC;AAEvD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,6DAA6D;CAC3E,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAc;IAC9D,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QACjD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;KACvC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { InferSchema, ToolMetadata } from "xmcp";
|
|
3
|
+
export declare const schema: {
|
|
4
|
+
workflowId: z.ZodOptional<z.ZodString>;
|
|
5
|
+
};
|
|
6
|
+
export declare const metadata: ToolMetadata;
|
|
7
|
+
export default function listFeesTool(args: InferSchema<typeof schema>): any;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
import { DEFAULT_FEES, getWorkflowFees, calculateTotalFees, } from "../../workflows/fees.js";
|
|
4
|
+
export const schema = {
|
|
5
|
+
workflowId: z.string().trim().min(1).optional(),
|
|
6
|
+
};
|
|
7
|
+
export const metadata = {
|
|
8
|
+
name: "pigeongov-list-fees",
|
|
9
|
+
description: "List fees associated with government workflows. Optionally filter by workflow ID.",
|
|
10
|
+
};
|
|
11
|
+
export default function listFeesTool(args) {
|
|
12
|
+
let fees = DEFAULT_FEES;
|
|
13
|
+
if (args.workflowId) {
|
|
14
|
+
fees = getWorkflowFees(fees, args.workflowId);
|
|
15
|
+
}
|
|
16
|
+
const total = calculateTotalFees(fees);
|
|
17
|
+
return withStructuredContent({
|
|
18
|
+
ok: true,
|
|
19
|
+
fees,
|
|
20
|
+
total,
|
|
21
|
+
flaggedFields: [],
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=fees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../../src/mcp/tools/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,mFAAmF;CACtF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,IAAgC;IAEhC,IAAI,IAAI,GAAG,YAAY,CAAC;IAExB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,IAAI;QACJ,KAAK;QACL,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare const schema: {
|
|
2
|
+
formId: import("zod").ZodEnum<{
|
|
3
|
+
w2: "w2";
|
|
4
|
+
"1099-nec": "1099-nec";
|
|
5
|
+
"1099-int": "1099-int";
|
|
6
|
+
1040: "1040";
|
|
7
|
+
"schedule-1": "schedule-1";
|
|
8
|
+
"schedule-c": "schedule-c";
|
|
9
|
+
}>;
|
|
10
|
+
taxYear: import("zod").ZodOptional<import("zod").ZodLiteral<2025>>;
|
|
11
|
+
data: import("zod").ZodObject<{
|
|
12
|
+
filingStatus: import("zod").ZodEnum<{
|
|
13
|
+
single: "single";
|
|
14
|
+
married_filing_jointly: "married_filing_jointly";
|
|
15
|
+
married_filing_separately: "married_filing_separately";
|
|
16
|
+
head_of_household: "head_of_household";
|
|
17
|
+
qualifying_surviving_spouse: "qualifying_surviving_spouse";
|
|
18
|
+
}>;
|
|
19
|
+
wages: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
20
|
+
taxableInterest: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
21
|
+
ordinaryDividends: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
22
|
+
scheduleCNet: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
23
|
+
otherIncome: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
24
|
+
adjustments: import("zod").ZodDefault<import("zod").ZodObject<{
|
|
25
|
+
educatorExpenses: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
26
|
+
hsaDeduction: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
27
|
+
selfEmploymentTaxDeduction: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
28
|
+
iraDeduction: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
29
|
+
studentLoanInterest: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
30
|
+
}, import("zod/v4/core").$strict>>;
|
|
31
|
+
useItemizedDeductions: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
32
|
+
itemizedDeductions: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
33
|
+
dependents: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
|
|
34
|
+
name: import("zod").ZodString;
|
|
35
|
+
ssn: import("zod").ZodString;
|
|
36
|
+
relationship: import("zod").ZodString;
|
|
37
|
+
childTaxCreditEligible: import("zod").ZodBoolean;
|
|
38
|
+
eitcEligible: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
39
|
+
}, import("zod/v4/core").$strict>>>;
|
|
40
|
+
federalWithheld: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
41
|
+
estimatedPayments: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
42
|
+
}, import("zod/v4/core").$strict>;
|
|
43
|
+
documents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
44
|
+
path: import("zod").ZodString;
|
|
45
|
+
type: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
46
|
+
w2: "w2";
|
|
47
|
+
"1099-nec": "1099-nec";
|
|
48
|
+
"1099-int": "1099-int";
|
|
49
|
+
}>>;
|
|
50
|
+
}, import("zod/v4/core").$strict>>>;
|
|
51
|
+
};
|
|
52
|
+
export declare const metadata: {
|
|
53
|
+
title: string;
|
|
54
|
+
description: string;
|
|
55
|
+
};
|
|
56
|
+
export default function fillFormTool(input: unknown): any;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { fillFormInputSchema, } from "../shared.js";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
import { buildValidated1040Bundle } from "../return-bundle.js";
|
|
4
|
+
export const schema = fillFormInputSchema.shape;
|
|
5
|
+
export const metadata = {
|
|
6
|
+
title: "Fill form",
|
|
7
|
+
description: "Build a validated form bundle from structured data and optional source documents.",
|
|
8
|
+
};
|
|
9
|
+
export default function fillFormTool(input) {
|
|
10
|
+
const parsed = fillFormInputSchema.parse(input);
|
|
11
|
+
const validationBundle = parsed.formId === "1040" ? buildValidated1040Bundle(parsed.data) : undefined;
|
|
12
|
+
if (parsed.formId !== "1040") {
|
|
13
|
+
return withStructuredContent({
|
|
14
|
+
ok: true,
|
|
15
|
+
formId: parsed.formId,
|
|
16
|
+
taxYear: parsed.taxYear ?? 2025,
|
|
17
|
+
flaggedFields: [],
|
|
18
|
+
calculation: undefined,
|
|
19
|
+
validation: {
|
|
20
|
+
validationChecks: [],
|
|
21
|
+
flaggedFields: [],
|
|
22
|
+
},
|
|
23
|
+
filledForm: {
|
|
24
|
+
formId: parsed.formId,
|
|
25
|
+
taxYear: parsed.taxYear ?? 2025,
|
|
26
|
+
data: parsed.data,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const { calculation, bundle, validation } = validationBundle;
|
|
31
|
+
return withStructuredContent({
|
|
32
|
+
ok: true,
|
|
33
|
+
formId: parsed.formId,
|
|
34
|
+
taxYear: parsed.taxYear ?? 2025,
|
|
35
|
+
flaggedFields: validation.flaggedFields,
|
|
36
|
+
calculation,
|
|
37
|
+
validation: {
|
|
38
|
+
validationChecks: validation.checks,
|
|
39
|
+
flaggedFields: validation.flaggedFields,
|
|
40
|
+
},
|
|
41
|
+
filledForm: {
|
|
42
|
+
...bundle,
|
|
43
|
+
calculation,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=fill-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fill-form.js","sourceRoot":"","sources":["../../../../src/mcp/tools/fill-form.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAEhD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,mFAAmF;CACjG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,gBAAgB,GACpB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,qBAAqB,CAAC;YAC3B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE;gBACV,gBAAgB,EAAE,EAAE;gBACpB,aAAa,EAAE,EAAE;aAClB;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAiB,CAAC;IAE9D,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;QAC/B,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,WAAW;QACX,UAAU,EAAE;YACV,gBAAgB,EAAE,UAAU,CAAC,MAAM;YACnC,aAAa,EAAE,UAAU,CAAC,aAAa;SACxC;QACD,UAAU,EAAE;YACV,GAAG,MAAM;YACT,WAAW;SACZ;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type InferSchema, type ToolMetadata } from "xmcp";
|
|
2
|
+
export declare const schema: {
|
|
3
|
+
workflowId: import("zod").ZodString;
|
|
4
|
+
data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
5
|
+
};
|
|
6
|
+
export declare const metadata: ToolMetadata;
|
|
7
|
+
export default function fillWorkflowTool(args: InferSchema<typeof schema>): any;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { fillWorkflow, fillWorkflowInputSchema } from "../shared.js";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
export const schema = {
|
|
4
|
+
workflowId: fillWorkflowInputSchema.shape.workflowId,
|
|
5
|
+
data: fillWorkflowInputSchema.shape.data,
|
|
6
|
+
};
|
|
7
|
+
export const metadata = {
|
|
8
|
+
name: "fill-workflow",
|
|
9
|
+
description: "Build a validated workflow bundle from structured workflow data.",
|
|
10
|
+
};
|
|
11
|
+
export default function fillWorkflowTool(args) {
|
|
12
|
+
const bundle = fillWorkflow(args.workflowId, args.data);
|
|
13
|
+
return withStructuredContent({
|
|
14
|
+
ok: !bundle.validation.flaggedFields.some((flag) => flag.severity === "error"),
|
|
15
|
+
workflowId: bundle.workflowId,
|
|
16
|
+
domain: bundle.domain,
|
|
17
|
+
review: bundle.review,
|
|
18
|
+
validation: bundle.validation,
|
|
19
|
+
flaggedFields: bundle.validation.flaggedFields,
|
|
20
|
+
outputArtifacts: bundle.outputArtifacts,
|
|
21
|
+
bundle,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=fill-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fill-workflow.js","sourceRoot":"","sources":["../../../../src/mcp/tools/fill-workflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC,UAAU;IACpD,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,kEAAkE;CAChF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAgC;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAExD,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC9E,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa;QAC9C,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { InferSchema, ToolMetadata } from "xmcp";
|
|
3
|
+
export declare const schema: {
|
|
4
|
+
term: z.ZodString;
|
|
5
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
6
|
+
};
|
|
7
|
+
export declare const metadata: ToolMetadata;
|
|
8
|
+
export default function lookupTermTool(args: InferSchema<typeof schema>): any;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
import { lookupTerm, searchTerms, getTermsForDomain } from "../../glossary/index.js";
|
|
4
|
+
export const schema = {
|
|
5
|
+
term: z.string().trim().min(1),
|
|
6
|
+
domain: z.string().trim().min(1).optional(),
|
|
7
|
+
};
|
|
8
|
+
export const metadata = {
|
|
9
|
+
name: "pigeongov-lookup-term",
|
|
10
|
+
description: "Look up a plain-language definition of a government or tax term. Returns an exact match or fuzzy search results.",
|
|
11
|
+
};
|
|
12
|
+
export default function lookupTermTool(args) {
|
|
13
|
+
// If domain specified, search within that domain
|
|
14
|
+
if (args.domain) {
|
|
15
|
+
const domainTerms = getTermsForDomain(args.domain);
|
|
16
|
+
const needle = args.term.toLowerCase();
|
|
17
|
+
const match = domainTerms.find((e) => e.term.toLowerCase() === needle ||
|
|
18
|
+
(e.abbreviation !== undefined && e.abbreviation.toLowerCase() === needle));
|
|
19
|
+
if (match) {
|
|
20
|
+
return withStructuredContent({
|
|
21
|
+
ok: true,
|
|
22
|
+
entry: match,
|
|
23
|
+
flaggedFields: [],
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const results = domainTerms.filter((e) => e.term.toLowerCase().includes(needle) ||
|
|
27
|
+
(e.abbreviation !== undefined && e.abbreviation.toLowerCase().includes(needle)) ||
|
|
28
|
+
e.definition.toLowerCase().includes(needle));
|
|
29
|
+
return withStructuredContent({
|
|
30
|
+
ok: results.length > 0,
|
|
31
|
+
query: args.term,
|
|
32
|
+
domain: args.domain,
|
|
33
|
+
results,
|
|
34
|
+
flaggedFields: [],
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// No domain: look up across all domains
|
|
38
|
+
const exact = lookupTerm(args.term);
|
|
39
|
+
if (exact) {
|
|
40
|
+
return withStructuredContent({
|
|
41
|
+
ok: true,
|
|
42
|
+
entry: exact,
|
|
43
|
+
flaggedFields: [],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const results = searchTerms(args.term);
|
|
47
|
+
return withStructuredContent({
|
|
48
|
+
ok: results.length > 0,
|
|
49
|
+
query: args.term,
|
|
50
|
+
results,
|
|
51
|
+
flaggedFields: [],
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=glossary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glossary.js","sourceRoot":"","sources":["../../../../src/mcp/tools/glossary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGrF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,kHAAkH;CACrH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,IAAgC;IAEhC,iDAAiD;IACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM;YAC/B,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAC5E,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,qBAAqB,CAAC;gBAC3B,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/E,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC9C,CAAC;QAEF,OAAO,qBAAqB,CAAC;YAC3B,EAAE,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO;YACP,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,qBAAqB,CAAC;YAC3B,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;QACtB,KAAK,EAAE,IAAI,CAAC,IAAI;QAChB,OAAO;QACP,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { listForms } from "../shared.js";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
export const schema = {};
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "List forms",
|
|
6
|
+
description: "List supported PigeonGov schemas for the current tax year.",
|
|
7
|
+
};
|
|
8
|
+
export default function listFormsTool(_input) {
|
|
9
|
+
return withStructuredContent({
|
|
10
|
+
ok: true,
|
|
11
|
+
flaggedFields: [],
|
|
12
|
+
forms: listForms(),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=list-forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-forms.js","sourceRoot":"","sources":["../../../../src/mcp/tools/list-forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,4DAA4D;CAC1E,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAgB;IACpD,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,SAAS,EAAE;KACnB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { listWorkflows, workflowDomains } from "../shared.js";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
export const schema = {};
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "List workflows",
|
|
6
|
+
description: "List supported PigeonGov workflows across tax and non-tax domains.",
|
|
7
|
+
};
|
|
8
|
+
export default function listWorkflowsTool() {
|
|
9
|
+
return withStructuredContent({
|
|
10
|
+
ok: true,
|
|
11
|
+
domains: workflowDomains(),
|
|
12
|
+
workflows: listWorkflows(),
|
|
13
|
+
flaggedFields: [],
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=list-workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-workflows.js","sourceRoot":"","sources":["../../../../src/mcp/tools/list-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,oEAAoE;CAClF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,eAAe,EAAE;QAC1B,SAAS,EAAE,aAAa,EAAE;QAC1B,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { ToolMetadata } from "xmcp";
|
|
3
|
+
export declare const schema: {
|
|
4
|
+
eventId: z.ZodOptional<z.ZodString>;
|
|
5
|
+
};
|
|
6
|
+
export declare const metadata: ToolMetadata;
|
|
7
|
+
export default function planLifeEventTool(args: {
|
|
8
|
+
eventId?: string;
|
|
9
|
+
}): ({
|
|
10
|
+
ok: boolean;
|
|
11
|
+
events: {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
description: string;
|
|
15
|
+
workflowCount: number;
|
|
16
|
+
}[];
|
|
17
|
+
} & {
|
|
18
|
+
structuredContent: {
|
|
19
|
+
ok: boolean;
|
|
20
|
+
events: {
|
|
21
|
+
id: string;
|
|
22
|
+
label: string;
|
|
23
|
+
description: string;
|
|
24
|
+
workflowCount: number;
|
|
25
|
+
}[];
|
|
26
|
+
};
|
|
27
|
+
}) | ({
|
|
28
|
+
ok: boolean;
|
|
29
|
+
error: string;
|
|
30
|
+
availableEvents: string[];
|
|
31
|
+
} & {
|
|
32
|
+
structuredContent: {
|
|
33
|
+
ok: boolean;
|
|
34
|
+
error: string;
|
|
35
|
+
availableEvents: string[];
|
|
36
|
+
};
|
|
37
|
+
}) | ({
|
|
38
|
+
ok: boolean;
|
|
39
|
+
event: {
|
|
40
|
+
id: string;
|
|
41
|
+
label: string;
|
|
42
|
+
description: string;
|
|
43
|
+
};
|
|
44
|
+
totalWorkflows: number;
|
|
45
|
+
hasUrgentDeadlines: boolean;
|
|
46
|
+
workflows: import("../../advisory/life-events/planner.js").PlannedWorkflow[];
|
|
47
|
+
} & {
|
|
48
|
+
structuredContent: {
|
|
49
|
+
ok: boolean;
|
|
50
|
+
event: {
|
|
51
|
+
id: string;
|
|
52
|
+
label: string;
|
|
53
|
+
description: string;
|
|
54
|
+
};
|
|
55
|
+
totalWorkflows: number;
|
|
56
|
+
hasUrgentDeadlines: boolean;
|
|
57
|
+
workflows: import("../../advisory/life-events/planner.js").PlannedWorkflow[];
|
|
58
|
+
};
|
|
59
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
import { planLifeEvent, listLifeEvents } from "../../advisory/life-events/planner.js";
|
|
4
|
+
export const schema = {
|
|
5
|
+
eventId: z.string().optional().describe("Life event ID (e.g., 'job-loss', 'marriage'). Omit to list all events."),
|
|
6
|
+
};
|
|
7
|
+
export const metadata = {
|
|
8
|
+
name: "pigeongov_plan_life_event",
|
|
9
|
+
description: "Get a prioritized action plan for a life event. Returns ordered workflow recommendations with deadlines and dependencies. Omit eventId to list available life events.",
|
|
10
|
+
};
|
|
11
|
+
export default function planLifeEventTool(args) {
|
|
12
|
+
if (!args.eventId) {
|
|
13
|
+
const events = listLifeEvents().map((e) => ({
|
|
14
|
+
id: e.id,
|
|
15
|
+
label: e.label,
|
|
16
|
+
description: e.description,
|
|
17
|
+
workflowCount: e.workflows.length,
|
|
18
|
+
}));
|
|
19
|
+
return withStructuredContent({ ok: true, events });
|
|
20
|
+
}
|
|
21
|
+
const plan = planLifeEvent(args.eventId);
|
|
22
|
+
if (!plan) {
|
|
23
|
+
return withStructuredContent({
|
|
24
|
+
ok: false,
|
|
25
|
+
error: `Unknown life event: "${args.eventId}"`,
|
|
26
|
+
availableEvents: listLifeEvents().map((e) => e.id),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return withStructuredContent({
|
|
30
|
+
ok: true,
|
|
31
|
+
event: {
|
|
32
|
+
id: plan.event.id,
|
|
33
|
+
label: plan.event.label,
|
|
34
|
+
description: plan.event.description,
|
|
35
|
+
},
|
|
36
|
+
totalWorkflows: plan.totalWorkflows,
|
|
37
|
+
hasUrgentDeadlines: plan.hasUrgentDeadlines,
|
|
38
|
+
workflows: plan.orderedWorkflows,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=plan-life-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-life-event.js","sourceRoot":"","sources":["../../../../src/mcp/tools/plan-life-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;CAClH,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,uKAAuK;CAC1K,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,IAA0B;IAClE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;SAClC,CAAC,CAAC,CAAC;QACJ,OAAO,qBAAqB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,qBAAqB,CAAC;YAC3B,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,wBAAwB,IAAI,CAAC,OAAO,GAAG;YAC9C,eAAe,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;SACpC;QACD,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,SAAS,EAAE,IAAI,CAAC,gBAAgB;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const schema: {
|
|
2
|
+
taxYear: import("zod").ZodOptional<import("zod").ZodLiteral<2025>>;
|
|
3
|
+
data: import("zod").ZodObject<{
|
|
4
|
+
filingStatus: import("zod").ZodEnum<{
|
|
5
|
+
single: "single";
|
|
6
|
+
married_filing_jointly: "married_filing_jointly";
|
|
7
|
+
married_filing_separately: "married_filing_separately";
|
|
8
|
+
head_of_household: "head_of_household";
|
|
9
|
+
qualifying_surviving_spouse: "qualifying_surviving_spouse";
|
|
10
|
+
}>;
|
|
11
|
+
wages: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
12
|
+
taxableInterest: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
13
|
+
ordinaryDividends: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
14
|
+
scheduleCNet: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
15
|
+
otherIncome: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
16
|
+
adjustments: import("zod").ZodDefault<import("zod").ZodObject<{
|
|
17
|
+
educatorExpenses: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
18
|
+
hsaDeduction: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
19
|
+
selfEmploymentTaxDeduction: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
20
|
+
iraDeduction: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
21
|
+
studentLoanInterest: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
22
|
+
}, import("zod/v4/core").$strict>>;
|
|
23
|
+
useItemizedDeductions: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
24
|
+
itemizedDeductions: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
25
|
+
dependents: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
|
|
26
|
+
name: import("zod").ZodString;
|
|
27
|
+
ssn: import("zod").ZodString;
|
|
28
|
+
relationship: import("zod").ZodString;
|
|
29
|
+
childTaxCreditEligible: import("zod").ZodBoolean;
|
|
30
|
+
eitcEligible: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
31
|
+
}, import("zod/v4/core").$strict>>>;
|
|
32
|
+
federalWithheld: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
33
|
+
estimatedPayments: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
34
|
+
}, import("zod/v4/core").$strict>;
|
|
35
|
+
};
|
|
36
|
+
export declare const metadata: {
|
|
37
|
+
title: string;
|
|
38
|
+
description: string;
|
|
39
|
+
};
|
|
40
|
+
export default function reviewFormTool(input: unknown): any;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { reviewTaxInput, calculateTaxInputSchema, } from "../shared.js";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
import { buildValidated1040Bundle } from "../return-bundle.js";
|
|
4
|
+
export const schema = calculateTaxInputSchema.shape;
|
|
5
|
+
export const metadata = {
|
|
6
|
+
title: "Review form",
|
|
7
|
+
description: "Generate a human-readable review summary for a filled form.",
|
|
8
|
+
};
|
|
9
|
+
export default function reviewFormTool(input) {
|
|
10
|
+
const parsed = calculateTaxInputSchema.parse(input);
|
|
11
|
+
const taxReview = reviewTaxInput(parsed.data);
|
|
12
|
+
const validationBundle = buildValidated1040Bundle(parsed.data);
|
|
13
|
+
return withStructuredContent({
|
|
14
|
+
ok: true,
|
|
15
|
+
flaggedFields: validationBundle.validation.flaggedFields,
|
|
16
|
+
summary: {
|
|
17
|
+
headline: taxReview.headline,
|
|
18
|
+
notes: taxReview.notes,
|
|
19
|
+
flaggedFields: validationBundle.validation.flaggedFields,
|
|
20
|
+
},
|
|
21
|
+
validationChecks: validationBundle.validation.checks,
|
|
22
|
+
calculation: taxReview.calculation,
|
|
23
|
+
parsed: parsed.data,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=review-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-form.js","sourceRoot":"","sources":["../../../../src/mcp/tools/review-form.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,6DAA6D;CAC3E,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAc;IACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/D,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,aAAa,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa;QACxD,OAAO,EAAE;YACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,aAAa,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa;SACzD;QACD,gBAAgB,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM;QACpD,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,MAAM,EAAE,MAAM,CAAC,IAAI;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type InferSchema, type ToolMetadata } from "xmcp";
|
|
2
|
+
export declare const schema: {
|
|
3
|
+
workflowId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4
|
+
bundle: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
|
|
5
|
+
};
|
|
6
|
+
export declare const metadata: ToolMetadata;
|
|
7
|
+
export default function reviewWorkflowTool(args: InferSchema<typeof schema>): any;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { reviewWorkflow, reviewWorkflowInputSchema } from "../shared.js";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
export const schema = {
|
|
4
|
+
workflowId: reviewWorkflowInputSchema.shape.workflowId,
|
|
5
|
+
bundle: reviewWorkflowInputSchema.shape.bundle,
|
|
6
|
+
};
|
|
7
|
+
export const metadata = {
|
|
8
|
+
name: "review-workflow",
|
|
9
|
+
description: "Generate a human-readable review summary for a workflow bundle or structured input.",
|
|
10
|
+
};
|
|
11
|
+
export default function reviewWorkflowTool(args) {
|
|
12
|
+
const result = typeof args.bundle.workflowId === "string"
|
|
13
|
+
? {
|
|
14
|
+
bundle: args.bundle,
|
|
15
|
+
review: args.bundle.review,
|
|
16
|
+
validation: args.bundle.validation,
|
|
17
|
+
}
|
|
18
|
+
: reviewWorkflow(args.workflowId ?? "tax/1040", args.bundle);
|
|
19
|
+
return withStructuredContent({
|
|
20
|
+
ok: true,
|
|
21
|
+
summary: result.review,
|
|
22
|
+
validation: result.validation,
|
|
23
|
+
flaggedFields: result.validation.flaggedFields,
|
|
24
|
+
bundle: result.bundle,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=review-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-workflow.js","sourceRoot":"","sources":["../../../../src/mcp/tools/review-workflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,yBAAyB,CAAC,KAAK,CAAC,UAAU;IACtD,MAAM,EAAE,yBAAyB,CAAC,KAAK,CAAC,MAAM;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,qFAAqF;CACnG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAgC;IACzE,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;QACxC,CAAC,CAAC;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAG,IAAI,CAAC,MAA8B,CAAC,MAAM;YACnD,UAAU,EAAG,IAAI,CAAC,MAAkC,CAAC,UAAU;SAChE;QACH,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjE,OAAO,qBAAqB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EAAG,MAAM,CAAC,UAA2C,CAAC,aAAa;QAChF,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { ToolMetadata } from "xmcp";
|
|
3
|
+
import { screenerInputSchema } from "../../advisory/screener/intake.js";
|
|
4
|
+
export declare const schema: {
|
|
5
|
+
householdSize: z.ZodCoercedNumber<unknown>;
|
|
6
|
+
annualHouseholdIncome: z.ZodCoercedNumber<unknown>;
|
|
7
|
+
state: z.ZodString;
|
|
8
|
+
citizenshipStatus: z.ZodEnum<{
|
|
9
|
+
other: "other";
|
|
10
|
+
permanent_resident: "permanent_resident";
|
|
11
|
+
us_citizen: "us_citizen";
|
|
12
|
+
conditional_resident: "conditional_resident";
|
|
13
|
+
ead_holder: "ead_holder";
|
|
14
|
+
undocumented: "undocumented";
|
|
15
|
+
refugee_asylee: "refugee_asylee";
|
|
16
|
+
}>;
|
|
17
|
+
ages: z.ZodArray<z.ZodCoercedNumber<unknown>>;
|
|
18
|
+
hasDisability: z.ZodDefault<z.ZodBoolean>;
|
|
19
|
+
employmentStatus: z.ZodEnum<{
|
|
20
|
+
disabled: "disabled";
|
|
21
|
+
employed: "employed";
|
|
22
|
+
unemployed: "unemployed";
|
|
23
|
+
self_employed: "self_employed";
|
|
24
|
+
retired: "retired";
|
|
25
|
+
}>;
|
|
26
|
+
isVeteran: z.ZodDefault<z.ZodBoolean>;
|
|
27
|
+
hasHealthInsurance: z.ZodDefault<z.ZodBoolean>;
|
|
28
|
+
monthlyRent: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
29
|
+
};
|
|
30
|
+
export declare const metadata: ToolMetadata;
|
|
31
|
+
export default function screenEligibilityTool(args: z.infer<typeof screenerInputSchema>): ({
|
|
32
|
+
ok: boolean;
|
|
33
|
+
error: string;
|
|
34
|
+
details: z.core.$ZodIssue[];
|
|
35
|
+
} & {
|
|
36
|
+
structuredContent: {
|
|
37
|
+
ok: boolean;
|
|
38
|
+
error: string;
|
|
39
|
+
details: z.core.$ZodIssue[];
|
|
40
|
+
};
|
|
41
|
+
}) | ({
|
|
42
|
+
ok: boolean;
|
|
43
|
+
summary: string;
|
|
44
|
+
results: import("../../types.js").EligibilityResult[];
|
|
45
|
+
totalScreened: number;
|
|
46
|
+
} & {
|
|
47
|
+
structuredContent: {
|
|
48
|
+
ok: boolean;
|
|
49
|
+
summary: string;
|
|
50
|
+
results: import("../../types.js").EligibilityResult[];
|
|
51
|
+
totalScreened: number;
|
|
52
|
+
};
|
|
53
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { withStructuredContent } from "../result.js";
|
|
3
|
+
import { screenerInputSchema } from "../../advisory/screener/intake.js";
|
|
4
|
+
import { screenEligibility } from "../../advisory/screener/engine.js";
|
|
5
|
+
export const schema = {
|
|
6
|
+
householdSize: z.coerce.number().int().min(1).max(20).describe("Number of people in household"),
|
|
7
|
+
annualHouseholdIncome: z.coerce.number().min(0).describe("Total annual household income before taxes"),
|
|
8
|
+
state: z.string().length(2).describe("Two-letter state code (e.g., CA, NY, TX)"),
|
|
9
|
+
citizenshipStatus: z
|
|
10
|
+
.enum(["us_citizen", "permanent_resident", "conditional_resident", "ead_holder", "undocumented", "refugee_asylee", "other"])
|
|
11
|
+
.describe("Citizenship or immigration status"),
|
|
12
|
+
ages: z.array(z.coerce.number().int().min(0).max(120)).describe("Ages of all household members"),
|
|
13
|
+
hasDisability: z.boolean().default(false).describe("Whether anyone in household has a disability"),
|
|
14
|
+
employmentStatus: z
|
|
15
|
+
.enum(["employed", "unemployed", "self_employed", "retired", "disabled"])
|
|
16
|
+
.describe("Current employment status"),
|
|
17
|
+
isVeteran: z.boolean().default(false).describe("Whether anyone in household is a military veteran"),
|
|
18
|
+
hasHealthInsurance: z.boolean().default(true).describe("Whether everyone has health insurance"),
|
|
19
|
+
monthlyRent: z.coerce.number().min(0).default(0).describe("Monthly rent or mortgage payment"),
|
|
20
|
+
};
|
|
21
|
+
export const metadata = {
|
|
22
|
+
name: "pigeongov_screen_eligibility",
|
|
23
|
+
description: "Universal eligibility screener. Takes 10 household data points and returns a tiered list of government programs the household may qualify for, with confidence levels and next steps.",
|
|
24
|
+
};
|
|
25
|
+
export default function screenEligibilityTool(args) {
|
|
26
|
+
const parsed = screenerInputSchema.safeParse(args);
|
|
27
|
+
if (!parsed.success) {
|
|
28
|
+
return withStructuredContent({
|
|
29
|
+
ok: false,
|
|
30
|
+
error: "Invalid screener input",
|
|
31
|
+
details: parsed.error.issues,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const results = screenEligibility(parsed.data);
|
|
35
|
+
const likely = results.filter((r) => r.eligible === "likely");
|
|
36
|
+
const possible = results.filter((r) => r.eligible === "possible");
|
|
37
|
+
return withStructuredContent({
|
|
38
|
+
ok: true,
|
|
39
|
+
summary: `Found ${likely.length} likely eligible and ${possible.length} possibly eligible programs`,
|
|
40
|
+
results,
|
|
41
|
+
totalScreened: results.length,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=screen-eligibility.js.map
|