create-message-kit 1.2.11 → 1.2.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. package/index.js +9 -4
  2. package/package.json +1 -1
  3. package/templates/{agent → ens}/.cursorrules +68 -3
  4. package/templates/{agent → ens}/package.json +1 -1
  5. package/templates/{agent → ens}/src/prompt.ts +1 -1
  6. package/templates/{agent → ens}/src/skills/check.ts +1 -1
  7. package/templates/{agent → ens}/src/skills/cool.ts +1 -1
  8. package/templates/{agent → ens}/src/skills/info.ts +1 -1
  9. package/templates/{agent → ens}/src/skills/pay.ts +1 -1
  10. package/templates/{agent → ens}/src/skills/register.ts +1 -1
  11. package/templates/{agent → ens}/src/skills/renew.ts +1 -1
  12. package/templates/{agent → ens}/src/skills/reset.ts +1 -2
  13. package/templates/{experimental → simple}/.cursorrules +68 -3
  14. package/templates/{gpt → simple}/package.json +1 -1
  15. package/templates/experimental/.env.example +0 -6
  16. package/templates/experimental/package.json +0 -26
  17. package/templates/experimental/src/index.ts +0 -52
  18. package/templates/experimental/src/lib/alchemy.ts +0 -31
  19. package/templates/experimental/src/lib/minilog.ts +0 -26
  20. package/templates/experimental/src/lib/usdc.ts +0 -99
  21. package/templates/experimental/src/lib/xmtp.ts +0 -139
  22. package/templates/experimental/src/prompt.ts +0 -24
  23. package/templates/experimental/src/skills/broadcast.ts +0 -39
  24. package/templates/experimental/src/skills/cash.ts +0 -114
  25. package/templates/experimental/src/skills/gated.ts +0 -89
  26. package/templates/experimental/src/skills/todo.ts +0 -80
  27. package/templates/experimental/src/skills/token.ts +0 -57
  28. package/templates/experimental/src/skills/wordle.ts +0 -97
  29. package/templates/gpt/.cursorrules +0 -225
  30. package/templates/gpt/.yarnrc.yml +0 -4
  31. /package/templates/{agent → ens}/.env.example +0 -0
  32. /package/templates/{agent → ens}/.yarnrc.yml +0 -0
  33. /package/templates/{agent → ens}/src/index.ts +0 -0
  34. /package/templates/{gpt → simple}/.env.example +0 -0
  35. /package/templates/{experimental → simple}/.yarnrc.yml +0 -0
  36. /package/templates/{gpt → simple}/src/index.ts +0 -0
  37. /package/templates/{gpt → simple}/src/prompt.ts +0 -0
@@ -1,225 +0,0 @@
1
- # MessageKit Skill Template
2
-
3
- ## Examples
4
-
5
- ### Check if a Domain is Available
6
-
7
-
8
- import { ensUrl } from "../index.js";
9
- import { XMTPContext } from "@xmtp/message-kit";
10
- import type { Skill } from "@xmtp/message-kit";
11
-
12
- // Define Skill
13
- export const checkDomain: Skill[] = [
14
- {
15
- skill: "/check [domain]",
16
- handler: handler,
17
- examples: ["/check vitalik.eth", "/check fabri.base.eth"],
18
- description: "Check if a domain is available.",
19
- params: {
20
- domain: {
21
- type: "string",
22
- },
23
- },
24
- },
25
- ];
26
-
27
- // Handler Implementation
28
- export async function handler(context: XMTPContext) {
29
- const {
30
- message: {
31
- content: {
32
- params: { domain },
33
- },
34
- },
35
- } = context;
36
-
37
- const data = await context.getUserInfo(domain);
38
-
39
- if (!data?.address) {
40
- let message = `Looks like ${domain} is available! Here you can register it: ${ensUrl}${domain} or would you like to see some cool alternatives?`;
41
- return {
42
- code: 200,
43
- message,
44
- };
45
- } else {
46
- let message = `Looks like ${domain} is already registered!`;
47
- await context.executeSkill("/cool " + domain);
48
- return {
49
- code: 404,
50
- message,
51
- };
52
- }
53
- }
54
-
55
- ### Generate a payment request
56
-
57
-
58
- import { XMTPContext } from "@xmtp/message-kit";
59
- import type { Skill } from "@xmtp/message-kit";
60
-
61
- // Define Skill
62
- export const paymentRequest: Skill[] = [
63
- {
64
- skill: "/pay [amount] [token] [username] [address]",
65
- examples: [
66
- "/pay 10 vitalik.eth",
67
- "/pay 1 usdc to 0xC60E6Bb79322392761BFe3081E302aEB79B30B03",
68
- ],
69
- description:
70
- "Send a specified amount of a cryptocurrency to a destination address. \nWhen tipping, you can assume it's 1 USDC.",
71
- handler: handler,
72
- params: {
73
- amount: {
74
- default: 10,
75
- type: "number",
76
- },
77
- token: {
78
- default: "usdc",
79
- type: "string",
80
- values: ["eth", "dai", "usdc", "degen"], // Accepted tokens
81
- },
82
- username: {
83
- default: "",
84
- type: "username",
85
- },
86
- address: {
87
- default: "",
88
- type: "address",
89
- },
90
- },
91
- },
92
- ];
93
-
94
- // Handler Implementation
95
- export async function handler(context: XMTPContext) {
96
- const {
97
- message: {
98
- content: {
99
- params: { amount, token, username, address },
100
- },
101
- },
102
- } = context;
103
- let receiverAddress = address;
104
- if (username) {
105
- receiverAddress = (await context.getUserInfo(username))?.address;
106
- }
107
- if (address) {
108
- // Prioritize address over username
109
- receiverAddress = address;
110
- }
111
-
112
- await context.requestPayment(amount, token, receiverAddress);
113
- }
114
-
115
-
116
- ## Types
117
-
118
- import { XMTPContext } from "../lib/xmtp.js";
119
- import { ClientOptions, GroupMember } from "@xmtp/node-sdk";
120
- import { ContentTypeId } from "@xmtp/content-type-primitives";
121
-
122
- export type MessageAbstracted = {
123
- id: string;
124
- sent: Date;
125
- content: {
126
- text?: string | undefined;
127
- reply?: string | undefined;
128
- previousMsg?: string | undefined;
129
- react?: string | undefined;
130
- content?: any | undefined;
131
- params?: any | undefined;
132
- reference?: string | undefined;
133
- skill?: string | undefined;
134
- };
135
- version: "v2" | "v3";
136
- sender: AbstractedMember;
137
- typeId: string;
138
- };
139
- export type GroupAbstracted = {
140
- id: string;
141
- sync: () => Promise<void>;
142
- addMembers: (addresses: string[]) => Promise<void>;
143
- addMembersByInboxId: (inboxIds: string[]) => Promise<void>;
144
- send: (content: string, contentType?: ContentTypeId) => Promise<string>;
145
- isAdmin: (inboxId: string) => boolean;
146
- isSuperAdmin: (inboxId: string) => boolean;
147
- admins: string[];
148
- superAdmins: string[];
149
- createdAt: Date;
150
- members: GroupMember[];
151
- };
152
- export type SkillResponse = {
153
- code: number;
154
- message: string;
155
- data?: any;
156
- };
157
-
158
- export type SkillHandler = (
159
- context: XMTPContext,
160
- ) => Promise<SkillResponse | void>;
161
-
162
- export type Handler = (context: XMTPContext) => Promise<void>;
163
-
164
- export type RunConfig = {
165
- // client options from XMTP client
166
- client?: ClientOptions;
167
- // private key to be used for the client, if not, default from env
168
- privateKey?: string;
169
- // if true, the init log message with messagekit logo and stuff will be hidden
170
- experimental?: boolean;
171
- // hide the init log message with messagekit logo and stuff
172
- hideInitLogMessage?: boolean;
173
- // if true, attachments will be enabled
174
- attachments?: boolean;
175
- // if true, member changes will be enabled, like adding members to the group
176
- memberChange?: boolean;
177
- // skills to be used
178
- agent?: Agent;
179
- // model to be used
180
- gptModel?: string;
181
- };
182
- export interface SkillParamConfig {
183
- default?: string | number | boolean;
184
- type:
185
- | "number"
186
- | "string"
187
- | "username"
188
- | "quoted"
189
- | "address"
190
- | "prompt"
191
- | "url";
192
- plural?: boolean;
193
- values?: string[]; // Accepted values for the parameter
194
- }
195
-
196
- export interface Frame {
197
- title: string;
198
- buttons: { content: string; action: string; target: string }[];
199
- image: string;
200
- }
201
- export interface Agent {
202
- name: string;
203
- description: string;
204
- tag: string;
205
- skills: Skill[];
206
- }
207
- export interface Skill {
208
- skill: string;
209
- handler?: SkillHandler | undefined;
210
- adminOnly?: boolean;
211
- description: string;
212
- examples: string[];
213
- params: Record<string, SkillParamConfig>;
214
- }
215
-
216
- export interface AbstractedMember {
217
- inboxId: string;
218
- address: string;
219
- accountAddresses: string[];
220
- installationIds?: string[];
221
- }
222
-
223
- export type MetadataValue = string | number | boolean;
224
- export type Metadata = Record<string, MetadataValue | MetadataValue[]>;
225
-
@@ -1,4 +0,0 @@
1
- compressionLevel: mixed
2
- enableGlobalCache: false
3
- enableTelemetry: false
4
- nodeLinker: node-modules
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes