@elizaos/plugin-farcaster 2.0.0-alpha.7 → 2.0.0-beta.1
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/LICENSE +21 -0
- package/README.md +108 -0
- package/auto-enable.ts +21 -0
- package/dist/actions/index.d.ts +2 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/auto-enable.d.ts +4 -0
- package/dist/auto-enable.d.ts.map +1 -0
- package/dist/browser/index.d.ts +2 -2
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.node.cjs +870 -719
- package/dist/cjs/index.node.js.map +23 -26
- package/dist/client/FarcasterClient.d.ts +41 -0
- package/dist/client/FarcasterClient.d.ts.map +1 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/connector-account-provider.d.ts +16 -0
- package/dist/connector-account-provider.d.ts.map +1 -0
- package/dist/generated/specs/spec-helpers.d.ts +36 -0
- package/dist/generated/specs/spec-helpers.d.ts.map +1 -0
- package/dist/generated/specs/specs.d.ts +48 -0
- package/dist/generated/specs/specs.d.ts.map +1 -0
- package/dist/index.browser.d.ts +11 -0
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.node.d.ts +3 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/managers/AgentManager.d.ts +20 -0
- package/dist/managers/AgentManager.d.ts.map +1 -0
- package/dist/managers/CastManager.d.ts +25 -0
- package/dist/managers/CastManager.d.ts.map +1 -0
- package/dist/managers/EmbedManager.d.ts +40 -0
- package/dist/managers/EmbedManager.d.ts.map +1 -0
- package/dist/managers/InteractionManager.d.ts +32 -0
- package/dist/managers/InteractionManager.d.ts.map +1 -0
- package/dist/managers/InteractionProcessor.d.ts +10 -0
- package/dist/managers/InteractionProcessor.d.ts.map +1 -0
- package/dist/managers/InteractionSource.d.ts +38 -0
- package/dist/managers/InteractionSource.d.ts.map +1 -0
- package/dist/managers/index.d.ts +7 -0
- package/dist/managers/index.d.ts.map +1 -0
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.node.d.ts +2 -0
- package/dist/node/index.node.js +830 -704
- package/dist/node/index.node.js.map +23 -26
- package/dist/providers/index.d.ts +4 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/profileProvider.d.ts +3 -0
- package/dist/providers/profileProvider.d.ts.map +1 -0
- package/dist/routes/webhook.d.ts +3 -0
- package/dist/routes/webhook.d.ts.map +1 -0
- package/dist/services/CastService.d.ts +133 -0
- package/dist/services/CastService.d.ts.map +1 -0
- package/dist/services/FarcasterService.d.ts +32 -0
- package/dist/services/FarcasterService.d.ts.map +1 -0
- package/dist/services/MessageService.d.ts +54 -0
- package/dist/services/MessageService.d.ts.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +119 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/asyncqueue.d.ts +13 -0
- package/dist/utils/asyncqueue.d.ts.map +1 -0
- package/dist/utils/callbacks.d.ts +14 -0
- package/dist/utils/callbacks.d.ts.map +1 -0
- package/dist/utils/config.d.ts +14 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/index.d.ts +25 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/prompts.d.ts +5 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/workflow-credential-provider.d.ts +21 -0
- package/dist/workflow-credential-provider.d.ts.map +1 -0
- package/package.json +20 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,CAAC;AACpC,eAAO,MAAM,kBAAkB,oCAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileProvider.d.ts","sourceRoot":"","sources":["../../providers/profileProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAa5F,eAAO,MAAM,wBAAwB,EAAE,QA6EtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../routes/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,KAAK,EAAqC,MAAM,eAAe,CAAC;AAiD7F,eAAO,MAAM,sBAAsB,EAAE,KAAK,EAyDzC,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { type Content, type IAgentRuntime, type Memory, type UUID } from "@elizaos/core";
|
|
2
|
+
import type { FarcasterClient } from "../client/FarcasterClient";
|
|
3
|
+
interface FarcasterCast {
|
|
4
|
+
id: string;
|
|
5
|
+
agentId: UUID;
|
|
6
|
+
roomId: UUID;
|
|
7
|
+
userId: string;
|
|
8
|
+
username: string;
|
|
9
|
+
text: string;
|
|
10
|
+
timestamp: number;
|
|
11
|
+
inReplyTo?: string;
|
|
12
|
+
media?: Array<Record<string, string | number | boolean>>;
|
|
13
|
+
metadata?: Record<string, string | number | boolean>;
|
|
14
|
+
}
|
|
15
|
+
interface PostConnectorQueryContext {
|
|
16
|
+
runtime: IAgentRuntime;
|
|
17
|
+
roomId?: UUID;
|
|
18
|
+
source?: string;
|
|
19
|
+
accountId?: string;
|
|
20
|
+
target?: {
|
|
21
|
+
entityId?: UUID | string;
|
|
22
|
+
channelId?: string;
|
|
23
|
+
threadId?: string;
|
|
24
|
+
};
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
export interface CastServiceInterface {
|
|
28
|
+
getCasts(params: {
|
|
29
|
+
agentId: UUID;
|
|
30
|
+
limit?: number;
|
|
31
|
+
cursor?: string;
|
|
32
|
+
}): Promise<FarcasterCast[]>;
|
|
33
|
+
createCast(params: {
|
|
34
|
+
agentId: UUID;
|
|
35
|
+
roomId: UUID;
|
|
36
|
+
text: string;
|
|
37
|
+
media?: string[];
|
|
38
|
+
replyTo?: {
|
|
39
|
+
hash: string;
|
|
40
|
+
fid: number;
|
|
41
|
+
};
|
|
42
|
+
}): Promise<FarcasterCast>;
|
|
43
|
+
deleteCast(params: {
|
|
44
|
+
agentId: UUID;
|
|
45
|
+
castHash: string;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
likeCast(params: {
|
|
48
|
+
agentId: UUID;
|
|
49
|
+
castHash: string;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
unlikeCast(params: {
|
|
52
|
+
agentId: UUID;
|
|
53
|
+
castHash: string;
|
|
54
|
+
}): Promise<void>;
|
|
55
|
+
recast(params: {
|
|
56
|
+
agentId: UUID;
|
|
57
|
+
castHash: string;
|
|
58
|
+
}): Promise<void>;
|
|
59
|
+
unrecast(params: {
|
|
60
|
+
agentId: UUID;
|
|
61
|
+
castHash: string;
|
|
62
|
+
}): Promise<void>;
|
|
63
|
+
getMentions(params: {
|
|
64
|
+
agentId: UUID;
|
|
65
|
+
limit?: number;
|
|
66
|
+
}): Promise<FarcasterCast[]>;
|
|
67
|
+
}
|
|
68
|
+
export declare class FarcasterCastService implements CastServiceInterface {
|
|
69
|
+
private client;
|
|
70
|
+
private runtime;
|
|
71
|
+
private accountId;
|
|
72
|
+
static serviceType: string;
|
|
73
|
+
constructor(client: FarcasterClient, runtime: IAgentRuntime, accountId?: string);
|
|
74
|
+
getAccountId(): string;
|
|
75
|
+
getCasts(params: {
|
|
76
|
+
agentId: UUID;
|
|
77
|
+
limit?: number;
|
|
78
|
+
cursor?: string;
|
|
79
|
+
}): Promise<FarcasterCast[]>;
|
|
80
|
+
createCast(params: {
|
|
81
|
+
agentId: UUID;
|
|
82
|
+
roomId: UUID;
|
|
83
|
+
text: string;
|
|
84
|
+
media?: string[];
|
|
85
|
+
replyTo?: {
|
|
86
|
+
hash: string;
|
|
87
|
+
fid: number;
|
|
88
|
+
};
|
|
89
|
+
}): Promise<FarcasterCast>;
|
|
90
|
+
handleSendPost(runtime: IAgentRuntime, content: Content): Promise<Memory>;
|
|
91
|
+
fetchFeed(context: PostConnectorQueryContext, params?: {
|
|
92
|
+
feed?: string;
|
|
93
|
+
target?: PostConnectorQueryContext["target"];
|
|
94
|
+
limit?: number;
|
|
95
|
+
cursor?: string;
|
|
96
|
+
}): Promise<Memory[]>;
|
|
97
|
+
searchPosts(context: PostConnectorQueryContext, params: {
|
|
98
|
+
query: string;
|
|
99
|
+
limit?: number;
|
|
100
|
+
cursor?: string;
|
|
101
|
+
}): Promise<Memory[]>;
|
|
102
|
+
deleteCast(params: {
|
|
103
|
+
agentId: UUID;
|
|
104
|
+
castHash: string;
|
|
105
|
+
}): Promise<void>;
|
|
106
|
+
likeCast(params: {
|
|
107
|
+
agentId: UUID;
|
|
108
|
+
castHash: string;
|
|
109
|
+
}): Promise<void>;
|
|
110
|
+
unlikeCast(params: {
|
|
111
|
+
agentId: UUID;
|
|
112
|
+
castHash: string;
|
|
113
|
+
}): Promise<void>;
|
|
114
|
+
recast(params: {
|
|
115
|
+
agentId: UUID;
|
|
116
|
+
castHash: string;
|
|
117
|
+
}): Promise<void>;
|
|
118
|
+
unrecast(params: {
|
|
119
|
+
agentId: UUID;
|
|
120
|
+
castHash: string;
|
|
121
|
+
}): Promise<void>;
|
|
122
|
+
getMentions(params: {
|
|
123
|
+
agentId: UUID;
|
|
124
|
+
limit?: number;
|
|
125
|
+
}): Promise<FarcasterCast[]>;
|
|
126
|
+
private generateCastContent;
|
|
127
|
+
private truncateCast;
|
|
128
|
+
private storeCastInMemory;
|
|
129
|
+
private farcasterCastToMemory;
|
|
130
|
+
private castToFarcasterCast;
|
|
131
|
+
}
|
|
132
|
+
export {};
|
|
133
|
+
//# sourceMappingURL=CastService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CastService.d.ts","sourceRoot":"","sources":["../../services/CastService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type IAgentRuntime, Service, type UUID } from "@elizaos/core";
|
|
2
|
+
import { FarcasterAgentManager } from "../managers/AgentManager";
|
|
3
|
+
import { FarcasterCastService } from "./CastService";
|
|
4
|
+
import { FarcasterMessageService } from "./MessageService";
|
|
5
|
+
export declare class FarcasterService extends Service {
|
|
6
|
+
private static instance?;
|
|
7
|
+
private agents;
|
|
8
|
+
static serviceType: string;
|
|
9
|
+
readonly description = "Farcaster integration service for sending and receiving casts";
|
|
10
|
+
readonly capabilityDescription = "The agent is able to send and receive messages on farcaster";
|
|
11
|
+
private static getInstance;
|
|
12
|
+
initialize(runtime: IAgentRuntime): Promise<void>;
|
|
13
|
+
static start(runtime: IAgentRuntime): Promise<Service>;
|
|
14
|
+
static stop(runtime: IAgentRuntime): Promise<void>;
|
|
15
|
+
static registerSendHandlers(runtime: IAgentRuntime, serviceInstance: FarcasterService): void;
|
|
16
|
+
stop(): Promise<void>;
|
|
17
|
+
getMessageService(agentId: UUID, accountId?: string): FarcasterMessageService | undefined;
|
|
18
|
+
getCastService(agentId: UUID, accountId?: string): FarcasterCastService | undefined;
|
|
19
|
+
getMessageServiceForAccount(accountId: string | undefined, agentId?: UUID): FarcasterMessageService | undefined;
|
|
20
|
+
getCastServiceForAccount(accountId: string | undefined, agentId?: UUID): FarcasterCastService | undefined;
|
|
21
|
+
getManagerForAccount(accountId: string | undefined, agentId?: UUID): FarcasterAgentManager | undefined;
|
|
22
|
+
getDefaultAccountId(agentId?: UUID): string | undefined;
|
|
23
|
+
listAccountIds(agentId?: UUID): string[];
|
|
24
|
+
getManagersForAgent(agentId?: UUID): Map<string, FarcasterAgentManager>;
|
|
25
|
+
healthCheck(): Promise<{
|
|
26
|
+
healthy: boolean;
|
|
27
|
+
details: Record<string, unknown>;
|
|
28
|
+
}>;
|
|
29
|
+
getActiveManagers(): Map<string, FarcasterAgentManager>;
|
|
30
|
+
private firstAgentId;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=FarcasterService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FarcasterService.d.ts","sourceRoot":"","sources":["../../services/FarcasterService.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAElB,OAAO,EACP,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAUjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AA8B3D,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAkC;IAEhD,MAAM,CAAC,WAAW,SAA0B;IAE5C,QAAQ,CAAC,WAAW,mEAAmE;IACvF,QAAQ,CAAC,qBAAqB,iEAAiE;IAE/F,OAAO,CAAC,MAAM,CAAC,WAAW;IAOpB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;WAI1C,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;WA4C/C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAkDtF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAIzF,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAInF,2BAA2B,CACzB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,IAAI,GACb,uBAAuB,GAAG,SAAS;IAStC,wBAAwB,CACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,IAAI,GACb,oBAAoB,GAAG,SAAS;IASnC,oBAAoB,CAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,IAAI,GACb,qBAAqB,GAAG,SAAS;IASpC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS;IAKvD,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE;IAMxC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAMjE,WAAW,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IAwCF,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAUvD,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type IAgentRuntime, type UUID } from "@elizaos/core";
|
|
2
|
+
import type { FarcasterClient } from "../client/FarcasterClient";
|
|
3
|
+
import { FarcasterMessageType } from "../types";
|
|
4
|
+
type MessageMetadata = Record<string, string | number | boolean | null | undefined>;
|
|
5
|
+
interface Message {
|
|
6
|
+
id: string;
|
|
7
|
+
agentId: UUID;
|
|
8
|
+
roomId: string;
|
|
9
|
+
userId: string;
|
|
10
|
+
username: string;
|
|
11
|
+
text: string;
|
|
12
|
+
type: FarcasterMessageType;
|
|
13
|
+
timestamp: number;
|
|
14
|
+
inReplyTo?: string;
|
|
15
|
+
metadata?: MessageMetadata;
|
|
16
|
+
}
|
|
17
|
+
interface GetMessagesOptions {
|
|
18
|
+
agentId: UUID;
|
|
19
|
+
roomId?: string;
|
|
20
|
+
limit?: number;
|
|
21
|
+
}
|
|
22
|
+
interface SendMessageOptions {
|
|
23
|
+
agentId: UUID;
|
|
24
|
+
roomId: string;
|
|
25
|
+
text: string;
|
|
26
|
+
type: string;
|
|
27
|
+
accountId?: string;
|
|
28
|
+
replyToId?: string;
|
|
29
|
+
metadata?: MessageMetadata;
|
|
30
|
+
}
|
|
31
|
+
interface IMessageService {
|
|
32
|
+
getMessages(options: GetMessagesOptions): Promise<Message[]>;
|
|
33
|
+
sendMessage(options: SendMessageOptions): Promise<Message>;
|
|
34
|
+
getMessage(messageId: string, agentId: UUID): Promise<Message | null>;
|
|
35
|
+
}
|
|
36
|
+
export declare class FarcasterMessageService implements IMessageService {
|
|
37
|
+
private client;
|
|
38
|
+
private runtime;
|
|
39
|
+
private accountId;
|
|
40
|
+
constructor(client: FarcasterClient, runtime: IAgentRuntime, accountId?: string);
|
|
41
|
+
getAccountId(): string;
|
|
42
|
+
private castToMessage;
|
|
43
|
+
getMessages(options: GetMessagesOptions): Promise<Message[]>;
|
|
44
|
+
sendMessage(options: SendMessageOptions): Promise<Message>;
|
|
45
|
+
deleteMessage(_messageId: string, _agentId: UUID): Promise<void>;
|
|
46
|
+
getMessage(messageId: string, agentId: UUID): Promise<Message | null>;
|
|
47
|
+
getThread(params: {
|
|
48
|
+
agentId: UUID;
|
|
49
|
+
castHash: string;
|
|
50
|
+
}): Promise<Message[]>;
|
|
51
|
+
markAsRead(_messageIds: string[], _agentId: UUID): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=MessageService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageService.d.ts","sourceRoot":"","sources":["../../services/MessageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAoD,oBAAoB,EAAE,MAAM,UAAU,CAAC;AASlG,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEpF,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,UAAU,eAAe;IACvB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACvE;AAED,qBAAa,uBAAwB,YAAW,eAAe;IAE3D,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;gBAFT,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,aAAa,EACtB,SAAS,GAAE,MAAqC;IAG1D,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,aAAa;IAsBf,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAgC5D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiE1D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAerE,SAAS,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0B1E,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { Media, Memory, MessagePayload } from "@elizaos/core";
|
|
2
|
+
import type { Cast as NeynarCast, Embed as NeynarEmbed } from "@neynar/nodejs-sdk/build/api";
|
|
3
|
+
import * as zod from "zod";
|
|
4
|
+
export interface Profile {
|
|
5
|
+
fid: number;
|
|
6
|
+
name: string;
|
|
7
|
+
username: string;
|
|
8
|
+
pfp?: string;
|
|
9
|
+
bio?: string;
|
|
10
|
+
url?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CastEmbed {
|
|
13
|
+
type: "image" | "video" | "audio" | "url" | "cast" | "frame" | "unknown";
|
|
14
|
+
url: string;
|
|
15
|
+
castHash?: string;
|
|
16
|
+
metadata?: {
|
|
17
|
+
contentType?: string;
|
|
18
|
+
width?: number;
|
|
19
|
+
height?: number;
|
|
20
|
+
duration?: number;
|
|
21
|
+
title?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
authorFid?: number;
|
|
24
|
+
authorUsername?: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface Cast {
|
|
28
|
+
hash: string;
|
|
29
|
+
authorFid: number;
|
|
30
|
+
text: string;
|
|
31
|
+
profile: Profile;
|
|
32
|
+
threadId?: string;
|
|
33
|
+
inReplyTo?: {
|
|
34
|
+
hash: string;
|
|
35
|
+
fid: number;
|
|
36
|
+
};
|
|
37
|
+
timestamp: Date;
|
|
38
|
+
stats?: {
|
|
39
|
+
recasts: number;
|
|
40
|
+
replies: number;
|
|
41
|
+
likes: number;
|
|
42
|
+
};
|
|
43
|
+
embeds?: NeynarEmbed[];
|
|
44
|
+
media?: Media[];
|
|
45
|
+
}
|
|
46
|
+
export interface CastId {
|
|
47
|
+
hash: string;
|
|
48
|
+
fid: number;
|
|
49
|
+
}
|
|
50
|
+
export interface FidRequest {
|
|
51
|
+
fid: number;
|
|
52
|
+
pageSize: number;
|
|
53
|
+
}
|
|
54
|
+
export interface LastCast {
|
|
55
|
+
hash: string;
|
|
56
|
+
timestamp: number;
|
|
57
|
+
}
|
|
58
|
+
export declare const DEFAULT_MAX_CAST_LENGTH = 320;
|
|
59
|
+
export declare const DEFAULT_POLL_INTERVAL = 120;
|
|
60
|
+
export declare const DEFAULT_CAST_INTERVAL_MIN = 90;
|
|
61
|
+
export declare const DEFAULT_CAST_INTERVAL_MAX = 180;
|
|
62
|
+
export declare const DEFAULT_CAST_CACHE_TTL: number;
|
|
63
|
+
export declare const DEFAULT_CAST_CACHE_SIZE = 9000;
|
|
64
|
+
export declare const FarcasterConfigSchema: zod.ZodObject<{
|
|
65
|
+
FARCASTER_DRY_RUN: zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString]>, zod.ZodTransform<boolean, string | boolean>>;
|
|
66
|
+
FARCASTER_FID: zod.ZodNumber;
|
|
67
|
+
MAX_CAST_LENGTH: zod.ZodDefault<zod.ZodNumber>;
|
|
68
|
+
FARCASTER_POLL_INTERVAL: zod.ZodDefault<zod.ZodNumber>;
|
|
69
|
+
FARCASTER_MODE: zod.ZodDefault<zod.ZodEnum<{
|
|
70
|
+
polling: "polling";
|
|
71
|
+
webhook: "webhook";
|
|
72
|
+
}>>;
|
|
73
|
+
ENABLE_CAST: zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString]>, zod.ZodTransform<boolean, string | boolean>>;
|
|
74
|
+
CAST_INTERVAL_MIN: zod.ZodNumber;
|
|
75
|
+
CAST_INTERVAL_MAX: zod.ZodNumber;
|
|
76
|
+
ENABLE_ACTION_PROCESSING: zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString]>, zod.ZodTransform<boolean, string | boolean>>;
|
|
77
|
+
ACTION_INTERVAL: zod.ZodNumber;
|
|
78
|
+
CAST_IMMEDIATELY: zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString]>, zod.ZodTransform<boolean, string | boolean>>;
|
|
79
|
+
MAX_ACTIONS_PROCESSING: zod.ZodNumber;
|
|
80
|
+
FARCASTER_SIGNER_UUID: zod.ZodString;
|
|
81
|
+
FARCASTER_NEYNAR_API_KEY: zod.ZodString;
|
|
82
|
+
FARCASTER_HUB_URL: zod.ZodString;
|
|
83
|
+
}, zod.z.core.$strip>;
|
|
84
|
+
export type FarcasterConfig = zod.infer<typeof FarcasterConfigSchema>;
|
|
85
|
+
export declare enum FarcasterEventTypes {
|
|
86
|
+
POST_GENERATED = "FARCASTER_POST_GENERATED",
|
|
87
|
+
MENTION_RECEIVED = "FARCASTER_MENTION_RECEIVED",
|
|
88
|
+
THREAD_CAST_CREATED = "FARCASTER_THREAD_CAST_CREATED"
|
|
89
|
+
}
|
|
90
|
+
export declare enum FarcasterMessageType {
|
|
91
|
+
CAST = "CAST",
|
|
92
|
+
REPLY = "REPLY"
|
|
93
|
+
}
|
|
94
|
+
export interface FarcasterGenericCastPayload extends Omit<MessagePayload, "message"> {
|
|
95
|
+
memory: Memory;
|
|
96
|
+
cast: NeynarCast;
|
|
97
|
+
accountId?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface NeynarWebhookData {
|
|
100
|
+
type: string;
|
|
101
|
+
data?: {
|
|
102
|
+
hash: string;
|
|
103
|
+
text?: string;
|
|
104
|
+
author: {
|
|
105
|
+
fid: number;
|
|
106
|
+
username?: string;
|
|
107
|
+
};
|
|
108
|
+
mentioned_profiles?: Array<{
|
|
109
|
+
fid: number;
|
|
110
|
+
}>;
|
|
111
|
+
parent_hash?: string;
|
|
112
|
+
parent_author?: {
|
|
113
|
+
fid: number;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export declare const FARCASTER_SERVICE_NAME = "farcaster";
|
|
118
|
+
export declare const FARCASTER_SOURCE = "farcaster";
|
|
119
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class AsyncQueue {
|
|
2
|
+
private queue;
|
|
3
|
+
private running;
|
|
4
|
+
private emptyListeners;
|
|
5
|
+
private maxConcurrent;
|
|
6
|
+
constructor(maxConcurrent?: number);
|
|
7
|
+
submit<T>(work: () => Promise<T>): Promise<T>;
|
|
8
|
+
private doNextWork;
|
|
9
|
+
size(): Promise<number>;
|
|
10
|
+
waitUntilFinished(): Promise<void>;
|
|
11
|
+
private checkIfEmptyAndNotify;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=asyncqueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncqueue.d.ts","sourceRoot":"","sources":["../../utils/asyncqueue.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,GAAE,MAAU;IAI/B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAarC,UAAU;IAqBlB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxC,OAAO,CAAC,qBAAqB;CAQ9B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HandlerCallback, IAgentRuntime, Memory, UUID } from "@elizaos/core";
|
|
2
|
+
import type { Cast as NeynarCast } from "@neynar/nodejs-sdk/build/api";
|
|
3
|
+
import type { FarcasterClient } from "../client";
|
|
4
|
+
import type { CastId, FarcasterConfig } from "../types";
|
|
5
|
+
export declare function standardCastHandlerCallback({ client, runtime, config, roomId, onCompletion, onError, inReplyTo, }: {
|
|
6
|
+
inReplyTo?: CastId;
|
|
7
|
+
client: FarcasterClient;
|
|
8
|
+
runtime: IAgentRuntime;
|
|
9
|
+
config: FarcasterConfig;
|
|
10
|
+
roomId: UUID;
|
|
11
|
+
onCompletion?: (casts: NeynarCast[], memories: Memory[]) => Promise<void>;
|
|
12
|
+
onError?: (error: unknown) => Promise<void>;
|
|
13
|
+
}): HandlerCallback;
|
|
14
|
+
//# sourceMappingURL=callbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../utils/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIxD,wBAAgB,2BAA2B,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,EACZ,OAAO,EACP,SAAS,GACV,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,GAAG,eAAe,CA4DlB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type IAgentRuntime } from "@elizaos/core";
|
|
2
|
+
import { type FarcasterConfig } from "../types";
|
|
3
|
+
export type ResolvedFarcasterConfig = FarcasterConfig & {
|
|
4
|
+
accountId: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const DEFAULT_FARCASTER_ACCOUNT_ID = "default";
|
|
7
|
+
export declare function normalizeFarcasterAccountId(accountId?: unknown): string;
|
|
8
|
+
export declare function listFarcasterAccountIds(runtime: IAgentRuntime): string[];
|
|
9
|
+
export declare function resolveDefaultFarcasterAccountId(runtime: IAgentRuntime): string;
|
|
10
|
+
export declare function readFarcasterAccountId(...sources: unknown[]): string | undefined;
|
|
11
|
+
export declare function getFarcasterFid(runtime: IAgentRuntime, accountId?: string | null): number | null;
|
|
12
|
+
export declare function hasFarcasterEnabled(runtime: IAgentRuntime, accountId?: string | null): boolean;
|
|
13
|
+
export declare function validateFarcasterConfig(runtime: IAgentRuntime, accountId?: string | null): ResolvedFarcasterConfig;
|
|
14
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEzE,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,UAAU,CAAC;AAYlB,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9E,eAAO,MAAM,4BAA4B,YAAY,CAAC;AA2EtD,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAIvE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAexE;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAO/E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,SAAS,CA6BhF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAchG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAsB9F;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,uBAAuB,CA+HzB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { IAgentRuntime, Memory, UUID } from "@elizaos/core";
|
|
2
|
+
import type { Cast as NeynarCast } from "@neynar/nodejs-sdk/build/api";
|
|
3
|
+
import { type Cast } from "../types";
|
|
4
|
+
export declare const MAX_CAST_LENGTH = 1024;
|
|
5
|
+
export declare function castId({ hash, agentId }: {
|
|
6
|
+
hash: string;
|
|
7
|
+
agentId: string;
|
|
8
|
+
}): string;
|
|
9
|
+
export declare function castUuid(props: {
|
|
10
|
+
hash: string;
|
|
11
|
+
agentId: string;
|
|
12
|
+
}): UUID;
|
|
13
|
+
export declare function splitPostContent(content: string, maxLength?: number): string[];
|
|
14
|
+
export declare function splitParagraph(paragraph: string, maxLength: number): string[];
|
|
15
|
+
export declare function lastCastCacheKey(fid: number): string;
|
|
16
|
+
export declare function neynarCastToCast(neynarCast: NeynarCast): Cast;
|
|
17
|
+
export declare function createCastMemory({ roomId, senderId, runtime, cast, accountId, }: {
|
|
18
|
+
roomId: UUID;
|
|
19
|
+
senderId: UUID;
|
|
20
|
+
runtime: IAgentRuntime;
|
|
21
|
+
cast: Cast;
|
|
22
|
+
accountId?: string;
|
|
23
|
+
}): Memory;
|
|
24
|
+
export declare function formatCastTimestamp(timestamp: Date): string;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,KAAK,IAAI,EAAoB,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEnF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,MAAM,EAAE,CAiC/F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA4C7E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAsB7D;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,GACV,EAAE;IACD,MAAM,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CA8BT;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAO3D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Character } from "@elizaos/core";
|
|
2
|
+
import type { Cast } from "../types";
|
|
3
|
+
export declare const formatCast: (cast: Cast) => string;
|
|
4
|
+
export declare const formatTimeline: (character: Character, timeline: Cast[]) => string;
|
|
5
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../utils/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAErC,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,MAIvC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,EAAE,UAAU,IAAI,EAAE,KAAG,MAGvE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type IAgentRuntime, Service } from '@elizaos/core';
|
|
2
|
+
type CredentialProviderResult = {
|
|
3
|
+
status: 'credential_data';
|
|
4
|
+
data: Record<string, unknown>;
|
|
5
|
+
} | {
|
|
6
|
+
status: 'needs_auth';
|
|
7
|
+
authUrl: string;
|
|
8
|
+
} | null;
|
|
9
|
+
export declare class FarcasterWorkflowCredentialProvider extends Service {
|
|
10
|
+
static readonly serviceType = "workflow_credential_provider";
|
|
11
|
+
capabilityDescription: string;
|
|
12
|
+
static start(runtime: IAgentRuntime): Promise<FarcasterWorkflowCredentialProvider>;
|
|
13
|
+
stop(): Promise<void>;
|
|
14
|
+
resolve(_userId: string, credType: string): Promise<CredentialProviderResult>;
|
|
15
|
+
checkCredentialTypes(credTypes: string[]): {
|
|
16
|
+
supported: string[];
|
|
17
|
+
unsupported: string[];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=workflow-credential-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-credential-provider.d.ts","sourceRoot":"","sources":["../workflow-credential-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK5D,KAAK,wBAAwB,GACzB;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC,IAAI,CAAC;AAKT,qBAAa,mCAAoC,SAAQ,OAAO;IAC9D,gBAAyB,WAAW,kCAAqC;IAChE,qBAAqB,SAC0C;WAE3D,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAIlF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAErB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAUnF,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;CAM1F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/plugin-farcaster",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/node/index.node.js",
|
|
6
6
|
"module": "dist/node/index.node.js",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"./package.json": "./package.json",
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/node/index.d.ts",
|
|
16
|
+
"import": "./dist/node/index.node.js",
|
|
16
17
|
"browser": {
|
|
17
18
|
"types": "./dist/browser/index.d.ts",
|
|
18
19
|
"import": "./dist/browser/index.browser.js",
|
|
@@ -25,31 +26,41 @@
|
|
|
25
26
|
},
|
|
26
27
|
"bun": {
|
|
27
28
|
"types": "./dist/node/index.d.ts",
|
|
29
|
+
"import": "./dist/node/index.node.js",
|
|
28
30
|
"default": "./dist/node/index.node.js"
|
|
29
31
|
},
|
|
30
32
|
"default": "./dist/node/index.node.js"
|
|
31
33
|
}
|
|
32
34
|
},
|
|
33
35
|
"files": [
|
|
34
|
-
"dist"
|
|
36
|
+
"dist",
|
|
37
|
+
"auto-enable.ts"
|
|
35
38
|
],
|
|
39
|
+
"elizaos": {
|
|
40
|
+
"plugin": {
|
|
41
|
+
"autoEnableModule": "./auto-enable.ts",
|
|
42
|
+
"capabilities": [
|
|
43
|
+
"social-posting"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
},
|
|
36
47
|
"sideEffects": false,
|
|
37
48
|
"dependencies": {
|
|
38
|
-
"@elizaos/core": "2.0.0-
|
|
49
|
+
"@elizaos/core": "2.0.0-beta.1",
|
|
39
50
|
"@neynar/nodejs-sdk": "^3.34.0",
|
|
40
51
|
"lru-cache": "^11.1.0",
|
|
41
|
-
"
|
|
42
|
-
"zod": "^4.3.6"
|
|
52
|
+
"zod": "^4.4.3"
|
|
43
53
|
},
|
|
44
54
|
"devDependencies": {
|
|
45
|
-
"@biomejs/biome": "^2.
|
|
55
|
+
"@biomejs/biome": "^2.4.14",
|
|
46
56
|
"@types/node": "^25.0.3",
|
|
47
|
-
"esbuild": "^0.
|
|
57
|
+
"esbuild": "^0.28.0",
|
|
58
|
+
"typescript": "^6.0.3",
|
|
48
59
|
"vitest": "^4.0.0"
|
|
49
60
|
},
|
|
50
61
|
"scripts": {
|
|
51
62
|
"dev": "bun run build.ts --watch",
|
|
52
|
-
"clean": "rm -rf dist .turbo
|
|
63
|
+
"clean": "rm -rf dist .turbo .turbo-tsconfig.json tsconfig.tsbuildinfo",
|
|
53
64
|
"format": "bunx @biomejs/biome format --write .",
|
|
54
65
|
"format:check": "bunx @biomejs/biome format .",
|
|
55
66
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
@@ -173,7 +184,7 @@
|
|
|
173
184
|
}
|
|
174
185
|
},
|
|
175
186
|
"gitHead": "646c632924826e2b75c2304a75ee56959fe4a460",
|
|
176
|
-
"
|
|
187
|
+
"eliza": {
|
|
177
188
|
"platforms": [
|
|
178
189
|
"browser",
|
|
179
190
|
"node"
|