@jam-nodes/nodes 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/ai/analyze-posts.d.ts +175 -0
  2. package/dist/ai/analyze-posts.d.ts.map +1 -0
  3. package/dist/ai/analyze-posts.js +172 -0
  4. package/dist/ai/analyze-posts.js.map +1 -0
  5. package/dist/ai/draft-emails.d.ts +45 -0
  6. package/dist/ai/draft-emails.d.ts.map +1 -0
  7. package/dist/ai/draft-emails.js +134 -0
  8. package/dist/ai/draft-emails.js.map +1 -0
  9. package/dist/ai/index.d.ts +4 -0
  10. package/dist/ai/index.d.ts.map +1 -0
  11. package/dist/ai/index.js +4 -0
  12. package/dist/ai/index.js.map +1 -0
  13. package/dist/ai/keyword-generator.d.ts +37 -0
  14. package/dist/ai/keyword-generator.d.ts.map +1 -0
  15. package/dist/ai/keyword-generator.js +124 -0
  16. package/dist/ai/keyword-generator.js.map +1 -0
  17. package/dist/index.d.ts +323 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +29 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/integrations/apollo/index.d.ts +2 -0
  22. package/dist/integrations/apollo/index.d.ts.map +1 -0
  23. package/dist/integrations/apollo/index.js +2 -0
  24. package/dist/integrations/apollo/index.js.map +1 -0
  25. package/dist/integrations/apollo/search-contacts.d.ts +158 -0
  26. package/dist/integrations/apollo/search-contacts.d.ts.map +1 -0
  27. package/dist/integrations/apollo/search-contacts.js +161 -0
  28. package/dist/integrations/apollo/search-contacts.js.map +1 -0
  29. package/dist/integrations/dataforseo/index.d.ts +3 -0
  30. package/dist/integrations/dataforseo/index.d.ts.map +1 -0
  31. package/dist/integrations/dataforseo/index.js +3 -0
  32. package/dist/integrations/dataforseo/index.js.map +1 -0
  33. package/dist/integrations/dataforseo/keyword-research.d.ts +96 -0
  34. package/dist/integrations/dataforseo/keyword-research.d.ts.map +1 -0
  35. package/dist/integrations/dataforseo/keyword-research.js +115 -0
  36. package/dist/integrations/dataforseo/keyword-research.js.map +1 -0
  37. package/dist/integrations/dataforseo/seo-audit.d.ts +257 -0
  38. package/dist/integrations/dataforseo/seo-audit.d.ts.map +1 -0
  39. package/dist/integrations/dataforseo/seo-audit.js +266 -0
  40. package/dist/integrations/dataforseo/seo-audit.js.map +1 -0
  41. package/dist/integrations/index.d.ts +5 -0
  42. package/dist/integrations/index.d.ts.map +1 -0
  43. package/dist/integrations/index.js +9 -0
  44. package/dist/integrations/index.js.map +1 -0
  45. package/dist/integrations/openai/index.d.ts +2 -0
  46. package/dist/integrations/openai/index.d.ts.map +1 -0
  47. package/dist/integrations/openai/index.js +2 -0
  48. package/dist/integrations/openai/index.js.map +1 -0
  49. package/dist/integrations/openai/sora-video.d.ts +89 -0
  50. package/dist/integrations/openai/sora-video.d.ts.map +1 -0
  51. package/dist/integrations/openai/sora-video.js +93 -0
  52. package/dist/integrations/openai/sora-video.js.map +1 -0
  53. package/dist/integrations/social/index.d.ts +4 -0
  54. package/dist/integrations/social/index.d.ts.map +1 -0
  55. package/dist/integrations/social/index.js +4 -0
  56. package/dist/integrations/social/index.js.map +1 -0
  57. package/dist/integrations/social/linkedin-monitor.d.ts +166 -0
  58. package/dist/integrations/social/linkedin-monitor.d.ts.map +1 -0
  59. package/dist/integrations/social/linkedin-monitor.js +167 -0
  60. package/dist/integrations/social/linkedin-monitor.js.map +1 -0
  61. package/dist/integrations/social/reddit-monitor.d.ts +177 -0
  62. package/dist/integrations/social/reddit-monitor.d.ts.map +1 -0
  63. package/dist/integrations/social/reddit-monitor.js +162 -0
  64. package/dist/integrations/social/reddit-monitor.js.map +1 -0
  65. package/dist/integrations/social/twitter-monitor.d.ts +186 -0
  66. package/dist/integrations/social/twitter-monitor.d.ts.map +1 -0
  67. package/dist/integrations/social/twitter-monitor.js +174 -0
  68. package/dist/integrations/social/twitter-monitor.js.map +1 -0
  69. package/dist/prompts/analyze-posts.d.ts +31 -0
  70. package/dist/prompts/analyze-posts.d.ts.map +1 -0
  71. package/dist/prompts/analyze-posts.js +87 -0
  72. package/dist/prompts/analyze-posts.js.map +1 -0
  73. package/dist/prompts/draft-emails.d.ts +19 -0
  74. package/dist/prompts/draft-emails.d.ts.map +1 -0
  75. package/dist/prompts/draft-emails.js +117 -0
  76. package/dist/prompts/draft-emails.js.map +1 -0
  77. package/dist/prompts/index.d.ts +4 -0
  78. package/dist/prompts/index.d.ts.map +1 -0
  79. package/dist/prompts/index.js +7 -0
  80. package/dist/prompts/index.js.map +1 -0
  81. package/dist/prompts/keyword-generator.d.ts +17 -0
  82. package/dist/prompts/keyword-generator.d.ts.map +1 -0
  83. package/dist/prompts/keyword-generator.js +61 -0
  84. package/dist/prompts/keyword-generator.js.map +1 -0
  85. package/dist/schemas/ai.d.ts +1212 -0
  86. package/dist/schemas/ai.d.ts.map +1 -0
  87. package/dist/schemas/ai.js +119 -0
  88. package/dist/schemas/ai.js.map +1 -0
  89. package/dist/schemas/index.d.ts +2 -0
  90. package/dist/schemas/index.d.ts.map +1 -0
  91. package/dist/schemas/index.js +9 -0
  92. package/dist/schemas/index.js.map +1 -0
  93. package/package.json +14 -6
@@ -0,0 +1,124 @@
1
+ import { defineNode } from '@jam-nodes/core';
2
+ import { SocialKeywordGeneratorInputSchema, SocialKeywordGeneratorOutputSchema, } from '../schemas/ai';
3
+ import { buildKeywordPrompt } from '../prompts/keyword-generator';
4
+ // Re-export schemas for convenience
5
+ export { SocialKeywordGeneratorInputSchema, SocialKeywordGeneratorOutputSchema, } from '../schemas/ai';
6
+ /**
7
+ * Social Keyword Generator Node
8
+ *
9
+ * Uses Claude to generate platform-specific search keywords from a user's
10
+ * natural language topic description. Outputs ready-to-use search queries
11
+ * for Twitter, Reddit, and LinkedIn.
12
+ *
13
+ * Requires `context.services.anthropic` to be provided by the host application.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const result = await socialKeywordGeneratorNode.executor({
18
+ * topic: 'People frustrated with project management tools',
19
+ * userKeywords: ['asana', 'monday.com']
20
+ * }, context);
21
+ * ```
22
+ */
23
+ export const socialKeywordGeneratorNode = defineNode({
24
+ type: 'social_keyword_generator',
25
+ name: 'Social Keyword Generator',
26
+ description: 'Generate platform-specific search keywords using AI for social monitoring',
27
+ category: 'action',
28
+ inputSchema: SocialKeywordGeneratorInputSchema,
29
+ outputSchema: SocialKeywordGeneratorOutputSchema,
30
+ estimatedDuration: 15,
31
+ capabilities: {
32
+ supportsRerun: true,
33
+ },
34
+ executor: async (input, context) => {
35
+ try {
36
+ // Require Anthropic service
37
+ if (!context.services?.anthropic) {
38
+ return {
39
+ success: false,
40
+ error: 'Anthropic service not configured. Please provide context.services.anthropic.',
41
+ };
42
+ }
43
+ // Build prompt using helper
44
+ const prompt = buildKeywordPrompt(input.topic, input.userKeywords);
45
+ // Call Claude to generate keywords
46
+ const responseText = await context.services.anthropic.generateText({
47
+ prompt,
48
+ model: 'claude-sonnet-4-20250514',
49
+ maxTokens: 2000,
50
+ });
51
+ // Parse JSON from response
52
+ const jsonMatch = responseText.match(/\{[\s\S]*\}/);
53
+ if (!jsonMatch) {
54
+ return { success: false, error: 'Could not parse keyword response' };
55
+ }
56
+ let parsed;
57
+ try {
58
+ parsed = JSON.parse(jsonMatch[0]);
59
+ }
60
+ catch {
61
+ return { success: false, error: 'Failed to parse keyword JSON response' };
62
+ }
63
+ // Merge user keywords into generated keywords (deduplicated)
64
+ const mergedTwitterKeywords = [...new Set([
65
+ ...parsed.twitter.keywords,
66
+ ...(input.userKeywords || []),
67
+ ])];
68
+ const mergedRedditKeywords = [...new Set([
69
+ ...parsed.reddit.keywords,
70
+ ...(input.userKeywords || []),
71
+ ])];
72
+ const mergedLinkedInKeywords = [...new Set([
73
+ ...parsed.linkedin.keywords,
74
+ ...(input.userKeywords || []),
75
+ ])];
76
+ // Collect all unique keywords
77
+ const allKeywords = [...new Set([
78
+ ...mergedTwitterKeywords,
79
+ ...mergedRedditKeywords,
80
+ ...mergedLinkedInKeywords,
81
+ ])];
82
+ const output = {
83
+ topic: input.topic,
84
+ twitter: {
85
+ keywords: mergedTwitterKeywords,
86
+ searchQuery: parsed.twitter.searchQuery,
87
+ },
88
+ reddit: {
89
+ keywords: mergedRedditKeywords,
90
+ },
91
+ linkedin: {
92
+ keywords: mergedLinkedInKeywords,
93
+ searchQueries: parsed.linkedin.searchQueries,
94
+ },
95
+ allKeywords,
96
+ };
97
+ // Optional: send notification if service available
98
+ if (context.services?.notifications) {
99
+ await context.services.notifications.send({
100
+ userId: context.userId,
101
+ title: 'Keywords Generated',
102
+ message: `Generated ${allKeywords.length} keywords for "${input.topic}"`,
103
+ data: {
104
+ totalKeywords: allKeywords.length,
105
+ twitterKeywords: mergedTwitterKeywords.length,
106
+ redditKeywords: mergedRedditKeywords.length,
107
+ linkedinKeywords: mergedLinkedInKeywords.length,
108
+ },
109
+ });
110
+ }
111
+ return {
112
+ success: true,
113
+ output,
114
+ };
115
+ }
116
+ catch (error) {
117
+ return {
118
+ success: false,
119
+ error: error instanceof Error ? error.message : 'Failed to generate keywords',
120
+ };
121
+ }
122
+ },
123
+ });
124
+ //# sourceMappingURL=keyword-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-generator.js","sourceRoot":"","sources":["../../src/ai/keyword-generator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,10 @@ export { mapNode, filterNode, MapInputSchema, MapOutputSchema, FilterInputSchema
4
4
  export type { MapInput, MapOutput, FilterInput, FilterOutput, FilterOperator, } from './transform/index.js';
5
5
  export { httpRequestNode, HttpRequestInputSchema, HttpRequestOutputSchema, HttpMethodSchema, } from './examples/index.js';
6
6
  export type { HttpRequestInput, HttpRequestOutput, HttpMethod, } from './examples/index.js';
7
+ export { redditMonitorNode, RedditMonitorInputSchema, RedditMonitorOutputSchema, twitterMonitorNode, TwitterMonitorInputSchema, TwitterMonitorOutputSchema, linkedinMonitorNode, LinkedInMonitorInputSchema, LinkedInMonitorOutputSchema, soraVideoNode, SoraVideoInputSchema, SoraVideoOutputSchema, seoKeywordResearchNode, SeoKeywordResearchInputSchema, SeoKeywordResearchOutputSchema, seoAuditNode, SeoAuditInputSchema, SeoAuditOutputSchema, searchContactsNode, SearchContactsInputSchema, SearchContactsOutputSchema, } from './integrations/index.js';
8
+ export type { RedditMonitorInput, RedditMonitorOutput, RedditPost, TwitterMonitorInput, TwitterMonitorOutput, TwitterPost, LinkedInMonitorInput, LinkedInMonitorOutput, LinkedInPost, SoraVideoInput, SoraVideoOutput, SeoKeywordResearchInput, SeoKeywordResearchOutput, SeoAuditInput, SeoAuditOutput, SeoIssue, SearchContactsInput, SearchContactsOutput, } from './integrations/index.js';
9
+ export { socialKeywordGeneratorNode, SocialKeywordGeneratorInputSchema, SocialKeywordGeneratorOutputSchema, draftEmailsNode, DraftEmailsInputSchema, DraftEmailsOutputSchema, DraftEmailInfoSchema, ContactSchema, socialAiAnalyzeNode, SocialAiAnalyzeInputSchema, SocialAiAnalyzeOutputSchema, } from './ai/index.js';
10
+ export type { SocialKeywordGeneratorInput, SocialKeywordGeneratorOutput, DraftEmailsInput, DraftEmailsOutput, DraftEmailInfo, Contact, SocialAiAnalyzeInput, SocialAiAnalyzeOutput, SocialPost, AnalyzedPost, } from './ai/index.js';
7
11
  /**
8
12
  * All built-in nodes as an array for easy registration
9
13
  */
@@ -58,5 +62,324 @@ export declare const builtInNodes: (import("@jam-nodes/core").NodeDefinition<{
58
62
  statusText: string;
59
63
  ok: boolean;
60
64
  body?: unknown;
65
+ }> | import("@jam-nodes/core").NodeDefinition<{
66
+ keywords: string[];
67
+ timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
68
+ sortBy?: "relevance" | "hot" | "top" | "new" | "comments" | undefined;
69
+ maxResults?: number | undefined;
70
+ }, {
71
+ posts: import("./index.js").RedditPost[];
72
+ totalFound: number;
73
+ subredditsSearched: string[];
74
+ }> | import("@jam-nodes/core").NodeDefinition<{
75
+ keywords: string[];
76
+ maxResults?: number | undefined;
77
+ excludeRetweets?: boolean | undefined;
78
+ minLikes?: number | undefined;
79
+ lang?: string | undefined;
80
+ sinceDays?: number | undefined;
81
+ }, {
82
+ posts: import("./index.js").TwitterPost[];
83
+ totalFound: number;
84
+ hasMore: boolean;
85
+ }> | import("@jam-nodes/core").NodeDefinition<{
86
+ keywords: string[];
87
+ timeFilter?: string | undefined;
88
+ maxResults?: number | undefined;
89
+ }, {
90
+ posts: import("./index.js").LinkedInPost[];
91
+ totalFound: number;
92
+ }> | import("@jam-nodes/core").NodeDefinition<{
93
+ prompt: string;
94
+ model?: "sora-2" | "sora-2-pro" | undefined;
95
+ seconds?: 8 | 4 | 12 | undefined;
96
+ size?: "720x1280" | "1280x720" | "1024x1792" | "1792x1024" | undefined;
97
+ }, {
98
+ video: {
99
+ url: string;
100
+ model: string;
101
+ size: string;
102
+ durationSeconds: number;
103
+ };
104
+ processingTimeSeconds: number;
105
+ }> | import("@jam-nodes/core").NodeDefinition<{
106
+ seedKeywords: string[];
107
+ limit?: number | undefined;
108
+ locationCode?: number | undefined;
109
+ languageCode?: string | undefined;
110
+ }, {
111
+ keywords: {
112
+ keyword: string;
113
+ searchVolume: number;
114
+ keywordDifficulty: number;
115
+ cpc: string;
116
+ searchIntent: "informational" | "commercial" | "navigational" | "transactional";
117
+ }[];
118
+ totalResearched: number;
119
+ }> | import("@jam-nodes/core").NodeDefinition<{
120
+ url?: string | undefined;
121
+ }, {
122
+ issues: {
123
+ id: string;
124
+ title: string;
125
+ description: string;
126
+ score: number;
127
+ displayValue?: string | undefined;
128
+ }[];
129
+ url: string | null;
130
+ overallScore: number | null;
131
+ passedAudits: number;
132
+ failedAudits: number;
133
+ skipped?: boolean | undefined;
134
+ awaitingUrl?: boolean | undefined;
135
+ meta?: {
136
+ title?: string | undefined;
137
+ description?: string | undefined;
138
+ canonical?: string | undefined;
139
+ htags?: Record<string, string[]> | undefined;
140
+ } | undefined;
141
+ performance?: {
142
+ timeToInteractive?: number | undefined;
143
+ largestContentfulPaint?: number | undefined;
144
+ domComplete?: number | undefined;
145
+ } | undefined;
146
+ links?: {
147
+ internal: number;
148
+ external: number;
149
+ broken: number;
150
+ } | undefined;
151
+ resources?: {
152
+ images: number;
153
+ scripts: number;
154
+ stylesheets: number;
155
+ } | undefined;
156
+ content?: {
157
+ wordCount: number;
158
+ textRatio: number;
159
+ readabilityScore?: number | undefined;
160
+ } | undefined;
161
+ extractedKeywords?: string[] | undefined;
162
+ }> | import("@jam-nodes/core").NodeDefinition<{
163
+ keywords?: string | undefined;
164
+ limit?: number | undefined;
165
+ personTitles?: string[] | undefined;
166
+ personLocations?: string[] | undefined;
167
+ organizationLocations?: string[] | undefined;
168
+ employeeRanges?: string[] | undefined;
169
+ includeSimilarTitles?: boolean | undefined;
170
+ personSeniorities?: string[] | undefined;
171
+ technologies?: string[] | undefined;
172
+ industryTagIds?: string[] | undefined;
173
+ departments?: string[] | undefined;
174
+ }, {
175
+ totalFound: number;
176
+ contacts: {
177
+ id: string;
178
+ company: string;
179
+ name: string;
180
+ email: string;
181
+ title?: string | undefined;
182
+ firstName?: string | undefined;
183
+ lastName?: string | undefined;
184
+ linkedinUrl?: string | null | undefined;
185
+ location?: string | null | undefined;
186
+ }[];
187
+ }> | import("@jam-nodes/core").NodeDefinition<{
188
+ topic: string;
189
+ userKeywords?: string[] | undefined;
190
+ }, {
191
+ reddit: {
192
+ keywords: string[];
193
+ };
194
+ twitter: {
195
+ keywords: string[];
196
+ searchQuery: string;
197
+ };
198
+ linkedin: {
199
+ keywords: string[];
200
+ searchQueries: string[];
201
+ };
202
+ topic: string;
203
+ allKeywords: string[];
204
+ }> | import("@jam-nodes/core").NodeDefinition<{
205
+ contacts: {
206
+ id: string;
207
+ title: string;
208
+ company: string;
209
+ name: string;
210
+ email: string;
211
+ }[];
212
+ productDescription: string;
213
+ emailTemplate?: string | undefined;
214
+ subject?: string | undefined;
215
+ approval?: {
216
+ required: boolean;
217
+ message?: string | undefined;
218
+ } | undefined;
219
+ }, {
220
+ emails: {
221
+ status: string;
222
+ body: string;
223
+ id: string;
224
+ subject: string;
225
+ toEmail: string;
226
+ toName: string;
227
+ toCompany: string;
228
+ toTitle: string;
229
+ }[];
230
+ draftedCount: number;
231
+ }> | import("@jam-nodes/core").NodeDefinition<{
232
+ topic: string;
233
+ userIntent: string;
234
+ posts?: {
235
+ url: string;
236
+ id: string;
237
+ platform: "reddit" | "twitter" | "linkedin";
238
+ text: string;
239
+ authorName: string;
240
+ authorHandle: string;
241
+ authorUrl: string;
242
+ engagement: {
243
+ comments: number;
244
+ likes: number;
245
+ shares: number;
246
+ views?: number | undefined;
247
+ };
248
+ postedAt: string;
249
+ title?: string | undefined;
250
+ authorFollowers?: number | undefined;
251
+ }[] | undefined;
252
+ twitterPosts?: {
253
+ url: string;
254
+ id: string;
255
+ platform: "reddit" | "twitter" | "linkedin";
256
+ text: string;
257
+ authorName: string;
258
+ authorHandle: string;
259
+ authorUrl: string;
260
+ engagement: {
261
+ comments: number;
262
+ likes: number;
263
+ shares: number;
264
+ views?: number | undefined;
265
+ };
266
+ postedAt: string;
267
+ title?: string | undefined;
268
+ authorFollowers?: number | undefined;
269
+ }[] | undefined;
270
+ redditPosts?: {
271
+ url: string;
272
+ id: string;
273
+ platform: "reddit" | "twitter" | "linkedin";
274
+ text: string;
275
+ authorName: string;
276
+ authorHandle: string;
277
+ authorUrl: string;
278
+ engagement: {
279
+ comments: number;
280
+ likes: number;
281
+ shares: number;
282
+ views?: number | undefined;
283
+ };
284
+ postedAt: string;
285
+ title?: string | undefined;
286
+ authorFollowers?: number | undefined;
287
+ }[] | undefined;
288
+ linkedinPosts?: {
289
+ url: string;
290
+ id: string;
291
+ platform: "reddit" | "twitter" | "linkedin";
292
+ text: string;
293
+ authorName: string;
294
+ authorHandle: string;
295
+ authorUrl: string;
296
+ engagement: {
297
+ comments: number;
298
+ likes: number;
299
+ shares: number;
300
+ views?: number | undefined;
301
+ };
302
+ postedAt: string;
303
+ title?: string | undefined;
304
+ authorFollowers?: number | undefined;
305
+ }[] | undefined;
306
+ monitoringConfigId?: string | undefined;
307
+ }, {
308
+ analyzedPosts: {
309
+ url: string;
310
+ id: string;
311
+ platform: "reddit" | "twitter" | "linkedin";
312
+ text: string;
313
+ authorName: string;
314
+ authorHandle: string;
315
+ authorUrl: string;
316
+ engagement: {
317
+ comments: number;
318
+ likes: number;
319
+ shares: number;
320
+ views?: number | undefined;
321
+ };
322
+ postedAt: string;
323
+ relevanceScore: number;
324
+ sentiment: "positive" | "negative" | "neutral";
325
+ isComplaint: boolean;
326
+ urgencyLevel: "low" | "medium" | "high";
327
+ aiSummary: string;
328
+ matchedKeywords: string[];
329
+ title?: string | undefined;
330
+ authorFollowers?: number | undefined;
331
+ }[];
332
+ highPriorityPosts: {
333
+ url: string;
334
+ id: string;
335
+ platform: "reddit" | "twitter" | "linkedin";
336
+ text: string;
337
+ authorName: string;
338
+ authorHandle: string;
339
+ authorUrl: string;
340
+ engagement: {
341
+ comments: number;
342
+ likes: number;
343
+ shares: number;
344
+ views?: number | undefined;
345
+ };
346
+ postedAt: string;
347
+ relevanceScore: number;
348
+ sentiment: "positive" | "negative" | "neutral";
349
+ isComplaint: boolean;
350
+ urgencyLevel: "low" | "medium" | "high";
351
+ aiSummary: string;
352
+ matchedKeywords: string[];
353
+ title?: string | undefined;
354
+ authorFollowers?: number | undefined;
355
+ }[];
356
+ complaints: {
357
+ url: string;
358
+ id: string;
359
+ platform: "reddit" | "twitter" | "linkedin";
360
+ text: string;
361
+ authorName: string;
362
+ authorHandle: string;
363
+ authorUrl: string;
364
+ engagement: {
365
+ comments: number;
366
+ likes: number;
367
+ shares: number;
368
+ views?: number | undefined;
369
+ };
370
+ postedAt: string;
371
+ relevanceScore: number;
372
+ sentiment: "positive" | "negative" | "neutral";
373
+ isComplaint: boolean;
374
+ urgencyLevel: "low" | "medium" | "high";
375
+ aiSummary: string;
376
+ matchedKeywords: string[];
377
+ title?: string | undefined;
378
+ authorFollowers?: number | undefined;
379
+ }[];
380
+ totalAnalyzed: number;
381
+ highPriorityCount: number;
382
+ complaintCount: number;
383
+ averageRelevance: number;
61
384
  }>)[];
62
385
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAU7B;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAE3B,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EAErB,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,EAClC,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAC;AAwBvB;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsBxB,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,18 @@ export { conditionalNode, endNode, delayNode, ConditionalInputSchema, Conditiona
4
4
  export { mapNode, filterNode, MapInputSchema, MapOutputSchema, FilterInputSchema, FilterOutputSchema, FilterOperatorSchema, } from './transform/index.js';
5
5
  // Example nodes
6
6
  export { httpRequestNode, HttpRequestInputSchema, HttpRequestOutputSchema, HttpMethodSchema, } from './examples/index.js';
7
+ // Integration nodes
8
+ export {
9
+ // Social
10
+ redditMonitorNode, RedditMonitorInputSchema, RedditMonitorOutputSchema, twitterMonitorNode, TwitterMonitorInputSchema, TwitterMonitorOutputSchema, linkedinMonitorNode, LinkedInMonitorInputSchema, LinkedInMonitorOutputSchema,
11
+ // OpenAI
12
+ soraVideoNode, SoraVideoInputSchema, SoraVideoOutputSchema,
13
+ // DataForSEO
14
+ seoKeywordResearchNode, SeoKeywordResearchInputSchema, SeoKeywordResearchOutputSchema, seoAuditNode, SeoAuditInputSchema, SeoAuditOutputSchema,
15
+ // Apollo
16
+ searchContactsNode, SearchContactsInputSchema, SearchContactsOutputSchema, } from './integrations/index.js';
17
+ // AI nodes
18
+ export { socialKeywordGeneratorNode, SocialKeywordGeneratorInputSchema, SocialKeywordGeneratorOutputSchema, draftEmailsNode, DraftEmailsInputSchema, DraftEmailsOutputSchema, DraftEmailInfoSchema, ContactSchema, socialAiAnalyzeNode, SocialAiAnalyzeInputSchema, SocialAiAnalyzeOutputSchema, } from './ai/index.js';
7
19
  // All nodes as a collection
8
20
  import { conditionalNode } from './logic/index.js';
9
21
  import { endNode } from './logic/index.js';
@@ -11,15 +23,32 @@ import { delayNode } from './logic/index.js';
11
23
  import { mapNode } from './transform/index.js';
12
24
  import { filterNode } from './transform/index.js';
13
25
  import { httpRequestNode } from './examples/index.js';
26
+ import { redditMonitorNode, twitterMonitorNode, linkedinMonitorNode, soraVideoNode, seoKeywordResearchNode, seoAuditNode, searchContactsNode, } from './integrations/index.js';
27
+ import { socialKeywordGeneratorNode, draftEmailsNode, socialAiAnalyzeNode, } from './ai/index.js';
14
28
  /**
15
29
  * All built-in nodes as an array for easy registration
16
30
  */
17
31
  export const builtInNodes = [
32
+ // Logic
18
33
  conditionalNode,
19
34
  endNode,
20
35
  delayNode,
36
+ // Transform
21
37
  mapNode,
22
38
  filterNode,
39
+ // Examples
23
40
  httpRequestNode,
41
+ // Integrations
42
+ redditMonitorNode,
43
+ twitterMonitorNode,
44
+ linkedinMonitorNode,
45
+ soraVideoNode,
46
+ seoKeywordResearchNode,
47
+ seoAuditNode,
48
+ searchContactsNode,
49
+ // AI
50
+ socialKeywordGeneratorNode,
51
+ draftEmailsNode,
52
+ socialAiAnalyzeNode,
24
53
  ];
25
54
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAa1B,kBAAkB;AAClB,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAU9B,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAQ7B,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe;IACf,OAAO;IACP,SAAS;IACT,OAAO;IACP,UAAU;IACV,eAAe;CAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAa1B,kBAAkB;AAClB,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAU9B,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAQ7B,oBAAoB;AACpB,OAAO;AACL,SAAS;AACT,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B;AAC3B,SAAS;AACT,aAAa,EACb,oBAAoB,EACpB,qBAAqB;AACrB,aAAa;AACb,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,YAAY,EACZ,mBAAmB,EACnB,oBAAoB;AACpB,SAAS;AACT,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAuBjC,WAAW;AACX,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,EAClC,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAevB,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,eAAe;IACf,OAAO;IACP,SAAS;IACT,YAAY;IACZ,OAAO;IACP,UAAU;IACV,WAAW;IACX,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,aAAa;IACb,sBAAsB;IACtB,YAAY;IACZ,kBAAkB;IAClB,KAAK;IACL,0BAA0B;IAC1B,eAAe;IACf,mBAAmB;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { searchContactsNode, SearchContactsInputSchema, SearchContactsOutputSchema, type SearchContactsInput, type SearchContactsOutput, } from './search-contacts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/apollo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { searchContactsNode, SearchContactsInputSchema, SearchContactsOutputSchema, } from './search-contacts';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/apollo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAG3B,MAAM,mBAAmB,CAAC"}