@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.
Files changed (74) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -0
  3. package/auto-enable.ts +21 -0
  4. package/dist/actions/index.d.ts +2 -0
  5. package/dist/actions/index.d.ts.map +1 -0
  6. package/dist/auto-enable.d.ts +4 -0
  7. package/dist/auto-enable.d.ts.map +1 -0
  8. package/dist/browser/index.d.ts +2 -2
  9. package/dist/cjs/index.d.ts +2 -2
  10. package/dist/cjs/index.node.cjs +870 -719
  11. package/dist/cjs/index.node.js.map +23 -26
  12. package/dist/client/FarcasterClient.d.ts +41 -0
  13. package/dist/client/FarcasterClient.d.ts.map +1 -0
  14. package/dist/client/index.d.ts +2 -0
  15. package/dist/client/index.d.ts.map +1 -0
  16. package/dist/connector-account-provider.d.ts +16 -0
  17. package/dist/connector-account-provider.d.ts.map +1 -0
  18. package/dist/generated/specs/spec-helpers.d.ts +36 -0
  19. package/dist/generated/specs/spec-helpers.d.ts.map +1 -0
  20. package/dist/generated/specs/specs.d.ts +48 -0
  21. package/dist/generated/specs/specs.d.ts.map +1 -0
  22. package/dist/index.browser.d.ts +11 -0
  23. package/dist/index.browser.d.ts.map +1 -0
  24. package/dist/index.d.ts +10 -2
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.node.d.ts +3 -0
  27. package/dist/index.node.d.ts.map +1 -0
  28. package/dist/managers/AgentManager.d.ts +20 -0
  29. package/dist/managers/AgentManager.d.ts.map +1 -0
  30. package/dist/managers/CastManager.d.ts +25 -0
  31. package/dist/managers/CastManager.d.ts.map +1 -0
  32. package/dist/managers/EmbedManager.d.ts +40 -0
  33. package/dist/managers/EmbedManager.d.ts.map +1 -0
  34. package/dist/managers/InteractionManager.d.ts +32 -0
  35. package/dist/managers/InteractionManager.d.ts.map +1 -0
  36. package/dist/managers/InteractionProcessor.d.ts +10 -0
  37. package/dist/managers/InteractionProcessor.d.ts.map +1 -0
  38. package/dist/managers/InteractionSource.d.ts +38 -0
  39. package/dist/managers/InteractionSource.d.ts.map +1 -0
  40. package/dist/managers/index.d.ts +7 -0
  41. package/dist/managers/index.d.ts.map +1 -0
  42. package/dist/node/index.d.ts +2 -2
  43. package/dist/node/index.node.d.ts +2 -0
  44. package/dist/node/index.node.js +830 -704
  45. package/dist/node/index.node.js.map +23 -26
  46. package/dist/providers/index.d.ts +4 -0
  47. package/dist/providers/index.d.ts.map +1 -0
  48. package/dist/providers/profileProvider.d.ts +3 -0
  49. package/dist/providers/profileProvider.d.ts.map +1 -0
  50. package/dist/routes/webhook.d.ts +3 -0
  51. package/dist/routes/webhook.d.ts.map +1 -0
  52. package/dist/services/CastService.d.ts +133 -0
  53. package/dist/services/CastService.d.ts.map +1 -0
  54. package/dist/services/FarcasterService.d.ts +32 -0
  55. package/dist/services/FarcasterService.d.ts.map +1 -0
  56. package/dist/services/MessageService.d.ts +54 -0
  57. package/dist/services/MessageService.d.ts.map +1 -0
  58. package/dist/services/index.d.ts +4 -0
  59. package/dist/services/index.d.ts.map +1 -0
  60. package/dist/types/index.d.ts +119 -0
  61. package/dist/types/index.d.ts.map +1 -0
  62. package/dist/utils/asyncqueue.d.ts +13 -0
  63. package/dist/utils/asyncqueue.d.ts.map +1 -0
  64. package/dist/utils/callbacks.d.ts +14 -0
  65. package/dist/utils/callbacks.d.ts.map +1 -0
  66. package/dist/utils/config.d.ts +14 -0
  67. package/dist/utils/config.d.ts.map +1 -0
  68. package/dist/utils/index.d.ts +25 -0
  69. package/dist/utils/index.d.ts.map +1 -0
  70. package/dist/utils/prompts.d.ts +5 -0
  71. package/dist/utils/prompts.d.ts.map +1 -0
  72. package/dist/workflow-credential-provider.d.ts +21 -0
  73. package/dist/workflow-credential-provider.d.ts.map +1 -0
  74. package/package.json +20 -9
@@ -0,0 +1,4 @@
1
+ import { farcasterProfileProvider } from "./profileProvider";
2
+ export { farcasterProfileProvider };
3
+ export declare const farcasterProviders: import("@elizaos/core").Provider[];
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import type { Provider } from "@elizaos/core";
2
+ export declare const farcasterProfileProvider: Provider;
3
+ //# sourceMappingURL=profileProvider.d.ts.map
@@ -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,3 @@
1
+ import type { Route } from "@elizaos/core";
2
+ export declare const farcasterWebhookRoutes: Route[];
3
+ //# sourceMappingURL=webhook.d.ts.map
@@ -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,4 @@
1
+ export { type CastServiceInterface, FarcasterCastService } from "./CastService";
2
+ export { FarcasterService } from "./FarcasterService";
3
+ export { FarcasterMessageService } from "./MessageService";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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-alpha.7",
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-alpha.3",
49
+ "@elizaos/core": "2.0.0-beta.1",
39
50
  "@neynar/nodejs-sdk": "^3.34.0",
40
51
  "lru-cache": "^11.1.0",
41
- "typescript": "^5.9.3",
42
- "zod": "^4.3.6"
52
+ "zod": "^4.4.3"
43
53
  },
44
54
  "devDependencies": {
45
- "@biomejs/biome": "^2.3.11",
55
+ "@biomejs/biome": "^2.4.14",
46
56
  "@types/node": "^25.0.3",
47
- "esbuild": "^0.25.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 node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo",
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
- "milady": {
187
+ "eliza": {
177
188
  "platforms": [
178
189
  "browser",
179
190
  "node"