@intent-engine/cli 0.1.11 → 0.1.14
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/src/agent/create.d.ts +1 -0
- package/dist/src/agent/create.js +18 -5
- package/dist/src/agent/create.js.map +1 -1
- package/dist/src/agent/mcp.js +5 -2
- package/dist/src/agent/mcp.js.map +1 -1
- package/dist/src/agent/owner.d.ts +2 -0
- package/dist/src/agent/owner.js +8 -0
- package/dist/src/agent/owner.js.map +1 -1
- package/dist/src/agent/wallet.d.ts +12 -1
- package/dist/src/agent/wallet.js +341 -43
- package/dist/src/agent/wallet.js.map +1 -1
- package/dist/src/commands.js +5 -2
- package/dist/src/commands.js.map +1 -1
- package/dist/src/transport.d.ts +9 -1
- package/dist/src/transport.js +49 -16
- package/dist/src/transport.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +3 -3
package/dist/src/agent/create.js
CHANGED
|
@@ -4,12 +4,14 @@ import { chainTime, CLOCK_SYSVAR, loadConfig, mintOf } from "../accounts.js";
|
|
|
4
4
|
import { define } from "./actions.js";
|
|
5
5
|
import { tool } from "./names.js";
|
|
6
6
|
import { claim, claimedBy, PREPARED_TTL } from "./claims.js";
|
|
7
|
-
import { initUserIfMissing, pickNonce, setupLines, tokenAccountIfMissing, unusedIntent, userOf, wrapIfShort } from "./owner.js";
|
|
7
|
+
import { initUserIfMissing, pickNonce, setupLines, tokenAccountIfMissing, unusedIntent, userOf, walletRecipient, wrapIfShort } from "./owner.js";
|
|
8
|
+
import { NATIVE_MINT } from "../tokens.js";
|
|
8
9
|
import { prepare } from "./prepare.js";
|
|
9
10
|
import { InvalidInput } from "./schema.js";
|
|
10
11
|
import { orderSchema, paramsOf, partnerSchema, preparedSchema, preparedView } from "./shapes.js";
|
|
11
12
|
import { tokenNames } from "../tokens.js";
|
|
12
13
|
import { account, amount, integer, list, object, optional, text, time } from "./schema.js";
|
|
14
|
+
export const WRAPPED = ", as wrapped SOL they unwrap themselves";
|
|
13
15
|
export const MAX_EXPIRES_IN = 365 * 24 * 60 * 60;
|
|
14
16
|
export const MIN_EXPIRES_IN = 60;
|
|
15
17
|
export function expiryOf(input, now) {
|
|
@@ -52,7 +54,10 @@ export const prepareCreate = define({
|
|
|
52
54
|
title: "Prepare a new intent",
|
|
53
55
|
description: "Build the transaction that escrows the owner's tokens in a new intent: sell exactly the given amount and receive at least the given output before the expiry (for attested orders, an amount set by the attested result), or get everything back. Returns an unsigned transaction that already simulated successfully; the owner's wallet must sign and send it. Nothing moves until then.",
|
|
54
56
|
effect: "prepare",
|
|
55
|
-
input: object(
|
|
57
|
+
input: object({
|
|
58
|
+
...termsInput,
|
|
59
|
+
pay_to: optional(account("the wallet that receives what the solver pays; default the owner")),
|
|
60
|
+
}),
|
|
56
61
|
output: object({
|
|
57
62
|
...termsOutput,
|
|
58
63
|
create_fee: amount("lamports the owner pays the treasury"),
|
|
@@ -74,15 +79,20 @@ export const prepareCreate = define({
|
|
|
74
79
|
}
|
|
75
80
|
const nonce = pickNonce(user, input.nonce, claimedBy(claims, input.owner, now));
|
|
76
81
|
claim(claims, call, input.owner, nonce, now + PREPARED_TTL, now);
|
|
82
|
+
const recipient = input.pay_to ?? input.owner;
|
|
83
|
+
if (recipient !== input.owner) {
|
|
84
|
+
await walletRecipient(transport, recipient, "pay_to");
|
|
85
|
+
}
|
|
77
86
|
const [[intentAddress], receiverAddress, sourceAddress] = await Promise.all([
|
|
78
87
|
findIntentPda({ owner: input.owner, nonce }),
|
|
79
|
-
findAssociatedTokenAddress({ owner:
|
|
88
|
+
findAssociatedTokenAddress({ owner: recipient, mint: input.output_mint, tokenProgram: outputToken.tokenProgram }),
|
|
80
89
|
findAssociatedTokenAddress({ owner: input.owner, mint: input.input_mint, tokenProgram: inputToken.tokenProgram }),
|
|
81
90
|
]);
|
|
82
91
|
await transport.warm?.([intentAddress, receiverAddress, sourceAddress]);
|
|
83
92
|
const intent = await unusedIntent(transport, input.owner, nonce);
|
|
84
93
|
const owner = createNoopSigner(input.owner);
|
|
85
|
-
const receiver = await tokenAccountIfMissing(transport, owner,
|
|
94
|
+
const receiver = await tokenAccountIfMissing(transport, owner, recipient, input.output_mint, outputToken.tokenProgram);
|
|
95
|
+
const elsewhere = recipient !== input.owner;
|
|
86
96
|
const create = await buildCreateIntent({
|
|
87
97
|
owner,
|
|
88
98
|
treasury: config.feeRecipient,
|
|
@@ -96,6 +106,7 @@ export const prepareCreate = define({
|
|
|
96
106
|
outputMint: input.output_mint,
|
|
97
107
|
inputTokenProgram: inputToken.tokenProgram,
|
|
98
108
|
outputTokenProgram: outputToken.tokenProgram,
|
|
109
|
+
...(elsewhere ? { receiver: receiver.address, receiverAuthority: recipient } : {}),
|
|
99
110
|
});
|
|
100
111
|
const register = await initUserIfMissing(user, input.owner);
|
|
101
112
|
const wrap = await wrapIfShort(transport, input.owner, input.input_mint, inputToken.tokenProgram, escrowAmount(params));
|
|
@@ -108,13 +119,15 @@ export const prepareCreate = define({
|
|
|
108
119
|
summary: [
|
|
109
120
|
...describeTerms({ kind: params.kind, params: encodeParams(params), inputMint: input.input_mint, outputMint: input.output_mint }, { inputDecimals: inputToken.decimals, outputDecimals: outputToken.decimals, ...tokenNames(input.input_mint, input.output_mint) }),
|
|
110
121
|
`Expires: ${formatTime(expiresAt)}`,
|
|
122
|
+
...(elsewhere ? [`Pays to: ${recipient}, who receives what the solver pays${input.output_mint === NATIVE_MINT ? WRAPPED : ""}`] : []),
|
|
111
123
|
...(input.partner === undefined ? [] : [`Partner fee: ${input.partner.bps} bps of the sold amount to ${input.partner.account}`]),
|
|
112
124
|
...setupLines({
|
|
113
125
|
registers: register.length > 0,
|
|
114
|
-
creates: receiver.create.length > 0 ? [input.output_mint] : [],
|
|
126
|
+
creates: receiver.create.length > 0 && !elsewhere ? [input.output_mint] : [],
|
|
115
127
|
allowance: null,
|
|
116
128
|
wraps: wrap.lamports,
|
|
117
129
|
}).lines,
|
|
130
|
+
...(receiver.create.length > 0 && elsewhere ? [`Setup: creates ${recipient}'s token account for ${input.output_mint} (you pay its rent)`] : []),
|
|
118
131
|
],
|
|
119
132
|
warnings: warningsOf(params.kind, expiresAt, now, inputToken.scaled || outputToken.scaled),
|
|
120
133
|
create_fee: BigInt(config.createFee),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/agent/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,0BAA0B,EAC1B,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/agent/create.ts"],"names":[],"mappings":"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"}
|
package/dist/src/agent/mcp.js
CHANGED
|
@@ -18,9 +18,12 @@ export const WALLET_INSTRUCTIONS = [
|
|
|
18
18
|
`Before anything else, show the user this notice once, every line:`,
|
|
19
19
|
...WALLET_NOTICE.map((line) => `- ${line}`),
|
|
20
20
|
`Start with ${tool("wallet_setup")}; it creates and funds the wallet and is safe to call again.`,
|
|
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.`,
|
|
21
|
+
`${tool("wallet_swap")}, ${tool("wallet_auction")}, ${tool("wallet_recurring")}, ${tool("wallet_escrow")}, ${tool("wallet_attest")} 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
|
-
`
|
|
23
|
+
`Solvers pay the least an intent asks. ${tool("wallet_swap")} therefore starts its ask a little above the best recent fill and lets it fall to min_receive, so a solver takes it near the most it can pay: set min_receive to the least the user accepts. ${tool("wallet_estimate")} shows what recent fills paid.`,
|
|
24
|
+
`To pay someone in a token the wallet does not hold, give ${tool("wallet_swap")}, ${tool("wallet_auction")} or ${tool("wallet_recurring")} their wallet as pay_to: they receive what is bought.`,
|
|
25
|
+
`${tool("wallet_recurring")} repeats a swap on a schedule, such as every hour, by sending every order now with its ask held until its turn.`,
|
|
26
|
+
`${tool("wallet_escrow")} locks a payment that only a named attestor can release to the wallet it chooses, such as paying another agent once a reviewer approves its work; a server whose wallet is that attestor releases it with ${tool("wallet_attest")}.`,
|
|
24
27
|
`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.`,
|
|
25
28
|
].join("\n");
|
|
26
29
|
export const walletInstructions = (limits) => [WALLET_INSTRUCTIONS, ...limitLines(limits)].join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/agent/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAkD,MAAM,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,MAAM,WAAW,GAAyH;IAC/I,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/F,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;IACnG,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACnG,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAiB,EAAE,EAAE,CACjD,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,4FAA4F;IAC5F,mEAAmE;IACnE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;IAC3C,cAAc,IAAI,CAAC,cAAc,CAAC,8DAA8D;IAChG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,+GAA+G;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/agent/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type Address, type Instruction, type TransactionSigner } from "@solana/kit";
|
|
2
2
|
import type { Transport } from "../transport.js";
|
|
3
|
+
export declare const TOKEN_ACCOUNT_RECIPIENT = "this is a token account; give the wallet that owns it";
|
|
4
|
+
export declare function walletRecipient(transport: Transport, recipient: Address, path: string): Promise<void>;
|
|
3
5
|
type UserWindow = {
|
|
4
6
|
nonceBase: bigint;
|
|
5
7
|
nonceBitmap: readonly bigint[];
|
package/dist/src/agent/owner.js
CHANGED
|
@@ -6,6 +6,14 @@ import { createdAccount, TOKEN_PROGRAMS } from "../accounts.js";
|
|
|
6
6
|
import { NATIVE_MINT } from "../tokens.js";
|
|
7
7
|
import { AgentRefusal, ENGINE_PROBLEMS } from "./problems.js";
|
|
8
8
|
import { SOL_DECIMALS } from "./read.js";
|
|
9
|
+
import { InvalidInput } from "./schema.js";
|
|
10
|
+
export const TOKEN_ACCOUNT_RECIPIENT = "this is a token account; give the wallet that owns it";
|
|
11
|
+
export async function walletRecipient(transport, recipient, path) {
|
|
12
|
+
const held = await transport.getAccount(recipient);
|
|
13
|
+
if (held !== null && TOKEN_PROGRAMS.includes(held.owner)) {
|
|
14
|
+
throw new InvalidInput([{ path, message: TOKEN_ACCOUNT_RECIPIENT }]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
9
17
|
export async function userOf(transport, owner) {
|
|
10
18
|
const [address] = await findUserStatePda({ owner });
|
|
11
19
|
const view = await createdAccount(transport, address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner.js","sourceRoot":"","sources":["../../../src/agent/owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAoB,MAAM,EAA0B,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EACL,kDAAkD,EAClD,wBAAwB,EACxB,eAAe,EACf,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACZ,6BAA6B,EAC7B,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"owner.js","sourceRoot":"","sources":["../../../src/agent/owner.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,14 @@ export type WalletAccess = {
|
|
|
17
17
|
files: Files;
|
|
18
18
|
env: Env;
|
|
19
19
|
sleep(seconds: number): Promise<boolean>;
|
|
20
|
+
now(): bigint;
|
|
20
21
|
limits: WalletGuard;
|
|
21
22
|
};
|
|
22
23
|
export declare const SALE_WINDOW = 3600n;
|
|
23
24
|
export declare const ESTIMATE_SCAN = 12;
|
|
24
25
|
export declare const ESTIMATE_FILLS = 5;
|
|
25
26
|
export declare const WAIT_DEFAULT = 30;
|
|
26
|
-
export declare const WAIT_MAX =
|
|
27
|
+
export declare const WAIT_MAX = 40;
|
|
27
28
|
export declare const WAIT_SCAN = 10;
|
|
28
29
|
export declare const DEFAULT_EXPIRES_IN = 3600;
|
|
29
30
|
export declare const LANDING_SECONDS = 10;
|
|
@@ -35,6 +36,16 @@ export declare const WALLET_OFF = "this server runs without a wallet; start it w
|
|
|
35
36
|
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
37
|
export declare function limitLines(limits: WalletLimits): string[];
|
|
37
38
|
export declare const walletBalance: AnyAction;
|
|
39
|
+
export declare const SWAP_FALLS_OVER = 120;
|
|
40
|
+
export declare const PAY_TO = "the wallet that receives what is bought, such as someone this wallet pays; default this wallet. This wallet pays for its token account if it has none";
|
|
41
|
+
export declare const SWAP_HEADROOM_BPS = 200n;
|
|
42
|
+
export declare const SWAP_BLIND_BPS = 2500n;
|
|
43
|
+
export declare const ESCROW_EXPIRES_IN = 86400;
|
|
44
|
+
export declare const RECORD_MINT_NEEDED = "selling SOL on this RPC needs record_mint: any other token's mint, which only labels the escrow";
|
|
45
|
+
export declare const notAttestor: (attestor: string) => string;
|
|
46
|
+
export declare const MAX_RECURRING = 12;
|
|
47
|
+
export declare const mayHaveLanded: (sent: number, times: number, problem: string) => string;
|
|
48
|
+
export declare const MAX_EVERY: number;
|
|
38
49
|
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
50
|
export declare const NO_FILLS: string;
|
|
40
51
|
export declare const WAIT_STATUS: readonly ["open", "filling", "filled", "cancelled", "expired", "closed"];
|