@xmtp/agent-sdk 1.1.3 → 1.1.5

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
@@ -87,12 +87,13 @@ Subscribe only to what you need using Node’s `EventEmitter` interface. Events
87
87
 
88
88
  **Message Events**
89
89
 
90
- - `attachment` – a new incoming remote attachment message
91
- - `message` – all incoming messages (fires for every message regardless of type)
92
- - `reaction` – a new incoming reaction message
93
- - `reply` – a new incoming reply message
94
- - `text` – a new incoming text message
95
- - `unknownMessage` – a message that doesn't match any specific type
90
+ - `attachment` – an incoming [remote attachment message](https://docs.xmtp.org/chat-apps/content-types/attachments)
91
+ - `message` – all messages that are not having a [custom content type](https://docs.xmtp.org/agents/content-types/content-types#custom-content-types)
92
+ - `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.)
93
+ - `reaction` – an incoming [reaction message](https://docs.xmtp.org/agents/content-types/reactions)
94
+ - `reply` – an incoming [reply message](https://docs.xmtp.org/agents/content-types/replies)
95
+ - `text` – an incoming [text message](https://docs.xmtp.org/agents/content-types/content-types#text-content-type)
96
+ - `unknownMessage` – a message event that does not correspond to any of the pre-implemented event types
96
97
 
97
98
  **Conversation Events**
98
99
 
@@ -353,6 +354,16 @@ const agent = await Agent.create(signer, {
353
354
  });
354
355
  ```
355
356
 
357
+ ## LibXMTP Version
358
+
359
+ [LibXMTP](https://github.com/xmtp/libxmtp/) is a shared library encapsulating the core functionality of the XMTP messaging protocol, such as cryptography, networking, and language bindings. This version of the Agent SDK uses:
360
+
361
+ | XMTP Node SDK Version | LibXMTP Version |
362
+ | --------------------- | --------------- |
363
+ | 4.2.2 | 1.5.3 |
364
+
365
+ To verify which LibXMTP version is installed, run `npm why @xmtp/node-bindings` after installing the Agent SDK.
366
+
356
367
  ## Debugging
357
368
 
358
369
  - [Debug an agent](https://docs.xmtp.org/agents/debug-agents)
@@ -1,19 +1,18 @@
1
+ import type { ContentCodec } from "@xmtp/content-type-primitives";
1
2
  import { type Reaction, type ReactionCodec } from "@xmtp/content-type-reaction";
2
3
  import type { RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment";
3
4
  import { type ReplyCodec } from "@xmtp/content-type-reply";
4
5
  import { type TextCodec } from "@xmtp/content-type-text";
5
- import type { DecodedMessage } from "@xmtp/node-sdk";
6
+ import { type DecodedMessageWithContent } from "../core/filter.js";
6
7
  import type { AgentBaseContext } from "./Agent.js";
7
8
  import { ConversationContext } from "./ConversationContext.js";
8
- export type DecodedMessageWithContent<ContentTypes = unknown> = DecodedMessage<ContentTypes> & {
9
- content: ContentTypes;
10
- };
11
9
  export type MessageContextParams<ContentTypes = unknown> = Omit<AgentBaseContext<ContentTypes>, "message"> & {
12
10
  message: DecodedMessageWithContent<ContentTypes>;
13
11
  };
14
12
  export declare class MessageContext<ContentTypes = unknown> extends ConversationContext<ContentTypes> {
15
13
  #private;
16
14
  constructor({ message, conversation, client, }: MessageContextParams<ContentTypes>);
15
+ usesCodec<T extends ContentCodec>(codecClass: new () => T): this is MessageContext<ReturnType<T["decode"]>>;
17
16
  isText(): this is MessageContext<ReturnType<TextCodec["decode"]>>;
18
17
  isReply(): this is MessageContext<ReturnType<ReplyCodec["decode"]>>;
19
18
  isReaction(): this is MessageContext<ReturnType<ReactionCodec["decode"]>>;
@@ -9,6 +9,9 @@ export class MessageContext extends ConversationContext {
9
9
  super({ conversation, client });
10
10
  this.#message = message;
11
11
  }
12
+ usesCodec(codecClass) {
13
+ return (this.#message.contentType?.sameAs(new codecClass().contentType) || false);
14
+ }
12
15
  isText() {
13
16
  return filter.isText(this.#message);
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContext.js","sourceRoot":"","sources":["../../src/core/MessageContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAkB,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAc/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,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,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACjD,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":"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,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACjD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
@@ -4,11 +4,12 @@ import { type RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment
4
4
  import { type ReplyCodec } from "@xmtp/content-type-reply";
5
5
  import { type TextCodec } from "@xmtp/content-type-text";
6
6
  import { Dm, Group, type Client, type Conversation, type DecodedMessage } from "@xmtp/node-sdk";
7
+ export type DecodedMessageWithContent<ContentTypes = unknown> = DecodedMessage<ContentTypes> & {
8
+ content: ContentTypes;
9
+ };
7
10
  export declare const filter: {
8
11
  fromSelf: <ContentTypes>(message: DecodedMessage<ContentTypes>, client: Client<ContentTypes>) => boolean;
9
- hasContent: <ContentTypes>(message: DecodedMessage<ContentTypes>) => message is DecodedMessage<ContentTypes> & {
10
- content: NonNullable<ContentTypes>;
11
- };
12
+ hasContent: <ContentTypes>(message: DecodedMessage<ContentTypes>) => message is DecodedMessageWithContent<ContentTypes>;
12
13
  isDM: (conversation: Conversation) => conversation is Dm;
13
14
  isGroup: (conversation: Conversation) => conversation is Group;
14
15
  isGroupAdmin: (conversation: Conversation, message: DecodedMessage) => boolean;
@@ -25,16 +26,12 @@ export declare const filter: {
25
26
  isReply: (message: DecodedMessage) => message is DecodedMessage & {
26
27
  content: ReturnType<ReplyCodec["decode"]>;
27
28
  };
28
- isText: (message: DecodedMessage) => message is DecodedMessage & {
29
- content: ReturnType<TextCodec["decode"]>;
30
- };
29
+ isText: (message: DecodedMessage) => message is DecodedMessageWithContent<ReturnType<TextCodec["decode"]>>;
31
30
  isTextReply: (message: DecodedMessage) => boolean;
32
31
  };
33
32
  export declare const f: {
34
33
  fromSelf: <ContentTypes>(message: DecodedMessage<ContentTypes>, client: Client<ContentTypes>) => boolean;
35
- hasContent: <ContentTypes>(message: DecodedMessage<ContentTypes>) => message is DecodedMessage<ContentTypes> & {
36
- content: NonNullable<ContentTypes>;
37
- };
34
+ hasContent: <ContentTypes>(message: DecodedMessage<ContentTypes>) => message is DecodedMessageWithContent<ContentTypes>;
38
35
  isDM: (conversation: Conversation) => conversation is Dm;
39
36
  isGroup: (conversation: Conversation) => conversation is Group;
40
37
  isGroupAdmin: (conversation: Conversation, message: DecodedMessage) => boolean;
@@ -51,8 +48,6 @@ export declare const f: {
51
48
  isReply: (message: DecodedMessage) => message is DecodedMessage & {
52
49
  content: ReturnType<ReplyCodec["decode"]>;
53
50
  };
54
- isText: (message: DecodedMessage) => message is DecodedMessage & {
55
- content: ReturnType<TextCodec["decode"]>;
56
- };
51
+ isText: (message: DecodedMessage) => message is DecodedMessageWithContent<ReturnType<TextCodec["decode"]>>;
57
52
  isTextReply: (message: DecodedMessage) => boolean;
58
53
  };
@@ -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
@@ -1,4 +1,5 @@
1
1
  import { loadEnvFile } from "node:process";
2
+ import { TextCodec } from "@xmtp/content-type-text";
2
3
  import { Agent, AgentError } from "./core/index.js";
3
4
  import { getTestUrl } from "./debug/log.js";
4
5
  import { CommandRouter } from "./middleware/CommandRouter.js";
@@ -52,6 +53,13 @@ agent.on("start", (ctx) => {
52
53
  agent.on("stop", (ctx) => {
53
54
  console.log("Agent stopped", ctx);
54
55
  });
56
+ agent.on("unknownMessage", (ctx) => {
57
+ // Narrow down by codec
58
+ if (ctx.usesCodec(TextCodec)) {
59
+ const content = ctx.message.content;
60
+ console.log(`Text content: ${content.toUpperCase()}`);
61
+ }
62
+ });
55
63
  await agent.start();
56
64
  console.log("Agent has started.");
57
65
  const resolveName = createNameResolver(process.env.WEB3BIO_API_KEY);
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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"}
@@ -0,0 +1,30 @@
1
+ import type { GroupUpdated } from "@xmtp/content-type-group-updated";
2
+ import type { Reaction } from "@xmtp/content-type-reaction";
3
+ import type { RemoteAttachment } from "@xmtp/content-type-remote-attachment";
4
+ import type { Reply } from "@xmtp/content-type-reply";
5
+ import type { Client, Conversation, DecodedMessage } from "@xmtp/node-sdk";
6
+ import type { Mock } from "vitest";
7
+ import { Agent } from "../core/Agent.js";
8
+ import type { DecodedMessageWithContent } from "../core/filter.js";
9
+ export type CurrentClientTypes = string | Reaction | Reply | RemoteAttachment | GroupUpdated;
10
+ export declare const createMockMessage: <ContentType>(overrides: Partial<DecodedMessage> & {
11
+ content: ContentType;
12
+ }) => DecodedMessageWithContent<ContentType>;
13
+ export declare const makeAgent: () => {
14
+ agent: Agent<string | import("@xmtp/proto/ts/dist/types/mls/message_contents/transcript_messages.pb.js").GroupUpdated>;
15
+ mockClient: Client<string | import("@xmtp/proto/ts/dist/types/mls/message_contents/transcript_messages.pb.js").GroupUpdated> & {
16
+ conversations: {
17
+ stream: Mock;
18
+ streamAllMessages: Mock;
19
+ };
20
+ };
21
+ };
22
+ export declare const mockClient: Client & {
23
+ conversations: {
24
+ stream: Mock;
25
+ streamAllMessages: Mock;
26
+ };
27
+ };
28
+ export declare const createMockStreamWithCallbacks: (messages: DecodedMessage[]) => Mock<(...args: any[]) => any>;
29
+ export declare const createMockConversationStreamWithCallbacks: (conversations: Conversation[]) => Mock<(...args: any[]) => any>;
30
+ export declare const flushMicrotasks: () => Promise<void>;
@@ -0,0 +1,68 @@
1
+ import { ContentTypeText } from "@xmtp/content-type-text";
2
+ import { Agent } from "../core/Agent.js";
3
+ export const createMockMessage = (overrides) => {
4
+ const { content, ...rest } = overrides;
5
+ return {
6
+ id: "mock-message-id",
7
+ conversationId: "test-conversation-id",
8
+ senderInboxId: "sender-inbox-id",
9
+ contentType: ContentTypeText,
10
+ ...rest,
11
+ content,
12
+ };
13
+ };
14
+ export const makeAgent = () => {
15
+ return { agent: new Agent({ client: mockClient }), mockClient };
16
+ };
17
+ export const mockClient = {
18
+ inboxId: "test-inbox-id",
19
+ conversations: {
20
+ sync: vi.fn().mockResolvedValue(undefined),
21
+ stream: vi.fn().mockResolvedValue(undefined),
22
+ streamAllMessages: vi.fn(),
23
+ getConversationById: vi.fn().mockResolvedValue({
24
+ send: vi.fn().mockResolvedValue(undefined),
25
+ }),
26
+ },
27
+ preferences: {
28
+ inboxStateFromInboxIds: vi.fn(),
29
+ },
30
+ };
31
+ export const createMockStreamWithCallbacks = (messages) => {
32
+ const mockStream = {
33
+ end: vi.fn().mockResolvedValue(undefined),
34
+ [Symbol.asyncIterator]: vi.fn(),
35
+ };
36
+ return vi
37
+ .fn()
38
+ .mockImplementation((options) => {
39
+ // Simulate async message delivery
40
+ queueMicrotask(() => {
41
+ messages.forEach((message) => {
42
+ options.onValue(message);
43
+ });
44
+ });
45
+ return Promise.resolve(mockStream);
46
+ });
47
+ };
48
+ export const createMockConversationStreamWithCallbacks = (conversations) => {
49
+ const mockStream = {
50
+ end: vi.fn().mockResolvedValue(undefined),
51
+ [Symbol.asyncIterator]: vi.fn(),
52
+ };
53
+ return vi
54
+ .fn()
55
+ .mockImplementation((options) => {
56
+ // Simulate async conversation delivery
57
+ queueMicrotask(() => {
58
+ conversations.forEach((conversation) => {
59
+ options.onValue(conversation);
60
+ });
61
+ });
62
+ return Promise.resolve(mockStream);
63
+ });
64
+ };
65
+ export const flushMicrotasks = async () => {
66
+ await new Promise((resolve) => setTimeout(resolve, 0));
67
+ };
68
+ //# sourceMappingURL=TestUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestUtil.js","sourceRoot":"","sources":["../../src/utils/TestUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "@xmtp/content-type-remote-attachment": "^2.0.2",
9
9
  "@xmtp/content-type-reply": "^2.0.2",
10
10
  "@xmtp/content-type-text": "^2.0.2",
11
- "@xmtp/node-sdk": "^4.2.1",
11
+ "@xmtp/node-sdk": "^4.2.2",
12
12
  "uint8arrays": "^5.1.0",
13
13
  "viem": "^2.37.6"
14
14
  },
@@ -89,5 +89,5 @@
89
89
  "typecheck": "tsc --noEmit"
90
90
  },
91
91
  "type": "module",
92
- "version": "1.1.3"
92
+ "version": "1.1.5"
93
93
  }