e-arveldaja-mcp 0.25.0 → 0.25.2

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.
@@ -54,7 +54,7 @@ Call `parse_lightyear_statement` for the account statement CSV. The tool's own a
54
54
 
55
55
  If sales are present, call `parse_lightyear_capital_gains` for the FIFO capital-gains CSV. This tool's own argument is also `file_path`, so pass `capital_gains_path` there: `parse_lightyear_capital_gains { "file_path": "<capital_gains_path>" }`.
56
56
  - If no `capital_gains_path` is available, explain that non-cash-equivalent sells will be skipped.
57
- - Sell gains/losses and expensed trade fees default to the standard securities account pair (name-resolved): realized **gain → 8330** "Tulu aktsiatelt ja osadelt", realized **loss and expensed Buy/Sell fees → 8335** "Kulu aktsiatelt ja osadelt". (A Buy's trade platform fee is capitalized into the investment cost to match FIFO cost basis, not expensed; only the FX conversion fee on a Buy is expensed to 8335.) Only pass `gain_loss_account` / `loss_account` / `fee_account` to override; you no longer need to ask the user for a gain/loss account before booking sells.
57
+ - Sell gains/losses and expensed trade fees default to the standard securities account pair (name-resolved): realized **gain → 8330** "Tulu aktsiatelt ja osadelt", realized **loss and expensed Buy/Sell fees → 8335** "Kulu aktsiatelt ja osadelt". (Every fee is expensed to 8335 — a Buy's trade platform fee as well as its FX conversion fee. Nothing is capitalized into the investment cost: Lightyear's FIFO cost basis is fee-exclusive, so capitalizing would strand the fee on the investment account.) Only pass `gain_loss_account` / `loss_account` / `fee_account` to override; you no longer need to ask the user for a gain/loss account before booking sells.
58
58
 
59
59
  ### Step 3: Preview portfolio carrying value
60
60
 
package/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.25.2] - 2026-07-26
6
+
7
+ ### Fixed
8
+
9
+ - **Opaque receipt `file_ref` values never resolved on macOS.** Node exposes a directory handle at `/dev/fd/N` there, but the path is not traversable — `readdir` on it fails with `ENOTDIR` — so every reference reopened against a receipt folder was rejected with `file_reference_path_changed`, making the whole opaque-reference flow unusable on that platform. Directory enumeration now falls back to the canonical pathname on Darwin, guarded by the before/after opened-object identity checks a direct `folder_path` call already relies on. Thanks to @Ozzuke for finding and diagnosing this (#56).
10
+
11
+ ### Security
12
+
13
+ - **The macOS fallback no longer waives the descriptor requirement for opaque references.** As contributed, the fix also let an opaque reference proceed on Darwin when *no* descriptor namespace resolved at all. That case is not what the macOS bug needs — `realpath` on `/dev/fd` succeeds there, only `readdir` fails — and it is the one case where `readBoundReceiptFile` skips its per-file opened-object verification, which is gated on a descriptor path being present. An opaque reference would then have been checked strictly less than the direct call it is meant to be stronger than. The requirement is restored on every platform, and a regression test pins that macOS fails closed when no descriptor namespace resolves; the per-file `O_NOFOLLOW` open and canonical-path check are unchanged.
14
+
15
+ ## [0.25.1] - 2026-07-26
16
+
17
+ ### Fixed
18
+
19
+ - **`book_lightyear_trades` rejected every fee-bearing buy, and would have mis-booked them.** Lightyear reports the fee *inside* `Gross Amount` — `Net Amt.` is `Gross − Fee` for buys and sells alike — on a buy the gross is the cash spent and the net the share consideration, on a sell the gross is the consideration and the net the cash received. The trade validator instead required `Net = Gross + Fee` on a buy, so any buy carrying a platform fee failed with `trade_amount_conflict` and was silently left for manual booking (a real statement set contained 107 such buys, every one of them `Gross − Fee`, none `Gross + Fee`). The same inverted assumption sat in the buy posting builder, which added the trade fee to an `eur_amount` that already contained it: had the validator alone been relaxed, a 100.00 EUR purchase would have been booked as 99.75 to the investment account and 100.10 out of the broker account — cash that never moved. A regression test books a verbatim real fee-bearing USD buy with its conversion pair and pins the postings to the conversion leg's own gross, fee and net.
20
+ - **The buy trade fee is now expensed rather than capitalised into the investment account.** Three things agree on this and the old behaviour contradicted all of them: RTJ 3 expenses transaction costs on financial assets measured at fair value through profit or loss, which is where exchange-quoted equities land; the sell path already expensed its own trade fee to the same account; and Lightyear's capital-gains report relieves cost at a fee-**exclusive** `Cost Basis (EUR)`, with its `Fees (EUR)` column carrying only the sell fee. Capitalising the fee on the way in while relieving a fee-exclusive basis on the way out stranded the fee on the investment account permanently. A 1002.50 EUR buy with a 2.50 fee now posts 1000.00 to the investment account, 2.50 to the fee account and 1002.50 out of the broker account.
21
+ - **Fee-bearing FX sells never found their currency conversion.** The same inverted assumption decided which conversion belongs to a trade. A conversion is built around the cash that actually moves in the trade's currency — for a buy that is the gross it spends, but for a sell it is only the net it receives, the fee having already been taken out. Both matchers (the statement's conversion pairing and the reservation index that keeps trade conversions away from distribution extraction) compared against the gross in either direction, so a sell whose statement recorded a 99.90 conversion was searched for as 100.00 and rejected with `invalid_conversion_pair`. Of 61 fee-bearing FX sells in the real statement set, 17 pair under the corrected basis where none did before. The column choice lives in one helper used by both matchers, and buys are unaffected. Pairing alone does not make these sells bookable — the capital-gains cross-check compares Lightyear's ECB-rate `Proceeds (EUR)` against the dealt-rate euros actually received, a pre-existing gap this release does not close — so both the pairing and the remaining skip are pinned by regression tests built from verbatim real rows.
22
+ - **`parse_lightyear_statement` and `lightyear_portfolio_summary` reported a cost basis the ledger never booked.** Both added the trade fee to the invested amount while the posting builder now subtracts it, so the same statement produced 99.75 in the summary against a 99.55 investment debit in the journal — and the portfolio tool is documented as the way to verify the investment-account balance. Both are now on the ledger's basis. The portfolio summary additionally subtracted the trade fee from FX sell proceeds even though `eur_amount` is the already-net cash the conversion delivered, double-counting it; on a real BRK.B disposal that understated proceeds and the realised result by 0.91 EUR. Proceeds and cost are now both stated fee-exclusive, matching `Capital Gains = Proceeds − Cost Basis` in Lightyear's own report.
23
+ - **The tool description and the `lightyear-booking` workflow prompt still promised the old capitalising behaviour.** Both stated that a buy's trade platform fee is capitalised into the investment cost and is NOT posted to `fee_account`, which is what an agent reads before choosing accounts — so the two public contracts contradicted the postings the tool now produces. Both now say every buy and sell fee, platform and FX alike, is expensed, and the generated `.claude/commands/lightyear-booking.md` mirror was re-synced.
24
+ - The buy branch of the cent-overflow guard now guards the two sums the buy postings actually perform (`eur_amount − trade_fee` and `eur_amount + fx_fee`); previously it guarded the sell branch's pair, whose second sum (`trade_fee + fx_fee`) a buy never computes.
25
+
5
26
  ## [0.25.0] - 2026-07-25
6
27
 
7
28
  ### Added
@@ -1 +1 @@
1
- {"version":3,"file":"lightyear-investments.d.ts","sourceRoot":"","sources":["../../src/tools/lightyear-investments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lightyear-investments.d.ts","sourceRoot":"","sources":["../../src/tools/lightyear-investments.ts"],"names":[],"mappings":"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"}
@@ -360,9 +360,13 @@ export function classifyTradeIntrinsicReadiness(trade) {
360
360
  tradeFeeCents !== null && tradeFeeCents >= 0 &&
361
361
  fxFeeCents !== null && fxFeeCents >= 0;
362
362
  const hasSafePostingArithmetic = hasSafeMoney && (trade.type === "Buy"
363
- ? checkedCentArithmetic(eurAmountCents, tradeFeeCents) !== null &&
364
- checkedCentArithmetic(fxFeeCents, tradeFeeCents) !== null &&
365
- checkedCentArithmetic(eurAmountCents, fxFeeCents, tradeFeeCents) !== null
363
+ // A buy posts `eur_amount - trade_fee` to the investment account and
364
+ // `eur_amount + fx_fee` out of the broker account. Only the first sum is
365
+ // shared with the sell branch below, which pairs it with `trade_fee +
366
+ // fx_fee` — a sum a buy never computes, since its two fees are posted as
367
+ // separate debits rather than combined.
368
+ ? checkedCentArithmetic(eurAmountCents, -tradeFeeCents) !== null &&
369
+ checkedCentArithmetic(eurAmountCents, fxFeeCents) !== null
366
370
  : checkedCentArithmetic(eurAmountCents, -tradeFeeCents) !== null &&
367
371
  checkedCentArithmetic(tradeFeeCents, fxFeeCents) !== null);
368
372
  if (!hasSafeQuantity || !hasSafePostingArithmetic) {
@@ -568,6 +572,19 @@ function parseCapitalGains(csv) {
568
572
  }
569
573
  return rows;
570
574
  }
575
+ /**
576
+ * The cash that moves through the broker balance in the trade's own currency —
577
+ * the figure a paired FX conversion is built around.
578
+ *
579
+ * Because Lightyear takes the fee out of the gross, the two directions read
580
+ * different columns: a buy spends the whole gross (shares plus fee), while a sell
581
+ * receives only the net. Matching a sell on its gross means looking for a
582
+ * conversion that is larger than the one the statement actually contains, which
583
+ * left every fee-bearing FX sell unpaired with `invalid_conversion_pair`.
584
+ */
585
+ function tradeConversionAmountCcy(trade) {
586
+ return Math.abs(trade.type === "Sell" ? trade.net_amount : trade.gross_amount);
587
+ }
571
588
  function validateTradeAmounts(row) {
572
589
  const gross = Math.abs(row.gross_amount);
573
590
  const net = Math.abs(row.net_amount);
@@ -577,7 +594,14 @@ function validateTradeAmounts(row) {
577
594
  if (Math.sign(row.gross_amount) !== Math.sign(row.net_amount)) {
578
595
  return fxReason("trade_amount_conflict");
579
596
  }
580
- const expectedNet = row.type === "Buy" ? gross + row.fee : gross - row.fee;
597
+ // Lightyear reports the fee INSIDE `Gross Amount`, for buys and sells alike:
598
+ // `Net Amt.` is always `Gross − Fee`. On a buy the gross is the cash that leaves
599
+ // the broker balance and the net is the share consideration; on a sell the gross
600
+ // is the consideration and the net is the cash that arrives. Treating a buy as
601
+ // `gross + fee` rejected every fee-bearing buy with `trade_amount_conflict`
602
+ // (verified against real statements: 107 fee-bearing buys, all `gross − fee`,
603
+ // none `gross + fee`).
604
+ const expectedNet = gross - row.fee;
581
605
  if (!isFinitePositive(expectedNet) || !agreesToCent(net, expectedNet)) {
582
606
  return fxReason("trade_amount_conflict");
583
607
  }
@@ -673,7 +697,7 @@ function extractTrades(rows) {
673
697
  continue;
674
698
  const hasMatchingForeignRow = conversionRows.some(conversionRow => normalizedCurrency(conversionRow.ccy) === tradeCurrency &&
675
699
  conversionRow.date.split(/[\sT]/)[0] === orderDatePrefix &&
676
- agreesToCent(Math.abs(conversionRow.gross_amount), Math.abs(row.gross_amount)));
700
+ agreesToCent(Math.abs(conversionRow.gross_amount), tradeConversionAmountCcy(row)));
677
701
  if (hasMatchingForeignRow)
678
702
  shortlisted.push({ ref, rows: conversionRows });
679
703
  }
@@ -1106,39 +1130,43 @@ export function collectTradeReservedConversionRefs(rows, diagnostics) {
1106
1130
  if (trade.type !== "Buy" && trade.type !== "Sell")
1107
1131
  continue;
1108
1132
  const day = statementDay(trade.date);
1109
- const gross = Math.abs(trade.gross_amount);
1133
+ // The conversion is built around the cash that moves in the trade currency:
1134
+ // the gross for a buy and the net for a sell, since the fee sits inside the
1135
+ // gross. Reserving a sell against its gross looked for a conversion the
1136
+ // statement never contains.
1137
+ const conversionAmount = tradeConversionAmountCcy(trade);
1110
1138
  const currency = normalizedCurrency(trade.ccy);
1111
- if (day !== null && isFinitePositive(gross) && currency !== "EUR") {
1139
+ if (day !== null && isFinitePositive(conversionAmount) && currency !== "EUR") {
1112
1140
  const wildcardCurrency = currency === "";
1113
- const probeIdentity = strictTradeProbeIdentity(day, currency, wildcardCurrency, gross);
1141
+ const probeIdentity = strictTradeProbeIdentity(day, currency, wildcardCurrency, conversionAmount);
1114
1142
  if (processedStrictProbes.has(probeIdentity)) {
1115
1143
  incrementTradeReservationDiagnostic(diagnostics, "strict_cache_hits");
1116
1144
  }
1117
1145
  else {
1118
1146
  incrementTradeReservationDiagnostic(diagnostics, "strict_queries");
1119
- queryTradeReservationIndex(indexes.strictH17, strictTradeReservationKey(day, wildcardCurrency ? "*" : currency, wildcardCurrency), gross, strictCandidateResidualTolerance(gross, gross), row => {
1147
+ queryTradeReservationIndex(indexes.strictH17, strictTradeReservationKey(day, wildcardCurrency ? "*" : currency, wildcardCurrency), conversionAmount, strictCandidateResidualTolerance(conversionAmount, conversionAmount), row => {
1120
1148
  const rowCurrency = normalizedCurrency(row.ccy);
1121
1149
  return statementDay(row.date) === day &&
1122
1150
  rowCurrency !== "" &&
1123
1151
  rowCurrency !== "EUR" &&
1124
1152
  (wildcardCurrency || rowCurrency === currency) &&
1125
- hasExactCandidateResidual(row.gross_amount, gross);
1126
- }, reference => reserveAndPruneTradeReference(reference, reserved, indexes.strictH17, indexes.legacyH16), strictTradeReservationBounds(gross), () => incrementTradeReservationDiagnostic(diagnostics, "strict_candidate_visits"));
1153
+ hasExactCandidateResidual(row.gross_amount, conversionAmount);
1154
+ }, reference => reserveAndPruneTradeReference(reference, reserved, indexes.strictH17, indexes.legacyH16), strictTradeReservationBounds(conversionAmount), () => incrementTradeReservationDiagnostic(diagnostics, "strict_candidate_visits"));
1127
1155
  processedStrictProbes.add(probeIdentity);
1128
1156
  }
1129
1157
  }
1130
1158
  if (validateTradeAmounts(trade) === null && currency !== "EUR") {
1131
1159
  const datePrefix = rawStatementDatePrefix(trade.date);
1132
- const roundedGross = roundMoney(gross);
1133
- const probeIdentity = legacyTradeProbeIdentity(datePrefix, currency, gross);
1160
+ const roundedConversionAmount = roundMoney(conversionAmount);
1161
+ const probeIdentity = legacyTradeProbeIdentity(datePrefix, currency, conversionAmount);
1134
1162
  if (processedLegacyProbes.has(probeIdentity)) {
1135
1163
  incrementTradeReservationDiagnostic(diagnostics, "legacy_cache_hits");
1136
1164
  }
1137
1165
  else {
1138
1166
  incrementTradeReservationDiagnostic(diagnostics, "legacy_queries");
1139
- queryTradeReservationIndex(indexes.legacyH16, legacyTradeReservationKey(datePrefix, currency), roundedGross, LEGACY_CENT_MATCH_TOLERANCE, row => rawStatementDatePrefix(row.date) === datePrefix &&
1167
+ queryTradeReservationIndex(indexes.legacyH16, legacyTradeReservationKey(datePrefix, currency), roundedConversionAmount, LEGACY_CENT_MATCH_TOLERANCE, row => rawStatementDatePrefix(row.date) === datePrefix &&
1140
1168
  normalizedCurrency(row.ccy) === currency &&
1141
- agreesToCent(Math.abs(row.gross_amount), gross), reference => reserveAndPruneTradeReference(reference, reserved, indexes.strictH17, indexes.legacyH16), undefined, () => incrementTradeReservationDiagnostic(diagnostics, "legacy_candidate_visits"));
1169
+ agreesToCent(Math.abs(row.gross_amount), conversionAmount), reference => reserveAndPruneTradeReference(reference, reserved, indexes.strictH17, indexes.legacyH16), undefined, () => incrementTradeReservationDiagnostic(diagnostics, "legacy_candidate_visits"));
1142
1170
  processedLegacyProbes.add(probeIdentity);
1143
1171
  }
1144
1172
  }
@@ -1612,19 +1640,27 @@ function computeTradesProjection(params) {
1612
1640
  const tradeFeeEur = readiness.converted_trade_fee_eur;
1613
1641
  const postings = [];
1614
1642
  if (trade.type === "Buy") {
1615
- const totalFees = roundMoney(trade.fx_fee_eur + tradeFeeEur);
1616
- const investmentCostEur = roundMoney(trade.eur_amount + tradeFeeEur);
1617
- const totalCashOutEur = roundMoney(trade.eur_amount + totalFees);
1618
- if (totalFees > 0) {
1619
- postings.push({ accounts_id: investment_account, ...investmentDim, type: "D", amount: investmentCostEur });
1620
- if (trade.fx_fee_eur > 0)
1621
- postings.push({ accounts_id: feeAccount, type: "D", amount: trade.fx_fee_eur });
1622
- postings.push({ accounts_id: broker_account, ...brokerDim, type: "C", amount: totalCashOutEur });
1623
- }
1624
- else {
1625
- postings.push({ accounts_id: investment_account, ...investmentDim, type: "D", amount: investmentCostEur });
1626
- postings.push({ accounts_id: broker_account, ...brokerDim, type: "C", amount: investmentCostEur });
1627
- }
1643
+ // `eur_amount` already contains the trade fee — for an FX buy it is the EUR
1644
+ // conversion leg's net, i.e. the euros that became the trade's gross, and
1645
+ // that gross paid for the shares AND the fee; for a EUR buy it is the gross
1646
+ // itself. So the fee is subtracted out rather than added on: the investment
1647
+ // account carries the share consideration alone.
1648
+ //
1649
+ // The fee is EXPENSED, not capitalised, for three reasons that agree: RTJ 3
1650
+ // expenses transaction costs on financial assets measured at fair value
1651
+ // through profit or loss (which is where exchange-quoted equities land); the
1652
+ // sell path already expenses its own trade fee to the same account; and
1653
+ // Lightyear's capital-gains report relieves cost at a fee-EXCLUSIVE
1654
+ // `Cost Basis (EUR)` (its `Fees (EUR)` column carries only the sell fee), so
1655
+ // capitalising here would strand the fee on the investment account forever.
1656
+ const investmentCostEur = roundMoney(trade.eur_amount - tradeFeeEur);
1657
+ const totalCashOutEur = roundMoney(trade.eur_amount + trade.fx_fee_eur);
1658
+ postings.push({ accounts_id: investment_account, ...investmentDim, type: "D", amount: investmentCostEur });
1659
+ if (trade.fx_fee_eur > 0)
1660
+ postings.push({ accounts_id: feeAccount, type: "D", amount: trade.fx_fee_eur });
1661
+ if (tradeFeeEur > 0)
1662
+ postings.push({ accounts_id: feeAccount, type: "D", amount: tradeFeeEur });
1663
+ postings.push({ accounts_id: broker_account, ...brokerDim, type: "C", amount: totalCashOutEur });
1628
1664
  const fxInfo = trade.fx_rate ? ` (${trade.ccy} FX ${trade.fx_rate})` : "";
1629
1665
  const title = `Lightyear Buy: ${trade.quantity.toFixed(6)} ${trade.ticker}${fxInfo}`;
1630
1666
  const resultRow = {
@@ -2091,11 +2127,29 @@ export function registerLightyearTools(server, api, runtimeSafetyContext) {
2091
2127
  summary[ticker] = {
2092
2128
  buys: buys.length,
2093
2129
  sells: sells.length,
2130
+ // Same basis as the ledger's investment debit and the portfolio summary:
2131
+ // the share consideration, with the trade fee taken back out of
2132
+ // `eur_amount` rather than added to it. An unresolved fee leaves the
2133
+ // figure fee-inclusive, which is the conservative direction and is
2134
+ // already flagged by `trade_fee_unresolved`.
2094
2135
  total_invested_eur: roundMoney(buys.reduce((s, t) => {
2095
2136
  const convertedFee = tradeFeesInEur.get(t);
2096
- return s + t.eur_amount + (convertedFee === null || convertedFee === undefined ? 0 : convertedFee);
2137
+ return s + t.eur_amount - (convertedFee === null || convertedFee === undefined ? 0 : convertedFee);
2138
+ }, 0)),
2139
+ // Sells are stated on the same fee-exclusive consideration basis as the
2140
+ // buys above and as `lightyear_portfolio_summary`. `eur_amount` is not
2141
+ // one quantity across currencies: for a EUR sell it is the gross, which
2142
+ // IS the consideration, but for an FX sell it is the euros that arrived,
2143
+ // already net of both the trade fee and the FX fee — so both are added
2144
+ // back. Summing raw `eur_amount` here left this field on the old basis
2145
+ // while its three siblings moved, making the two tools disagree.
2146
+ total_sold_eur: roundMoney(sells.reduce((s, t) => {
2147
+ const convertedFee = tradeFeesInEur.get(t);
2148
+ const tradeFee = convertedFee === null || convertedFee === undefined ? 0 : convertedFee;
2149
+ return s + (normalizedCurrency(t.ccy) === "EUR"
2150
+ ? t.eur_amount
2151
+ : t.eur_amount + t.fx_fee_eur + tradeFee);
2097
2152
  }, 0)),
2098
- total_sold_eur: roundMoney(sells.reduce((s, t) => s + t.eur_amount, 0)),
2099
2153
  };
2100
2154
  }
2101
2155
  const skippedCashEquivalentSummary = {};
@@ -2254,7 +2308,7 @@ export function registerLightyearTools(server, api, runtimeSafetyContext) {
2254
2308
  broker_dimension_id: z.number().optional().describe("Dimension ID for broker account (accounts_dimensions_id)"),
2255
2309
  gain_loss_account: z.number().optional().describe("Realized gain account, credited on a sell gain (default: auto-detect 'Tulu aktsiatelt ja osadelt', standard 8330)"),
2256
2310
  loss_account: z.number().optional().describe("Realized loss account, debited on a sell loss (default: auto-detect 'Kulu aktsiatelt ja osadelt', standard 8335)"),
2257
- fee_account: z.number().optional().describe("Account for EXPENSED trade fees — all Sell fees and a Buy's FX-conversion fee (default: auto-detect 'Kulu aktsiatelt ja osadelt', standard 8335). A Buy's trade platform fee is capitalized into the investment cost to match FIFO cost basis and is NOT posted here."),
2311
+ fee_account: z.number().optional().describe("Account for EXPENSED trade fees — every Buy and Sell fee, both the platform fee and the FX-conversion fee (default: auto-detect 'Kulu aktsiatelt ja osadelt', standard 8335). No fee is capitalized into the investment cost: Lightyear's FIFO cost basis is fee-exclusive, and RTJ 3 expenses transaction costs on assets held at fair value through profit or loss."),
2258
2312
  skip_tickers: z.string().optional().describe("Comma-separated tickers to skip (default: BRICEKSP, ICSUSSDP). Pass \"none\" to disable; the empty string is treated as the default."),
2259
2313
  dry_run: z.boolean().optional().describe("Preview without creating entries (default true)"),
2260
2314
  plan_handle: z.string().optional().describe("Execution-plan handle from the reviewed dry run. Required for dry_run=false."),
@@ -2688,15 +2742,28 @@ export function registerLightyearTools(server, api, runtimeSafetyContext) {
2688
2742
  let soldCost = null;
2689
2743
  let averageCost = null;
2690
2744
  if (trade.type === "Buy") {
2691
- // Investment cost = eur_amount (conversion net) + trade fee.
2692
- // FX fee is expensed, not part of cost basis (matches Lightyear CG report).
2693
- proposed.total_cost_eur += trade.eur_amount + convertedTradeFee;
2745
+ // Same basis as the ledger's investment debit: the share consideration
2746
+ // alone. `eur_amount` carries the trade fee inside it, and both fees are
2747
+ // expensed rather than capitalised — see the buy posting builder.
2748
+ proposed.total_cost_eur += trade.eur_amount - convertedTradeFee;
2694
2749
  proposed.quantity += trade.quantity;
2695
2750
  proposed.buy_count++;
2696
2751
  }
2697
2752
  else {
2698
- // Sell: remove proportional cost basis using weighted average cost
2699
- const proceeds = trade.eur_amount - convertedTradeFee;
2753
+ // Sell: remove proportional cost basis using weighted average cost.
2754
+ //
2755
+ // Proceeds are stated on the same fee-exclusive consideration basis as
2756
+ // the cost above (and as Lightyear's own `Proceeds (EUR)`), which is not
2757
+ // one expression for both currencies, because `eur_amount` is not the
2758
+ // same quantity in the two cases. For a EUR sell it is the gross, which
2759
+ // IS the consideration. For an FX sell it is the euros that arrived —
2760
+ // already net of the trade fee, since the conversion is anchored on the
2761
+ // sell's net, and already net of the FX fee — so both are added back.
2762
+ // Subtracting the trade fee here, as this line used to do in both cases,
2763
+ // counted it twice for every FX sell.
2764
+ const proceeds = normalizedCurrency(trade.ccy) === "EUR"
2765
+ ? trade.eur_amount
2766
+ : trade.eur_amount + trade.fx_fee_eur + convertedTradeFee;
2700
2767
  proposed.total_proceeds_eur += proceeds;
2701
2768
  proposed.sell_count++;
2702
2769
  if (proposed.quantity > 0.000001) {
@@ -1 +1 @@
1
- {"version":3,"file":"lightyear-investments.js","sourceRoot":"","sources":["../../src/tools/lightyear-investments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lightyear-investments.js","sourceRoot":"","sources":["../../src/tools/lightyear-investments.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"receipt-inbox-files.d.ts","sourceRoot":"","sources":["../../src/tools/receipt-inbox-files.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,6BAA6B;IAC5C,kFAAkF;IAClF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2FAA2F;IAC3F,yBAAyB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAyGD,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBnF;AAyBD,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,GAAE,6BAAkC,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AA+DD,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtF;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrF;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,MACI,CAAC;AA6CnD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,SAAS,4BAA4B,EAAE,EAC1D,aAAa,GAAE,6BAAkC,GAChD,OAAO,CAAC,oBAAoB,CAAC,CAgF/B"}
1
+ {"version":3,"file":"receipt-inbox-files.d.ts","sourceRoot":"","sources":["../../src/tools/receipt-inbox-files.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,6BAA6B;IAC5C,kFAAkF;IAClF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2FAA2F;IAC3F,yBAAyB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAmHD,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBnF;AAyBD,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,GAAE,6BAAkC,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AA+DD,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtF;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrF;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,MACI,CAAC;AA6CnD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,SAAS,4BAA4B,EAAE,EAC1D,aAAa,GAAE,6BAAkC,GAChD,OAAO,CAAC,oBAAoB,CAAC,CAgF/B"}
@@ -34,10 +34,15 @@ async function assertReceiptDirectoryBinding(binding) {
34
34
  }
35
35
  }
36
36
  /**
37
- * Bind the exact directory object, not merely its path string. Linux/macOS
38
- * descriptor paths keep all enumeration and reads relative to the retained
39
- * no-follow handle. If descriptor-relative access is unavailable, fail closed:
40
- * falling back to another pathname lookup would re-open the TOCTOU window.
37
+ * Bind the exact directory object, not merely its path string. Linux descriptor
38
+ * paths keep all enumeration and reads relative to the retained no-follow
39
+ * handle. macOS exposes directory handles under /dev/fd but Node cannot
40
+ * traverse them (readdir is ENOTDIR), so there the enumeration falls back to
41
+ * the canonical pathname guarded by the opened-object identity checks — the
42
+ * same guarantee a direct folder_path call already carries. A descriptor path
43
+ * must still resolve for an opaque reference on every platform; if none does,
44
+ * fail closed, because a second pathname lookup with no descriptor to verify
45
+ * against would re-open the TOCTOU window the reference exists to close.
41
46
  */
42
47
  async function openBoundReceiptDirectory(folderPath, options = {}) {
43
48
  await options.beforeDirectoryValidation?.();
@@ -64,16 +69,21 @@ async function openBoundReceiptDirectory(folderPath, options = {}) {
64
69
  // Try the next platform descriptor namespace.
65
70
  }
66
71
  }
67
- // Opaque references require descriptor-relative access: weakening them to
68
- // a second pathname lookup would recreate the exact path-retarget race the
69
- // reference is meant to close. Direct folder_path calls retain portable
70
- // support with an opened-object identity check before/after pathname work.
72
+ // Opaque references still require a resolvable descriptor path on every
73
+ // platform, macOS included. Darwin only needs the enumeration below to go
74
+ // through the pathname; it does NOT need this check relaxed, because
75
+ // realpath on /dev/fd succeeds there even though readdir does not. Waiving
76
+ // it would also waive the per-file verification in readBoundReceiptFile,
77
+ // which is gated on `descriptorPath` being present — an opaque reference
78
+ // would then be checked strictly less than a direct folder_path call.
71
79
  if (!descriptorPath && options.expectedCanonicalPath !== undefined) {
72
80
  throw receiptDirectoryChanged();
73
81
  }
74
82
  const binding = {
75
83
  canonicalPath,
76
- accessPath: descriptorPath ?? canonicalPath,
84
+ accessPath: process.platform === "darwin"
85
+ ? canonicalPath
86
+ : descriptorPath ?? canonicalPath,
77
87
  ...(descriptorPath !== undefined ? { descriptorPath } : {}),
78
88
  handle,
79
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"receipt-inbox-files.js","sourceRoot":"","sources":["../../src/tools/receipt-inbox-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt-inbox-files.js","sourceRoot":"","sources":["../../src/tools/receipt-inbox-files.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "e-arveldaja-mcp",
3
- "version": "0.25.0",
3
+ "version": "0.25.2",
4
4
  "description": "MCP server for Estonian e-arveldaja (e-Financials) API",
5
5
  "mcpName": "io.github.iseppo/e-arveldaja-mcp",
6
6
  "type": "module",
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/iseppo/e-arveldaja-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.25.0",
9
+ "version": "0.25.2",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "e-arveldaja-mcp",
14
- "version": "0.25.0",
14
+ "version": "0.25.2",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -33,7 +33,7 @@ Call `parse_lightyear_statement` for the account statement CSV. The tool's own a
33
33
 
34
34
  If sales are present, call `parse_lightyear_capital_gains` for the FIFO capital-gains CSV. This tool's own argument is also `file_path`, so pass `capital_gains_path` there: `parse_lightyear_capital_gains { "file_path": "<capital_gains_path>" }`.
35
35
  - If no `capital_gains_path` is available, explain that non-cash-equivalent sells will be skipped.
36
- - Sell gains/losses and expensed trade fees default to the standard securities account pair (name-resolved): realized **gain → 8330** "Tulu aktsiatelt ja osadelt", realized **loss and expensed Buy/Sell fees → 8335** "Kulu aktsiatelt ja osadelt". (A Buy's trade platform fee is capitalized into the investment cost to match FIFO cost basis, not expensed; only the FX conversion fee on a Buy is expensed to 8335.) Only pass `gain_loss_account` / `loss_account` / `fee_account` to override; you no longer need to ask the user for a gain/loss account before booking sells.
36
+ - Sell gains/losses and expensed trade fees default to the standard securities account pair (name-resolved): realized **gain → 8330** "Tulu aktsiatelt ja osadelt", realized **loss and expensed Buy/Sell fees → 8335** "Kulu aktsiatelt ja osadelt". (Every fee is expensed to 8335 — a Buy's trade platform fee as well as its FX conversion fee. Nothing is capitalized into the investment cost: Lightyear's FIFO cost basis is fee-exclusive, so capitalizing would strand the fee on the investment account.) Only pass `gain_loss_account` / `loss_account` / `fee_account` to override; you no longer need to ask the user for a gain/loss account before booking sells.
37
37
 
38
38
  ### Step 3: Preview portfolio carrying value
39
39