@intent-engine/cli 0.1.9 → 0.1.11

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.
@@ -1,5 +1,6 @@
1
1
  import { McpServer } from "@modelcontextprotocol/server";
2
2
  import { type AgentContext, type AnyAction, type Effect } from "./actions.js";
3
+ import type { WalletLimits } from "../args.js";
3
4
  export declare const ANNOTATIONS: Record<Effect, {
4
5
  readOnlyHint: boolean;
5
6
  destructiveHint: boolean;
@@ -13,5 +14,6 @@ export declare const annotationsOf: (action: AnyAction) => {
13
14
  openWorldHint: boolean;
14
15
  };
15
16
  export declare const WALLET_INSTRUCTIONS: string;
16
- export declare const START_PROMPT = "Set me up on devnet and walk me through my first swap: set up the wallet, show me its notice, show my balance, preview selling 0.05 SOL for at least 5 TEST, and send it once I approve. Then show me when it fills.";
17
+ export declare const walletInstructions: (limits: WalletLimits) => string;
18
+ export declare const START_PROMPT = "Set me up on devnet and walk me through my first swap: set up the wallet, show me its notice, show my balance, preview selling 0.05 SOL for at least 5 TEST, and send it once I approve. Then wait for it to fill and tell me what I received.";
17
19
  export declare function agentServer(ctx: AgentContext, served?: readonly AnyAction[]): McpServer;
@@ -3,7 +3,7 @@ import { PRODUCT_SLUG } from "@intent-engine/core";
3
3
  import { render } from "../render.js";
4
4
  import { invoke } from "./actions.js";
5
5
  import { ACTIONS } from "./registry.js";
6
- import { WALLET_ACTIONS, WALLET_NOTICE } from "./wallet.js";
6
+ import { limitLines, WALLET_ACTIONS, WALLET_NOTICE } from "./wallet.js";
7
7
  import { tool } from "./names.js";
8
8
  import { passThrough } from "./schema.js";
9
9
  import { VERSION } from "../version.js";
@@ -20,13 +20,15 @@ export const WALLET_INSTRUCTIONS = [
20
20
  `Start with ${tool("wallet_setup")}; it creates and funds the wallet and is safe to call again.`,
21
21
  `${tool("wallet_swap")}, ${tool("wallet_auction")} and ${tool("wallet_cancel")} only preview until called with send: true. Show the user the summary first and send only after they say yes.`,
22
22
  `Name tokens SOL and TEST, or by mint address. Amounts are whole tokens such as 0.05.`,
23
- `The devnet filler prices TEST at 200 per SOL and pays exactly the minimum asked, so 0.05 SOL for at least 5 TEST gets 5 TEST while it is online; ask a higher minimum, below 10, to receive more. Check with ${tool("wallet_intents")} and ${tool("wallet_balance")}.`,
23
+ `The devnet filler prices TEST at 200 per SOL and pays exactly the minimum asked, so 0.05 SOL for at least 5 TEST gets 5 TEST while it is online; ask a higher minimum, below 10, to receive more. ${tool("wallet_estimate")} shows what recent fills paid.`,
24
+ `After sending, ${tool("wallet_wait")} waits for the fill and says what the wallet received; ${tool("wallet_intents")} and ${tool("wallet_balance")} show the rest.`,
24
25
  ].join("\n");
25
- export const START_PROMPT = `Set me up on devnet and walk me through my first swap: set up the wallet, show me its notice, show my balance, preview selling 0.05 SOL for at least 5 TEST, and send it once I approve. Then show me when it fills.`;
26
+ export const walletInstructions = (limits) => [WALLET_INSTRUCTIONS, ...limitLines(limits)].join("\n");
27
+ export const START_PROMPT = `Set me up on devnet and walk me through my first swap: set up the wallet, show me its notice, show my balance, preview selling 0.05 SOL for at least 5 TEST, and send it once I approve. Then wait for it to fill and tell me what I received.`;
26
28
  export function agentServer(ctx, served = ACTIONS) {
27
29
  const withWallet = ctx.wallet !== undefined;
28
30
  const actions = withWallet ? [...WALLET_ACTIONS, ...served] : served;
29
- const server = new McpServer({ name: PRODUCT_SLUG, version: VERSION }, withWallet ? { instructions: WALLET_INSTRUCTIONS } : {});
31
+ const server = new McpServer({ name: PRODUCT_SLUG, version: VERSION }, ctx.wallet === undefined ? {} : { instructions: walletInstructions(ctx.wallet.limits.limits) });
30
32
  if (withWallet) {
31
33
  server.registerPrompt("start", { title: "Get started", description: "Set up a devnet wallet and make a first swap" }, () => ({
32
34
  messages: [{ role: "user", content: { type: "text", text: START_PROMPT } }],
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/agent/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/agent/mcp.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,9 @@ export declare const SERVER_PROBLEMS: {
121
121
  readonly WalletNotMainnet: Entry;
122
122
  readonly NoWallet: Entry;
123
123
  readonly WalletEmpty: Entry;
124
+ readonly WalletTokenNotAllowed: Entry;
125
+ readonly WalletTradeLimit: Entry;
126
+ readonly WalletHourLimit: Entry;
124
127
  readonly AgentNotConfigured: Entry;
125
128
  readonly OwnerNotServed: Entry;
126
129
  readonly BudgetExhausted: Entry;
@@ -161,6 +161,9 @@ export const SERVER_PROBLEMS = {
161
161
  WalletNotMainnet: never("the RPC serves mainnet; wallet tools work on devnet, testnet and localnet only"),
162
162
  NoWallet: never(`the server has no wallet yet; call ${tool("wallet_setup")} first`),
163
163
  WalletEmpty: never("the wallet holds no SOL; fund it from a faucet, then try again"),
164
+ WalletTokenNotAllowed: never("the server was started with sell limits that do not name this token"),
165
+ WalletTradeLimit: never("the trade sells more than the server's --wallet-per-trade limit for this token"),
166
+ WalletHourLimit: later("the wallet sold as much of this token in the last hour as the server's --wallet-per-hour limit allows; try later or sell less"),
164
167
  AgentNotConfigured: never(`${tool("agent_create")} was called on a server started without --agent`),
165
168
  OwnerNotServed: never("the owner is not in the server's --agent-owners list"),
166
169
  BudgetExhausted: later("the agent or relayer key reached its hourly lamport budget; try again later"),
@@ -1 +1 @@
1
- {"version":3,"file":"problems.js","sourceRoot":"","sources":["../../../src/agent/problems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"problems.js","sourceRoot":"","sources":["../../../src/agent/problems.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,30 @@
1
- import { type Env } from "../args.js";
1
+ import type { Address } from "@solana/kit";
2
+ import { type Env, type WalletLimits } from "../args.js";
2
3
  import { type Files } from "../wallet.js";
3
4
  import { type AnyAction } from "./actions.js";
5
+ type Sale = {
6
+ mint: Address;
7
+ at: bigint;
8
+ amount: bigint;
9
+ };
10
+ export type WalletGuard = {
11
+ limits: WalletLimits;
12
+ sales: Sale[];
13
+ };
14
+ export declare const walletGuard: (limits: WalletLimits) => WalletGuard;
4
15
  export type WalletAccess = {
5
16
  url: string;
6
17
  files: Files;
7
18
  env: Env;
19
+ sleep(seconds: number): Promise<boolean>;
20
+ limits: WalletGuard;
8
21
  };
22
+ export declare const SALE_WINDOW = 3600n;
23
+ export declare const ESTIMATE_SCAN = 12;
24
+ export declare const ESTIMATE_FILLS = 5;
25
+ export declare const WAIT_DEFAULT = 30;
26
+ export declare const WAIT_MAX = 55;
27
+ export declare const WAIT_SCAN = 10;
9
28
  export declare const DEFAULT_EXPIRES_IN = 3600;
10
29
  export declare const LANDING_SECONDS = 10;
11
30
  export declare const MAINNET_GENESIS = "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d";
@@ -14,5 +33,11 @@ export declare const walletEmpty: (address: string) => string;
14
33
  export declare const NO_WALLET: string;
15
34
  export declare const WALLET_OFF = "this server runs without a wallet; start it with mcp --wallet to let it sign";
16
35
  export declare const PREVIEW_ONLY = "nothing was sent; show the summary to the user and call again with send: true only after they approve";
36
+ export declare function limitLines(limits: WalletLimits): string[];
17
37
  export declare const walletBalance: AnyAction;
38
+ export declare const ESTIMATE_NEXT = "solvers pay the least an intent asks, so these fills show what owners asked and got, not the most a solver would pay; ask a minimum near receive_at_best, or auction from a little above it down to the least the user accepts to find the price";
39
+ export declare const NO_FILLS: string;
40
+ export declare const WAIT_STATUS: readonly ["open", "filling", "filled", "cancelled", "expired", "closed"];
41
+ export declare const stillWaiting: (status: string) => string;
18
42
  export declare const WALLET_ACTIONS: readonly AnyAction[];
43
+ export {};
@@ -1,17 +1,26 @@
1
- import { parseAmount } from "@intent-engine/core";
2
- import { chainTime, mintOf } from "../accounts.js";
1
+ import { decodeEvent, findIntentPda, formatAmount, getIntentDecoder, IntentStatus, parseAmount } from "@intent-engine/core";
2
+ import { chainTime, CLOCK_SYSVAR, mintOf } from "../accounts.js";
3
3
  import { ENV_KEYPAIR, WALLET_NOT_MAINNET } from "../args.js";
4
4
  import { execute } from "../flows.js";
5
- import { tokenNamed } from "../tokens.js";
5
+ import { TOKEN_NAMES, tokenNamed } from "../tokens.js";
6
+ import { unmemoized } from "../transport.js";
6
7
  import { balances, defaultMints, FAUCET, PUBLIC_FAUCET, setup, withSettings } from "../wallet.js";
7
8
  import { define } from "./actions.js";
8
9
  import { MAX_EXPIRES_IN, MIN_EXPIRES_IN, prepareCreate } from "./create.js";
9
10
  import { tool } from "./names.js";
10
11
  import { AgentRefusal } from "./problems.js";
11
12
  import { listIntents } from "./read.js";
12
- import { InvalidInput, account, amount, choice, flag, integer, list, object, optional, text } from "./schema.js";
13
+ import { InvalidInput, account, amount, choice, flag, integer, list, object, optional, text, time } from "./schema.js";
14
+ import { orderSchema } from "./shapes.js";
13
15
  import { prepareCancel } from "./settle.js";
14
16
  import { STATUS } from "../accounts.js";
17
+ export const walletGuard = (limits) => ({ limits, sales: [] });
18
+ export const SALE_WINDOW = 3600n;
19
+ export const ESTIMATE_SCAN = 12;
20
+ export const ESTIMATE_FILLS = 5;
21
+ export const WAIT_DEFAULT = 30;
22
+ export const WAIT_MAX = 55;
23
+ export const WAIT_SCAN = 10;
15
24
  export const DEFAULT_EXPIRES_IN = 3_600;
16
25
  export const LANDING_SECONDS = 10;
17
26
  export const MAINNET_GENESIS = "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d";
@@ -85,6 +94,51 @@ function raw(tokens, decimals, path) {
85
94
  throw new InvalidInput([{ path, message: error instanceof Error ? error.message : String(error) }]);
86
95
  }
87
96
  }
97
+ const nameOf = (mint) => TOKEN_NAMES[mint] ?? mint;
98
+ const limited = (guard) => guard.limits.perTrade.size + guard.limits.perHour.size > 0;
99
+ export function limitLines(limits) {
100
+ const mints = [...new Set([...limits.perTrade.keys(), ...limits.perHour.keys()])];
101
+ if (mints.length === 0) {
102
+ return [];
103
+ }
104
+ return [
105
+ "Whoever started this server set sell limits that no tool call can change:",
106
+ ...mints.map((mint) => {
107
+ const caps = [
108
+ ...(limits.perTrade.has(mint) ? [`${limits.perTrade.get(mint)} per trade`] : []),
109
+ ...(limits.perHour.has(mint) ? [`${limits.perHour.get(mint)} per hour`] : []),
110
+ ];
111
+ return `- ${nameOf(mint)}: at most ${caps.join(" and ")}`;
112
+ }),
113
+ "It sells no other token. Plan trades within these limits and tell the user when a request exceeds them.",
114
+ ];
115
+ }
116
+ const capOf = (text, decimals) => parseAmount(text, decimals);
117
+ function checkSale(guard, mint, decimals, amount, now) {
118
+ if (!limited(guard)) {
119
+ return;
120
+ }
121
+ const { perTrade, perHour } = guard.limits;
122
+ const name = nameOf(mint);
123
+ if (!perTrade.has(mint) && !perHour.has(mint)) {
124
+ const allowed = [...new Set([...perTrade.keys(), ...perHour.keys()])].map(nameOf).join(", ");
125
+ throw new AgentRefusal("WalletTokenNotAllowed", `this server sells only ${allowed}, not ${name}; its limits were set when it started`);
126
+ }
127
+ const trade = perTrade.get(mint);
128
+ if (trade !== undefined && amount > capOf(trade, decimals)) {
129
+ throw new AgentRefusal("WalletTradeLimit", `this server sells at most ${trade} ${name} per trade and this sells ${formatAmount(amount, decimals)}; sell less, or the user restarts the server with a higher --wallet-per-trade`);
130
+ }
131
+ const hour = perHour.get(mint);
132
+ if (hour === undefined) {
133
+ return;
134
+ }
135
+ guard.sales = guard.sales.filter((s) => s.at > now - SALE_WINDOW);
136
+ const used = guard.sales.filter((s) => s.mint === mint).reduce((sum, s) => sum + s.amount, 0n);
137
+ const cap = capOf(hour, decimals);
138
+ if (used + amount > cap) {
139
+ throw new AgentRefusal("WalletHourLimit", `this server sells at most ${hour} ${name} per hour and has ${formatAmount(cap > used ? cap - used : 0n, decimals)} left; this sells ${formatAmount(amount, decimals)}`);
140
+ }
141
+ }
88
142
  async function sent(ctx, signer, view, send, call) {
89
143
  for (const undo of call.undo.splice(0)) {
90
144
  undo();
@@ -93,6 +147,9 @@ async function sent(ctx, signer, view, send, call) {
93
147
  if (send !== true) {
94
148
  return { ...shown, sent: false, next: PREVIEW_ONLY };
95
149
  }
150
+ if ((await ctx.transport.genesisHash()) === MAINNET_GENESIS) {
151
+ throw new AgentRefusal("WalletNotMainnet", WALLET_NOT_MAINNET);
152
+ }
96
153
  return { ...shown, sent: true, signature: await execute(ctx.transport, prepared, signer) };
97
154
  }
98
155
  const tokenRow = object({
@@ -147,16 +204,36 @@ const offerOutput = object({
147
204
  async function offered(ctx, call, input, terms) {
148
205
  const wallet = access(ctx);
149
206
  const signer = await signerOf(ctx);
207
+ const inputMint = mintNamed(input.sell, wallet.url, "sell");
208
+ const outputMint = mintNamed(input.buy, wallet.url, "buy");
209
+ await ctx.transport.warm?.([signer.address, inputMint, outputMint, CLOCK_SYSVAR]);
150
210
  if (((await ctx.transport.getAccount(signer.address))?.lamports ?? 0n) === 0n) {
151
211
  throw new AgentRefusal("WalletEmpty", walletEmpty(signer.address));
152
212
  }
153
- const inputMint = mintNamed(input.sell, wallet.url, "sell");
154
- const outputMint = mintNamed(input.buy, wallet.url, "buy");
155
- const [inputToken, outputToken] = [await mintOf(ctx.transport, inputMint), await mintOf(ctx.transport, outputMint)];
156
- const now = await chainTime(ctx.transport);
157
- const view = (await prepareCreate.run(ctx, { owner: signer.address, input_mint: inputMint, output_mint: outputMint, ...terms(inputToken, outputToken, now) }, call));
213
+ const [inputToken, outputToken, now] = await Promise.all([
214
+ mintOf(ctx.transport, inputMint),
215
+ mintOf(ctx.transport, outputMint),
216
+ chainTime(ctx.transport),
217
+ ]);
218
+ const made = terms(inputToken, outputToken, now);
219
+ checkSale(wallet.limits, inputMint, inputToken.decimals, made.order.amount_in, now);
220
+ const view = (await prepareCreate.run(ctx, { owner: signer.address, input_mint: inputMint, output_mint: outputMint, ...made }, call));
158
221
  const { intent, nonce, summary, warnings, prepared } = view;
159
- return sent(ctx, signer, { intent, nonce, summary, warnings, prepared }, input.send, call);
222
+ const sold = made.order.amount_in;
223
+ const guard = wallet.limits;
224
+ checkSale(guard, inputMint, inputToken.decimals, sold, now);
225
+ if (input.send !== true || !limited(guard)) {
226
+ return sent(ctx, signer, { intent, nonce, summary, warnings, prepared }, input.send, call);
227
+ }
228
+ const sale = { mint: inputMint, at: now, amount: sold };
229
+ guard.sales.push(sale);
230
+ try {
231
+ return await sent(ctx, signer, { intent, nonce, summary, warnings, prepared }, input.send, call);
232
+ }
233
+ catch (error) {
234
+ guard.sales = guard.sales.filter((s) => s !== sale);
235
+ throw error;
236
+ }
160
237
  }
161
238
  const walletSwap = define({
162
239
  name: tool("wallet_swap"),
@@ -247,5 +324,178 @@ const walletCancel = define({
247
324
  return sent(ctx, signer, view, input.send, call);
248
325
  },
249
326
  });
250
- export const WALLET_ACTIONS = [walletSetup, walletBalance, walletSwap, walletAuction, walletIntents, walletCancel];
327
+ async function engineHistory(transport, limit, of) {
328
+ const created = new Map();
329
+ const fills = [];
330
+ const ended = new Map();
331
+ for (const tx of await transport.engineTransactions(limit, of)) {
332
+ if (tx.failed) {
333
+ continue;
334
+ }
335
+ const begun = new Map();
336
+ for (const event of tx.emitted.map(decodeEvent)) {
337
+ if (event === null) {
338
+ continue;
339
+ }
340
+ const fields = event.fields;
341
+ const intent = fields["intent"];
342
+ if (event.name === "IntentCreated") {
343
+ created.set(intent, { inputMint: fields["inputMint"], outputMint: fields["outputMint"] });
344
+ }
345
+ if (event.name === "FillBegun") {
346
+ begun.set(intent, fields["amountIn"]);
347
+ }
348
+ const amountIn = event.name === "IntentFilled" ? fields["amountIn"] : event.name === "FillEnded" ? begun.get(intent) : undefined;
349
+ if (amountIn !== undefined) {
350
+ fills.push({ intent, amountIn, delivered: fields["delivered"], signature: tx.signature, blockTime: tx.blockTime });
351
+ }
352
+ if (event.name === "IntentCancelled" || event.name === "IntentExpired") {
353
+ ended.set(intent, event.name === "IntentCancelled" ? "cancelled" : "expired");
354
+ }
355
+ }
356
+ }
357
+ return { created, fills, ended };
358
+ }
359
+ function pairOf(data) {
360
+ try {
361
+ const { inputMint, outputMint } = getIntentDecoder().decode(data);
362
+ return { inputMint, outputMint };
363
+ }
364
+ catch {
365
+ return null;
366
+ }
367
+ }
368
+ export const ESTIMATE_NEXT = "solvers pay the least an intent asks, so these fills show what owners asked and got, not the most a solver would pay; ask a minimum near receive_at_best, or auction from a little above it down to the least the user accepts to find the price";
369
+ export const NO_FILLS = `no recent fill sold this token for that one; auction from a high ask down to the least the user accepts with ${tool("wallet_auction")} to find the price`;
370
+ const walletEstimate = define({
371
+ name: tool("wallet_estimate"),
372
+ title: "Estimate a swap from recent fills",
373
+ description: `Estimate what selling an amount of one token for another gets now, from the rates of recent fills of the same pair on this cluster. It reads the engine's last ${ESTIMATE_SCAN} transactions and sends nothing. Use it before ${tool("wallet_swap")} or ${tool("wallet_auction")} to pick min_receive or the auction's start and end.`,
374
+ effect: "read",
375
+ input: object({
376
+ sell: text("SOL, TEST or a mint address"),
377
+ buy: text("SOL, TEST or a mint address"),
378
+ amount: text("whole tokens to sell, such as 0.05"),
379
+ }),
380
+ output: object({
381
+ fills: list(object({
382
+ sold: text("whole tokens of the sold token"),
383
+ received: text("whole tokens the owner received"),
384
+ at: optional(time("when the fill landed")),
385
+ signature: text(),
386
+ }), ESTIMATE_FILLS, "newest first"),
387
+ receive_at_best: optional(text("whole tokens amount would get at the best recent rate")),
388
+ receive_at_latest: optional(text("whole tokens amount would get at the newest fill's rate")),
389
+ next: text(),
390
+ }),
391
+ run: async (ctx, input) => {
392
+ const wallet = await testCluster(ctx);
393
+ const inputMint = mintNamed(input.sell, wallet.url, "sell");
394
+ const outputMint = mintNamed(input.buy, wallet.url, "buy");
395
+ const [inputToken, outputToken] = await Promise.all([mintOf(ctx.transport, inputMint), mintOf(ctx.transport, outputMint)]);
396
+ const amount = raw(input.amount, inputToken.decimals, "amount");
397
+ const { created, fills } = await engineHistory(ctx.transport, ESTIMATE_SCAN);
398
+ const unknown = [...new Set(fills.map((f) => f.intent).filter((intent) => !created.has(intent)))];
399
+ const views = unknown.length === 0 ? [] : await ctx.transport.getAccounts(unknown);
400
+ unknown.forEach((intent, i) => {
401
+ const view = views[i];
402
+ const pair = view === null || view === undefined ? null : pairOf(view.data);
403
+ if (pair !== null) {
404
+ created.set(intent, pair);
405
+ }
406
+ });
407
+ const matching = fills
408
+ .filter((f) => f.amountIn > 0n && created.get(f.intent)?.inputMint === inputMint && created.get(f.intent)?.outputMint === outputMint)
409
+ .slice(0, ESTIMATE_FILLS);
410
+ const shown = matching.map((f) => ({
411
+ sold: formatAmount(f.amountIn, inputToken.decimals),
412
+ received: formatAmount(f.delivered, outputToken.decimals),
413
+ ...(f.blockTime === null ? {} : { at: f.blockTime }),
414
+ signature: f.signature,
415
+ }));
416
+ const [latest] = matching;
417
+ if (latest === undefined) {
418
+ return { fills: shown, next: NO_FILLS };
419
+ }
420
+ const best = matching.reduce((a, b) => (b.delivered * a.amountIn > a.delivered * b.amountIn ? b : a));
421
+ const at = (f) => formatAmount((amount * f.delivered) / f.amountIn, outputToken.decimals);
422
+ return { fills: shown, receive_at_best: at(best), receive_at_latest: at(latest), next: ESTIMATE_NEXT };
423
+ },
424
+ });
425
+ export const WAIT_STATUS = ["open", "filling", "filled", "cancelled", "expired", "closed"];
426
+ export const stillWaiting = (status) => `still ${status}; call ${tool("wallet_wait")} again to keep waiting, or ${tool("wallet_cancel")} to take the escrow back`;
427
+ const walletWait = define({
428
+ name: tool("wallet_wait"),
429
+ title: "Wait for a wallet intent",
430
+ description: `Wait until an intent of this server's wallet is filled, cancelled or expired, or until within seconds pass, then say which and, for a fill, how much the wallet received. Use it after sending instead of asking the user to check again; call it again while the status is still open.`,
431
+ effect: "read",
432
+ input: object({
433
+ nonce: amount("the intent's nonce, from the send or wallet_intents"),
434
+ within: optional(integer(1, WAIT_MAX, `most seconds to wait; default ${WAIT_DEFAULT}`)),
435
+ }),
436
+ output: object({
437
+ intent: account(),
438
+ status: choice(WAIT_STATUS, "closed means the account is gone and its recent transactions name no fill, cancel or expiry"),
439
+ waited: integer(0, WAIT_MAX, "seconds waited"),
440
+ received: optional(text("whole tokens the wallet received from fills")),
441
+ token: optional(text("the token received")),
442
+ signature: optional(text("the fill's transaction")),
443
+ next: optional(text()),
444
+ }),
445
+ run: async (ctx, input) => {
446
+ const wallet = access(ctx);
447
+ const owner = (await signerOf(ctx)).address;
448
+ const [intent] = await findIntentPda({ owner, nonce: input.nonce });
449
+ const within = input.within ?? WAIT_DEFAULT;
450
+ const fresh = unmemoized(ctx.transport);
451
+ let waited = 0;
452
+ let pair = null;
453
+ let status = "closed";
454
+ for (;;) {
455
+ const view = await fresh.getAccount(intent);
456
+ if (view === null) {
457
+ status = "closed";
458
+ break;
459
+ }
460
+ const decoded = getIntentDecoder().decode(view.data);
461
+ pair = { inputMint: decoded.inputMint, outputMint: decoded.outputMint };
462
+ status = STATUS[decoded.status] ?? "open";
463
+ if ((status !== "open" && status !== "filling") || waited >= within || !(await wallet.sleep(1))) {
464
+ break;
465
+ }
466
+ waited += 1;
467
+ }
468
+ if (status === "open" || status === "filling") {
469
+ return { intent, status, waited, next: stillWaiting(status) };
470
+ }
471
+ if (status === "cancelled" || status === "expired") {
472
+ return { intent, status, waited };
473
+ }
474
+ const history = await engineHistory(ctx.transport, WAIT_SCAN, intent);
475
+ const fills = history.fills.filter((f) => f.intent === intent);
476
+ if (fills.length === 0) {
477
+ return { intent, status: status === "closed" ? (history.ended.get(intent) ?? status) : status, waited };
478
+ }
479
+ pair ??= history.created.get(intent) ?? null;
480
+ const decimals = pair === null ? undefined : (await mintOf(ctx.transport, pair.outputMint)).decimals;
481
+ return {
482
+ intent,
483
+ status: "filled",
484
+ waited,
485
+ received: formatAmount(fills.reduce((sum, f) => sum + f.delivered, 0n), decimals),
486
+ ...(pair === null ? {} : { token: nameOf(pair.outputMint) }),
487
+ signature: fills[0]?.signature,
488
+ };
489
+ },
490
+ });
491
+ export const WALLET_ACTIONS = [
492
+ walletSetup,
493
+ walletBalance,
494
+ walletEstimate,
495
+ walletSwap,
496
+ walletAuction,
497
+ walletWait,
498
+ walletIntents,
499
+ walletCancel,
500
+ ];
251
501
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/agent/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/agent/wallet.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ export type Command = {
87
87
  name: "mcp";
88
88
  relay: RelaySpec | undefined;
89
89
  agent: AgentSpec | undefined;
90
- wallet: boolean;
90
+ wallet: WalletLimits | null;
91
91
  }) | (Remote & {
92
92
  name: "show-intent";
93
93
  owner: Address;
@@ -208,6 +208,12 @@ declare const OPTIONS: {
208
208
  readonly wallet: {
209
209
  readonly type: "boolean";
210
210
  };
211
+ readonly "wallet-per-trade": {
212
+ readonly type: "string";
213
+ };
214
+ readonly "wallet-per-hour": {
215
+ readonly type: "string";
216
+ };
211
217
  readonly "relay-max-lamports": {
212
218
  readonly type: "string";
213
219
  };
@@ -465,6 +471,11 @@ export declare function parseU64(text: string, key: string): bigint;
465
471
  export declare function parseI64(text: string, key: string): bigint;
466
472
  export declare function order(kind: string | undefined, values: Values): ToolInput;
467
473
  export declare function expiry(values: Values): ToolInput;
474
+ export type WalletLimits = {
475
+ perTrade: ReadonlyMap<Address, string>;
476
+ perHour: ReadonlyMap<Address, string>;
477
+ };
478
+ export declare const WALLET_LIMITS_NEED_WALLET = "--wallet-per-trade and --wallet-per-hour need --wallet";
468
479
  export declare function parsePriority(text: string | undefined): Priority;
469
480
  export declare const ISSUE_FORMAT = "--issue takes <input mint>:<output mint>=<out>/<in> entries separated by commas";
470
481
  export declare const ONE_MARKET = "solve needs exactly one of --jupiter or --issue";