@xmtp/agent-sdk 1.1.9 → 1.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.
package/README.md CHANGED
@@ -89,11 +89,15 @@ Subscribe only to what you need using Node’s `EventEmitter` interface. Events
89
89
  **Message Events**
90
90
 
91
91
  - `attachment` – an incoming [remote attachment message](https://docs.xmtp.org/chat-apps/content-types/attachments)
92
+ - `markdown` – an incoming [markdown-formatted](https://docs.xmtp.org/agents/content-types/markdown) text message
92
93
  - `message` – all messages that are not having a [custom content type](https://docs.xmtp.org/agents/content-types/content-types#custom-content-types)
93
94
  - `group-update` – an incoming [group update](https://docs.xmtp.org/agents/content-types/group-updates#listen-for-group-updates) (like name change, member update, etc.)
94
95
  - `reaction` – an incoming [reaction message](https://docs.xmtp.org/agents/content-types/reactions)
96
+ - `read-receipt` – an incoming [read receipt](https://docs.xmtp.org/chat-apps/content-types/read-receipts) notification
95
97
  - `reply` – an incoming [reply message](https://docs.xmtp.org/agents/content-types/replies)
96
98
  - `text` – an incoming [text message](https://docs.xmtp.org/agents/content-types/content-types#text-content-type)
99
+ - `transaction-reference` – an incoming onchain [transaction reference](https://docs.xmtp.org/agents/content-types/transaction-refs#receive-a-transaction-reference)
100
+ - `wallet-send-calls` – an incoming wallet [transaction request](https://docs.xmtp.org/agents/content-types/transactions#create-a-transaction-request) (batch calls)
97
101
  - `unknownMessage` – a message event that does not correspond to any of the pre-implemented event types
98
102
 
99
103
  **Conversation Events**
@@ -231,6 +235,30 @@ agent.on("unhandledError", (error) => {
231
235
  });
232
236
  ```
233
237
 
238
+ #### Provided Middleware
239
+
240
+ Built‑in, officially supported middleware is provided via `@xmtp/agent-sdk/middleware`.
241
+
242
+ **Example: CommandRouter**
243
+
244
+ The `CommandRouter` makes it easy to handle slash commands out of the box.
245
+
246
+ ```ts
247
+ import { Agent } from "@xmtp/agent-sdk";
248
+ import { CommandRouter } from "@xmtp/agent-sdk/middleware";
249
+
250
+ const agent = await Agent.createFromEnv();
251
+ const router = new CommandRouter()
252
+ .command("/hello", async (ctx) => {
253
+ await ctx.conversation.send("Hi there! 👋");
254
+ })
255
+ .default(async (ctx) => {
256
+ await ctx.conversation.send(`Unknown command: ${ctx.message.content}`);
257
+ });
258
+
259
+ agent.use(router.middleware());
260
+ ```
261
+
234
262
  ### 3. Built‑in Filters
235
263
 
236
264
  Instead of manually checking every incoming message, you can use the provided filters.
@@ -1,10 +1,14 @@
1
1
  import EventEmitter from "node:events";
2
2
  import type { GroupUpdatedCodec } from "@xmtp/content-type-group-updated";
3
+ import { MarkdownCodec } from "@xmtp/content-type-markdown";
3
4
  import type { ContentCodec } from "@xmtp/content-type-primitives";
4
5
  import { ReactionCodec } from "@xmtp/content-type-reaction";
6
+ import { ReadReceiptCodec } from "@xmtp/content-type-read-receipt";
5
7
  import { RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment";
6
8
  import { ReplyCodec } from "@xmtp/content-type-reply";
7
9
  import type { TextCodec } from "@xmtp/content-type-text";
10
+ import { TransactionReferenceCodec } from "@xmtp/content-type-transaction-reference";
11
+ import { WalletSendCallsCodec } from "@xmtp/content-type-wallet-send-calls";
8
12
  import { Client, Dm, Group, type ClientOptions, type Conversation, type CreateDmOptions, type CreateGroupOptions, type DecodedMessage, type HexString } from "@xmtp/node-sdk";
9
13
  import { ClientContext } from "./ClientContext.js";
10
14
  import { ConversationContext } from "./ConversationContext.js";
@@ -19,14 +23,22 @@ type EventHandlerMap<ContentTypes> = {
19
23
  ];
20
24
  dm: [ctx: ConversationContext<ContentTypes, Dm<ContentTypes>>];
21
25
  group: [ctx: ConversationContext<ContentTypes, Group<ContentTypes>>];
26
+ markdown: [ctx: MessageContext<ReturnType<MarkdownCodec["decode"]>>];
22
27
  message: [ctx: MessageContext<ContentTypes>];
23
28
  reaction: [ctx: MessageContext<ReturnType<ReactionCodec["decode"]>>];
29
+ "read-receipt": [ctx: MessageContext<ReturnType<ReadReceiptCodec["decode"]>>];
24
30
  reply: [ctx: MessageContext<ReturnType<ReplyCodec["decode"]>>];
25
31
  start: [ctx: ClientContext<ContentTypes>];
26
32
  stop: [ctx: ClientContext<ContentTypes>];
27
33
  text: [ctx: MessageContext<ReturnType<TextCodec["decode"]>>];
34
+ "transaction-reference": [
35
+ ctx: MessageContext<ReturnType<TransactionReferenceCodec["decode"]>>
36
+ ];
28
37
  unhandledError: [error: Error];
29
38
  unknownMessage: [ctx: MessageContext<ContentTypes>];
39
+ "wallet-send-calls": [
40
+ ctx: MessageContext<ReturnType<WalletSendCallsCodec["decode"]>>
41
+ ];
30
42
  };
31
43
  type EthAddress = HexString;
32
44
  export type AgentBaseContext<ContentTypes = unknown> = {
@@ -52,10 +64,10 @@ export declare class Agent<ContentTypes = unknown> extends EventEmitter<EventHan
52
64
  constructor({ client }: AgentOptions<ContentTypes>);
53
65
  static create<ContentCodecs extends ContentCodec[] = []>(signer: Parameters<typeof Client.create>[0], options?: Omit<ClientOptions, "codecs"> & {
54
66
  codecs?: ContentCodecs;
55
- }): Promise<Agent<import("@xmtp/node-sdk").ExtractCodecContentTypes<(ReactionCodec | ReplyCodec | RemoteAttachmentCodec | (never[] | ContentCodecs)[number])[]>>>;
67
+ }): Promise<Agent<import("@xmtp/node-sdk").ExtractCodecContentTypes<(ReactionCodec | ReplyCodec | RemoteAttachmentCodec | MarkdownCodec | ReadReceiptCodec | TransactionReferenceCodec | WalletSendCallsCodec | (never[] | ContentCodecs)[number])[]>>>;
56
68
  static createFromEnv<ContentCodecs extends ContentCodec[] = []>(options?: Omit<ClientOptions, "codecs"> & {
57
69
  codecs?: ContentCodecs;
58
- }): Promise<Agent<import("@xmtp/node-sdk").ExtractCodecContentTypes<(ReactionCodec | ReplyCodec | RemoteAttachmentCodec | (never[] | ContentCodecs)[number])[]>>>;
70
+ }): Promise<Agent<import("@xmtp/node-sdk").ExtractCodecContentTypes<(ReactionCodec | ReplyCodec | RemoteAttachmentCodec | MarkdownCodec | ReadReceiptCodec | TransactionReferenceCodec | WalletSendCallsCodec | (never[] | ContentCodecs)[number])[]>>>;
59
71
  use(...middleware: Array<AgentMiddleware<ContentTypes> | AgentMiddleware<ContentTypes>[]>): this;
60
72
  start(): Promise<void>;
61
73
  get client(): Client<ContentTypes>;
@@ -1,14 +1,18 @@
1
1
  import EventEmitter from "node:events";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
+ import { MarkdownCodec } from "@xmtp/content-type-markdown";
4
5
  import { ReactionCodec } from "@xmtp/content-type-reaction";
6
+ import { ReadReceiptCodec } from "@xmtp/content-type-read-receipt";
5
7
  import { RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment";
6
8
  import { ReplyCodec } from "@xmtp/content-type-reply";
9
+ import { TransactionReferenceCodec } from "@xmtp/content-type-transaction-reference";
10
+ import { WalletSendCallsCodec } from "@xmtp/content-type-wallet-send-calls";
7
11
  import { ApiUrls, Client, Dm, Group, isHexString, } from "@xmtp/node-sdk";
8
12
  import { filter } from "../core/filter.js";
9
13
  import { getInstallationInfo } from "../debug.js";
10
14
  import { createSigner, createUser } from "../user/User.js";
11
- import { AgentError } from "./AgentError.js";
15
+ import { AgentError, AgentStreamingError } from "./AgentError.js";
12
16
  import { ClientContext } from "./ClientContext.js";
13
17
  import { ConversationContext } from "./ConversationContext.js";
14
18
  import { MessageContext } from "./MessageContext.js";
@@ -49,9 +53,13 @@ export class Agent extends EventEmitter {
49
53
  initializedOptions.appVersion ??= "agent-sdk/alpha";
50
54
  const upgradedCodecs = [
51
55
  ...(initializedOptions.codecs ?? []),
56
+ new MarkdownCodec(),
52
57
  new ReactionCodec(),
58
+ new ReadReceiptCodec(),
53
59
  new ReplyCodec(),
54
60
  new RemoteAttachmentCodec(),
61
+ new TransactionReferenceCodec(),
62
+ new WalletSendCallsCodec(),
55
63
  ];
56
64
  if (process.env.XMTP_FORCE_DEBUG) {
57
65
  const loggingLevel = process.env.XMTP_FORCE_DEBUG_LEVEL || "warn" /* LogLevel.warn */;
@@ -170,7 +178,7 @@ export class Agent extends EventEmitter {
170
178
  }
171
179
  },
172
180
  onError: async (error) => {
173
- const recovered = await this.#runErrorChain(new AgentError(1002, "Error occured during conversation streaming.", error), new ClientContext({ client: this.#client }));
181
+ const recovered = await this.#runErrorChain(new AgentStreamingError(1002, "Error occured during conversation streaming.", error), new ClientContext({ client: this.#client }));
174
182
  if (!recovered)
175
183
  await this.stop();
176
184
  },
@@ -188,9 +196,21 @@ export class Agent extends EventEmitter {
188
196
  case filter.isReaction(message):
189
197
  await this.#processMessage(message, "reaction");
190
198
  break;
199
+ case filter.isReadReceipt(message):
200
+ await this.#processMessage(message, "read-receipt");
201
+ break;
191
202
  case filter.isReply(message):
192
203
  await this.#processMessage(message, "reply");
193
204
  break;
205
+ case filter.isTransactionReference(message):
206
+ await this.#processMessage(message, "transaction-reference");
207
+ break;
208
+ case filter.isWalletSendCalls(message):
209
+ await this.#processMessage(message, "wallet-send-calls");
210
+ break;
211
+ case filter.isMarkdown(message):
212
+ await this.#processMessage(message, "markdown");
213
+ break;
194
214
  case filter.isText(message):
195
215
  await this.#processMessage(message, "text");
196
216
  break;
@@ -210,7 +230,7 @@ export class Agent extends EventEmitter {
210
230
  }
211
231
  },
212
232
  onError: async (error) => {
213
- const recovered = await this.#runErrorChain(new AgentError(1004, "Error occured during message streaming.", error), new ClientContext({ client: this.#client }));
233
+ const recovered = await this.#runErrorChain(new AgentStreamingError(1004, "Error occured during message streaming.", error), new ClientContext({ client: this.#client }));
214
234
  if (!recovered)
215
235
  await this.stop();
216
236
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,OAAO,EACP,MAAM,EACN,EAAE,EACF,KAAK,EAEL,WAAW,GASZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkFrD,MAAM,OAAO,KAA8B,SAAQ,YAElD;IACC,OAAO,CAAuB;IAC9B,oBAAoB,CAAoC;IACxD,cAAc,CAA+B;IAC7C,WAAW,GAAoC,EAAE,CAAC;IAClD,gBAAgB,GAAyC,EAAE,CAAC;IAC5D,OAAO,GAAsC,MAAM,CAAC,MAAM,CAAC;QACzD,GAAG,EAAE,CAAC,GAAG,eAAqD,EAAE,EAAE;YAChE,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;IACH,oBAAoB,GAAuC,CAAC,YAAY,EAAE,EAAE;QAC1E,MAAM,YAAY,GAChB,YAAY,YAAY,KAAK;YAC3B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,UAAU,CACZ,IAAI,EACJ,qDAAqD,EACrD,YAAY,CACb,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,SAAS,GAAY,KAAK,CAAC;IAE3B,YAAY,EAAE,MAAM,EAA8B;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,MAA2C;IAC3C,qFAAqF;IACrF,OAAoE;QAEpE,MAAM,kBAAkB,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAClD,kBAAkB,CAAC,UAAU,KAAK,iBAAiB,CAAC;QAEpD,MAAM,cAAc,GAAG;YACrB,GAAG,CAAC,kBAAkB,CAAC,MAAM,IAAI,EAAE,CAAC;YACpC,IAAI,aAAa,EAAE;YACnB,IAAI,UAAU,EAAE;YAChB,IAAI,qBAAqB,EAAE;SAC5B,CAAC;QAEF,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,8BAAiB,CAAC;YACzE,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC7C,kBAAkB,CAAC,YAAY,GAAG,YAAwB,CAAC;YAC3D,kBAAkB,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YACzC,GAAG,kBAAkB;YACrB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CACV,uBAAuB,IAAI,CAAC,kBAAkB,qCAAqC,IAAI,CAAC,cAAc,gQAAgQ,CACvW,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa;IACxB,qFAAqF;IACrF,OAAoE;QAEpE,MAAM,EACJ,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,eAAe,GAChB,GAAG,OAAO,CAAC,GAAG,CAAC;QAEhB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,UAAU,CAClB,IAAI,EACJ,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAEzD,MAAM,kBAAkB,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAElD,kBAAkB,CAAC,eAAe;YAChC,OAAO,sBAAsB,KAAK,QAAQ;gBACxC,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;oBACnC,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,KAAK,sBAAsB,EAAE;gBACjC,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,kBAAkB,CAAC,GAAG,GAAG,QAAmB,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,kBAAkB,CAAC,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,OAAO,MAAM,CAAC,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,GAAG,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CACD,GAAG,UAEF;QAED,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAc;QACrC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YACjD,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,cAAc;YACpE,OAAO;QAET,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;gBAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;oBAC9B,IAAI,CAAC;wBACH,IAAI,CAAC,YAAY,EAAE,CAAC;4BAClB,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,IAAI,CACP,cAAc,EACd,IAAI,mBAAmB,CACrB;4BACE,YAAY;4BACZ,MAAM,EAAE,IAAI,CAAC,OAAO;yBACrB,CACF,CACF,CAAC;wBACF,IAAI,YAAY,YAAY,KAAK,EAAE,CAAC;4BAClC,IAAI,CAAC,IAAI,CACP,OAAO,EACP,IAAI,mBAAmB,CAAoC;gCACzD,YAAY;gCACZ,MAAM,EAAE,IAAI,CAAC,OAAO;6BACrB,CAAC,CACH,CAAC;wBACJ,CAAC;6BAAM,IAAI,YAAY,YAAY,EAAE,EAAE,CAAC;4BACtC,IAAI,CAAC,IAAI,CACP,IAAI,EACJ,IAAI,mBAAmB,CAAiC;gCACtD,YAAY;gCACZ,MAAM,EAAE,IAAI,CAAC,OAAO;6BACrB,CAAC,CACH,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,IAAI,UAAU,CACZ,IAAI,EACJ,yDAAyD,EACzD,KAAK,CACN,EACD,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAC5C,CAAC;wBACF,IAAI,CAAC,SAAS;4BAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,IAAI,UAAU,CACZ,IAAI,EACJ,8CAA8C,EAC9C,KAAK,CACN,EACD,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAC5C,CAAC;oBACF,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC;gBACvE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBACzB,IAAI,CAAC;wBACH,QAAQ,IAAI,EAAE,CAAC;4BACb,KAAK,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gCAChC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gCACpD,MAAM;4BACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;gCACrC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gCAClD,MAAM;4BACR,KAAK,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gCAC7B,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gCAChD,MAAM;4BACR,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gCAC7C,MAAM;4BACR,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gCACzB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gCAC5C,MAAM;4BACR;gCACE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gCACpC,MAAM;wBACV,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;4BACjD,MAAM,EAAE,IAAI,CAAC,OAAO;yBACrB,CAAC,CAAC;wBACH,IAAI,CAAC,SAAS,EAAE,CAAC;4BACf,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpB,CAAC;wBACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACzB,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,IAAI,UAAU,CACZ,IAAI,EACJ,yCAAyC,EACzC,KAAK,CACN,EACD,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAC5C,CAAC;oBACF,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAqC,EACrC,QAAiC,gBAAgB;QAEjD,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CACvE,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAClB,IAAI,EACJ,iCAAiC,OAAO,CAAC,EAAE,0BAA0B,OAAO,CAAC,cAAc,gDAAgD,CAC5I,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC;YACjC,OAAO;YACP,YAAY;YACZ,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAAqC,EACrC,QAAiC,gBAAgB;QAEjD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CACxC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;YACX,OAAO,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACzD,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,IAAI,EAAE,CAAC;oBACf,CAAC;oBACD,kDAAkD;gBACpD,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,EACD,SAAS,CACV,CAAC;QAEF,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAA2C,EAC3C,OAAwC,EACxC,KAAc;QAEd,IAAI,OAAO,GAAG,KAAgB,CAAC;QAC/B,IAAI,IAAI,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAE1C,MAAM,IAAI,GAAG,CAAC,OAAiB,EAAE,EAAE;YACjC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI;gBACF,OAAO,KAAK,SAAS;oBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC7C,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAc,EACd,OAAwC;QAExC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEpE,IAAI,YAAY,GAAY,KAAK,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACzC,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;YAEF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACZ,mDAAmD;oBACnD,OAAO,IAAI,CAAC;gBACd,KAAK,SAAS;oBACZ,2DAA2D;oBAC3D,OAAO,KAAK,CAAC;gBACf,KAAK,UAAU;oBACb,sCAAsC;oBACtC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,OAAmB,EAAE,OAAyB;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CACnD;YACE,UAAU,EAAE,OAAO;YACnB,cAAc,iCAAyB;SACxC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,wBAAwB,CACtB,SAAuB,EACvB,OAA4B;QAE5B,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,OAAO;gBACL,UAAU,EAAE,OAAO;gBACnB,cAAc,iCAAyB;aACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,CACvD,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAED,uBAAuB,CACrB,KAA0B,EAC1B,SAAuB;QAEvB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,OAAO;gBACL,UAAU,EAAE,OAAO;gBACnB,cAAc,iCAAyB;aACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,5 @@ export declare class AgentError extends Error {
3
3
  constructor(code: number, message: string, cause?: unknown);
4
4
  get code(): number;
5
5
  }
6
+ export declare class AgentStreamingError extends AgentError {
7
+ }
@@ -8,4 +8,6 @@ export class AgentError extends Error {
8
8
  return this.#code;
9
9
  }
10
10
  }
11
+ export class AgentStreamingError extends AgentError {
12
+ }
11
13
  //# sourceMappingURL=AgentError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentError.js","sourceRoot":"","sources":["../../src/core/AgentError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,KAAK,CAAS;IAEd,YAAY,IAAY,EAAE,OAAe,EAAE,KAAe;QACxD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"AgentError.js","sourceRoot":"","sources":["../../src/core/AgentError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,KAAK,CAAS;IAEd,YAAY,IAAY,EAAE,OAAe,EAAE,KAAe;QACxD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,UAAU;CAAG"}
@@ -1,8 +1,12 @@
1
+ import { type MarkdownCodec } from "@xmtp/content-type-markdown";
1
2
  import type { ContentCodec } from "@xmtp/content-type-primitives";
2
3
  import { type Reaction, type ReactionCodec } from "@xmtp/content-type-reaction";
4
+ import type { ReadReceiptCodec } from "@xmtp/content-type-read-receipt";
3
5
  import type { RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment";
4
6
  import { type ReplyCodec } from "@xmtp/content-type-reply";
5
7
  import { type TextCodec } from "@xmtp/content-type-text";
8
+ import type { TransactionReferenceCodec } from "@xmtp/content-type-transaction-reference";
9
+ import type { WalletSendCallsCodec } from "@xmtp/content-type-wallet-send-calls";
6
10
  import { type DecodedMessageWithContent } from "../core/filter.js";
7
11
  import type { AgentBaseContext } from "./Agent.js";
8
12
  import { ConversationContext } from "./ConversationContext.js";
@@ -13,11 +17,16 @@ export declare class MessageContext<ContentTypes = unknown> extends Conversation
13
17
  #private;
14
18
  constructor({ message, conversation, client, }: MessageContextParams<ContentTypes>);
15
19
  usesCodec<T extends ContentCodec>(codecClass: new () => T): this is MessageContext<ReturnType<T["decode"]>>;
20
+ isMarkdown(): this is MessageContext<ReturnType<MarkdownCodec["decode"]>>;
16
21
  isText(): this is MessageContext<ReturnType<TextCodec["decode"]>>;
17
22
  isReply(): this is MessageContext<ReturnType<ReplyCodec["decode"]>>;
18
23
  isReaction(): this is MessageContext<ReturnType<ReactionCodec["decode"]>>;
24
+ isReadReceipt(): this is MessageContext<ReturnType<ReadReceiptCodec["decode"]>>;
19
25
  isRemoteAttachment(): this is MessageContext<ReturnType<RemoteAttachmentCodec["decode"]>>;
26
+ isTransactionReference(): this is MessageContext<ReturnType<TransactionReferenceCodec["decode"]>>;
27
+ isWalletSendCalls(): this is MessageContext<ReturnType<WalletSendCallsCodec["decode"]>>;
20
28
  sendReaction(content: string, schema?: Reaction["schema"]): Promise<void>;
29
+ sendMarkdown(markdown: string): Promise<void>;
21
30
  sendText(text: string): Promise<void>;
22
31
  sendTextReply(text: string): Promise<void>;
23
32
  getSenderAddress(): Promise<string | undefined>;
@@ -1,3 +1,4 @@
1
+ import { ContentTypeMarkdown, } from "@xmtp/content-type-markdown";
1
2
  import { ContentTypeReaction, } from "@xmtp/content-type-reaction";
2
3
  import { ContentTypeReply, } from "@xmtp/content-type-reply";
3
4
  import { ContentTypeText } from "@xmtp/content-type-text";
@@ -12,6 +13,9 @@ export class MessageContext extends ConversationContext {
12
13
  usesCodec(codecClass) {
13
14
  return (this.#message.contentType?.sameAs(new codecClass().contentType) || false);
14
15
  }
16
+ isMarkdown() {
17
+ return filter.isMarkdown(this.#message);
18
+ }
15
19
  isText() {
16
20
  return filter.isText(this.#message);
17
21
  }
@@ -21,9 +25,18 @@ export class MessageContext extends ConversationContext {
21
25
  isReaction() {
22
26
  return filter.isReaction(this.#message);
23
27
  }
28
+ isReadReceipt() {
29
+ return filter.isReadReceipt(this.#message);
30
+ }
24
31
  isRemoteAttachment() {
25
32
  return filter.isRemoteAttachment(this.#message);
26
33
  }
34
+ isTransactionReference() {
35
+ return filter.isTransactionReference(this.#message);
36
+ }
37
+ isWalletSendCalls() {
38
+ return filter.isWalletSendCalls(this.#message);
39
+ }
27
40
  async sendReaction(content, schema = "unicode") {
28
41
  const reaction = {
29
42
  action: "added",
@@ -34,6 +47,9 @@ export class MessageContext extends ConversationContext {
34
47
  };
35
48
  await this.conversation.send(reaction, ContentTypeReaction);
36
49
  }
50
+ async sendMarkdown(markdown) {
51
+ await this.conversation.send(markdown, ContentTypeMarkdown);
52
+ }
37
53
  async sendText(text) {
38
54
  await this.conversation.send(text, ContentTypeText);
39
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContext.js","sourceRoot":"","sources":["../../src/core/MessageContext.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAkB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAkC,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAS/D,MAAM,OAAO,cAEX,SAAQ,mBAAiC;IACzC,QAAQ,CAA0C;IAElD,YAAY,EACV,OAAO,EACP,YAAY,EACZ,MAAM,GAC6B;QACnC,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,SAAS,CACP,UAAuB;QAEvB,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,CACzE,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB;QAGhB,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,SAA6B,SAAS;QACxE,MAAM,QAAQ,GAAa;YACzB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3B,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC7C,MAAM;YACN,OAAO;SACR,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAU;YACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3B,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC7C,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;IACnD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"MessageContext.js","sourceRoot":"","sources":["../../src/core/MessageContext.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import { type GroupUpdatedCodec } from "@xmtp/content-type-group-updated";
2
+ import { type MarkdownCodec } from "@xmtp/content-type-markdown";
2
3
  import { type ReactionCodec } from "@xmtp/content-type-reaction";
4
+ import { type ReadReceiptCodec } from "@xmtp/content-type-read-receipt";
3
5
  import { type RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment";
4
6
  import { type ReplyCodec } from "@xmtp/content-type-reply";
5
7
  import { type TextCodec } from "@xmtp/content-type-text";
8
+ import { type TransactionReferenceCodec } from "@xmtp/content-type-transaction-reference";
9
+ import { type WalletSendCallsCodec } from "@xmtp/content-type-wallet-send-calls";
6
10
  import { Dm, Group, type Client, type Conversation, type DecodedMessage } from "@xmtp/node-sdk";
7
11
  export type DecodedMessageWithContent<ContentTypes = unknown> = DecodedMessage<ContentTypes> & {
8
12
  content: ContentTypes;
@@ -17,9 +21,13 @@ export declare const filter: {
17
21
  isGroupUpdate: (message: DecodedMessage) => message is DecodedMessage & {
18
22
  content: ReturnType<GroupUpdatedCodec["decode"]>;
19
23
  };
24
+ isMarkdown: (message: DecodedMessage) => message is DecodedMessageWithContent<ReturnType<MarkdownCodec["decode"]>>;
20
25
  isReaction: (message: DecodedMessage) => message is DecodedMessage & {
21
26
  content: ReturnType<ReactionCodec["decode"]>;
22
27
  };
28
+ isReadReceipt: (message: DecodedMessage) => message is DecodedMessage & {
29
+ content: ReturnType<ReadReceiptCodec["decode"]>;
30
+ };
23
31
  isRemoteAttachment: (message: DecodedMessage) => message is DecodedMessage & {
24
32
  content: ReturnType<RemoteAttachmentCodec["decode"]>;
25
33
  };
@@ -28,6 +36,12 @@ export declare const filter: {
28
36
  };
29
37
  isText: (message: DecodedMessage) => message is DecodedMessageWithContent<ReturnType<TextCodec["decode"]>>;
30
38
  isTextReply: (message: DecodedMessage) => boolean;
39
+ isTransactionReference: (message: DecodedMessage) => message is DecodedMessage & {
40
+ content: ReturnType<TransactionReferenceCodec["decode"]>;
41
+ };
42
+ isWalletSendCalls: (message: DecodedMessage) => message is DecodedMessage & {
43
+ content: ReturnType<WalletSendCallsCodec["decode"]>;
44
+ };
31
45
  };
32
46
  export declare const f: {
33
47
  fromSelf: <ContentTypes>(message: DecodedMessage<ContentTypes>, client: Client<ContentTypes>) => boolean;
@@ -39,9 +53,13 @@ export declare const f: {
39
53
  isGroupUpdate: (message: DecodedMessage) => message is DecodedMessage & {
40
54
  content: ReturnType<GroupUpdatedCodec["decode"]>;
41
55
  };
56
+ isMarkdown: (message: DecodedMessage) => message is DecodedMessageWithContent<ReturnType<MarkdownCodec["decode"]>>;
42
57
  isReaction: (message: DecodedMessage) => message is DecodedMessage & {
43
58
  content: ReturnType<ReactionCodec["decode"]>;
44
59
  };
60
+ isReadReceipt: (message: DecodedMessage) => message is DecodedMessage & {
61
+ content: ReturnType<ReadReceiptCodec["decode"]>;
62
+ };
45
63
  isRemoteAttachment: (message: DecodedMessage) => message is DecodedMessage & {
46
64
  content: ReturnType<RemoteAttachmentCodec["decode"]>;
47
65
  };
@@ -50,4 +68,10 @@ export declare const f: {
50
68
  };
51
69
  isText: (message: DecodedMessage) => message is DecodedMessageWithContent<ReturnType<TextCodec["decode"]>>;
52
70
  isTextReply: (message: DecodedMessage) => boolean;
71
+ isTransactionReference: (message: DecodedMessage) => message is DecodedMessage & {
72
+ content: ReturnType<TransactionReferenceCodec["decode"]>;
73
+ };
74
+ isWalletSendCalls: (message: DecodedMessage) => message is DecodedMessage & {
75
+ content: ReturnType<WalletSendCallsCodec["decode"]>;
76
+ };
53
77
  };
@@ -1,8 +1,12 @@
1
1
  import { ContentTypeGroupUpdated, } from "@xmtp/content-type-group-updated";
2
+ import { ContentTypeMarkdown, } from "@xmtp/content-type-markdown";
2
3
  import { ContentTypeReaction, } from "@xmtp/content-type-reaction";
4
+ import { ContentTypeReadReceipt, } from "@xmtp/content-type-read-receipt";
3
5
  import { ContentTypeRemoteAttachment, } from "@xmtp/content-type-remote-attachment";
4
6
  import { ContentTypeReply } from "@xmtp/content-type-reply";
5
7
  import { ContentTypeText } from "@xmtp/content-type-text";
8
+ import { ContentTypeTransactionReference, } from "@xmtp/content-type-transaction-reference";
9
+ import { ContentTypeWalletSendCalls, } from "@xmtp/content-type-wallet-send-calls";
6
10
  import { Dm, Group, } from "@xmtp/node-sdk";
7
11
  const fromSelf = (message, client) => {
8
12
  return message.senderInboxId === client.inboxId;
@@ -40,12 +44,24 @@ const isReply = (message) => {
40
44
  const isRemoteAttachment = (message) => {
41
45
  return !!message.contentType?.sameAs(ContentTypeRemoteAttachment);
42
46
  };
47
+ const isMarkdown = (message) => {
48
+ return !!message.contentType?.sameAs(ContentTypeMarkdown);
49
+ };
50
+ const isReadReceipt = (message) => {
51
+ return !!message.contentType?.sameAs(ContentTypeReadReceipt);
52
+ };
43
53
  const isText = (message) => {
44
54
  return !!message.contentType?.sameAs(ContentTypeText);
45
55
  };
46
56
  const isTextReply = (message) => {
47
57
  return isReply(message) && typeof message.content.content === "string";
48
58
  };
59
+ const isTransactionReference = (message) => {
60
+ return !!message.contentType?.sameAs(ContentTypeTransactionReference);
61
+ };
62
+ const isWalletSendCalls = (message) => {
63
+ return !!message.contentType?.sameAs(ContentTypeWalletSendCalls);
64
+ };
49
65
  export const filter = {
50
66
  fromSelf,
51
67
  hasContent,
@@ -54,11 +70,15 @@ export const filter = {
54
70
  isGroupAdmin,
55
71
  isGroupSuperAdmin,
56
72
  isGroupUpdate,
73
+ isMarkdown,
57
74
  isReaction,
75
+ isReadReceipt,
58
76
  isRemoteAttachment,
59
77
  isReply,
60
78
  isText,
61
79
  isTextReply,
80
+ isTransactionReference,
81
+ isWalletSendCalls,
62
82
  };
63
83
  export const f = filter;
64
84
  //# sourceMappingURL=filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/core/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/core/filter.ts"],"names":[],"mappings":"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"}
package/dist/demo.js CHANGED
@@ -2,6 +2,7 @@ import { loadEnvFile } from "node:process";
2
2
  import { TextCodec } from "@xmtp/content-type-text";
3
3
  import { Agent, AgentError } from "./core/index.js";
4
4
  import { getTestUrl } from "./debug/log.js";
5
+ import { isHexString } from "./index.js";
5
6
  import { CommandRouter } from "./middleware/CommandRouter.js";
6
7
  import { createNameResolver } from "./user.js";
7
8
  import { createSigner, createUser } from "./user/User.js";
@@ -37,6 +38,20 @@ agent.on("text", async (ctx) => {
37
38
  await ctx.conversation.send("How can I help you?");
38
39
  }
39
40
  });
41
+ agent.on("transaction-reference", (ctx) => {
42
+ const { networkId, reference } = ctx.message.content;
43
+ if (!isHexString(reference)) {
44
+ console.warn(`Invalid transaction ID: ${reference}`);
45
+ }
46
+ console.log(`Transaction "${reference}" on network "${networkId}".`);
47
+ });
48
+ agent.on("wallet-send-calls", (ctx) => {
49
+ const { chainId, calls } = ctx.message.content;
50
+ console.log(`Wallet request for "${calls.length}" calls on chain "${chainId}".`);
51
+ });
52
+ agent.on("read-receipt", (ctx) => {
53
+ console.log(`Message ID "${ctx.message.id}" was read.`);
54
+ });
40
55
  const errorHandler = (error) => {
41
56
  if (error instanceof AgentError) {
42
57
  console.log(`Caught error ID "${error.code}"`, error);
package/dist/demo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { ConsentEntityType, ConsentState, ConversationType, DeliveryStatus, GroupMember, GroupMembershipState, GroupMessageKind, GroupMetadata, GroupPermissions, GroupPermissionsOptions, IdentifierKind, LogLevel, MetadataField, PermissionLevel, PermissionPolicy, PermissionUpdateType, SignatureRequestHandle, SortDirection, } from "@xmtp/node-sdk";
2
2
  export type * from "@xmtp/node-sdk";
3
+ export { isHexString, validHex } from "@xmtp/node-sdk";
3
4
  export * from "./core/index.js";
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { ConsentEntityType, ConsentState, ConversationType, DeliveryStatus, GroupMember, GroupMembershipState, GroupMessageKind, GroupMetadata, GroupPermissions, GroupPermissionsOptions, IdentifierKind, LogLevel, MetadataField, PermissionLevel, PermissionPolicy, PermissionUpdateType, SignatureRequestHandle, SortDirection, } from "@xmtp/node-sdk";
2
+ export { isHexString, validHex } from "@xmtp/node-sdk";
2
3
  // Agent SDK
3
4
  export * from "./core/index.js";
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,YAAY;AACZ,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY;AACZ,cAAc,iBAAiB,CAAC"}
@@ -1,10 +1,14 @@
1
+ import type { TextCodec } from "@xmtp/content-type-text";
1
2
  import { type AgentMessageHandler, type AgentMiddleware } from "../core/Agent.js";
2
3
  import type { MessageContext } from "../core/MessageContext.js";
3
- export declare class CommandRouter<ContentTypes> {
4
+ /** Content type supported by the "CommandRouter" */
5
+ type SupportedType = ReturnType<TextCodec["decode"]>;
6
+ export declare class CommandRouter {
4
7
  private commandMap;
5
8
  private defaultHandler;
6
- command(command: string, handler: AgentMessageHandler): this;
7
- default(handler: AgentMessageHandler): this;
8
- handle(ctx: MessageContext): Promise<boolean>;
9
- middleware: () => AgentMiddleware<ContentTypes>;
9
+ command(command: string, handler: AgentMessageHandler<SupportedType>): this;
10
+ default(handler: AgentMessageHandler<SupportedType>): this;
11
+ handle(ctx: MessageContext<SupportedType>): Promise<boolean>;
12
+ middleware(): AgentMiddleware;
10
13
  }
14
+ export {};
@@ -1,4 +1,3 @@
1
- import { filter } from "../core/filter.js";
2
1
  export class CommandRouter {
3
2
  commandMap = new Map();
4
3
  defaultHandler = null;
@@ -14,9 +13,6 @@ export class CommandRouter {
14
13
  return this;
15
14
  }
16
15
  async handle(ctx) {
17
- if (!filter.isText(ctx.message)) {
18
- return false;
19
- }
20
16
  const messageText = ctx.message.content;
21
17
  const parts = messageText.split(" ");
22
18
  const command = parts[0]?.toLowerCase();
@@ -38,11 +34,18 @@ export class CommandRouter {
38
34
  }
39
35
  return false;
40
36
  }
41
- middleware = () => async (ctx, next) => {
42
- const handled = await this.handle(ctx);
43
- if (!handled) {
44
- await next();
45
- }
46
- };
37
+ middleware() {
38
+ return async (ctx, next) => {
39
+ if (ctx.isText()) {
40
+ const handled = await this.handle(ctx);
41
+ if (!handled) {
42
+ await next();
43
+ }
44
+ }
45
+ else {
46
+ await next();
47
+ }
48
+ };
49
+ }
47
50
  }
48
51
  //# sourceMappingURL=CommandRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRouter.js","sourceRoot":"","sources":["../../src/middleware/CommandRouter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,MAAM,OAAO,aAAa;IAChB,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IACpD,cAAc,GAA+B,IAAI,CAAC;IAE1D,OAAO,CAAC,OAAe,EAAE,OAA4B;QACnD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAA4B;QAClC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAmB;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,GAAwC,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"CommandRouter.js","sourceRoot":"","sources":["../../src/middleware/CommandRouter.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,aAAa;IAChB,UAAU,GAAG,IAAI,GAAG,EAA8C,CAAC;IACnE,cAAc,GAA8C,IAAI,CAAC;IAEzE,OAAO,CAAC,OAAe,EAAE,OAA2C;QAClE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAA2C;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAkC;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -1,12 +1,15 @@
1
1
  import type { GroupUpdated } from "@xmtp/content-type-group-updated";
2
2
  import type { Reaction } from "@xmtp/content-type-reaction";
3
+ import type { ReadReceipt } from "@xmtp/content-type-read-receipt";
3
4
  import type { RemoteAttachment } from "@xmtp/content-type-remote-attachment";
4
5
  import type { Reply } from "@xmtp/content-type-reply";
6
+ import type { TransactionReference } from "@xmtp/content-type-transaction-reference";
7
+ import type { WalletSendCallsParams } from "@xmtp/content-type-wallet-send-calls";
5
8
  import type { Client, Conversation, DecodedMessage } from "@xmtp/node-sdk";
6
9
  import type { Mock } from "vitest";
7
10
  import { Agent } from "../core/Agent.js";
8
11
  import type { DecodedMessageWithContent } from "../core/filter.js";
9
- export type CurrentClientTypes = string | Reaction | Reply | RemoteAttachment | GroupUpdated;
12
+ export type CurrentClientTypes = GroupUpdated | Reaction | ReadReceipt | RemoteAttachment | Reply | string | TransactionReference | WalletSendCallsParams;
10
13
  export declare const createMockMessage: <ContentType>(overrides: Partial<DecodedMessage> & {
11
14
  content: ContentType;
12
15
  }) => DecodedMessageWithContent<ContentType>;
@@ -1 +1 @@
1
- {"version":3,"file":"TestUtil.js","sourceRoot":"","sources":["../../src/utils/TestUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestUtil.js","sourceRoot":"","sources":["../../src/utils/TestUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,24 +4,28 @@
4
4
  "url": "https://github.com/xmtp/xmtp-js/issues"
5
5
  },
6
6
  "dependencies": {
7
+ "@xmtp/content-type-markdown": "^1.0.0",
7
8
  "@xmtp/content-type-reaction": "^2.0.2",
9
+ "@xmtp/content-type-read-receipt": "^2.0.2",
8
10
  "@xmtp/content-type-remote-attachment": "^2.0.2",
9
11
  "@xmtp/content-type-reply": "^2.0.2",
10
12
  "@xmtp/content-type-text": "^2.0.2",
11
- "@xmtp/node-sdk": "^4.2.4",
13
+ "@xmtp/content-type-transaction-reference": "^2.0.2",
14
+ "@xmtp/content-type-wallet-send-calls": "^2.0.0",
15
+ "@xmtp/node-sdk": "^4.2.5",
12
16
  "viem": "^2.37.6"
13
17
  },
14
18
  "description": "XMTP Agent SDK for interacting with XMTP networks",
15
19
  "devDependencies": {
16
20
  "@arethetypeswrong/cli": "^0.18.2",
17
- "@types/node": "^22.18.4",
18
- "@vitest/coverage-v8": "^3.2.4",
21
+ "@types/node": "^24.9.1",
22
+ "@vitest/coverage-v8": "^4.0.3",
19
23
  "tsc-alias": "^1.8.16",
20
- "tsx": "^4.20.5",
21
- "typescript": "^5.9.2",
22
- "vite": "^7.1.11",
24
+ "tsx": "^4.20.6",
25
+ "typescript": "^5.9.3",
26
+ "vite": "^7.1.12",
23
27
  "vite-tsconfig-paths": "^5.1.4",
24
- "vitest": "^3.2.4"
28
+ "vitest": "^4.0.3"
25
29
  },
26
30
  "engines": {
27
31
  "node": ">=20"
@@ -88,5 +92,5 @@
88
92
  "typecheck": "tsc --noEmit"
89
93
  },
90
94
  "type": "module",
91
- "version": "1.1.9"
95
+ "version": "1.1.11"
92
96
  }