@elizaos/plugin-farcaster 2.0.0-alpha.4 → 2.0.0-alpha.6

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.
@@ -223,14 +223,35 @@ var replyCastAction = {
223
223
  }
224
224
  ]
225
225
  ],
226
- validate: async (runtime, message) => {
227
- const text = message.content.text?.toLowerCase() || "";
228
- const keywords = ["reply", "respond", "answer", "comment"];
229
- const hasKeyword = keywords.some((keyword) => text.includes(keyword));
230
- const hasParentCast = !!(message.content.metadata && message.content.metadata.parentCastHash);
231
- const service = runtime.getService(FARCASTER_SERVICE_NAME);
232
- const isServiceAvailable = !!service?.getMessageService(runtime.agentId);
233
- return hasKeyword && (hasParentCast || isServiceAvailable);
226
+ validate: async (runtime, message, state, options) => {
227
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
228
+ const __avText = __avTextRaw.toLowerCase();
229
+ const __avKeywords = ["reply", "cast"];
230
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
231
+ const __avRegex = /\b(?:reply|cast)\b/i;
232
+ const __avRegexOk = __avRegex.test(__avText);
233
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
234
+ const __avExpectedSource = "farcaster";
235
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
236
+ const __avOptions = options && typeof options === "object" ? options : {};
237
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
238
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
239
+ return false;
240
+ }
241
+ const __avLegacyValidate = async (runtime2, message2) => {
242
+ const text = message2.content.text?.toLowerCase() || "";
243
+ const keywords = ["reply", "respond", "answer", "comment"];
244
+ const hasKeyword = keywords.some((keyword) => text.includes(keyword));
245
+ const hasParentCast = !!(message2.content.metadata && message2.content.metadata.parentCastHash);
246
+ const service = runtime2.getService(FARCASTER_SERVICE_NAME);
247
+ const isServiceAvailable = !!service?.getMessageService(runtime2.agentId);
248
+ return hasKeyword && (hasParentCast || isServiceAvailable);
249
+ };
250
+ try {
251
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
252
+ } catch {
253
+ return false;
254
+ }
234
255
  },
235
256
  handler: async (runtime, message, state) => {
236
257
  try {
@@ -252,7 +273,9 @@ var replyCastAction = {
252
273
  replyContent = state.replyContent;
253
274
  } else {
254
275
  const prompt = `Based on this request: "${message.content.text}", generate a helpful and engaging reply for a Farcaster cast (max 320 characters).`;
255
- const response = await runtime.useModel(import_core.ModelType.TEXT_LARGE, { prompt });
276
+ const response = await runtime.useModel(import_core.ModelType.TEXT_LARGE, {
277
+ prompt
278
+ });
256
279
  replyContent = typeof response === "string" ? response : String(response);
257
280
  }
258
281
  if (replyContent.length > 320) {
@@ -285,13 +308,34 @@ var sendCastAction = {
285
308
  similes: spec2.similes ? [...spec2.similes] : [],
286
309
  description: spec2.description,
287
310
  examples: spec2.examples ?? [],
288
- validate: async (runtime, message) => {
289
- const text = message.content.text?.toLowerCase() || "";
290
- const keywords = ["post", "cast", "share", "announce", "farcaster"];
291
- const hasKeyword = keywords.some((keyword) => text.includes(keyword));
292
- const service = runtime.getService(FARCASTER_SERVICE_NAME);
293
- const isServiceAvailable = !!service?.getCastService(runtime.agentId);
294
- return hasKeyword && isServiceAvailable;
311
+ validate: async (runtime, message, state, options) => {
312
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
313
+ const __avText = __avTextRaw.toLowerCase();
314
+ const __avKeywords = ["send", "cast"];
315
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
316
+ const __avRegex = /\b(?:send|cast)\b/i;
317
+ const __avRegexOk = __avRegex.test(__avText);
318
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
319
+ const __avExpectedSource = "farcaster";
320
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
321
+ const __avOptions = options && typeof options === "object" ? options : {};
322
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
323
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
324
+ return false;
325
+ }
326
+ const __avLegacyValidate = async (runtime2, message2) => {
327
+ const text = message2.content.text?.toLowerCase() || "";
328
+ const keywords = ["post", "cast", "share", "announce", "farcaster"];
329
+ const hasKeyword = keywords.some((keyword) => text.includes(keyword));
330
+ const service = runtime2.getService(FARCASTER_SERVICE_NAME);
331
+ const isServiceAvailable = !!service?.getCastService(runtime2.agentId);
332
+ return hasKeyword && isServiceAvailable;
333
+ };
334
+ try {
335
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
336
+ } catch {
337
+ return false;
338
+ }
295
339
  },
296
340
  handler: async (runtime, message, state) => {
297
341
  try {
@@ -306,7 +350,9 @@ var sendCastAction = {
306
350
  castContent = state.castContent;
307
351
  } else {
308
352
  const prompt = `Based on this request: "${message.content.text}", generate a concise Farcaster cast (max 320 characters). Be engaging and use appropriate hashtags if relevant.`;
309
- const response = await runtime.useModel(import_core2.ModelType.TEXT_LARGE, { prompt });
353
+ const response = await runtime.useModel(import_core2.ModelType.TEXT_LARGE, {
354
+ prompt
355
+ });
310
356
  castContent = typeof response === "string" ? response : String(response);
311
357
  }
312
358
  if (castContent.length > 320) {
@@ -430,6 +476,7 @@ var spec3 = requireProviderSpec("farcasterProfile");
430
476
  var farcasterProfileProvider = {
431
477
  name: spec3.name,
432
478
  description: "Provides information about the agent's Farcaster profile",
479
+ dynamic: true,
433
480
  get: async (runtime, _message, _state) => {
434
481
  try {
435
482
  const service = runtime.getService(FARCASTER_SERVICE_NAME);
@@ -503,6 +550,7 @@ var spec4 = requireProviderSpec("farcasterThread");
503
550
  var farcasterThreadProvider = {
504
551
  name: spec4.name,
505
552
  description: "Provides thread context for Farcaster casts so the agent can reference the full conversation.",
553
+ dynamic: true,
506
554
  get: async (runtime, message, _state) => {
507
555
  const contentForSource = message.content;
508
556
  const source = typeof contentForSource.source === "string" ? contentForSource.source : undefined;
@@ -585,6 +633,7 @@ var spec5 = requireProviderSpec("farcasterTimeline");
585
633
  var farcasterTimelineProvider = {
586
634
  name: spec5.name,
587
635
  description: "Provides recent casts from the agent's Farcaster timeline",
636
+ dynamic: true,
588
637
  get: async (runtime, _message, _state) => {
589
638
  try {
590
639
  const service = runtime.getService(FARCASTER_SERVICE_NAME);
@@ -2352,4 +2401,4 @@ var farcasterPlugin = {
2352
2401
  };
2353
2402
  var typescript_default = farcasterPlugin;
2354
2403
 
2355
- //# debugId=FAF4E61B8A4C1E3864756E2164756E21
2404
+ //# debugId=B8FD2BC4C288FA1B64756E2164756E21
@@ -2,16 +2,16 @@
2
2
  "version": 3,
3
3
  "sources": ["../../actions/replyCast.ts", "../../generated/specs/specs.ts", "../../generated/specs/spec-helpers.ts", "../../types/index.ts", "../../actions/sendCast.ts", "../../actions/index.ts", "../../utils/config.ts", "../../providers/profileProvider.ts", "../../providers/threadProvider.ts", "../../providers/timelineProvider.ts", "../../providers/index.ts", "../../routes/webhook.ts", "../../services/FarcasterService.ts", "../../managers/AgentManager.ts", "../../client/FarcasterClient.ts", "../../utils/index.ts", "../../managers/CastManager.ts", "../../utils/callbacks.ts", "../../managers/InteractionManager.ts", "../../utils/asyncqueue.ts", "../../managers/EmbedManager.ts", "../../managers/InteractionSource.ts", "../../services/CastService.ts", "../../services/MessageService.ts", "../../index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Action, IAgentRuntime, Memory, State } from \"@elizaos/core\";\nimport { ModelType } from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FarcasterMessageType } from \"../types\";\n\nconst spec = requireActionSpec(\"REPLY_TO_CAST\");\n\nexport const replyCastAction: Action = {\n name: spec.name,\n description: spec.description,\n examples: [\n [\n {\n name: \"user\",\n content: {\n text: \"Someone asked about ElizaOS on Farcaster, can you reply?\",\n },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply to their question about ElizaOS.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n [\n {\n name: \"user\",\n content: { text: \"Reply to that cast and thank them for the feedback\" },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply with a thank you message.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n ],\n\n validate: async (runtime: IAgentRuntime, message: Memory): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"reply\", \"respond\", \"answer\", \"comment\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const hasParentCast = !!(\n message.content.metadata &&\n (message.content.metadata as Record<string, unknown>).parentCastHash\n );\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getMessageService(runtime.agentId);\n\n return hasKeyword && (hasParentCast || isServiceAvailable);\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n runtime.logger.error(\"[REPLY_TO_CAST] MessageService not available\");\n return { success: false, error: \"MessageService not available\" };\n }\n\n const metadata = message.content.metadata as Record<string, string | undefined> | undefined;\n const stateParentCastHash =\n typeof state?.parentCastHash === \"string\" ? state.parentCastHash : undefined;\n const parentCastHash = metadata?.parentCastHash ?? stateParentCastHash;\n\n if (!parentCastHash) {\n runtime.logger.error(\"[REPLY_TO_CAST] No parent cast to reply to\");\n return { success: false, error: \"No parent cast to reply to\" };\n }\n\n let replyContent = \"\";\n\n if (state?.replyContent) {\n replyContent = state.replyContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a helpful and engaging reply for a Farcaster cast (max 320 characters).`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, { prompt });\n replyContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (replyContent.length > 320) {\n replyContent = `${replyContent.substring(0, 317)}...`;\n }\n\n const reply = await messageService.sendMessage({\n agentId: runtime.agentId,\n roomId: message.roomId,\n text: replyContent,\n type: FarcasterMessageType.REPLY,\n replyToId: parentCastHash,\n metadata: {\n parentHash: parentCastHash,\n },\n });\n\n runtime.logger.info(`[REPLY_TO_CAST] Successfully replied to cast: ${reply.id}`);\n return { success: true, text: `Replied to cast: ${reply.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[REPLY_TO_CAST] Error replying to cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n throw error;\n }\n },\n};\n",
5
+ "import type { Action, IAgentRuntime, Memory, State } from \"@elizaos/core\";\nimport { ModelType } from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FarcasterMessageType } from \"../types\";\n\nconst spec = requireActionSpec(\"REPLY_TO_CAST\");\n\nexport const replyCastAction: Action = {\n name: spec.name,\n description: spec.description,\n examples: [\n [\n {\n name: \"user\",\n content: {\n text: \"Someone asked about ElizaOS on Farcaster, can you reply?\",\n },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply to their question about ElizaOS.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n [\n {\n name: \"user\",\n content: { text: \"Reply to that cast and thank them for the feedback\" },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply with a thank you message.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n ],\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"reply\", \"cast\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:reply|cast)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"farcaster\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n message: Memory\n ): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"reply\", \"respond\", \"answer\", \"comment\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const hasParentCast = !!(\n message.content.metadata &&\n (message.content.metadata as Record<string, unknown>).parentCastHash\n );\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getMessageService(runtime.agentId);\n\n return hasKeyword && (hasParentCast || isServiceAvailable);\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n runtime.logger.error(\"[REPLY_TO_CAST] MessageService not available\");\n return { success: false, error: \"MessageService not available\" };\n }\n\n const metadata = message.content.metadata as Record<string, string | undefined> | undefined;\n const stateParentCastHash =\n typeof state?.parentCastHash === \"string\" ? state.parentCastHash : undefined;\n const parentCastHash = metadata?.parentCastHash ?? stateParentCastHash;\n\n if (!parentCastHash) {\n runtime.logger.error(\"[REPLY_TO_CAST] No parent cast to reply to\");\n return { success: false, error: \"No parent cast to reply to\" };\n }\n\n let replyContent = \"\";\n\n if (state?.replyContent) {\n replyContent = state.replyContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a helpful and engaging reply for a Farcaster cast (max 320 characters).`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt,\n });\n replyContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (replyContent.length > 320) {\n replyContent = `${replyContent.substring(0, 317)}...`;\n }\n\n const reply = await messageService.sendMessage({\n agentId: runtime.agentId,\n roomId: message.roomId,\n text: replyContent,\n type: FarcasterMessageType.REPLY,\n replyToId: parentCastHash,\n metadata: {\n parentHash: parentCastHash,\n },\n });\n\n runtime.logger.info(`[REPLY_TO_CAST] Successfully replied to cast: ${reply.id}`);\n return { success: true, text: `Replied to cast: ${reply.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[REPLY_TO_CAST] Error replying to cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n throw error;\n }\n },\n};\n",
6
6
  "/**\n * Auto-generated canonical action/provider/evaluator docs for plugin-farcaster.\n * DO NOT EDIT - Generated from prompts/specs/**.\n */\n\nexport type ActionDoc = {\n name: string;\n description: string;\n similes?: readonly string[];\n parameters?: readonly unknown[];\n examples?: readonly (readonly unknown[])[];\n};\n\nexport type ProviderDoc = {\n name: string;\n description: string;\n position?: number;\n dynamic?: boolean;\n};\n\nexport type EvaluatorDoc = {\n name: string;\n description: string;\n similes?: readonly string[];\n alwaysRun?: boolean;\n examples?: readonly unknown[];\n};\n\nexport const coreActionsSpec = {\n version: \"1.0.0\",\n actions: [\n {\n name: \"SEND_CAST\",\n description: \"Posts a cast (message) on Farcaster\",\n similes: [\"POST_CAST\", \"FARCASTER_POST\", \"CAST\", \"SHARE_ON_FARCASTER\", \"ANNOUNCE\"],\n parameters: [],\n },\n {\n name: \"REPLY_TO_CAST\",\n description: \"Replies to a cast on Farcaster\",\n similes: [\"REPLY_CAST\", \"RESPOND_CAST\", \"ANSWER_CAST\", \"COMMENT_CAST\"],\n parameters: [],\n },\n ],\n} as const;\nexport const allActionsSpec = {\n version: \"1.0.0\",\n actions: [\n {\n name: \"SEND_CAST\",\n description: \"Posts a cast (message) on Farcaster\",\n similes: [\"POST_CAST\", \"FARCASTER_POST\", \"CAST\", \"SHARE_ON_FARCASTER\", \"ANNOUNCE\"],\n parameters: [],\n },\n {\n name: \"REPLY_TO_CAST\",\n description: \"Replies to a cast on Farcaster\",\n similes: [\"REPLY_CAST\", \"RESPOND_CAST\", \"ANSWER_CAST\", \"COMMENT_CAST\"],\n parameters: [],\n },\n ],\n} as const;\nexport const coreProvidersSpec = {\n version: \"1.0.0\",\n providers: [\n {\n name: \"farcasterProfile\",\n description: \"Provides information about the agent\",\n dynamic: true,\n },\n {\n name: \"farcasterThread\",\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n dynamic: true,\n },\n {\n name: \"farcasterTimeline\",\n description: \"Provides recent casts from the agent\",\n dynamic: true,\n },\n ],\n} as const;\nexport const allProvidersSpec = {\n version: \"1.0.0\",\n providers: [\n {\n name: \"farcasterProfile\",\n description: \"Provides information about the agent\",\n dynamic: true,\n },\n {\n name: \"farcasterThread\",\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n dynamic: true,\n },\n {\n name: \"farcasterTimeline\",\n description: \"Provides recent casts from the agent\",\n dynamic: true,\n },\n ],\n} as const;\nexport const coreEvaluatorsSpec = {\n version: \"1.0.0\",\n evaluators: [],\n} as const;\nexport const allEvaluatorsSpec = {\n version: \"1.0.0\",\n evaluators: [],\n} as const;\n\nexport const coreActionDocs: readonly ActionDoc[] = coreActionsSpec.actions;\nexport const allActionDocs: readonly ActionDoc[] = allActionsSpec.actions;\nexport const coreProviderDocs: readonly ProviderDoc[] = coreProvidersSpec.providers;\nexport const allProviderDocs: readonly ProviderDoc[] = allProvidersSpec.providers;\nexport const coreEvaluatorDocs: readonly EvaluatorDoc[] = coreEvaluatorsSpec.evaluators;\nexport const allEvaluatorDocs: readonly EvaluatorDoc[] = allEvaluatorsSpec.evaluators;\n",
7
7
  "/**\n * Helper functions to lookup action/provider/evaluator specs by name.\n * These allow language-specific implementations to import their text content\n * (description, similes, examples) from the centralized specs.\n *\n * DO NOT EDIT the spec data - update prompts/actions.json, prompts/providers.json, prompts/evaluators.json and regenerate.\n */\n\nimport {\n type ActionDoc,\n allActionDocs,\n allEvaluatorDocs,\n allProviderDocs,\n coreActionDocs,\n coreEvaluatorDocs,\n coreProviderDocs,\n type EvaluatorDoc,\n type ProviderDoc,\n} from \"./specs\";\n\n// Build lookup maps for O(1) access\nconst coreActionMap = new Map<string, ActionDoc>(coreActionDocs.map((doc) => [doc.name, doc]));\nconst allActionMap = new Map<string, ActionDoc>(allActionDocs.map((doc) => [doc.name, doc]));\nconst coreProviderMap = new Map<string, ProviderDoc>(\n coreProviderDocs.map((doc) => [doc.name, doc])\n);\nconst allProviderMap = new Map<string, ProviderDoc>(allProviderDocs.map((doc) => [doc.name, doc]));\nconst coreEvaluatorMap = new Map<string, EvaluatorDoc>(\n coreEvaluatorDocs.map((doc) => [doc.name, doc])\n);\nconst allEvaluatorMap = new Map<string, EvaluatorDoc>(\n allEvaluatorDocs.map((doc) => [doc.name, doc])\n);\n\n/**\n * Get an action spec by name from the core specs.\n * @param name - The action name\n * @returns The action spec or undefined if not found\n */\nexport function getActionSpec(name: string): ActionDoc | undefined {\n return coreActionMap.get(name) ?? allActionMap.get(name);\n}\n\n/**\n * Get an action spec by name, throwing if not found.\n * @param name - The action name\n * @returns The action spec\n * @throws Error if the action is not found\n */\nexport function requireActionSpec(name: string): ActionDoc {\n const spec = getActionSpec(name);\n if (!spec) {\n throw new Error(`Action spec not found: ${name}`);\n }\n return spec;\n}\n\n/**\n * Get a provider spec by name from the core specs.\n * @param name - The provider name\n * @returns The provider spec or undefined if not found\n */\nexport function getProviderSpec(name: string): ProviderDoc | undefined {\n return coreProviderMap.get(name) ?? allProviderMap.get(name);\n}\n\n/**\n * Get a provider spec by name, throwing if not found.\n * @param name - The provider name\n * @returns The provider spec\n * @throws Error if the provider is not found\n */\nexport function requireProviderSpec(name: string): ProviderDoc {\n const spec = getProviderSpec(name);\n if (!spec) {\n throw new Error(`Provider spec not found: ${name}`);\n }\n return spec;\n}\n\n/**\n * Get an evaluator spec by name from the core specs.\n * @param name - The evaluator name\n * @returns The evaluator spec or undefined if not found\n */\nexport function getEvaluatorSpec(name: string): EvaluatorDoc | undefined {\n return coreEvaluatorMap.get(name) ?? allEvaluatorMap.get(name);\n}\n\n/**\n * Get an evaluator spec by name, throwing if not found.\n * @param name - The evaluator name\n * @returns The evaluator spec\n * @throws Error if the evaluator is not found\n */\nexport function requireEvaluatorSpec(name: string): EvaluatorDoc {\n const spec = getEvaluatorSpec(name);\n if (!spec) {\n throw new Error(`Evaluator spec not found: ${name}`);\n }\n return spec;\n}\n\n// Re-export types for convenience\nexport type { ActionDoc, ProviderDoc, EvaluatorDoc };\n",
8
8
  "import type { Media, Memory, MessagePayload } from \"@elizaos/core\";\nimport type { Cast as NeynarCast, Embed as NeynarEmbed } from \"@neynar/nodejs-sdk/build/api\";\nimport { z } from \"zod\";\n\nexport interface Profile {\n fid: number;\n name: string;\n username: string;\n pfp?: string;\n bio?: string;\n url?: string;\n}\n\nexport interface CastEmbed {\n type: \"image\" | \"video\" | \"audio\" | \"url\" | \"cast\" | \"frame\" | \"unknown\";\n url: string;\n castHash?: string;\n metadata?: {\n contentType?: string;\n width?: number;\n height?: number;\n duration?: number;\n title?: string;\n description?: string;\n authorFid?: number;\n authorUsername?: string;\n };\n}\n\nexport interface Cast {\n hash: string;\n authorFid: number;\n text: string;\n profile: Profile;\n threadId?: string;\n inReplyTo?: {\n hash: string;\n fid: number;\n };\n timestamp: Date;\n stats?: {\n recasts: number;\n replies: number;\n likes: number;\n };\n embeds?: NeynarEmbed[];\n media?: Media[];\n}\n\nexport interface CastId {\n hash: string;\n fid: number;\n}\n\nexport interface FidRequest {\n fid: number;\n pageSize: number;\n}\n\nexport interface LastCast {\n hash: string;\n timestamp: number;\n}\n\nexport const DEFAULT_MAX_CAST_LENGTH = 320;\nexport const DEFAULT_POLL_INTERVAL = 120;\nexport const DEFAULT_CAST_INTERVAL_MIN = 90;\nexport const DEFAULT_CAST_INTERVAL_MAX = 180;\nexport const DEFAULT_CAST_CACHE_TTL = 1000 * 30 * 60;\nexport const DEFAULT_CAST_CACHE_SIZE = 9000;\n\nexport const FarcasterConfigSchema = z.object({\n FARCASTER_DRY_RUN: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n FARCASTER_FID: z.number().int().min(1, \"Farcaster fid is required\"),\n MAX_CAST_LENGTH: z.number().int().default(DEFAULT_MAX_CAST_LENGTH),\n FARCASTER_POLL_INTERVAL: z.number().int().default(DEFAULT_POLL_INTERVAL),\n FARCASTER_MODE: z.enum([\"polling\", \"webhook\"]).default(\"polling\"),\n ENABLE_CAST: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n CAST_INTERVAL_MIN: z.number().int(),\n CAST_INTERVAL_MAX: z.number().int(),\n ENABLE_ACTION_PROCESSING: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n ACTION_INTERVAL: z.number().int(),\n CAST_IMMEDIATELY: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n MAX_ACTIONS_PROCESSING: z.number().int(),\n FARCASTER_SIGNER_UUID: z.string().min(1, \"FARCASTER_SIGNER_UUID is not set\"),\n FARCASTER_NEYNAR_API_KEY: z.string().min(1, \"FARCASTER_NEYNAR_API_KEY is not set\"),\n FARCASTER_HUB_URL: z.string().min(1, \"FARCASTER_HUB_URL is not set\"),\n});\n\nexport type FarcasterConfig = z.infer<typeof FarcasterConfigSchema>;\n\nexport enum FarcasterEventTypes {\n CAST_GENERATED = \"FARCASTER_CAST_GENERATED\",\n MENTION_RECEIVED = \"FARCASTER_MENTION_RECEIVED\",\n THREAD_CAST_CREATED = \"FARCASTER_THREAD_CAST_CREATED\",\n}\n\nexport enum FarcasterMessageType {\n CAST = \"CAST\",\n REPLY = \"REPLY\",\n}\n\nexport interface FarcasterGenericCastPayload extends Omit<MessagePayload, \"message\"> {\n memory: Memory;\n cast: NeynarCast;\n}\n\nexport interface NeynarWebhookData {\n type: string;\n data?: {\n hash: string;\n text?: string;\n author: {\n fid: number;\n username?: string;\n };\n mentioned_profiles?: Array<{ fid: number }>;\n parent_hash?: string;\n parent_author?: { fid: number };\n };\n}\n\nexport const FARCASTER_SERVICE_NAME = \"farcaster\";\nexport const FARCASTER_SOURCE = \"farcaster\";\n",
9
- "import {\n type Action,\n type ActionExample,\n createUniqueUuid,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nconst spec = requireActionSpec(\"SEND_CAST\");\n\nexport const sendCastAction: Action = {\n name: spec.name,\n similes: spec.similes ? [...spec.similes] : [],\n description: spec.description,\n examples: (spec.examples ?? []) as ActionExample[][],\n\n validate: async (runtime: IAgentRuntime, message: Memory): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"post\", \"cast\", \"share\", \"announce\", \"farcaster\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getCastService(runtime.agentId);\n\n return hasKeyword && isServiceAvailable;\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const postService = service?.getCastService(runtime.agentId);\n\n if (!postService) {\n runtime.logger.error(\"[SEND_CAST] PostService not available\");\n return { success: false, error: \"PostService not available\" };\n }\n\n let castContent = \"\";\n\n if (state?.castContent) {\n castContent = state.castContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a concise Farcaster cast (max 320 characters). Be engaging and use appropriate hashtags if relevant.`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, { prompt });\n castContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (castContent.length > 320) {\n castContent = `${castContent.substring(0, 317)}...`;\n }\n\n const cast = await postService.createCast({\n agentId: runtime.agentId,\n roomId: createUniqueUuid(runtime, \"farcaster-timeline\"),\n text: castContent,\n });\n\n runtime.logger.info(`[SEND_CAST] Successfully posted cast: ${cast.id}`);\n\n await runtime.createMemory(\n {\n agentId: runtime.agentId,\n roomId: cast.roomId,\n entityId: runtime.agentId,\n content: {\n text: castContent,\n source: \"farcaster\",\n metadata: {\n castHash: String(cast.metadata?.castHash || \"\"),\n action: \"SEND_CAST\",\n },\n },\n createdAt: cast.timestamp,\n },\n \"messages\"\n );\n return { success: true, text: `Posted cast: ${cast.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[SEND_CAST] Error posting cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return { success: false, error: (error as Error).message };\n }\n },\n};\n",
9
+ "import {\n type Action,\n type ActionExample,\n createUniqueUuid,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nconst spec = requireActionSpec(\"SEND_CAST\");\n\nexport const sendCastAction: Action = {\n name: spec.name,\n similes: spec.similes ? [...spec.similes] : [],\n description: spec.description,\n examples: (spec.examples ?? []) as ActionExample[][],\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"send\", \"cast\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:send|cast)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"farcaster\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n message: Memory\n ): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"post\", \"cast\", \"share\", \"announce\", \"farcaster\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getCastService(runtime.agentId);\n\n return hasKeyword && isServiceAvailable;\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const postService = service?.getCastService(runtime.agentId);\n\n if (!postService) {\n runtime.logger.error(\"[SEND_CAST] PostService not available\");\n return { success: false, error: \"PostService not available\" };\n }\n\n let castContent = \"\";\n\n if (state?.castContent) {\n castContent = state.castContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a concise Farcaster cast (max 320 characters). Be engaging and use appropriate hashtags if relevant.`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt,\n });\n castContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (castContent.length > 320) {\n castContent = `${castContent.substring(0, 317)}...`;\n }\n\n const cast = await postService.createCast({\n agentId: runtime.agentId,\n roomId: createUniqueUuid(runtime, \"farcaster-timeline\"),\n text: castContent,\n });\n\n runtime.logger.info(`[SEND_CAST] Successfully posted cast: ${cast.id}`);\n\n await runtime.createMemory(\n {\n agentId: runtime.agentId,\n roomId: cast.roomId,\n entityId: runtime.agentId,\n content: {\n text: castContent,\n source: \"farcaster\",\n metadata: {\n castHash: String(cast.metadata?.castHash || \"\"),\n action: \"SEND_CAST\",\n },\n },\n createdAt: cast.timestamp,\n },\n \"messages\"\n );\n return { success: true, text: `Posted cast: ${cast.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[SEND_CAST] Error posting cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return { success: false, error: (error as Error).message };\n }\n },\n};\n",
10
10
  "import { replyCastAction } from \"./replyCast\";\nimport { sendCastAction } from \"./sendCast\";\n\nexport { replyCastAction, sendCastAction };\nexport const farcasterActions = [sendCastAction, replyCastAction];\n",
11
11
  "import { type IAgentRuntime, parseBooleanFromText } from \"@elizaos/core\";\nimport { z } from \"zod\";\nimport {\n DEFAULT_CAST_INTERVAL_MAX,\n DEFAULT_CAST_INTERVAL_MIN,\n DEFAULT_MAX_CAST_LENGTH,\n DEFAULT_POLL_INTERVAL,\n type FarcasterConfig,\n FarcasterConfigSchema,\n} from \"../types\";\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n if (typeof process === \"undefined\") {\n return {};\n }\n return process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nfunction safeParseInt(value: string | undefined | null, defaultValue: number): number {\n if (!value) return defaultValue;\n const parsed = Number.parseInt(value, 10);\n return Number.isNaN(parsed) ? defaultValue : Math.max(1, parsed);\n}\n\nexport function getFarcasterFid(runtime: IAgentRuntime): number | null {\n const fidStr = runtime.getSetting(\"FARCASTER_FID\");\n if (!fidStr) return null;\n const fid = Number.parseInt(fidStr as string, 10);\n return Number.isNaN(fid) ? null : fid;\n}\n\nexport function hasFarcasterEnabled(runtime: IAgentRuntime): boolean {\n const fid = runtime.getSetting(\"FARCASTER_FID\");\n const signerUuid = runtime.getSetting(\"FARCASTER_SIGNER_UUID\");\n const apiKey = runtime.getSetting(\"FARCASTER_NEYNAR_API_KEY\");\n\n runtime.logger.debug(`[hasFarcasterEnabled] FID: ${fid ? \"Found\" : \"Missing\"}`);\n runtime.logger.debug(`[hasFarcasterEnabled] Signer UUID: ${signerUuid ? \"Found\" : \"Missing\"}`);\n runtime.logger.debug(`[hasFarcasterEnabled] API Key: ${apiKey ? \"Found\" : \"Missing\"}`);\n\n return !!(fid && signerUuid && apiKey);\n}\n\nexport function validateFarcasterConfig(runtime: IAgentRuntime): FarcasterConfig {\n const fid = getFarcasterFid(runtime);\n\n try {\n const farcasterConfig = {\n FARCASTER_DRY_RUN:\n runtime.getSetting(\"FARCASTER_DRY_RUN\") ||\n parseBooleanFromText(env.FARCASTER_DRY_RUN || \"false\"),\n\n FARCASTER_FID: fid ?? undefined,\n\n MAX_CAST_LENGTH: safeParseInt(\n runtime.getSetting(\"MAX_CAST_LENGTH\") as string,\n DEFAULT_MAX_CAST_LENGTH\n ),\n\n FARCASTER_POLL_INTERVAL: safeParseInt(\n runtime.getSetting(\"FARCASTER_POLL_INTERVAL\") as string,\n DEFAULT_POLL_INTERVAL\n ),\n\n ENABLE_CAST:\n runtime.getSetting(\"ENABLE_CAST\") || parseBooleanFromText(env.ENABLE_CAST || \"true\"),\n\n CAST_INTERVAL_MIN: safeParseInt(\n runtime.getSetting(\"CAST_INTERVAL_MIN\") as string,\n DEFAULT_CAST_INTERVAL_MIN\n ),\n\n CAST_INTERVAL_MAX: safeParseInt(\n runtime.getSetting(\"CAST_INTERVAL_MAX\") as string,\n DEFAULT_CAST_INTERVAL_MAX\n ),\n\n ENABLE_ACTION_PROCESSING:\n runtime.getSetting(\"ENABLE_ACTION_PROCESSING\") ||\n parseBooleanFromText(env.ENABLE_ACTION_PROCESSING || \"false\"),\n\n ACTION_INTERVAL: safeParseInt(runtime.getSetting(\"ACTION_INTERVAL\") as string, 5),\n\n CAST_IMMEDIATELY:\n runtime.getSetting(\"CAST_IMMEDIATELY\") ||\n parseBooleanFromText(env.CAST_IMMEDIATELY || \"false\"),\n\n MAX_ACTIONS_PROCESSING: safeParseInt(\n runtime.getSetting(\"MAX_ACTIONS_PROCESSING\") as string,\n 1\n ),\n\n FARCASTER_SIGNER_UUID: runtime.getSetting(\"FARCASTER_SIGNER_UUID\"),\n\n FARCASTER_NEYNAR_API_KEY: runtime.getSetting(\"FARCASTER_NEYNAR_API_KEY\"),\n\n FARCASTER_HUB_URL: runtime.getSetting(\"FARCASTER_HUB_URL\") || \"hub.pinata.cloud\",\n\n FARCASTER_MODE: runtime.getSetting(\"FARCASTER_MODE\") || \"polling\",\n };\n\n runtime.logger.debug(\n `[validateFarcasterConfig] Resolved FID: ${farcasterConfig.FARCASTER_FID}`\n );\n runtime.logger.debug(\n `[validateFarcasterConfig] Resolved Signer UUID: ${farcasterConfig.FARCASTER_SIGNER_UUID ? \"Found\" : \"Missing\"}`\n );\n runtime.logger.debug(\n `[validateFarcasterConfig] Resolved API Key: ${farcasterConfig.FARCASTER_NEYNAR_API_KEY ? \"Found\" : \"Missing\"}`\n );\n\n const config = FarcasterConfigSchema.parse(farcasterConfig);\n\n const isDryRun = config.FARCASTER_DRY_RUN;\n\n runtime.logger.info(\"Farcaster Client Configuration:\");\n runtime.logger.info(`- FID: ${config.FARCASTER_FID}`);\n runtime.logger.info(`- Dry Run Mode: ${isDryRun ? \"enabled\" : \"disabled\"}`);\n runtime.logger.info(`- Enable Cast: ${config.ENABLE_CAST ? \"enabled\" : \"disabled\"}`);\n\n if (config.ENABLE_CAST) {\n runtime.logger.info(\n `- Cast Interval: ${config.CAST_INTERVAL_MIN}-${config.CAST_INTERVAL_MAX} minutes`\n );\n runtime.logger.info(\n `- Cast Immediately: ${config.CAST_IMMEDIATELY ? \"enabled\" : \"disabled\"}`\n );\n }\n runtime.logger.info(\n `- Action Processing: ${config.ENABLE_ACTION_PROCESSING ? \"enabled\" : \"disabled\"}`\n );\n runtime.logger.info(`- Action Interval: ${config.ACTION_INTERVAL} minutes`);\n\n if (isDryRun) {\n runtime.logger.info(\n \"Farcaster client initialized in dry run mode - no actual casts should be posted\"\n );\n }\n\n return config;\n } catch (error) {\n if (error instanceof z.ZodError) {\n const errorMessages = error.issues\n .map((err) => `${err.path.join(\".\")}: ${err.message}`)\n .join(\"\\n\");\n throw new Error(`Farcaster configuration validation failed:\\n${errorMessages}`);\n }\n throw error;\n }\n}\n",
12
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\nimport { getFarcasterFid } from \"../utils/config\";\n\nconst spec = requireProviderSpec(\"farcasterProfile\");\n\nexport const farcasterProfileProvider: Provider = {\n name: spec.name,\n description: \"Provides information about the agent's Farcaster profile\",\n\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const managers = service?.getActiveManagers();\n\n if (!managers || managers.size === 0) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No managers available\");\n return {\n text: \"Farcaster profile not available.\",\n data: { available: false },\n };\n }\n\n const manager = managers.get(runtime.agentId);\n if (!manager) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No manager for this agent\");\n return {\n text: \"Farcaster profile not available for this agent.\",\n data: { available: false },\n };\n }\n\n const fid = getFarcasterFid(runtime);\n if (!fid) {\n runtime.logger.warn(\"[FarcasterProfileProvider] Invalid or missing FARCASTER_FID\");\n return {\n text: \"Invalid Farcaster FID configured.\",\n data: { available: false, error: \"Invalid FID\" },\n };\n }\n\n try {\n const profile = await manager.client.getProfile(fid);\n\n return {\n text: `Your Farcaster profile: @${profile.username} (FID: ${profile.fid}). ${profile.name ? `Display name: ${profile.name}` : \"\"}`,\n data: {\n available: true,\n fid: profile.fid,\n username: profile.username,\n name: profile.name,\n pfp: profile.pfp,\n },\n values: {\n fid: profile.fid,\n username: profile.username,\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error fetching profile:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster profile at this time.\",\n data: { available: false, error: \"Fetch failed\" },\n };\n }\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Farcaster service is not available.\",\n data: { available: false },\n };\n }\n },\n};\n",
13
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FARCASTER_SOURCE } from \"../types\";\n\nconst formatTimestamp = (timestamp: number): string => {\n return new Date(timestamp).toLocaleString(\"en-US\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n month: \"short\",\n day: \"numeric\",\n });\n};\n\nconst spec = requireProviderSpec(\"farcasterThread\");\n\nexport const farcasterThreadProvider: Provider = {\n name: spec.name,\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n\n get: async (runtime: IAgentRuntime, message: Memory, _state: State): Promise<ProviderResult> => {\n const contentForSource = message.content as Record<\n string,\n string | number | boolean | null | object | undefined\n >;\n const source =\n typeof contentForSource.source === \"string\" ? contentForSource.source : undefined;\n\n if (source !== FARCASTER_SOURCE) {\n return {\n text: \"\",\n data: {\n available: false,\n reason: `Not a Farcaster message (source=${source ?? \"unknown\"})`,\n },\n };\n }\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService | null;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n return {\n text: \"Farcaster message service not available.\",\n data: { available: false, error: \"service_unavailable\" },\n };\n }\n\n const content = message.content as {\n hash?: string;\n castHash?: string;\n metadata?: Record<string, string | undefined> | string;\n };\n const messageMetadata =\n (message.metadata as Record<string, string | undefined> | undefined) ?? {};\n const contentMetadata =\n typeof content.metadata === \"object\" &&\n content.metadata !== null &&\n !Array.isArray(content.metadata)\n ? content.metadata\n : undefined;\n const castHash =\n content.hash ||\n content.castHash ||\n contentMetadata?.castHash ||\n messageMetadata.castHash ||\n contentMetadata?.parentHash ||\n messageMetadata.parentHash;\n\n if (!castHash || typeof castHash !== \"string\") {\n return {\n text: \"Unable to resolve Farcaster cast hash for this message.\",\n data: { available: false, error: \"missing_cast_hash\" },\n };\n }\n\n const threadMessages = await messageService.getThread({\n agentId: runtime.agentId,\n castHash,\n });\n\n if (!threadMessages || threadMessages.length === 0) {\n runtime.logger.debug(\n { castHash },\n \"[FarcasterThreadProvider] No thread messages retrieved for cast.\"\n );\n return {\n text: \"No Farcaster thread context available.\",\n data: { available: false, castHash, count: 0 },\n };\n }\n\n const formattedThread = threadMessages\n .map((msg, index) => {\n const time = formatTimestamp(msg.timestamp);\n const username = msg.username || msg.userId || \"unknown\";\n const marker = index === threadMessages.length - 1 ? \"→\" : \"•\";\n const text = msg.text && msg.text.trim().length > 0 ? msg.text : \"<no text>\";\n return `${marker} [${time}] @${username}: ${text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `# Farcaster Thread Context\\n${formattedThread}`,\n data: {\n available: true,\n castHash,\n count: threadMessages.length,\n },\n values: {\n farcasterThread: formattedThread,\n farcasterCastHash: castHash,\n farcasterCurrentCastText: threadMessages[threadMessages.length - 1]?.text ?? \"\",\n farcasterParentCastText:\n threadMessages.length > 1 ? (threadMessages[threadMessages.length - 2]?.text ?? \"\") : \"\",\n },\n };\n },\n};\n",
14
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nfunction getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return \"just now\";\n if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;\n if (seconds < 86400) return `${Math.floor(seconds / 3600)}h ago`;\n return `${Math.floor(seconds / 86400)}d ago`;\n}\n\nconst spec = requireProviderSpec(\"farcasterTimeline\");\n\nexport const farcasterTimelineProvider: Provider = {\n name: spec.name,\n description: \"Provides recent casts from the agent's Farcaster timeline\",\n\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const castService = service?.getCastService(runtime.agentId);\n\n if (!castService) {\n return {\n text: \"Farcaster timeline not available.\",\n data: { available: false },\n };\n }\n\n const casts = await castService.getCasts({\n agentId: runtime.agentId,\n limit: 5,\n });\n\n if (!casts || casts.length === 0) {\n return {\n text: \"No recent casts in your timeline.\",\n data: {\n available: true,\n casts: [],\n count: 0,\n },\n };\n }\n\n const formattedCasts = casts\n .map((cast, index) => {\n const timeAgo = getTimeAgo(new Date(cast.timestamp));\n return `${index + 1}. @${cast.username} (${timeAgo}): ${cast.text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `Recent casts from your timeline:\\n${formattedCasts}`,\n data: {\n available: true,\n castCount: casts.length,\n },\n values: {\n latestCastHash: String(casts[0]?.metadata?.castHash || \"\"),\n latestCastText: casts[0]?.text || \"\",\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterTimelineProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster timeline.\",\n data: {\n available: false,\n error: error instanceof Error ? error.message : \"Unknown error\",\n },\n };\n }\n },\n};\n",
12
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\nimport { getFarcasterFid } from \"../utils/config\";\n\nconst spec = requireProviderSpec(\"farcasterProfile\");\n\nexport const farcasterProfileProvider: Provider = {\n name: spec.name,\n description: \"Provides information about the agent's Farcaster profile\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const managers = service?.getActiveManagers();\n\n if (!managers || managers.size === 0) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No managers available\");\n return {\n text: \"Farcaster profile not available.\",\n data: { available: false },\n };\n }\n\n const manager = managers.get(runtime.agentId);\n if (!manager) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No manager for this agent\");\n return {\n text: \"Farcaster profile not available for this agent.\",\n data: { available: false },\n };\n }\n\n const fid = getFarcasterFid(runtime);\n if (!fid) {\n runtime.logger.warn(\"[FarcasterProfileProvider] Invalid or missing FARCASTER_FID\");\n return {\n text: \"Invalid Farcaster FID configured.\",\n data: { available: false, error: \"Invalid FID\" },\n };\n }\n\n try {\n const profile = await manager.client.getProfile(fid);\n\n return {\n text: `Your Farcaster profile: @${profile.username} (FID: ${profile.fid}). ${profile.name ? `Display name: ${profile.name}` : \"\"}`,\n data: {\n available: true,\n fid: profile.fid,\n username: profile.username,\n name: profile.name,\n pfp: profile.pfp,\n },\n values: {\n fid: profile.fid,\n username: profile.username,\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error fetching profile:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster profile at this time.\",\n data: { available: false, error: \"Fetch failed\" },\n };\n }\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Farcaster service is not available.\",\n data: { available: false },\n };\n }\n },\n};\n",
13
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FARCASTER_SOURCE } from \"../types\";\n\nconst formatTimestamp = (timestamp: number): string => {\n return new Date(timestamp).toLocaleString(\"en-US\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n month: \"short\",\n day: \"numeric\",\n });\n};\n\nconst spec = requireProviderSpec(\"farcasterThread\");\n\nexport const farcasterThreadProvider: Provider = {\n name: spec.name,\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, message: Memory, _state: State): Promise<ProviderResult> => {\n const contentForSource = message.content as Record<\n string,\n string | number | boolean | null | object | undefined\n >;\n const source =\n typeof contentForSource.source === \"string\" ? contentForSource.source : undefined;\n\n if (source !== FARCASTER_SOURCE) {\n return {\n text: \"\",\n data: {\n available: false,\n reason: `Not a Farcaster message (source=${source ?? \"unknown\"})`,\n },\n };\n }\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService | null;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n return {\n text: \"Farcaster message service not available.\",\n data: { available: false, error: \"service_unavailable\" },\n };\n }\n\n const content = message.content as {\n hash?: string;\n castHash?: string;\n metadata?: Record<string, string | undefined> | string;\n };\n const messageMetadata =\n (message.metadata as Record<string, string | undefined> | undefined) ?? {};\n const contentMetadata =\n typeof content.metadata === \"object\" &&\n content.metadata !== null &&\n !Array.isArray(content.metadata)\n ? content.metadata\n : undefined;\n const castHash =\n content.hash ||\n content.castHash ||\n contentMetadata?.castHash ||\n messageMetadata.castHash ||\n contentMetadata?.parentHash ||\n messageMetadata.parentHash;\n\n if (!castHash || typeof castHash !== \"string\") {\n return {\n text: \"Unable to resolve Farcaster cast hash for this message.\",\n data: { available: false, error: \"missing_cast_hash\" },\n };\n }\n\n const threadMessages = await messageService.getThread({\n agentId: runtime.agentId,\n castHash,\n });\n\n if (!threadMessages || threadMessages.length === 0) {\n runtime.logger.debug(\n { castHash },\n \"[FarcasterThreadProvider] No thread messages retrieved for cast.\"\n );\n return {\n text: \"No Farcaster thread context available.\",\n data: { available: false, castHash, count: 0 },\n };\n }\n\n const formattedThread = threadMessages\n .map((msg, index) => {\n const time = formatTimestamp(msg.timestamp);\n const username = msg.username || msg.userId || \"unknown\";\n const marker = index === threadMessages.length - 1 ? \"→\" : \"•\";\n const text = msg.text && msg.text.trim().length > 0 ? msg.text : \"<no text>\";\n return `${marker} [${time}] @${username}: ${text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `# Farcaster Thread Context\\n${formattedThread}`,\n data: {\n available: true,\n castHash,\n count: threadMessages.length,\n },\n values: {\n farcasterThread: formattedThread,\n farcasterCastHash: castHash,\n farcasterCurrentCastText: threadMessages[threadMessages.length - 1]?.text ?? \"\",\n farcasterParentCastText:\n threadMessages.length > 1 ? (threadMessages[threadMessages.length - 2]?.text ?? \"\") : \"\",\n },\n };\n },\n};\n",
14
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nfunction getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return \"just now\";\n if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;\n if (seconds < 86400) return `${Math.floor(seconds / 3600)}h ago`;\n return `${Math.floor(seconds / 86400)}d ago`;\n}\n\nconst spec = requireProviderSpec(\"farcasterTimeline\");\n\nexport const farcasterTimelineProvider: Provider = {\n name: spec.name,\n description: \"Provides recent casts from the agent's Farcaster timeline\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const castService = service?.getCastService(runtime.agentId);\n\n if (!castService) {\n return {\n text: \"Farcaster timeline not available.\",\n data: { available: false },\n };\n }\n\n const casts = await castService.getCasts({\n agentId: runtime.agentId,\n limit: 5,\n });\n\n if (!casts || casts.length === 0) {\n return {\n text: \"No recent casts in your timeline.\",\n data: {\n available: true,\n casts: [],\n count: 0,\n },\n };\n }\n\n const formattedCasts = casts\n .map((cast, index) => {\n const timeAgo = getTimeAgo(new Date(cast.timestamp));\n return `${index + 1}. @${cast.username} (${timeAgo}): ${cast.text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `Recent casts from your timeline:\\n${formattedCasts}`,\n data: {\n available: true,\n castCount: casts.length,\n },\n values: {\n latestCastHash: String(casts[0]?.metadata?.castHash || \"\"),\n latestCastText: casts[0]?.text || \"\",\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterTimelineProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster timeline.\",\n data: {\n available: false,\n error: error instanceof Error ? error.message : \"Unknown error\",\n },\n };\n }\n },\n};\n",
15
15
  "import { farcasterProfileProvider } from \"./profileProvider\";\nimport { farcasterThreadProvider } from \"./threadProvider\";\nimport { farcasterTimelineProvider } from \"./timelineProvider\";\n\nexport { farcasterProfileProvider, farcasterThreadProvider, farcasterTimelineProvider };\nexport const farcasterProviders = [\n farcasterProfileProvider,\n farcasterTimelineProvider,\n farcasterThreadProvider,\n];\n",
16
16
  "import type { IAgentRuntime, Route, RouteRequest, RouteResponse } from \"@elizaos/core\";\n\nexport const farcasterWebhookRoutes: Route[] = [\n {\n type: \"POST\",\n name: \"Farcaster Webhook Handler\",\n path: \"/webhook\",\n handler: async (req: RouteRequest, res: RouteResponse, runtime: IAgentRuntime) => {\n try {\n const webhookData = req.body as { type?: string };\n const eventType = webhookData.type;\n\n const farcasterService = runtime?.getService?.(\"farcaster\") as {\n managers?: {\n get?: (id: string) => {\n interactions?: {\n mode?: string;\n processWebhookData?: (data: { type?: string }) => Promise<void>;\n };\n };\n };\n };\n\n if (farcasterService) {\n const agentManager = farcasterService.managers?.get?.(runtime.agentId ?? \"\");\n\n if (agentManager?.interactions) {\n if (agentManager.interactions.mode === \"webhook\") {\n await agentManager.interactions.processWebhookData?.(webhookData);\n }\n }\n }\n\n res.status(200).json({\n success: true,\n message: \"Webhook processed successfully\",\n event_type: eventType,\n timestamp: new Date().toISOString(),\n });\n } catch (error) {\n if (runtime.logger) {\n runtime.logger.error(\n error instanceof Error ? error : new Error(String(error)),\n \"Webhook processing error\"\n );\n }\n res.status(500).json({\n success: false,\n error: \"Internal server error\",\n });\n }\n },\n },\n];\n",
17
17
  "import { type IAgentRuntime, Service, type UUID } from \"@elizaos/core\";\nimport { FarcasterAgentManager } from \"../managers/AgentManager\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\nimport { getFarcasterFid, hasFarcasterEnabled, validateFarcasterConfig } from \"../utils/config\";\nimport { FarcasterCastService } from \"./CastService\";\nimport { FarcasterMessageService } from \"./MessageService\";\n\nexport class FarcasterService extends Service {\n private static instance?: FarcasterService;\n private managers = new Map<UUID, FarcasterAgentManager>();\n private messageServices = new Map<UUID, FarcasterMessageService>();\n private castServices = new Map<UUID, FarcasterCastService>();\n\n static serviceType = FARCASTER_SERVICE_NAME;\n\n readonly description = \"Farcaster integration service for sending and receiving casts\";\n readonly capabilityDescription = \"The agent is able to send and receive messages on farcaster\";\n\n private static getInstance(): FarcasterService {\n if (!FarcasterService.instance) {\n FarcasterService.instance = new FarcasterService();\n }\n return FarcasterService.instance;\n }\n\n async initialize(runtime: IAgentRuntime): Promise<void> {\n await FarcasterService.start(runtime);\n }\n\n static async start(runtime: IAgentRuntime): Promise<Service> {\n const service = FarcasterService.getInstance();\n let manager = service.managers.get(runtime.agentId);\n\n if (manager) {\n runtime.logger.warn({ agentId: runtime.agentId }, \"Farcaster service already started\");\n return service;\n }\n\n if (!hasFarcasterEnabled(runtime)) {\n runtime.logger.debug({ agentId: runtime.agentId }, \"Farcaster service not enabled\");\n return service;\n }\n\n const farcasterConfig = validateFarcasterConfig(runtime);\n manager = new FarcasterAgentManager(runtime, farcasterConfig);\n service.managers.set(runtime.agentId, manager);\n\n const messageService = new FarcasterMessageService(manager.client, runtime);\n const castService = new FarcasterCastService(manager.client, runtime);\n\n service.messageServices.set(runtime.agentId, messageService);\n service.castServices.set(runtime.agentId, castService);\n\n await manager.start();\n\n runtime.logger.success({ agentId: runtime.agentId }, \"Farcaster client started\");\n return service;\n }\n\n static async stop(runtime: IAgentRuntime): Promise<void> {\n const service = FarcasterService.getInstance();\n const manager = service.managers.get(runtime.agentId);\n if (manager) {\n await manager.stop();\n service.managers.delete(runtime.agentId);\n service.messageServices.delete(runtime.agentId);\n service.castServices.delete(runtime.agentId);\n runtime.logger.info({ agentId: runtime.agentId }, \"Farcaster client stopped\");\n } else {\n runtime.logger.debug({ agentId: runtime.agentId }, \"Farcaster service not running\");\n }\n }\n\n async stop(): Promise<void> {\n for (const manager of Array.from(this.managers.values())) {\n const agentId = manager.runtime.agentId;\n manager.runtime.logger.debug(\"Stopping Farcaster service\");\n try {\n await FarcasterService.stop(manager.runtime);\n } catch (error) {\n manager.runtime.logger.error({ agentId, error }, \"Error stopping Farcaster service\");\n }\n }\n }\n\n getMessageService(agentId: UUID): FarcasterMessageService | undefined {\n return this.messageServices.get(agentId);\n }\n\n getCastService(agentId: UUID): FarcasterCastService | undefined {\n return this.castServices.get(agentId);\n }\n\n async healthCheck(): Promise<{\n healthy: boolean;\n details: Record<string, unknown>;\n }> {\n const managerStatuses: Record<string, unknown> = {};\n let overallHealthy = true;\n\n for (const [agentId, manager] of Array.from(this.managers.entries())) {\n try {\n const fid = getFarcasterFid(manager.runtime);\n if (!fid) {\n throw new Error(\"FARCASTER_FID not configured\");\n }\n const profile = await manager.client.getProfile(fid);\n managerStatuses[agentId] = {\n status: \"healthy\",\n fid: profile.fid,\n username: profile.username,\n };\n } catch (error) {\n managerStatuses[agentId] = {\n status: \"unhealthy\",\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n overallHealthy = false;\n }\n }\n\n return {\n healthy: overallHealthy,\n details: {\n activeManagers: this.managers.size,\n managerStatuses,\n },\n };\n }\n\n getActiveManagers(): Map<UUID, FarcasterAgentManager> {\n return new Map(this.managers);\n }\n}\n",
@@ -28,7 +28,7 @@
28
28
  "import { createUniqueUuid, type IAgentRuntime, type UUID } from \"@elizaos/core\";\nimport type { FarcasterClient } from \"../client/FarcasterClient\";\nimport { type Cast, FARCASTER_SOURCE, FarcasterEventTypes, FarcasterMessageType } from \"../types\";\nimport { castUuid, neynarCastToCast } from \"../utils\";\nimport { getFarcasterFid } from \"../utils/config\";\n\ntype MessageMetadata = Record<string, string | number | boolean | null | undefined>;\n\ninterface Message {\n id: string;\n agentId: UUID;\n roomId: string;\n userId: string;\n username: string;\n text: string;\n type: FarcasterMessageType;\n timestamp: number;\n inReplyTo?: string;\n metadata?: MessageMetadata;\n}\n\ninterface GetMessagesOptions {\n agentId: UUID;\n roomId?: string;\n limit?: number;\n}\n\ninterface SendMessageOptions {\n agentId: UUID;\n roomId: string;\n text: string;\n type: string;\n replyToId?: string;\n metadata?: MessageMetadata;\n}\n\ninterface IMessageService {\n getMessages(options: GetMessagesOptions): Promise<Message[]>;\n sendMessage(options: SendMessageOptions): Promise<Message>;\n getMessage(messageId: string, agentId: UUID): Promise<Message | null>;\n}\n\nexport class FarcasterMessageService implements IMessageService {\n constructor(\n private client: FarcasterClient,\n private runtime: IAgentRuntime\n ) {}\n\n private castToMessage(cast: Cast, agentId: UUID, extraMetadata?: MessageMetadata): Message {\n return {\n id: castUuid({ hash: cast.hash, agentId }),\n agentId,\n roomId: createUniqueUuid(this.runtime, cast.threadId || cast.hash),\n userId: cast.profile.fid.toString(),\n username: cast.profile.username,\n text: cast.text,\n type: cast.inReplyTo ? FarcasterMessageType.REPLY : FarcasterMessageType.CAST,\n timestamp: cast.timestamp.getTime(),\n inReplyTo: cast.inReplyTo ? castUuid({ hash: cast.inReplyTo.hash, agentId }) : undefined,\n metadata: {\n source: FARCASTER_SOURCE,\n castHash: cast.hash,\n threadId: cast.threadId,\n authorFid: cast.authorFid,\n ...(extraMetadata || {}),\n },\n };\n }\n\n async getMessages(options: GetMessagesOptions): Promise<Message[]> {\n try {\n const { agentId, roomId, limit = 20 } = options;\n\n const fid = getFarcasterFid(this.runtime);\n if (!fid) {\n this.runtime.logger.error(\"[Farcaster] FARCASTER_FID is not configured\");\n return [];\n }\n\n const { timeline } = await this.client.getTimeline({\n fid,\n pageSize: limit,\n });\n\n const messages: Message[] = timeline\n .map((cast) => this.castToMessage(cast, agentId))\n .filter((message) => {\n if (roomId) {\n return message.roomId === roomId;\n }\n return true;\n });\n\n return messages;\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error fetching messages\");\n return [];\n }\n }\n\n async sendMessage(options: SendMessageOptions): Promise<Message> {\n try {\n const { text, type, roomId, replyToId, agentId } = options;\n\n let inReplyTo: { hash: string; fid: number } | undefined;\n if (replyToId && type === FarcasterMessageType.REPLY) {\n const parentHash =\n typeof options.metadata?.parentHash === \"string\"\n ? options.metadata.parentHash\n : replyToId;\n const fid = getFarcasterFid(this.runtime);\n if (!fid) {\n throw new Error(\"FARCASTER_FID is not configured\");\n }\n inReplyTo = {\n hash: parentHash,\n fid,\n };\n }\n\n const casts = await this.client.sendCast({\n content: { text },\n inReplyTo,\n });\n\n if (casts.length === 0) {\n throw new Error(\"No cast was created\");\n }\n\n const cast = neynarCastToCast(casts[0]);\n const message = this.castToMessage(cast, agentId, options.metadata);\n message.roomId = roomId;\n message.type = type as FarcasterMessageType;\n\n const castGeneratedPayload = {\n runtime: this.runtime,\n source: FARCASTER_SOURCE,\n castHash: cast.hash,\n ...(cast.threadId ? { threadId: cast.threadId } : {}),\n messageId: message.id,\n roomId,\n };\n await this.runtime.emitEvent(\n FarcasterEventTypes.CAST_GENERATED as string,\n castGeneratedPayload\n );\n\n return message;\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error sending message\");\n throw err;\n }\n }\n\n async deleteMessage(_messageId: string, _agentId: UUID): Promise<void> {\n this.runtime.logger.warn(\"[Farcaster] Cast deletion is not supported by the Farcaster API\");\n }\n\n async getMessage(messageId: string, agentId: UUID): Promise<Message | null> {\n try {\n const castHash = messageId;\n\n const cast = await this.client.getCast(castHash);\n const farcasterCast = neynarCastToCast(cast);\n\n return this.castToMessage(farcasterCast, agentId);\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error fetching message\");\n return null;\n }\n }\n\n async getThread(params: { agentId: UUID; castHash: string }): Promise<Message[]> {\n try {\n const thread: Message[] = [];\n const visited = new Set<string>();\n let currentHash: string | undefined = params.castHash;\n\n while (currentHash) {\n if (visited.has(currentHash)) {\n break;\n }\n visited.add(currentHash);\n\n const cast = neynarCastToCast(await this.client.getCast(currentHash));\n thread.unshift(this.castToMessage(cast, params.agentId));\n\n currentHash = cast.inReplyTo?.hash;\n }\n\n return thread;\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error fetching thread\");\n return [];\n }\n }\n\n async markAsRead(_messageIds: string[], _agentId: UUID): Promise<void> {\n this.runtime.logger.debug(\"[Farcaster] Mark as read is not applicable for Farcaster casts\");\n }\n}\n",
29
29
  "import type { Plugin } from \"@elizaos/core\";\nimport { farcasterActions } from \"./actions\";\nimport { farcasterProviders } from \"./providers\";\nimport { farcasterWebhookRoutes } from \"./routes/webhook\";\nimport { FarcasterService } from \"./services/FarcasterService\";\n\nexport { FarcasterClient } from \"./client/FarcasterClient\";\nexport {\n EmbedManager,\n isEmbedCast,\n isEmbedUrl,\n type ProcessedEmbed,\n} from \"./managers/EmbedManager\";\nexport { FarcasterService } from \"./services/FarcasterService\";\nexport type {\n Cast,\n CastEmbed,\n CastId,\n FarcasterConfig,\n FarcasterEventTypes,\n FarcasterMessageType,\n FidRequest,\n Profile,\n} from \"./types\";\n\nexport const farcasterPlugin: Plugin = {\n name: \"farcaster\",\n description: \"Farcaster client plugin for sending and receiving casts\",\n services: [FarcasterService],\n actions: farcasterActions,\n providers: farcasterProviders,\n routes: farcasterWebhookRoutes,\n};\n\nexport default farcasterPlugin;\n"
30
30
  ],
31
- "mappings": "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",
32
- "debugId": "FAF4E61B8A4C1E3864756E2164756E21",
31
+ "mappings": "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",
32
+ "debugId": "B8FD2BC4C288FA1B64756E2164756E21",
33
33
  "names": []
34
34
  }
@@ -182,14 +182,35 @@ var replyCastAction = {
182
182
  }
183
183
  ]
184
184
  ],
185
- validate: async (runtime, message) => {
186
- const text = message.content.text?.toLowerCase() || "";
187
- const keywords = ["reply", "respond", "answer", "comment"];
188
- const hasKeyword = keywords.some((keyword) => text.includes(keyword));
189
- const hasParentCast = !!(message.content.metadata && message.content.metadata.parentCastHash);
190
- const service = runtime.getService(FARCASTER_SERVICE_NAME);
191
- const isServiceAvailable = !!service?.getMessageService(runtime.agentId);
192
- return hasKeyword && (hasParentCast || isServiceAvailable);
185
+ validate: async (runtime, message, state, options) => {
186
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
187
+ const __avText = __avTextRaw.toLowerCase();
188
+ const __avKeywords = ["reply", "cast"];
189
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
190
+ const __avRegex = /\b(?:reply|cast)\b/i;
191
+ const __avRegexOk = __avRegex.test(__avText);
192
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
193
+ const __avExpectedSource = "farcaster";
194
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
195
+ const __avOptions = options && typeof options === "object" ? options : {};
196
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
197
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
198
+ return false;
199
+ }
200
+ const __avLegacyValidate = async (runtime2, message2) => {
201
+ const text = message2.content.text?.toLowerCase() || "";
202
+ const keywords = ["reply", "respond", "answer", "comment"];
203
+ const hasKeyword = keywords.some((keyword) => text.includes(keyword));
204
+ const hasParentCast = !!(message2.content.metadata && message2.content.metadata.parentCastHash);
205
+ const service = runtime2.getService(FARCASTER_SERVICE_NAME);
206
+ const isServiceAvailable = !!service?.getMessageService(runtime2.agentId);
207
+ return hasKeyword && (hasParentCast || isServiceAvailable);
208
+ };
209
+ try {
210
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
211
+ } catch {
212
+ return false;
213
+ }
193
214
  },
194
215
  handler: async (runtime, message, state) => {
195
216
  try {
@@ -211,7 +232,9 @@ var replyCastAction = {
211
232
  replyContent = state.replyContent;
212
233
  } else {
213
234
  const prompt = `Based on this request: "${message.content.text}", generate a helpful and engaging reply for a Farcaster cast (max 320 characters).`;
214
- const response = await runtime.useModel(ModelType.TEXT_LARGE, { prompt });
235
+ const response = await runtime.useModel(ModelType.TEXT_LARGE, {
236
+ prompt
237
+ });
215
238
  replyContent = typeof response === "string" ? response : String(response);
216
239
  }
217
240
  if (replyContent.length > 320) {
@@ -247,13 +270,34 @@ var sendCastAction = {
247
270
  similes: spec2.similes ? [...spec2.similes] : [],
248
271
  description: spec2.description,
249
272
  examples: spec2.examples ?? [],
250
- validate: async (runtime, message) => {
251
- const text = message.content.text?.toLowerCase() || "";
252
- const keywords = ["post", "cast", "share", "announce", "farcaster"];
253
- const hasKeyword = keywords.some((keyword) => text.includes(keyword));
254
- const service = runtime.getService(FARCASTER_SERVICE_NAME);
255
- const isServiceAvailable = !!service?.getCastService(runtime.agentId);
256
- return hasKeyword && isServiceAvailable;
273
+ validate: async (runtime, message, state, options) => {
274
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
275
+ const __avText = __avTextRaw.toLowerCase();
276
+ const __avKeywords = ["send", "cast"];
277
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
278
+ const __avRegex = /\b(?:send|cast)\b/i;
279
+ const __avRegexOk = __avRegex.test(__avText);
280
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
281
+ const __avExpectedSource = "farcaster";
282
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
283
+ const __avOptions = options && typeof options === "object" ? options : {};
284
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
285
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
286
+ return false;
287
+ }
288
+ const __avLegacyValidate = async (runtime2, message2) => {
289
+ const text = message2.content.text?.toLowerCase() || "";
290
+ const keywords = ["post", "cast", "share", "announce", "farcaster"];
291
+ const hasKeyword = keywords.some((keyword) => text.includes(keyword));
292
+ const service = runtime2.getService(FARCASTER_SERVICE_NAME);
293
+ const isServiceAvailable = !!service?.getCastService(runtime2.agentId);
294
+ return hasKeyword && isServiceAvailable;
295
+ };
296
+ try {
297
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
298
+ } catch {
299
+ return false;
300
+ }
257
301
  },
258
302
  handler: async (runtime, message, state) => {
259
303
  try {
@@ -268,7 +312,9 @@ var sendCastAction = {
268
312
  castContent = state.castContent;
269
313
  } else {
270
314
  const prompt = `Based on this request: "${message.content.text}", generate a concise Farcaster cast (max 320 characters). Be engaging and use appropriate hashtags if relevant.`;
271
- const response = await runtime.useModel(ModelType2.TEXT_LARGE, { prompt });
315
+ const response = await runtime.useModel(ModelType2.TEXT_LARGE, {
316
+ prompt
317
+ });
272
318
  castContent = typeof response === "string" ? response : String(response);
273
319
  }
274
320
  if (castContent.length > 320) {
@@ -392,6 +438,7 @@ var spec3 = requireProviderSpec("farcasterProfile");
392
438
  var farcasterProfileProvider = {
393
439
  name: spec3.name,
394
440
  description: "Provides information about the agent's Farcaster profile",
441
+ dynamic: true,
395
442
  get: async (runtime, _message, _state) => {
396
443
  try {
397
444
  const service = runtime.getService(FARCASTER_SERVICE_NAME);
@@ -465,6 +512,7 @@ var spec4 = requireProviderSpec("farcasterThread");
465
512
  var farcasterThreadProvider = {
466
513
  name: spec4.name,
467
514
  description: "Provides thread context for Farcaster casts so the agent can reference the full conversation.",
515
+ dynamic: true,
468
516
  get: async (runtime, message, _state) => {
469
517
  const contentForSource = message.content;
470
518
  const source = typeof contentForSource.source === "string" ? contentForSource.source : undefined;
@@ -547,6 +595,7 @@ var spec5 = requireProviderSpec("farcasterTimeline");
547
595
  var farcasterTimelineProvider = {
548
596
  name: spec5.name,
549
597
  description: "Provides recent casts from the agent's Farcaster timeline",
598
+ dynamic: true,
550
599
  get: async (runtime, _message, _state) => {
551
600
  try {
552
601
  const service = runtime.getService(FARCASTER_SERVICE_NAME);
@@ -2327,4 +2376,4 @@ export {
2327
2376
  EmbedManager
2328
2377
  };
2329
2378
 
2330
- //# debugId=00C2C67B6CDA2EE964756E2164756E21
2379
+ //# debugId=A849297018E93F7C64756E2164756E21
@@ -2,16 +2,16 @@
2
2
  "version": 3,
3
3
  "sources": ["../../actions/replyCast.ts", "../../generated/specs/specs.ts", "../../generated/specs/spec-helpers.ts", "../../types/index.ts", "../../actions/sendCast.ts", "../../actions/index.ts", "../../utils/config.ts", "../../providers/profileProvider.ts", "../../providers/threadProvider.ts", "../../providers/timelineProvider.ts", "../../providers/index.ts", "../../routes/webhook.ts", "../../services/FarcasterService.ts", "../../managers/AgentManager.ts", "../../client/FarcasterClient.ts", "../../utils/index.ts", "../../managers/CastManager.ts", "../../utils/callbacks.ts", "../../managers/InteractionManager.ts", "../../utils/asyncqueue.ts", "../../managers/EmbedManager.ts", "../../managers/InteractionSource.ts", "../../services/CastService.ts", "../../services/MessageService.ts", "../../index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Action, IAgentRuntime, Memory, State } from \"@elizaos/core\";\nimport { ModelType } from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FarcasterMessageType } from \"../types\";\n\nconst spec = requireActionSpec(\"REPLY_TO_CAST\");\n\nexport const replyCastAction: Action = {\n name: spec.name,\n description: spec.description,\n examples: [\n [\n {\n name: \"user\",\n content: {\n text: \"Someone asked about ElizaOS on Farcaster, can you reply?\",\n },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply to their question about ElizaOS.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n [\n {\n name: \"user\",\n content: { text: \"Reply to that cast and thank them for the feedback\" },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply with a thank you message.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n ],\n\n validate: async (runtime: IAgentRuntime, message: Memory): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"reply\", \"respond\", \"answer\", \"comment\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const hasParentCast = !!(\n message.content.metadata &&\n (message.content.metadata as Record<string, unknown>).parentCastHash\n );\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getMessageService(runtime.agentId);\n\n return hasKeyword && (hasParentCast || isServiceAvailable);\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n runtime.logger.error(\"[REPLY_TO_CAST] MessageService not available\");\n return { success: false, error: \"MessageService not available\" };\n }\n\n const metadata = message.content.metadata as Record<string, string | undefined> | undefined;\n const stateParentCastHash =\n typeof state?.parentCastHash === \"string\" ? state.parentCastHash : undefined;\n const parentCastHash = metadata?.parentCastHash ?? stateParentCastHash;\n\n if (!parentCastHash) {\n runtime.logger.error(\"[REPLY_TO_CAST] No parent cast to reply to\");\n return { success: false, error: \"No parent cast to reply to\" };\n }\n\n let replyContent = \"\";\n\n if (state?.replyContent) {\n replyContent = state.replyContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a helpful and engaging reply for a Farcaster cast (max 320 characters).`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, { prompt });\n replyContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (replyContent.length > 320) {\n replyContent = `${replyContent.substring(0, 317)}...`;\n }\n\n const reply = await messageService.sendMessage({\n agentId: runtime.agentId,\n roomId: message.roomId,\n text: replyContent,\n type: FarcasterMessageType.REPLY,\n replyToId: parentCastHash,\n metadata: {\n parentHash: parentCastHash,\n },\n });\n\n runtime.logger.info(`[REPLY_TO_CAST] Successfully replied to cast: ${reply.id}`);\n return { success: true, text: `Replied to cast: ${reply.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[REPLY_TO_CAST] Error replying to cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n throw error;\n }\n },\n};\n",
5
+ "import type { Action, IAgentRuntime, Memory, State } from \"@elizaos/core\";\nimport { ModelType } from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FarcasterMessageType } from \"../types\";\n\nconst spec = requireActionSpec(\"REPLY_TO_CAST\");\n\nexport const replyCastAction: Action = {\n name: spec.name,\n description: spec.description,\n examples: [\n [\n {\n name: \"user\",\n content: {\n text: \"Someone asked about ElizaOS on Farcaster, can you reply?\",\n },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply to their question about ElizaOS.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n [\n {\n name: \"user\",\n content: { text: \"Reply to that cast and thank them for the feedback\" },\n },\n {\n name: \"assistant\",\n content: {\n text: \"I'll reply with a thank you message.\",\n actions: [\"REPLY_TO_CAST\"],\n },\n },\n ],\n ],\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"reply\", \"cast\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:reply|cast)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"farcaster\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n message: Memory\n ): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"reply\", \"respond\", \"answer\", \"comment\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const hasParentCast = !!(\n message.content.metadata &&\n (message.content.metadata as Record<string, unknown>).parentCastHash\n );\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getMessageService(runtime.agentId);\n\n return hasKeyword && (hasParentCast || isServiceAvailable);\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n runtime.logger.error(\"[REPLY_TO_CAST] MessageService not available\");\n return { success: false, error: \"MessageService not available\" };\n }\n\n const metadata = message.content.metadata as Record<string, string | undefined> | undefined;\n const stateParentCastHash =\n typeof state?.parentCastHash === \"string\" ? state.parentCastHash : undefined;\n const parentCastHash = metadata?.parentCastHash ?? stateParentCastHash;\n\n if (!parentCastHash) {\n runtime.logger.error(\"[REPLY_TO_CAST] No parent cast to reply to\");\n return { success: false, error: \"No parent cast to reply to\" };\n }\n\n let replyContent = \"\";\n\n if (state?.replyContent) {\n replyContent = state.replyContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a helpful and engaging reply for a Farcaster cast (max 320 characters).`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt,\n });\n replyContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (replyContent.length > 320) {\n replyContent = `${replyContent.substring(0, 317)}...`;\n }\n\n const reply = await messageService.sendMessage({\n agentId: runtime.agentId,\n roomId: message.roomId,\n text: replyContent,\n type: FarcasterMessageType.REPLY,\n replyToId: parentCastHash,\n metadata: {\n parentHash: parentCastHash,\n },\n });\n\n runtime.logger.info(`[REPLY_TO_CAST] Successfully replied to cast: ${reply.id}`);\n return { success: true, text: `Replied to cast: ${reply.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[REPLY_TO_CAST] Error replying to cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n throw error;\n }\n },\n};\n",
6
6
  "/**\n * Auto-generated canonical action/provider/evaluator docs for plugin-farcaster.\n * DO NOT EDIT - Generated from prompts/specs/**.\n */\n\nexport type ActionDoc = {\n name: string;\n description: string;\n similes?: readonly string[];\n parameters?: readonly unknown[];\n examples?: readonly (readonly unknown[])[];\n};\n\nexport type ProviderDoc = {\n name: string;\n description: string;\n position?: number;\n dynamic?: boolean;\n};\n\nexport type EvaluatorDoc = {\n name: string;\n description: string;\n similes?: readonly string[];\n alwaysRun?: boolean;\n examples?: readonly unknown[];\n};\n\nexport const coreActionsSpec = {\n version: \"1.0.0\",\n actions: [\n {\n name: \"SEND_CAST\",\n description: \"Posts a cast (message) on Farcaster\",\n similes: [\"POST_CAST\", \"FARCASTER_POST\", \"CAST\", \"SHARE_ON_FARCASTER\", \"ANNOUNCE\"],\n parameters: [],\n },\n {\n name: \"REPLY_TO_CAST\",\n description: \"Replies to a cast on Farcaster\",\n similes: [\"REPLY_CAST\", \"RESPOND_CAST\", \"ANSWER_CAST\", \"COMMENT_CAST\"],\n parameters: [],\n },\n ],\n} as const;\nexport const allActionsSpec = {\n version: \"1.0.0\",\n actions: [\n {\n name: \"SEND_CAST\",\n description: \"Posts a cast (message) on Farcaster\",\n similes: [\"POST_CAST\", \"FARCASTER_POST\", \"CAST\", \"SHARE_ON_FARCASTER\", \"ANNOUNCE\"],\n parameters: [],\n },\n {\n name: \"REPLY_TO_CAST\",\n description: \"Replies to a cast on Farcaster\",\n similes: [\"REPLY_CAST\", \"RESPOND_CAST\", \"ANSWER_CAST\", \"COMMENT_CAST\"],\n parameters: [],\n },\n ],\n} as const;\nexport const coreProvidersSpec = {\n version: \"1.0.0\",\n providers: [\n {\n name: \"farcasterProfile\",\n description: \"Provides information about the agent\",\n dynamic: true,\n },\n {\n name: \"farcasterThread\",\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n dynamic: true,\n },\n {\n name: \"farcasterTimeline\",\n description: \"Provides recent casts from the agent\",\n dynamic: true,\n },\n ],\n} as const;\nexport const allProvidersSpec = {\n version: \"1.0.0\",\n providers: [\n {\n name: \"farcasterProfile\",\n description: \"Provides information about the agent\",\n dynamic: true,\n },\n {\n name: \"farcasterThread\",\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n dynamic: true,\n },\n {\n name: \"farcasterTimeline\",\n description: \"Provides recent casts from the agent\",\n dynamic: true,\n },\n ],\n} as const;\nexport const coreEvaluatorsSpec = {\n version: \"1.0.0\",\n evaluators: [],\n} as const;\nexport const allEvaluatorsSpec = {\n version: \"1.0.0\",\n evaluators: [],\n} as const;\n\nexport const coreActionDocs: readonly ActionDoc[] = coreActionsSpec.actions;\nexport const allActionDocs: readonly ActionDoc[] = allActionsSpec.actions;\nexport const coreProviderDocs: readonly ProviderDoc[] = coreProvidersSpec.providers;\nexport const allProviderDocs: readonly ProviderDoc[] = allProvidersSpec.providers;\nexport const coreEvaluatorDocs: readonly EvaluatorDoc[] = coreEvaluatorsSpec.evaluators;\nexport const allEvaluatorDocs: readonly EvaluatorDoc[] = allEvaluatorsSpec.evaluators;\n",
7
7
  "/**\n * Helper functions to lookup action/provider/evaluator specs by name.\n * These allow language-specific implementations to import their text content\n * (description, similes, examples) from the centralized specs.\n *\n * DO NOT EDIT the spec data - update prompts/actions.json, prompts/providers.json, prompts/evaluators.json and regenerate.\n */\n\nimport {\n type ActionDoc,\n allActionDocs,\n allEvaluatorDocs,\n allProviderDocs,\n coreActionDocs,\n coreEvaluatorDocs,\n coreProviderDocs,\n type EvaluatorDoc,\n type ProviderDoc,\n} from \"./specs\";\n\n// Build lookup maps for O(1) access\nconst coreActionMap = new Map<string, ActionDoc>(coreActionDocs.map((doc) => [doc.name, doc]));\nconst allActionMap = new Map<string, ActionDoc>(allActionDocs.map((doc) => [doc.name, doc]));\nconst coreProviderMap = new Map<string, ProviderDoc>(\n coreProviderDocs.map((doc) => [doc.name, doc])\n);\nconst allProviderMap = new Map<string, ProviderDoc>(allProviderDocs.map((doc) => [doc.name, doc]));\nconst coreEvaluatorMap = new Map<string, EvaluatorDoc>(\n coreEvaluatorDocs.map((doc) => [doc.name, doc])\n);\nconst allEvaluatorMap = new Map<string, EvaluatorDoc>(\n allEvaluatorDocs.map((doc) => [doc.name, doc])\n);\n\n/**\n * Get an action spec by name from the core specs.\n * @param name - The action name\n * @returns The action spec or undefined if not found\n */\nexport function getActionSpec(name: string): ActionDoc | undefined {\n return coreActionMap.get(name) ?? allActionMap.get(name);\n}\n\n/**\n * Get an action spec by name, throwing if not found.\n * @param name - The action name\n * @returns The action spec\n * @throws Error if the action is not found\n */\nexport function requireActionSpec(name: string): ActionDoc {\n const spec = getActionSpec(name);\n if (!spec) {\n throw new Error(`Action spec not found: ${name}`);\n }\n return spec;\n}\n\n/**\n * Get a provider spec by name from the core specs.\n * @param name - The provider name\n * @returns The provider spec or undefined if not found\n */\nexport function getProviderSpec(name: string): ProviderDoc | undefined {\n return coreProviderMap.get(name) ?? allProviderMap.get(name);\n}\n\n/**\n * Get a provider spec by name, throwing if not found.\n * @param name - The provider name\n * @returns The provider spec\n * @throws Error if the provider is not found\n */\nexport function requireProviderSpec(name: string): ProviderDoc {\n const spec = getProviderSpec(name);\n if (!spec) {\n throw new Error(`Provider spec not found: ${name}`);\n }\n return spec;\n}\n\n/**\n * Get an evaluator spec by name from the core specs.\n * @param name - The evaluator name\n * @returns The evaluator spec or undefined if not found\n */\nexport function getEvaluatorSpec(name: string): EvaluatorDoc | undefined {\n return coreEvaluatorMap.get(name) ?? allEvaluatorMap.get(name);\n}\n\n/**\n * Get an evaluator spec by name, throwing if not found.\n * @param name - The evaluator name\n * @returns The evaluator spec\n * @throws Error if the evaluator is not found\n */\nexport function requireEvaluatorSpec(name: string): EvaluatorDoc {\n const spec = getEvaluatorSpec(name);\n if (!spec) {\n throw new Error(`Evaluator spec not found: ${name}`);\n }\n return spec;\n}\n\n// Re-export types for convenience\nexport type { ActionDoc, ProviderDoc, EvaluatorDoc };\n",
8
8
  "import type { Media, Memory, MessagePayload } from \"@elizaos/core\";\nimport type { Cast as NeynarCast, Embed as NeynarEmbed } from \"@neynar/nodejs-sdk/build/api\";\nimport { z } from \"zod\";\n\nexport interface Profile {\n fid: number;\n name: string;\n username: string;\n pfp?: string;\n bio?: string;\n url?: string;\n}\n\nexport interface CastEmbed {\n type: \"image\" | \"video\" | \"audio\" | \"url\" | \"cast\" | \"frame\" | \"unknown\";\n url: string;\n castHash?: string;\n metadata?: {\n contentType?: string;\n width?: number;\n height?: number;\n duration?: number;\n title?: string;\n description?: string;\n authorFid?: number;\n authorUsername?: string;\n };\n}\n\nexport interface Cast {\n hash: string;\n authorFid: number;\n text: string;\n profile: Profile;\n threadId?: string;\n inReplyTo?: {\n hash: string;\n fid: number;\n };\n timestamp: Date;\n stats?: {\n recasts: number;\n replies: number;\n likes: number;\n };\n embeds?: NeynarEmbed[];\n media?: Media[];\n}\n\nexport interface CastId {\n hash: string;\n fid: number;\n}\n\nexport interface FidRequest {\n fid: number;\n pageSize: number;\n}\n\nexport interface LastCast {\n hash: string;\n timestamp: number;\n}\n\nexport const DEFAULT_MAX_CAST_LENGTH = 320;\nexport const DEFAULT_POLL_INTERVAL = 120;\nexport const DEFAULT_CAST_INTERVAL_MIN = 90;\nexport const DEFAULT_CAST_INTERVAL_MAX = 180;\nexport const DEFAULT_CAST_CACHE_TTL = 1000 * 30 * 60;\nexport const DEFAULT_CAST_CACHE_SIZE = 9000;\n\nexport const FarcasterConfigSchema = z.object({\n FARCASTER_DRY_RUN: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n FARCASTER_FID: z.number().int().min(1, \"Farcaster fid is required\"),\n MAX_CAST_LENGTH: z.number().int().default(DEFAULT_MAX_CAST_LENGTH),\n FARCASTER_POLL_INTERVAL: z.number().int().default(DEFAULT_POLL_INTERVAL),\n FARCASTER_MODE: z.enum([\"polling\", \"webhook\"]).default(\"polling\"),\n ENABLE_CAST: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n CAST_INTERVAL_MIN: z.number().int(),\n CAST_INTERVAL_MAX: z.number().int(),\n ENABLE_ACTION_PROCESSING: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n ACTION_INTERVAL: z.number().int(),\n CAST_IMMEDIATELY: z\n .union([z.boolean(), z.string()])\n .transform((val) => (typeof val === \"string\" ? val.toLowerCase() === \"true\" : val)),\n MAX_ACTIONS_PROCESSING: z.number().int(),\n FARCASTER_SIGNER_UUID: z.string().min(1, \"FARCASTER_SIGNER_UUID is not set\"),\n FARCASTER_NEYNAR_API_KEY: z.string().min(1, \"FARCASTER_NEYNAR_API_KEY is not set\"),\n FARCASTER_HUB_URL: z.string().min(1, \"FARCASTER_HUB_URL is not set\"),\n});\n\nexport type FarcasterConfig = z.infer<typeof FarcasterConfigSchema>;\n\nexport enum FarcasterEventTypes {\n CAST_GENERATED = \"FARCASTER_CAST_GENERATED\",\n MENTION_RECEIVED = \"FARCASTER_MENTION_RECEIVED\",\n THREAD_CAST_CREATED = \"FARCASTER_THREAD_CAST_CREATED\",\n}\n\nexport enum FarcasterMessageType {\n CAST = \"CAST\",\n REPLY = \"REPLY\",\n}\n\nexport interface FarcasterGenericCastPayload extends Omit<MessagePayload, \"message\"> {\n memory: Memory;\n cast: NeynarCast;\n}\n\nexport interface NeynarWebhookData {\n type: string;\n data?: {\n hash: string;\n text?: string;\n author: {\n fid: number;\n username?: string;\n };\n mentioned_profiles?: Array<{ fid: number }>;\n parent_hash?: string;\n parent_author?: { fid: number };\n };\n}\n\nexport const FARCASTER_SERVICE_NAME = \"farcaster\";\nexport const FARCASTER_SOURCE = \"farcaster\";\n",
9
- "import {\n type Action,\n type ActionExample,\n createUniqueUuid,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nconst spec = requireActionSpec(\"SEND_CAST\");\n\nexport const sendCastAction: Action = {\n name: spec.name,\n similes: spec.similes ? [...spec.similes] : [],\n description: spec.description,\n examples: (spec.examples ?? []) as ActionExample[][],\n\n validate: async (runtime: IAgentRuntime, message: Memory): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"post\", \"cast\", \"share\", \"announce\", \"farcaster\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getCastService(runtime.agentId);\n\n return hasKeyword && isServiceAvailable;\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const postService = service?.getCastService(runtime.agentId);\n\n if (!postService) {\n runtime.logger.error(\"[SEND_CAST] PostService not available\");\n return { success: false, error: \"PostService not available\" };\n }\n\n let castContent = \"\";\n\n if (state?.castContent) {\n castContent = state.castContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a concise Farcaster cast (max 320 characters). Be engaging and use appropriate hashtags if relevant.`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, { prompt });\n castContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (castContent.length > 320) {\n castContent = `${castContent.substring(0, 317)}...`;\n }\n\n const cast = await postService.createCast({\n agentId: runtime.agentId,\n roomId: createUniqueUuid(runtime, \"farcaster-timeline\"),\n text: castContent,\n });\n\n runtime.logger.info(`[SEND_CAST] Successfully posted cast: ${cast.id}`);\n\n await runtime.createMemory(\n {\n agentId: runtime.agentId,\n roomId: cast.roomId,\n entityId: runtime.agentId,\n content: {\n text: castContent,\n source: \"farcaster\",\n metadata: {\n castHash: String(cast.metadata?.castHash || \"\"),\n action: \"SEND_CAST\",\n },\n },\n createdAt: cast.timestamp,\n },\n \"messages\"\n );\n return { success: true, text: `Posted cast: ${cast.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[SEND_CAST] Error posting cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return { success: false, error: (error as Error).message };\n }\n },\n};\n",
9
+ "import {\n type Action,\n type ActionExample,\n createUniqueUuid,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nconst spec = requireActionSpec(\"SEND_CAST\");\n\nexport const sendCastAction: Action = {\n name: spec.name,\n similes: spec.similes ? [...spec.similes] : [],\n description: spec.description,\n examples: (spec.examples ?? []) as ActionExample[][],\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"send\", \"cast\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:send|cast)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"farcaster\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n message: Memory\n ): Promise<boolean> => {\n const text = message.content.text?.toLowerCase() || \"\";\n const keywords = [\"post\", \"cast\", \"share\", \"announce\", \"farcaster\"];\n\n const hasKeyword = keywords.some((keyword) => text.includes(keyword));\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const isServiceAvailable = !!service?.getCastService(runtime.agentId);\n\n return hasKeyword && isServiceAvailable;\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (runtime: IAgentRuntime, message: Memory, state?: State) => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const postService = service?.getCastService(runtime.agentId);\n\n if (!postService) {\n runtime.logger.error(\"[SEND_CAST] PostService not available\");\n return { success: false, error: \"PostService not available\" };\n }\n\n let castContent = \"\";\n\n if (state?.castContent) {\n castContent = state.castContent as string;\n } else {\n const prompt = `Based on this request: \"${message.content.text}\", generate a concise Farcaster cast (max 320 characters). Be engaging and use appropriate hashtags if relevant.`;\n\n const response = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt,\n });\n castContent = typeof response === \"string\" ? response : String(response);\n }\n\n if (castContent.length > 320) {\n castContent = `${castContent.substring(0, 317)}...`;\n }\n\n const cast = await postService.createCast({\n agentId: runtime.agentId,\n roomId: createUniqueUuid(runtime, \"farcaster-timeline\"),\n text: castContent,\n });\n\n runtime.logger.info(`[SEND_CAST] Successfully posted cast: ${cast.id}`);\n\n await runtime.createMemory(\n {\n agentId: runtime.agentId,\n roomId: cast.roomId,\n entityId: runtime.agentId,\n content: {\n text: castContent,\n source: \"farcaster\",\n metadata: {\n castHash: String(cast.metadata?.castHash || \"\"),\n action: \"SEND_CAST\",\n },\n },\n createdAt: cast.timestamp,\n },\n \"messages\"\n );\n return { success: true, text: `Posted cast: ${cast.id}` };\n } catch (error) {\n runtime.logger.error(\n \"[SEND_CAST] Error posting cast:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return { success: false, error: (error as Error).message };\n }\n },\n};\n",
10
10
  "import { replyCastAction } from \"./replyCast\";\nimport { sendCastAction } from \"./sendCast\";\n\nexport { replyCastAction, sendCastAction };\nexport const farcasterActions = [sendCastAction, replyCastAction];\n",
11
11
  "import { type IAgentRuntime, parseBooleanFromText } from \"@elizaos/core\";\nimport { z } from \"zod\";\nimport {\n DEFAULT_CAST_INTERVAL_MAX,\n DEFAULT_CAST_INTERVAL_MIN,\n DEFAULT_MAX_CAST_LENGTH,\n DEFAULT_POLL_INTERVAL,\n type FarcasterConfig,\n FarcasterConfigSchema,\n} from \"../types\";\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n if (typeof process === \"undefined\") {\n return {};\n }\n return process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nfunction safeParseInt(value: string | undefined | null, defaultValue: number): number {\n if (!value) return defaultValue;\n const parsed = Number.parseInt(value, 10);\n return Number.isNaN(parsed) ? defaultValue : Math.max(1, parsed);\n}\n\nexport function getFarcasterFid(runtime: IAgentRuntime): number | null {\n const fidStr = runtime.getSetting(\"FARCASTER_FID\");\n if (!fidStr) return null;\n const fid = Number.parseInt(fidStr as string, 10);\n return Number.isNaN(fid) ? null : fid;\n}\n\nexport function hasFarcasterEnabled(runtime: IAgentRuntime): boolean {\n const fid = runtime.getSetting(\"FARCASTER_FID\");\n const signerUuid = runtime.getSetting(\"FARCASTER_SIGNER_UUID\");\n const apiKey = runtime.getSetting(\"FARCASTER_NEYNAR_API_KEY\");\n\n runtime.logger.debug(`[hasFarcasterEnabled] FID: ${fid ? \"Found\" : \"Missing\"}`);\n runtime.logger.debug(`[hasFarcasterEnabled] Signer UUID: ${signerUuid ? \"Found\" : \"Missing\"}`);\n runtime.logger.debug(`[hasFarcasterEnabled] API Key: ${apiKey ? \"Found\" : \"Missing\"}`);\n\n return !!(fid && signerUuid && apiKey);\n}\n\nexport function validateFarcasterConfig(runtime: IAgentRuntime): FarcasterConfig {\n const fid = getFarcasterFid(runtime);\n\n try {\n const farcasterConfig = {\n FARCASTER_DRY_RUN:\n runtime.getSetting(\"FARCASTER_DRY_RUN\") ||\n parseBooleanFromText(env.FARCASTER_DRY_RUN || \"false\"),\n\n FARCASTER_FID: fid ?? undefined,\n\n MAX_CAST_LENGTH: safeParseInt(\n runtime.getSetting(\"MAX_CAST_LENGTH\") as string,\n DEFAULT_MAX_CAST_LENGTH\n ),\n\n FARCASTER_POLL_INTERVAL: safeParseInt(\n runtime.getSetting(\"FARCASTER_POLL_INTERVAL\") as string,\n DEFAULT_POLL_INTERVAL\n ),\n\n ENABLE_CAST:\n runtime.getSetting(\"ENABLE_CAST\") || parseBooleanFromText(env.ENABLE_CAST || \"true\"),\n\n CAST_INTERVAL_MIN: safeParseInt(\n runtime.getSetting(\"CAST_INTERVAL_MIN\") as string,\n DEFAULT_CAST_INTERVAL_MIN\n ),\n\n CAST_INTERVAL_MAX: safeParseInt(\n runtime.getSetting(\"CAST_INTERVAL_MAX\") as string,\n DEFAULT_CAST_INTERVAL_MAX\n ),\n\n ENABLE_ACTION_PROCESSING:\n runtime.getSetting(\"ENABLE_ACTION_PROCESSING\") ||\n parseBooleanFromText(env.ENABLE_ACTION_PROCESSING || \"false\"),\n\n ACTION_INTERVAL: safeParseInt(runtime.getSetting(\"ACTION_INTERVAL\") as string, 5),\n\n CAST_IMMEDIATELY:\n runtime.getSetting(\"CAST_IMMEDIATELY\") ||\n parseBooleanFromText(env.CAST_IMMEDIATELY || \"false\"),\n\n MAX_ACTIONS_PROCESSING: safeParseInt(\n runtime.getSetting(\"MAX_ACTIONS_PROCESSING\") as string,\n 1\n ),\n\n FARCASTER_SIGNER_UUID: runtime.getSetting(\"FARCASTER_SIGNER_UUID\"),\n\n FARCASTER_NEYNAR_API_KEY: runtime.getSetting(\"FARCASTER_NEYNAR_API_KEY\"),\n\n FARCASTER_HUB_URL: runtime.getSetting(\"FARCASTER_HUB_URL\") || \"hub.pinata.cloud\",\n\n FARCASTER_MODE: runtime.getSetting(\"FARCASTER_MODE\") || \"polling\",\n };\n\n runtime.logger.debug(\n `[validateFarcasterConfig] Resolved FID: ${farcasterConfig.FARCASTER_FID}`\n );\n runtime.logger.debug(\n `[validateFarcasterConfig] Resolved Signer UUID: ${farcasterConfig.FARCASTER_SIGNER_UUID ? \"Found\" : \"Missing\"}`\n );\n runtime.logger.debug(\n `[validateFarcasterConfig] Resolved API Key: ${farcasterConfig.FARCASTER_NEYNAR_API_KEY ? \"Found\" : \"Missing\"}`\n );\n\n const config = FarcasterConfigSchema.parse(farcasterConfig);\n\n const isDryRun = config.FARCASTER_DRY_RUN;\n\n runtime.logger.info(\"Farcaster Client Configuration:\");\n runtime.logger.info(`- FID: ${config.FARCASTER_FID}`);\n runtime.logger.info(`- Dry Run Mode: ${isDryRun ? \"enabled\" : \"disabled\"}`);\n runtime.logger.info(`- Enable Cast: ${config.ENABLE_CAST ? \"enabled\" : \"disabled\"}`);\n\n if (config.ENABLE_CAST) {\n runtime.logger.info(\n `- Cast Interval: ${config.CAST_INTERVAL_MIN}-${config.CAST_INTERVAL_MAX} minutes`\n );\n runtime.logger.info(\n `- Cast Immediately: ${config.CAST_IMMEDIATELY ? \"enabled\" : \"disabled\"}`\n );\n }\n runtime.logger.info(\n `- Action Processing: ${config.ENABLE_ACTION_PROCESSING ? \"enabled\" : \"disabled\"}`\n );\n runtime.logger.info(`- Action Interval: ${config.ACTION_INTERVAL} minutes`);\n\n if (isDryRun) {\n runtime.logger.info(\n \"Farcaster client initialized in dry run mode - no actual casts should be posted\"\n );\n }\n\n return config;\n } catch (error) {\n if (error instanceof z.ZodError) {\n const errorMessages = error.issues\n .map((err) => `${err.path.join(\".\")}: ${err.message}`)\n .join(\"\\n\");\n throw new Error(`Farcaster configuration validation failed:\\n${errorMessages}`);\n }\n throw error;\n }\n}\n",
12
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\nimport { getFarcasterFid } from \"../utils/config\";\n\nconst spec = requireProviderSpec(\"farcasterProfile\");\n\nexport const farcasterProfileProvider: Provider = {\n name: spec.name,\n description: \"Provides information about the agent's Farcaster profile\",\n\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const managers = service?.getActiveManagers();\n\n if (!managers || managers.size === 0) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No managers available\");\n return {\n text: \"Farcaster profile not available.\",\n data: { available: false },\n };\n }\n\n const manager = managers.get(runtime.agentId);\n if (!manager) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No manager for this agent\");\n return {\n text: \"Farcaster profile not available for this agent.\",\n data: { available: false },\n };\n }\n\n const fid = getFarcasterFid(runtime);\n if (!fid) {\n runtime.logger.warn(\"[FarcasterProfileProvider] Invalid or missing FARCASTER_FID\");\n return {\n text: \"Invalid Farcaster FID configured.\",\n data: { available: false, error: \"Invalid FID\" },\n };\n }\n\n try {\n const profile = await manager.client.getProfile(fid);\n\n return {\n text: `Your Farcaster profile: @${profile.username} (FID: ${profile.fid}). ${profile.name ? `Display name: ${profile.name}` : \"\"}`,\n data: {\n available: true,\n fid: profile.fid,\n username: profile.username,\n name: profile.name,\n pfp: profile.pfp,\n },\n values: {\n fid: profile.fid,\n username: profile.username,\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error fetching profile:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster profile at this time.\",\n data: { available: false, error: \"Fetch failed\" },\n };\n }\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Farcaster service is not available.\",\n data: { available: false },\n };\n }\n },\n};\n",
13
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FARCASTER_SOURCE } from \"../types\";\n\nconst formatTimestamp = (timestamp: number): string => {\n return new Date(timestamp).toLocaleString(\"en-US\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n month: \"short\",\n day: \"numeric\",\n });\n};\n\nconst spec = requireProviderSpec(\"farcasterThread\");\n\nexport const farcasterThreadProvider: Provider = {\n name: spec.name,\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n\n get: async (runtime: IAgentRuntime, message: Memory, _state: State): Promise<ProviderResult> => {\n const contentForSource = message.content as Record<\n string,\n string | number | boolean | null | object | undefined\n >;\n const source =\n typeof contentForSource.source === \"string\" ? contentForSource.source : undefined;\n\n if (source !== FARCASTER_SOURCE) {\n return {\n text: \"\",\n data: {\n available: false,\n reason: `Not a Farcaster message (source=${source ?? \"unknown\"})`,\n },\n };\n }\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService | null;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n return {\n text: \"Farcaster message service not available.\",\n data: { available: false, error: \"service_unavailable\" },\n };\n }\n\n const content = message.content as {\n hash?: string;\n castHash?: string;\n metadata?: Record<string, string | undefined> | string;\n };\n const messageMetadata =\n (message.metadata as Record<string, string | undefined> | undefined) ?? {};\n const contentMetadata =\n typeof content.metadata === \"object\" &&\n content.metadata !== null &&\n !Array.isArray(content.metadata)\n ? content.metadata\n : undefined;\n const castHash =\n content.hash ||\n content.castHash ||\n contentMetadata?.castHash ||\n messageMetadata.castHash ||\n contentMetadata?.parentHash ||\n messageMetadata.parentHash;\n\n if (!castHash || typeof castHash !== \"string\") {\n return {\n text: \"Unable to resolve Farcaster cast hash for this message.\",\n data: { available: false, error: \"missing_cast_hash\" },\n };\n }\n\n const threadMessages = await messageService.getThread({\n agentId: runtime.agentId,\n castHash,\n });\n\n if (!threadMessages || threadMessages.length === 0) {\n runtime.logger.debug(\n { castHash },\n \"[FarcasterThreadProvider] No thread messages retrieved for cast.\"\n );\n return {\n text: \"No Farcaster thread context available.\",\n data: { available: false, castHash, count: 0 },\n };\n }\n\n const formattedThread = threadMessages\n .map((msg, index) => {\n const time = formatTimestamp(msg.timestamp);\n const username = msg.username || msg.userId || \"unknown\";\n const marker = index === threadMessages.length - 1 ? \"→\" : \"•\";\n const text = msg.text && msg.text.trim().length > 0 ? msg.text : \"<no text>\";\n return `${marker} [${time}] @${username}: ${text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `# Farcaster Thread Context\\n${formattedThread}`,\n data: {\n available: true,\n castHash,\n count: threadMessages.length,\n },\n values: {\n farcasterThread: formattedThread,\n farcasterCastHash: castHash,\n farcasterCurrentCastText: threadMessages[threadMessages.length - 1]?.text ?? \"\",\n farcasterParentCastText:\n threadMessages.length > 1 ? (threadMessages[threadMessages.length - 2]?.text ?? \"\") : \"\",\n },\n };\n },\n};\n",
14
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nfunction getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return \"just now\";\n if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;\n if (seconds < 86400) return `${Math.floor(seconds / 3600)}h ago`;\n return `${Math.floor(seconds / 86400)}d ago`;\n}\n\nconst spec = requireProviderSpec(\"farcasterTimeline\");\n\nexport const farcasterTimelineProvider: Provider = {\n name: spec.name,\n description: \"Provides recent casts from the agent's Farcaster timeline\",\n\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const castService = service?.getCastService(runtime.agentId);\n\n if (!castService) {\n return {\n text: \"Farcaster timeline not available.\",\n data: { available: false },\n };\n }\n\n const casts = await castService.getCasts({\n agentId: runtime.agentId,\n limit: 5,\n });\n\n if (!casts || casts.length === 0) {\n return {\n text: \"No recent casts in your timeline.\",\n data: {\n available: true,\n casts: [],\n count: 0,\n },\n };\n }\n\n const formattedCasts = casts\n .map((cast, index) => {\n const timeAgo = getTimeAgo(new Date(cast.timestamp));\n return `${index + 1}. @${cast.username} (${timeAgo}): ${cast.text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `Recent casts from your timeline:\\n${formattedCasts}`,\n data: {\n available: true,\n castCount: casts.length,\n },\n values: {\n latestCastHash: String(casts[0]?.metadata?.castHash || \"\"),\n latestCastText: casts[0]?.text || \"\",\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterTimelineProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster timeline.\",\n data: {\n available: false,\n error: error instanceof Error ? error.message : \"Unknown error\",\n },\n };\n }\n },\n};\n",
12
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\nimport { getFarcasterFid } from \"../utils/config\";\n\nconst spec = requireProviderSpec(\"farcasterProfile\");\n\nexport const farcasterProfileProvider: Provider = {\n name: spec.name,\n description: \"Provides information about the agent's Farcaster profile\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const managers = service?.getActiveManagers();\n\n if (!managers || managers.size === 0) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No managers available\");\n return {\n text: \"Farcaster profile not available.\",\n data: { available: false },\n };\n }\n\n const manager = managers.get(runtime.agentId);\n if (!manager) {\n runtime.logger.debug(\"[FarcasterProfileProvider] No manager for this agent\");\n return {\n text: \"Farcaster profile not available for this agent.\",\n data: { available: false },\n };\n }\n\n const fid = getFarcasterFid(runtime);\n if (!fid) {\n runtime.logger.warn(\"[FarcasterProfileProvider] Invalid or missing FARCASTER_FID\");\n return {\n text: \"Invalid Farcaster FID configured.\",\n data: { available: false, error: \"Invalid FID\" },\n };\n }\n\n try {\n const profile = await manager.client.getProfile(fid);\n\n return {\n text: `Your Farcaster profile: @${profile.username} (FID: ${profile.fid}). ${profile.name ? `Display name: ${profile.name}` : \"\"}`,\n data: {\n available: true,\n fid: profile.fid,\n username: profile.username,\n name: profile.name,\n pfp: profile.pfp,\n },\n values: {\n fid: profile.fid,\n username: profile.username,\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error fetching profile:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster profile at this time.\",\n data: { available: false, error: \"Fetch failed\" },\n };\n }\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterProfileProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Farcaster service is not available.\",\n data: { available: false },\n };\n }\n },\n};\n",
13
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME, FARCASTER_SOURCE } from \"../types\";\n\nconst formatTimestamp = (timestamp: number): string => {\n return new Date(timestamp).toLocaleString(\"en-US\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n month: \"short\",\n day: \"numeric\",\n });\n};\n\nconst spec = requireProviderSpec(\"farcasterThread\");\n\nexport const farcasterThreadProvider: Provider = {\n name: spec.name,\n description:\n \"Provides thread context for Farcaster casts so the agent can reference the full conversation.\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, message: Memory, _state: State): Promise<ProviderResult> => {\n const contentForSource = message.content as Record<\n string,\n string | number | boolean | null | object | undefined\n >;\n const source =\n typeof contentForSource.source === \"string\" ? contentForSource.source : undefined;\n\n if (source !== FARCASTER_SOURCE) {\n return {\n text: \"\",\n data: {\n available: false,\n reason: `Not a Farcaster message (source=${source ?? \"unknown\"})`,\n },\n };\n }\n\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService | null;\n const messageService = service?.getMessageService(runtime.agentId);\n\n if (!messageService) {\n return {\n text: \"Farcaster message service not available.\",\n data: { available: false, error: \"service_unavailable\" },\n };\n }\n\n const content = message.content as {\n hash?: string;\n castHash?: string;\n metadata?: Record<string, string | undefined> | string;\n };\n const messageMetadata =\n (message.metadata as Record<string, string | undefined> | undefined) ?? {};\n const contentMetadata =\n typeof content.metadata === \"object\" &&\n content.metadata !== null &&\n !Array.isArray(content.metadata)\n ? content.metadata\n : undefined;\n const castHash =\n content.hash ||\n content.castHash ||\n contentMetadata?.castHash ||\n messageMetadata.castHash ||\n contentMetadata?.parentHash ||\n messageMetadata.parentHash;\n\n if (!castHash || typeof castHash !== \"string\") {\n return {\n text: \"Unable to resolve Farcaster cast hash for this message.\",\n data: { available: false, error: \"missing_cast_hash\" },\n };\n }\n\n const threadMessages = await messageService.getThread({\n agentId: runtime.agentId,\n castHash,\n });\n\n if (!threadMessages || threadMessages.length === 0) {\n runtime.logger.debug(\n { castHash },\n \"[FarcasterThreadProvider] No thread messages retrieved for cast.\"\n );\n return {\n text: \"No Farcaster thread context available.\",\n data: { available: false, castHash, count: 0 },\n };\n }\n\n const formattedThread = threadMessages\n .map((msg, index) => {\n const time = formatTimestamp(msg.timestamp);\n const username = msg.username || msg.userId || \"unknown\";\n const marker = index === threadMessages.length - 1 ? \"→\" : \"•\";\n const text = msg.text && msg.text.trim().length > 0 ? msg.text : \"<no text>\";\n return `${marker} [${time}] @${username}: ${text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `# Farcaster Thread Context\\n${formattedThread}`,\n data: {\n available: true,\n castHash,\n count: threadMessages.length,\n },\n values: {\n farcasterThread: formattedThread,\n farcasterCastHash: castHash,\n farcasterCurrentCastText: threadMessages[threadMessages.length - 1]?.text ?? \"\",\n farcasterParentCastText:\n threadMessages.length > 1 ? (threadMessages[threadMessages.length - 2]?.text ?? \"\") : \"\",\n },\n };\n },\n};\n",
14
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport { requireProviderSpec } from \"../generated/specs/spec-helpers\";\nimport type { FarcasterService } from \"../services/FarcasterService\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\n\nfunction getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return \"just now\";\n if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;\n if (seconds < 86400) return `${Math.floor(seconds / 3600)}h ago`;\n return `${Math.floor(seconds / 86400)}d ago`;\n}\n\nconst spec = requireProviderSpec(\"farcasterTimeline\");\n\nexport const farcasterTimelineProvider: Provider = {\n name: spec.name,\n description: \"Provides recent casts from the agent's Farcaster timeline\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n try {\n const service = runtime.getService(FARCASTER_SERVICE_NAME) as FarcasterService;\n const castService = service?.getCastService(runtime.agentId);\n\n if (!castService) {\n return {\n text: \"Farcaster timeline not available.\",\n data: { available: false },\n };\n }\n\n const casts = await castService.getCasts({\n agentId: runtime.agentId,\n limit: 5,\n });\n\n if (!casts || casts.length === 0) {\n return {\n text: \"No recent casts in your timeline.\",\n data: {\n available: true,\n casts: [],\n count: 0,\n },\n };\n }\n\n const formattedCasts = casts\n .map((cast, index) => {\n const timeAgo = getTimeAgo(new Date(cast.timestamp));\n return `${index + 1}. @${cast.username} (${timeAgo}): ${cast.text}`;\n })\n .join(\"\\n\");\n\n return {\n text: `Recent casts from your timeline:\\n${formattedCasts}`,\n data: {\n available: true,\n castCount: casts.length,\n },\n values: {\n latestCastHash: String(casts[0]?.metadata?.castHash || \"\"),\n latestCastText: casts[0]?.text || \"\",\n },\n };\n } catch (error) {\n runtime.logger.error(\n \"[FarcasterTimelineProvider] Error:\",\n typeof error === \"string\" ? error : (error as Error).message\n );\n return {\n text: \"Unable to fetch Farcaster timeline.\",\n data: {\n available: false,\n error: error instanceof Error ? error.message : \"Unknown error\",\n },\n };\n }\n },\n};\n",
15
15
  "import { farcasterProfileProvider } from \"./profileProvider\";\nimport { farcasterThreadProvider } from \"./threadProvider\";\nimport { farcasterTimelineProvider } from \"./timelineProvider\";\n\nexport { farcasterProfileProvider, farcasterThreadProvider, farcasterTimelineProvider };\nexport const farcasterProviders = [\n farcasterProfileProvider,\n farcasterTimelineProvider,\n farcasterThreadProvider,\n];\n",
16
16
  "import type { IAgentRuntime, Route, RouteRequest, RouteResponse } from \"@elizaos/core\";\n\nexport const farcasterWebhookRoutes: Route[] = [\n {\n type: \"POST\",\n name: \"Farcaster Webhook Handler\",\n path: \"/webhook\",\n handler: async (req: RouteRequest, res: RouteResponse, runtime: IAgentRuntime) => {\n try {\n const webhookData = req.body as { type?: string };\n const eventType = webhookData.type;\n\n const farcasterService = runtime?.getService?.(\"farcaster\") as {\n managers?: {\n get?: (id: string) => {\n interactions?: {\n mode?: string;\n processWebhookData?: (data: { type?: string }) => Promise<void>;\n };\n };\n };\n };\n\n if (farcasterService) {\n const agentManager = farcasterService.managers?.get?.(runtime.agentId ?? \"\");\n\n if (agentManager?.interactions) {\n if (agentManager.interactions.mode === \"webhook\") {\n await agentManager.interactions.processWebhookData?.(webhookData);\n }\n }\n }\n\n res.status(200).json({\n success: true,\n message: \"Webhook processed successfully\",\n event_type: eventType,\n timestamp: new Date().toISOString(),\n });\n } catch (error) {\n if (runtime.logger) {\n runtime.logger.error(\n error instanceof Error ? error : new Error(String(error)),\n \"Webhook processing error\"\n );\n }\n res.status(500).json({\n success: false,\n error: \"Internal server error\",\n });\n }\n },\n },\n];\n",
17
17
  "import { type IAgentRuntime, Service, type UUID } from \"@elizaos/core\";\nimport { FarcasterAgentManager } from \"../managers/AgentManager\";\nimport { FARCASTER_SERVICE_NAME } from \"../types\";\nimport { getFarcasterFid, hasFarcasterEnabled, validateFarcasterConfig } from \"../utils/config\";\nimport { FarcasterCastService } from \"./CastService\";\nimport { FarcasterMessageService } from \"./MessageService\";\n\nexport class FarcasterService extends Service {\n private static instance?: FarcasterService;\n private managers = new Map<UUID, FarcasterAgentManager>();\n private messageServices = new Map<UUID, FarcasterMessageService>();\n private castServices = new Map<UUID, FarcasterCastService>();\n\n static serviceType = FARCASTER_SERVICE_NAME;\n\n readonly description = \"Farcaster integration service for sending and receiving casts\";\n readonly capabilityDescription = \"The agent is able to send and receive messages on farcaster\";\n\n private static getInstance(): FarcasterService {\n if (!FarcasterService.instance) {\n FarcasterService.instance = new FarcasterService();\n }\n return FarcasterService.instance;\n }\n\n async initialize(runtime: IAgentRuntime): Promise<void> {\n await FarcasterService.start(runtime);\n }\n\n static async start(runtime: IAgentRuntime): Promise<Service> {\n const service = FarcasterService.getInstance();\n let manager = service.managers.get(runtime.agentId);\n\n if (manager) {\n runtime.logger.warn({ agentId: runtime.agentId }, \"Farcaster service already started\");\n return service;\n }\n\n if (!hasFarcasterEnabled(runtime)) {\n runtime.logger.debug({ agentId: runtime.agentId }, \"Farcaster service not enabled\");\n return service;\n }\n\n const farcasterConfig = validateFarcasterConfig(runtime);\n manager = new FarcasterAgentManager(runtime, farcasterConfig);\n service.managers.set(runtime.agentId, manager);\n\n const messageService = new FarcasterMessageService(manager.client, runtime);\n const castService = new FarcasterCastService(manager.client, runtime);\n\n service.messageServices.set(runtime.agentId, messageService);\n service.castServices.set(runtime.agentId, castService);\n\n await manager.start();\n\n runtime.logger.success({ agentId: runtime.agentId }, \"Farcaster client started\");\n return service;\n }\n\n static async stop(runtime: IAgentRuntime): Promise<void> {\n const service = FarcasterService.getInstance();\n const manager = service.managers.get(runtime.agentId);\n if (manager) {\n await manager.stop();\n service.managers.delete(runtime.agentId);\n service.messageServices.delete(runtime.agentId);\n service.castServices.delete(runtime.agentId);\n runtime.logger.info({ agentId: runtime.agentId }, \"Farcaster client stopped\");\n } else {\n runtime.logger.debug({ agentId: runtime.agentId }, \"Farcaster service not running\");\n }\n }\n\n async stop(): Promise<void> {\n for (const manager of Array.from(this.managers.values())) {\n const agentId = manager.runtime.agentId;\n manager.runtime.logger.debug(\"Stopping Farcaster service\");\n try {\n await FarcasterService.stop(manager.runtime);\n } catch (error) {\n manager.runtime.logger.error({ agentId, error }, \"Error stopping Farcaster service\");\n }\n }\n }\n\n getMessageService(agentId: UUID): FarcasterMessageService | undefined {\n return this.messageServices.get(agentId);\n }\n\n getCastService(agentId: UUID): FarcasterCastService | undefined {\n return this.castServices.get(agentId);\n }\n\n async healthCheck(): Promise<{\n healthy: boolean;\n details: Record<string, unknown>;\n }> {\n const managerStatuses: Record<string, unknown> = {};\n let overallHealthy = true;\n\n for (const [agentId, manager] of Array.from(this.managers.entries())) {\n try {\n const fid = getFarcasterFid(manager.runtime);\n if (!fid) {\n throw new Error(\"FARCASTER_FID not configured\");\n }\n const profile = await manager.client.getProfile(fid);\n managerStatuses[agentId] = {\n status: \"healthy\",\n fid: profile.fid,\n username: profile.username,\n };\n } catch (error) {\n managerStatuses[agentId] = {\n status: \"unhealthy\",\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n overallHealthy = false;\n }\n }\n\n return {\n healthy: overallHealthy,\n details: {\n activeManagers: this.managers.size,\n managerStatuses,\n },\n };\n }\n\n getActiveManagers(): Map<UUID, FarcasterAgentManager> {\n return new Map(this.managers);\n }\n}\n",
@@ -28,7 +28,7 @@
28
28
  "import { createUniqueUuid, type IAgentRuntime, type UUID } from \"@elizaos/core\";\nimport type { FarcasterClient } from \"../client/FarcasterClient\";\nimport { type Cast, FARCASTER_SOURCE, FarcasterEventTypes, FarcasterMessageType } from \"../types\";\nimport { castUuid, neynarCastToCast } from \"../utils\";\nimport { getFarcasterFid } from \"../utils/config\";\n\ntype MessageMetadata = Record<string, string | number | boolean | null | undefined>;\n\ninterface Message {\n id: string;\n agentId: UUID;\n roomId: string;\n userId: string;\n username: string;\n text: string;\n type: FarcasterMessageType;\n timestamp: number;\n inReplyTo?: string;\n metadata?: MessageMetadata;\n}\n\ninterface GetMessagesOptions {\n agentId: UUID;\n roomId?: string;\n limit?: number;\n}\n\ninterface SendMessageOptions {\n agentId: UUID;\n roomId: string;\n text: string;\n type: string;\n replyToId?: string;\n metadata?: MessageMetadata;\n}\n\ninterface IMessageService {\n getMessages(options: GetMessagesOptions): Promise<Message[]>;\n sendMessage(options: SendMessageOptions): Promise<Message>;\n getMessage(messageId: string, agentId: UUID): Promise<Message | null>;\n}\n\nexport class FarcasterMessageService implements IMessageService {\n constructor(\n private client: FarcasterClient,\n private runtime: IAgentRuntime\n ) {}\n\n private castToMessage(cast: Cast, agentId: UUID, extraMetadata?: MessageMetadata): Message {\n return {\n id: castUuid({ hash: cast.hash, agentId }),\n agentId,\n roomId: createUniqueUuid(this.runtime, cast.threadId || cast.hash),\n userId: cast.profile.fid.toString(),\n username: cast.profile.username,\n text: cast.text,\n type: cast.inReplyTo ? FarcasterMessageType.REPLY : FarcasterMessageType.CAST,\n timestamp: cast.timestamp.getTime(),\n inReplyTo: cast.inReplyTo ? castUuid({ hash: cast.inReplyTo.hash, agentId }) : undefined,\n metadata: {\n source: FARCASTER_SOURCE,\n castHash: cast.hash,\n threadId: cast.threadId,\n authorFid: cast.authorFid,\n ...(extraMetadata || {}),\n },\n };\n }\n\n async getMessages(options: GetMessagesOptions): Promise<Message[]> {\n try {\n const { agentId, roomId, limit = 20 } = options;\n\n const fid = getFarcasterFid(this.runtime);\n if (!fid) {\n this.runtime.logger.error(\"[Farcaster] FARCASTER_FID is not configured\");\n return [];\n }\n\n const { timeline } = await this.client.getTimeline({\n fid,\n pageSize: limit,\n });\n\n const messages: Message[] = timeline\n .map((cast) => this.castToMessage(cast, agentId))\n .filter((message) => {\n if (roomId) {\n return message.roomId === roomId;\n }\n return true;\n });\n\n return messages;\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error fetching messages\");\n return [];\n }\n }\n\n async sendMessage(options: SendMessageOptions): Promise<Message> {\n try {\n const { text, type, roomId, replyToId, agentId } = options;\n\n let inReplyTo: { hash: string; fid: number } | undefined;\n if (replyToId && type === FarcasterMessageType.REPLY) {\n const parentHash =\n typeof options.metadata?.parentHash === \"string\"\n ? options.metadata.parentHash\n : replyToId;\n const fid = getFarcasterFid(this.runtime);\n if (!fid) {\n throw new Error(\"FARCASTER_FID is not configured\");\n }\n inReplyTo = {\n hash: parentHash,\n fid,\n };\n }\n\n const casts = await this.client.sendCast({\n content: { text },\n inReplyTo,\n });\n\n if (casts.length === 0) {\n throw new Error(\"No cast was created\");\n }\n\n const cast = neynarCastToCast(casts[0]);\n const message = this.castToMessage(cast, agentId, options.metadata);\n message.roomId = roomId;\n message.type = type as FarcasterMessageType;\n\n const castGeneratedPayload = {\n runtime: this.runtime,\n source: FARCASTER_SOURCE,\n castHash: cast.hash,\n ...(cast.threadId ? { threadId: cast.threadId } : {}),\n messageId: message.id,\n roomId,\n };\n await this.runtime.emitEvent(\n FarcasterEventTypes.CAST_GENERATED as string,\n castGeneratedPayload\n );\n\n return message;\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error sending message\");\n throw err;\n }\n }\n\n async deleteMessage(_messageId: string, _agentId: UUID): Promise<void> {\n this.runtime.logger.warn(\"[Farcaster] Cast deletion is not supported by the Farcaster API\");\n }\n\n async getMessage(messageId: string, agentId: UUID): Promise<Message | null> {\n try {\n const castHash = messageId;\n\n const cast = await this.client.getCast(castHash);\n const farcasterCast = neynarCastToCast(cast);\n\n return this.castToMessage(farcasterCast, agentId);\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error fetching message\");\n return null;\n }\n }\n\n async getThread(params: { agentId: UUID; castHash: string }): Promise<Message[]> {\n try {\n const thread: Message[] = [];\n const visited = new Set<string>();\n let currentHash: string | undefined = params.castHash;\n\n while (currentHash) {\n if (visited.has(currentHash)) {\n break;\n }\n visited.add(currentHash);\n\n const cast = neynarCastToCast(await this.client.getCast(currentHash));\n thread.unshift(this.castToMessage(cast, params.agentId));\n\n currentHash = cast.inReplyTo?.hash;\n }\n\n return thread;\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n this.runtime.logger.error(err, \"[Farcaster] Error fetching thread\");\n return [];\n }\n }\n\n async markAsRead(_messageIds: string[], _agentId: UUID): Promise<void> {\n this.runtime.logger.debug(\"[Farcaster] Mark as read is not applicable for Farcaster casts\");\n }\n}\n",
29
29
  "import type { Plugin } from \"@elizaos/core\";\nimport { farcasterActions } from \"./actions\";\nimport { farcasterProviders } from \"./providers\";\nimport { farcasterWebhookRoutes } from \"./routes/webhook\";\nimport { FarcasterService } from \"./services/FarcasterService\";\n\nexport { FarcasterClient } from \"./client/FarcasterClient\";\nexport {\n EmbedManager,\n isEmbedCast,\n isEmbedUrl,\n type ProcessedEmbed,\n} from \"./managers/EmbedManager\";\nexport { FarcasterService } from \"./services/FarcasterService\";\nexport type {\n Cast,\n CastEmbed,\n CastId,\n FarcasterConfig,\n FarcasterEventTypes,\n FarcasterMessageType,\n FidRequest,\n Profile,\n} from \"./types\";\n\nexport const farcasterPlugin: Plugin = {\n name: \"farcaster\",\n description: \"Farcaster client plugin for sending and receiving casts\",\n services: [FarcasterService],\n actions: farcasterActions,\n providers: farcasterProviders,\n routes: farcasterWebhookRoutes,\n};\n\nexport default farcasterPlugin;\n"
30
30
  ],
31
- "mappings": "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",
32
- "debugId": "00C2C67B6CDA2EE964756E2164756E21",
31
+ "mappings": "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",
32
+ "debugId": "A849297018E93F7C64756E2164756E21",
33
33
  "names": []
34
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-farcaster",
3
- "version": "2.0.0-alpha.4",
3
+ "version": "2.0.0-alpha.6",
4
4
  "type": "module",
5
5
  "main": "dist/node/index.node.js",
6
6
  "module": "dist/node/index.node.js",
@@ -53,8 +53,8 @@
53
53
  "format": "bunx @biomejs/biome format --write .",
54
54
  "format:check": "bunx @biomejs/biome format .",
55
55
  "typecheck": "tsc --noEmit -p tsconfig.json",
56
- "test": "vitest run __tests__/",
57
- "test:unit": "vitest run __tests__/",
56
+ "test": "npx -y vitest@4.0.18 run --passWithNoTests",
57
+ "test:unit": "npx -y vitest@4.0.18 run __tests__ --passWithNoTests",
58
58
  "test:integration": "echo 'No integration tests'",
59
59
  "test:watch": "vitest",
60
60
  "lint": "bunx @biomejs/biome check --write --unsafe .",
@@ -173,7 +173,7 @@
173
173
  }
174
174
  },
175
175
  "gitHead": "646c632924826e2b75c2304a75ee56959fe4a460",
176
- "milaidy": {
176
+ "milady": {
177
177
  "platforms": [
178
178
  "browser",
179
179
  "node"