@xmtp/agent-sdk 0.0.14 → 0.0.16
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 +6 -4
- package/dist/core/Agent.d.ts +4 -3
- package/dist/core/Agent.js +54 -51
- package/dist/core/Agent.js.map +1 -1
- package/dist/{utils/error.js → core/AgentError.js} +1 -1
- package/dist/core/AgentError.js.map +1 -0
- package/dist/core/ConversationContext.d.ts +3 -1
- package/dist/core/ConversationContext.js +9 -4
- package/dist/core/ConversationContext.js.map +1 -1
- package/dist/core/MessageContext.d.ts +2 -1
- package/dist/core/MessageContext.js +3 -0
- package/dist/core/MessageContext.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/debug.d.ts +1 -0
- package/dist/debug.js +2 -0
- package/dist/debug.js.map +1 -0
- package/dist/demo.js +9 -5
- package/dist/demo.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts +1 -0
- package/dist/middleware.js +2 -0
- package/dist/middleware.js.map +1 -0
- package/dist/user.d.ts +1 -0
- package/dist/user.js +2 -0
- package/dist/user.js.map +1 -0
- package/dist/utils/debug.d.ts +2 -3
- package/dist/utils/debug.js +4 -4
- package/dist/utils/debug.js.map +1 -1
- package/package.json +22 -3
- package/dist/middleware/index.d.ts +0 -1
- package/dist/middleware/index.js +0 -2
- package/dist/middleware/index.js.map +0 -1
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/index.js +0 -5
- package/dist/utils/index.js.map +0 -1
- /package/dist/{utils/error.d.ts → core/AgentError.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -26,7 +26,9 @@ yarn add @xmtp/agent-sdk
|
|
|
26
26
|
## Quick Start
|
|
27
27
|
|
|
28
28
|
```ts
|
|
29
|
-
import {
|
|
29
|
+
import { Agent } from "@xmtp/agent-sdk";
|
|
30
|
+
import { getTestUrl } from "@xmtp/agent-sdk/debug";
|
|
31
|
+
import { createUser, createSigner } from "@xmtp/agent-sdk/user";
|
|
30
32
|
|
|
31
33
|
// 1. Create a local user + signer (you can plug in your own wallet signer)
|
|
32
34
|
const user = createUser();
|
|
@@ -40,12 +42,12 @@ const agent = await Agent.create(signer, {
|
|
|
40
42
|
|
|
41
43
|
// 3. Respond to text messages
|
|
42
44
|
agent.on("text", async (ctx) => {
|
|
43
|
-
await ctx.
|
|
45
|
+
await ctx.sendText("Hello from my XMTP Agent! 👋");
|
|
44
46
|
});
|
|
45
47
|
|
|
46
48
|
// 4. Log when we're ready
|
|
47
|
-
agent.on("start", () => {
|
|
48
|
-
console.log(`We are online: ${getTestUrl(
|
|
49
|
+
agent.on("start", (ctx) => {
|
|
50
|
+
console.log(`We are online: ${getTestUrl(ctx.client)}`);
|
|
49
51
|
});
|
|
50
52
|
|
|
51
53
|
await agent.start();
|
package/dist/core/Agent.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { ReplyCodec } from "@xmtp/content-type-reply";
|
|
|
6
6
|
import type { TextCodec } from "@xmtp/content-type-text";
|
|
7
7
|
import { Client, type ClientOptions } from "@xmtp/node-sdk";
|
|
8
8
|
import type { AgentErrorContext } from "./AgentContext.js";
|
|
9
|
+
import { ClientContext } from "./ClientContext.js";
|
|
9
10
|
import type { ConversationContext } from "./ConversationContext.js";
|
|
10
11
|
import { MessageContext } from "./MessageContext.js";
|
|
11
12
|
type EventHandlerMap<ContentTypes> = {
|
|
@@ -16,8 +17,8 @@ type EventHandlerMap<ContentTypes> = {
|
|
|
16
17
|
message: [ctx: MessageContext<ContentTypes>];
|
|
17
18
|
reaction: [ctx: MessageContext<ReturnType<ReactionCodec["decode"]>>];
|
|
18
19
|
reply: [ctx: MessageContext<ReturnType<ReplyCodec["decode"]>>];
|
|
19
|
-
start: [];
|
|
20
|
-
stop: [];
|
|
20
|
+
start: [ctx: ClientContext<ContentTypes>];
|
|
21
|
+
stop: [ctx: ClientContext<ContentTypes>];
|
|
21
22
|
text: [ctx: MessageContext<ReturnType<TextCodec["decode"]>>];
|
|
22
23
|
unhandledError: [error: Error];
|
|
23
24
|
unknownMessage: [ctx: MessageContext<ContentTypes>];
|
|
@@ -42,7 +43,7 @@ export declare class Agent<ContentTypes = unknown> extends EventEmitter<EventHan
|
|
|
42
43
|
codecs?: ContentCodecs;
|
|
43
44
|
}): Promise<Agent<import("@xmtp/node-sdk").ExtractCodecContentTypes<(ReplyCodec | ReactionCodec | RemoteAttachmentCodec | (never[] | ContentCodecs)[number])[]>>>;
|
|
44
45
|
use(...middleware: Array<AgentMiddleware<ContentTypes> | AgentMiddleware<ContentTypes>[]>): this;
|
|
45
|
-
start(
|
|
46
|
+
start(): Promise<void>;
|
|
46
47
|
get client(): Client<ContentTypes>;
|
|
47
48
|
get errors(): AgentErrorRegistrar<ContentTypes>;
|
|
48
49
|
stop(): Promise<void>;
|
package/dist/core/Agent.js
CHANGED
|
@@ -5,16 +5,16 @@ import { ReplyCodec } from "@xmtp/content-type-reply";
|
|
|
5
5
|
import { ApiUrls, Client, } from "@xmtp/node-sdk";
|
|
6
6
|
import { fromString } from "uint8arrays/from-string";
|
|
7
7
|
import { isHex } from "viem/utils";
|
|
8
|
-
import { AgentError } from "../utils/error.js";
|
|
9
8
|
import { filter } from "../utils/filter.js";
|
|
10
9
|
import { createSigner, createUser } from "../utils/user.js";
|
|
10
|
+
import { AgentError } from "./AgentError.js";
|
|
11
|
+
import { ClientContext } from "./ClientContext.js";
|
|
11
12
|
import { MessageContext } from "./MessageContext.js";
|
|
12
13
|
export class Agent extends EventEmitter {
|
|
13
14
|
#client;
|
|
14
15
|
#messageStream;
|
|
15
16
|
#middleware = [];
|
|
16
17
|
#errorMiddleware = [];
|
|
17
|
-
#isListening = false;
|
|
18
18
|
#errors = Object.freeze({
|
|
19
19
|
use: (...errorMiddleware) => {
|
|
20
20
|
for (const emw of errorMiddleware) {
|
|
@@ -34,6 +34,7 @@ export class Agent extends EventEmitter {
|
|
|
34
34
|
: new AgentError(9999, `Unhandled error caught by default error middleware.`, currentError);
|
|
35
35
|
this.emit("unhandledError", emittedError);
|
|
36
36
|
};
|
|
37
|
+
#isLocked = false;
|
|
37
38
|
constructor({ client }) {
|
|
38
39
|
super();
|
|
39
40
|
this.#client = client;
|
|
@@ -88,59 +89,60 @@ export class Agent extends EventEmitter {
|
|
|
88
89
|
}
|
|
89
90
|
return this;
|
|
90
91
|
}
|
|
91
|
-
async
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
async #handleStreamError(error) {
|
|
93
|
+
this.#messageStream = undefined;
|
|
94
|
+
const recovered = await this.#runErrorChain(error, {
|
|
95
|
+
client: this.#client,
|
|
96
|
+
});
|
|
97
|
+
if (recovered) {
|
|
98
|
+
this.#isLocked = false;
|
|
99
|
+
queueMicrotask(() => this.start());
|
|
94
100
|
}
|
|
101
|
+
}
|
|
102
|
+
async start() {
|
|
103
|
+
if (this.#isLocked || this.#messageStream)
|
|
104
|
+
return;
|
|
95
105
|
try {
|
|
96
|
-
this.#
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
case filter.isText(message):
|
|
117
|
-
await this.#processMessage(message, "text");
|
|
118
|
-
break;
|
|
119
|
-
default:
|
|
120
|
-
await this.#processMessage(message);
|
|
121
|
-
break;
|
|
106
|
+
this.#messageStream = await this.#client.conversations.streamAllMessages({
|
|
107
|
+
onValue: async (message) => {
|
|
108
|
+
try {
|
|
109
|
+
switch (true) {
|
|
110
|
+
case filter.isRemoteAttachment(message):
|
|
111
|
+
await this.#processMessage(message, "attachment");
|
|
112
|
+
break;
|
|
113
|
+
case filter.isReaction(message):
|
|
114
|
+
await this.#processMessage(message, "reaction");
|
|
115
|
+
break;
|
|
116
|
+
case filter.isReply(message):
|
|
117
|
+
await this.#processMessage(message, "reply");
|
|
118
|
+
break;
|
|
119
|
+
case filter.isText(message):
|
|
120
|
+
await this.#processMessage(message, "text");
|
|
121
|
+
break;
|
|
122
|
+
default:
|
|
123
|
+
await this.#processMessage(message);
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
122
126
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
catch (error) {
|
|
128
|
+
const recovered = await this.#runErrorChain(error, {
|
|
129
|
+
client: this.#client,
|
|
130
|
+
});
|
|
131
|
+
if (!recovered) {
|
|
132
|
+
await this.stop();
|
|
133
|
+
}
|
|
134
|
+
this.#isLocked = false;
|
|
131
135
|
}
|
|
132
|
-
}
|
|
133
|
-
|
|
136
|
+
},
|
|
137
|
+
onError: async (error) => {
|
|
138
|
+
await this.#handleStreamError(error);
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
this.emit("start", new ClientContext({ client: this.#client }));
|
|
142
|
+
this.#isLocked = false;
|
|
134
143
|
}
|
|
135
144
|
catch (error) {
|
|
136
|
-
this.#
|
|
137
|
-
const recovered = await this.#runErrorChain(error, {
|
|
138
|
-
client: this.#client,
|
|
139
|
-
});
|
|
140
|
-
if (recovered) {
|
|
141
|
-
await this.stop();
|
|
142
|
-
queueMicrotask(() => this.start(options));
|
|
143
|
-
}
|
|
145
|
+
await this.#handleStreamError(error);
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
async #processMessage(message, topic = "unknownMessage") {
|
|
@@ -239,12 +241,13 @@ export class Agent extends EventEmitter {
|
|
|
239
241
|
return this.#errors;
|
|
240
242
|
}
|
|
241
243
|
async stop() {
|
|
242
|
-
this.#
|
|
244
|
+
this.#isLocked = true;
|
|
243
245
|
if (this.#messageStream) {
|
|
244
246
|
await this.#messageStream.end();
|
|
245
247
|
this.#messageStream = undefined;
|
|
246
248
|
}
|
|
247
|
-
this.emit("stop");
|
|
249
|
+
this.emit("stop", new ClientContext({ client: this.#client }));
|
|
250
|
+
this.#isLocked = false;
|
|
248
251
|
}
|
|
249
252
|
}
|
|
250
253
|
//# sourceMappingURL=Agent.js.map
|
package/dist/core/Agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AAEvC,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,GAKP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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"}
|
|
@@ -8,6 +8,8 @@ export declare class ConversationContext<ContentTypes = unknown, ConversationTyp
|
|
|
8
8
|
});
|
|
9
9
|
isDm(): this is ConversationContext<ContentTypes, Dm<ContentTypes>>;
|
|
10
10
|
isGroup(): this is ConversationContext<ContentTypes, Group<ContentTypes>>;
|
|
11
|
-
sendText(text: string): Promise<void>;
|
|
12
11
|
get conversation(): ConversationType;
|
|
12
|
+
get isAllowed(): boolean;
|
|
13
|
+
get isDenied(): boolean;
|
|
14
|
+
get isUnknown(): boolean;
|
|
13
15
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ContentTypeText } from "@xmtp/content-type-text";
|
|
2
1
|
import { filter } from "../utils/filter.js";
|
|
3
2
|
import { ClientContext } from "./ClientContext.js";
|
|
4
3
|
export class ConversationContext extends ClientContext {
|
|
@@ -13,11 +12,17 @@ export class ConversationContext extends ClientContext {
|
|
|
13
12
|
isGroup() {
|
|
14
13
|
return filter.isGroup(this.#conversation);
|
|
15
14
|
}
|
|
16
|
-
async sendText(text) {
|
|
17
|
-
await this.#conversation.send(text, ContentTypeText);
|
|
18
|
-
}
|
|
19
15
|
get conversation() {
|
|
20
16
|
return this.#conversation;
|
|
21
17
|
}
|
|
18
|
+
get isAllowed() {
|
|
19
|
+
return this.#conversation.consentState === 1 /* ConsentState.Allowed */;
|
|
20
|
+
}
|
|
21
|
+
get isDenied() {
|
|
22
|
+
return this.#conversation.consentState === 2 /* ConsentState.Denied */;
|
|
23
|
+
}
|
|
24
|
+
get isUnknown() {
|
|
25
|
+
return this.#conversation.consentState === 0 /* ConsentState.Unknown */;
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
//# sourceMappingURL=ConversationContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationContext.js","sourceRoot":"","sources":["../../src/core/ConversationContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConversationContext.js","sourceRoot":"","sources":["../../src/core/ConversationContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,mBAGX,SAAQ,aAA2B;IACnC,aAAa,CAAmB;IAEhC,YAAY,EACV,YAAY,EACZ,MAAM,GAIP;QACC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,iCAAyB,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,gCAAwB,CAAC;IACjE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,iCAAyB,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Reaction, type ReactionCodec } from "@xmtp/content-type-reaction";
|
|
2
|
-
import {
|
|
2
|
+
import type { RemoteAttachmentCodec } from "@xmtp/content-type-remote-attachment";
|
|
3
3
|
import { type ReplyCodec } from "@xmtp/content-type-reply";
|
|
4
4
|
import { type TextCodec } from "@xmtp/content-type-text";
|
|
5
5
|
import type { DecodedMessage } from "@xmtp/node-sdk";
|
|
@@ -19,6 +19,7 @@ export declare class MessageContext<ContentTypes = unknown> extends Conversation
|
|
|
19
19
|
isReaction(): this is MessageContext<ReturnType<ReactionCodec["decode"]>>;
|
|
20
20
|
isRemoteAttachment(): this is MessageContext<ReturnType<RemoteAttachmentCodec["decode"]>>;
|
|
21
21
|
sendReaction(content: string, schema?: Reaction["schema"]): Promise<void>;
|
|
22
|
+
sendText(text: string): Promise<void>;
|
|
22
23
|
sendTextReply(text: string): Promise<void>;
|
|
23
24
|
getSenderAddress(): Promise<string>;
|
|
24
25
|
get message(): DecodedMessageWithContent<ContentTypes>;
|
|
@@ -31,6 +31,9 @@ export class MessageContext extends ConversationContext {
|
|
|
31
31
|
};
|
|
32
32
|
await this.conversation.send(reaction, ContentTypeReaction);
|
|
33
33
|
}
|
|
34
|
+
async sendText(text) {
|
|
35
|
+
await this.conversation.send(text, ContentTypeText);
|
|
36
|
+
}
|
|
34
37
|
async sendTextReply(text) {
|
|
35
38
|
const reply = {
|
|
36
39
|
reference: this.#message.id,
|
|
@@ -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,mBAAmB,CAAC;AAE3C,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,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":"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,mBAAmB,CAAC;AAE3C,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"}
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.js
CHANGED
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
|
package/dist/debug.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./utils/debug.js";
|
package/dist/debug.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
package/dist/demo.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { loadEnvFile } from "node:process";
|
|
2
|
-
import { Agent } from "./core/index.js";
|
|
2
|
+
import { Agent, AgentError } from "./core/index.js";
|
|
3
3
|
import { CommandRouter } from "./middleware/CommandRouter.js";
|
|
4
4
|
import { getTestUrl } from "./utils/debug.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createSigner, createUser } from "./utils/user.js";
|
|
6
6
|
try {
|
|
7
7
|
loadEnvFile(".env");
|
|
8
8
|
console.info(`Loaded keys from ".env" file.`);
|
|
@@ -45,8 +45,12 @@ const errorHandler = (error) => {
|
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
agent.on("unhandledError", errorHandler);
|
|
48
|
-
agent.on("start", () => {
|
|
49
|
-
console.log(`We are online: ${getTestUrl(
|
|
48
|
+
agent.on("start", (ctx) => {
|
|
49
|
+
console.log(`We are online: ${getTestUrl(ctx.client)}`);
|
|
50
50
|
});
|
|
51
|
-
|
|
51
|
+
agent.on("stop", (ctx) => {
|
|
52
|
+
console.log("Agent stopped", ctx);
|
|
53
|
+
});
|
|
54
|
+
await agent.start();
|
|
55
|
+
console.log("Agent has started.");
|
|
52
56
|
//# sourceMappingURL=demo.js.map
|
package/dist/demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./middleware/CommandRouter.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
package/dist/user.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./utils/user.js";
|
package/dist/user.js
ADDED
package/dist/user.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
package/dist/utils/debug.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Client } from "@xmtp/node-sdk";
|
|
2
|
-
import type { Agent } from "../core/Agent.js";
|
|
3
2
|
export declare const logDetails: <ContentTypes>(client: Client<ContentTypes>) => Promise<void>;
|
|
4
3
|
/**
|
|
5
4
|
* Returns a URL to test your agent on https://xmtp.chat/ (for development purposes only).
|
|
6
5
|
*
|
|
7
|
-
* @param
|
|
6
|
+
* @param client - Your XMTP client
|
|
8
7
|
* @returns The URL to test your agent with
|
|
9
8
|
*/
|
|
10
|
-
export declare const getTestUrl: <ContentTypes>(
|
|
9
|
+
export declare const getTestUrl: <ContentTypes>(client: Client<ContentTypes>) => string;
|
package/dist/utils/debug.js
CHANGED
|
@@ -42,12 +42,12 @@ export const logDetails = async (client) => {
|
|
|
42
42
|
/**
|
|
43
43
|
* Returns a URL to test your agent on https://xmtp.chat/ (for development purposes only).
|
|
44
44
|
*
|
|
45
|
-
* @param
|
|
45
|
+
* @param client - Your XMTP client
|
|
46
46
|
* @returns The URL to test your agent with
|
|
47
47
|
*/
|
|
48
|
-
export const getTestUrl = (
|
|
49
|
-
const address =
|
|
50
|
-
const env =
|
|
48
|
+
export const getTestUrl = (client) => {
|
|
49
|
+
const address = client.accountIdentifier?.identifier;
|
|
50
|
+
const env = client.options?.env ?? "dev";
|
|
51
51
|
return `http://xmtp.chat/dm/${address}?env=${env}`;
|
|
52
52
|
};
|
|
53
53
|
//# sourceMappingURL=debug.js.map
|
package/dist/utils/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,MAA4B,EAC5B,EAAE;IACF,MAAM,IAAI,GAAG;;;;;;;UAOL,CAAC;IAET,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC;IAElD,MAAM,IAAI,GAAG,CAAC,uBAAuB,gBAAgB,EAAE,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACzD,MAAM,kBAAkB,GACtB,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAEzE,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAE5B,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC9B,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3E,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,CAAC,GAAG,CAAC;MACR,IAAI;;;iBAGO,OAAO;iBACP,MAAM,CAAC,OAAO;iBACd,gBAAgB;uBACV,aAAa,CAAC,MAAM;uBACpB,UAAU,CAAC,aAAa,CAAC,MAAM;wBAC9B,cAAc;6BACT,WAAW,CAAC,cAAc,EAAE;iCACxB,UAAU,CAAC,cAAc,EAAE;kBAC1C,YAAY;MACxB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAe,MAA4B,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC;IACzC,OAAO,uBAAuB,OAAO,QAAQ,GAAG,EAAE,CAAC;AACrD,CAAC,CAAC"}
|
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.1.
|
|
11
|
+
"@xmtp/node-sdk": "^4.1.2",
|
|
12
12
|
"uint8arrays": "^5.1.0",
|
|
13
13
|
"viem": "^2.37.6"
|
|
14
14
|
},
|
|
@@ -27,6 +27,24 @@
|
|
|
27
27
|
"engines": {
|
|
28
28
|
"node": ">=20"
|
|
29
29
|
},
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"import": "./dist/index.js",
|
|
33
|
+
"types": "./dist/index.d.ts"
|
|
34
|
+
},
|
|
35
|
+
"./debug": {
|
|
36
|
+
"import": "./dist/debug.js",
|
|
37
|
+
"types": "./dist/debug.d.ts"
|
|
38
|
+
},
|
|
39
|
+
"./middleware": {
|
|
40
|
+
"import": "./dist/middleware.js",
|
|
41
|
+
"types": "./dist/middleware.d.ts"
|
|
42
|
+
},
|
|
43
|
+
"./user": {
|
|
44
|
+
"import": "./dist/user.js",
|
|
45
|
+
"types": "./dist/user.d.ts"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
30
48
|
"files": [
|
|
31
49
|
"dist",
|
|
32
50
|
"!dist/**/*.test.*"
|
|
@@ -58,11 +76,12 @@
|
|
|
58
76
|
"url": "git+https://git@github.com/xmtp/xmtp-js.git"
|
|
59
77
|
},
|
|
60
78
|
"scripts": {
|
|
61
|
-
"build": "yarn clean:dist && tsc -p tsconfig.build.json && tsc-alias && attw --pack . --ignore-rules cjs-resolves-to-esm",
|
|
79
|
+
"build": "yarn clean:dist && tsc -p tsconfig.build.json && tsc-alias && attw --pack --profile node16 . --ignore-rules cjs-resolves-to-esm",
|
|
62
80
|
"clean": "rm -rf .turbo && rm -rf node_modules && yarn clean:dist",
|
|
63
81
|
"clean:dist": "rm -rf dist",
|
|
64
82
|
"demo": "tsx src/demo.ts",
|
|
65
83
|
"dev": "tsx --watch src/main.ts",
|
|
84
|
+
"fix": "npx prettier --log-level error -w . && npx eslint . --fix",
|
|
66
85
|
"gen:keys": "tsx src/bin/generateKeys.ts",
|
|
67
86
|
"start": "yarn demo",
|
|
68
87
|
"test": "yarn typecheck && vitest run --typecheck",
|
|
@@ -70,5 +89,5 @@
|
|
|
70
89
|
"typecheck": "tsc --noEmit"
|
|
71
90
|
},
|
|
72
91
|
"type": "module",
|
|
73
|
-
"version": "0.0.
|
|
92
|
+
"version": "0.0.16"
|
|
74
93
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./CommandRouter.js";
|
package/dist/middleware/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
package/dist/utils/error.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.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"}
|
package/dist/utils/index.d.ts
DELETED
package/dist/utils/index.js
DELETED
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
File without changes
|