@t2000/mcp 0.22.8 → 0.22.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/bin.js CHANGED
@@ -249,7 +249,7 @@ IMPORTANT: When the user asks to do something that matches an MPP service, ALWAY
249
249
  - Code execution, web scraping, screenshots, PDFs, QR codes
250
250
  - Transcription, text-to-speech, sound effects (ElevenLabs)
251
251
  - Security scanning (VirusTotal), URL shortening (Short.io), push notifications (Pushover)
252
- - Gift cards with email delivery (Reloadly) \u2014 include recipientEmail in order body for instant delivery
252
+ - Gift cards with email delivery (Reloadly) \u2014 ask user for country and email, then browse products and order
253
253
 
254
254
  Call t2000_services first to discover the right endpoint, then t2000_pay to execute.`,
255
255
  {},
@@ -564,7 +564,7 @@ function registerWriteTools(server, agent) {
564
564
  try {
565
565
  if (dryRun) {
566
566
  agent.enforcer.assertNotLocked();
567
- const quote = await agent.exchangeQuote({ from, to, amount });
567
+ const quote = await agent.swapQuote({ from, to, amount });
568
568
  return {
569
569
  content: [{
570
570
  type: "text",
@@ -581,7 +581,7 @@ function registerWriteTools(server, agent) {
581
581
  };
582
582
  }
583
583
  const result = await mutex.run(
584
- () => agent.exchange({ from, to, amount, maxSlippage })
584
+ () => agent.swap({ from, to, amount, maxSlippage })
585
585
  );
586
586
  return { content: [{ type: "text", text: JSON.stringify(result) }] };
587
587
  } catch (err) {
@@ -836,11 +836,13 @@ Common examples:
836
836
  - Mistral: POST https://mpp.t2000.ai/mistral/v1/chat/completions {"model":"mistral-large-latest","messages":[{"role":"user","content":"Hello"}]}
837
837
  - Cohere: POST https://mpp.t2000.ai/cohere/v1/chat {"model":"command-r-plus","message":"Hello"}
838
838
 
839
- RELOADLY GIFT CARDS: Always include "recipientEmail" in the order body \u2014 Reloadly sends the gift card directly to that email with a "Redeem Now" button. For the agent response, construct clickable redemption links for major brands:
840
- - Amazon: https://www.amazon.com/gc/redeem?claimCode={code}
841
- - Google Play: https://play.google.com/redeem?code={code}
842
- - Others: show the code + Reloadly's redeemInstruction.concise field
843
- Set maxPrice higher for gift cards (e.g. $50 for a $25 card to cover markup).`,
839
+ RELOADLY GIFT CARDS:
840
+ - Ask the user for their country and email if not already known in the conversation.
841
+ - First browse: POST /reloadly/v1/products {"countryCode":"AU"} to find the right productId for their country.
842
+ - Then order: POST /reloadly/v1/order {"productId":XXXX,"unitPrice":25,"countryCode":"AU","recipientEmail":"user@email.com"}
843
+ - Reloadly emails the gift card with a "Redeem Now" button.
844
+ - Redemption links: Amazon https://www.amazon.com/gc/redeem?claimCode={code}, Google Play https://play.google.com/redeem?code={code}, others show code + redeemInstruction.concise.
845
+ - Set maxPrice higher for gift cards (e.g. $50 for a $25 card to cover 5% markup).`,
844
846
  {
845
847
  url: z.string().describe("Full URL of the MPP service endpoint (use t2000_services to discover available URLs)"),
846
848
  method: z.enum(["GET", "POST", "PUT", "DELETE"]).default("POST").describe("HTTP method (most services use POST)"),
@@ -1202,7 +1204,7 @@ ${context}
1202
1204
  "",
1203
1205
  "AUTO-FUNDING: If checking balance is insufficient but savings exist,",
1204
1206
  " the SDK auto-withdraws from savings to fund the investment.",
1205
- " Do NOT manually withdraw first \u2014 just call t2000_strategy buy or t2000_invest buy directly.",
1207
+ ' Do NOT manually withdraw first \u2014 just call t2000_strategy buy or t2000_invest with action: "buy" directly.',
1206
1208
  "",
1207
1209
  'For DCA: use t2000_auto_invest action: "setup" to create recurring buys.'
1208
1210
  ].join("\n")
@@ -1286,7 +1288,7 @@ ${context}
1286
1288
  'For BORROW scenarios ("borrow $X"):',
1287
1289
  " - Show new health factor and interest cost",
1288
1290
  "",
1289
- 'For EXCHANGE scenarios ("swap $X A to B"):',
1291
+ 'For SWAP scenarios ("swap $X A to B", "buy $X BTC", "sell 0.1 ETH"):',
1290
1292
  " - Call t2000_exchange with dryRun: true",
1291
1293
  "",
1292
1294
  "ALWAYS present results as a BEFORE \u2192 AFTER comparison table:",
@@ -1401,7 +1403,7 @@ ${context}
1401
1403
  "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
1402
1404
  "",
1403
1405
  "\u{1F4B0} Net Worth: $X \u2014 Checking $X | Savings $X | Investment $X",
1404
- "\u{1F4C8} Activity: X sends, X saves, X trades, X exchanges",
1406
+ "\u{1F4C8} Activity: X sends, X saves, X trades, X swaps",
1405
1407
  "\u{1F4B8} Yield: $X.XX this week, X% APY, $X/month projected",
1406
1408
  "\u{1F4CA} Portfolio: Per-asset P&L, best & worst performer",
1407
1409
  "\u{1F504} DCA: Runs this week, next run, total invested",
@@ -1553,7 +1555,7 @@ ${context}
1553
1555
  })
1554
1556
  );
1555
1557
  server.prompt(
1556
- "quick-exchange",
1558
+ "quick-swap",
1557
1559
  "Guided token swap \u2014 preview rate, slippage, and price impact before executing.",
1558
1560
  {
1559
1561
  from: z.string().optional().describe("Asset to sell (e.g. USDC, SUI)"),
@@ -1572,7 +1574,7 @@ ${context}
1572
1574
  content: {
1573
1575
  type: "text",
1574
1576
  text: [
1575
- "You are an exchange assistant for a t2000 AI agent bank account.",
1577
+ "You are a swap assistant for a t2000 AI agent bank account.",
1576
1578
  "",
1577
1579
  context ? `Context:
1578
1580
  ${context}