rightcard-mcp 0.1.7 → 0.1.9
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/dist/engine.js +12 -6
- package/package.json +1 -1
package/dist/engine.js
CHANGED
|
@@ -155,7 +155,9 @@ function bestBaseCard(cards, category, subKey, merchantQuery, overrides, cardCon
|
|
|
155
155
|
}
|
|
156
156
|
function rateContext(card, earn, valueCents, override, configured, v, category, now, chosenCategoryCount) {
|
|
157
157
|
const valueStr = formatPercent(valueCents);
|
|
158
|
-
|
|
158
|
+
// "everyday purchases", not "general" — mirrors SpendCategory.inSentence
|
|
159
|
+
// in the app (Oct 8 2026).
|
|
160
|
+
const cat = category === "general" ? "everyday purchases" : CATEGORY_DISPLAY[category].toLowerCase();
|
|
159
161
|
const disp = CATEGORY_DISPLAY[category];
|
|
160
162
|
let reason;
|
|
161
163
|
const lines = [];
|
|
@@ -187,9 +189,11 @@ function rateContext(card, earn, valueCents, override, configured, v, category,
|
|
|
187
189
|
lines.push(`${formatMultiplier(override.bonusRate)} ${earnUnitLabel(v, card)} × ${fmt1(centsPerPoint(v, card))}¢ → ${valueStr} per $1`);
|
|
188
190
|
}
|
|
189
191
|
if (override.requiresActivation) {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
192
|
+
// Mirrors the Swift engine (Oct 9 2026 wording pass): no issuer on the
|
|
193
|
+
// card → "your bank's app", never the jargon "issuer".
|
|
194
|
+
const owner = card.issuer != null ? `${card.issuer}` : "bank's";
|
|
195
|
+
reason += ` Activate it in your ${owner} app to earn the bonus.`;
|
|
196
|
+
lines.push(`⚠︎ Activate this quarter in your ${owner} app`);
|
|
193
197
|
}
|
|
194
198
|
}
|
|
195
199
|
else if (pointsAbove) {
|
|
@@ -205,10 +209,12 @@ function rateContext(card, earn, valueCents, override, configured, v, category,
|
|
|
205
209
|
// Mirrors the Swift engine (Sep 2026): a points/miles card in cash mode
|
|
206
210
|
// still EARNS points — never blur the earn (4x points) with its value (4%).
|
|
207
211
|
if (card.rewardCurrency !== null && card.rewardCurrency !== "cashback") {
|
|
208
|
-
lines.push(
|
|
212
|
+
lines.push(category === "general"
|
|
213
|
+
? `Base rate: ${formatMultiplier(earn)} ${earnUnitLabel(v, card)} → ${valueStr}`
|
|
214
|
+
: `Base ${cat} earn: ${formatMultiplier(earn)} ${earnUnitLabel(v, card)} → ${valueStr}`);
|
|
209
215
|
}
|
|
210
216
|
else {
|
|
211
|
-
lines.push(`Base ${cat} earn: ${valueStr}`);
|
|
217
|
+
lines.push(category === "general" ? `Base rate: ${valueStr}` : `Base ${cat} earn: ${valueStr}`);
|
|
212
218
|
}
|
|
213
219
|
}
|
|
214
220
|
let caption = configured ? "your bonus category · value per $1" : override ? "rotating bonus · value per $1" : "value per $1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rightcard-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"mcpName": "ai.rightcard/mcp",
|
|
5
5
|
"description": "RightCard MCP — the card-selection oracle for agents. Which of your credit cards to use at any store, from verified data. No bank login.",
|
|
6
6
|
"type": "module",
|