@bubblelab/bubble-core 0.1.250 → 0.1.252

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 (71) hide show
  1. package/dist/bubble-bundle.d.ts +130 -89
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +3 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
  6. package/dist/bubbles/service-bubble/ai-agent.d.ts +4 -4
  7. package/dist/bubbles/service-bubble/apify/apify.d.ts +4 -4
  8. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +56 -56
  9. package/dist/bubbles/service-bubble/ashby/ashby.d.ts.map +1 -1
  10. package/dist/bubbles/service-bubble/ashby/ashby.js.map +1 -1
  11. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +385 -385
  12. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts.map +1 -1
  13. package/dist/bubbles/service-bubble/ashby/ashby.schema.js +6 -2
  14. package/dist/bubbles/service-bubble/ashby/ashby.schema.js.map +1 -1
  15. package/dist/bubbles/service-bubble/assembled/assembled.d.ts +6 -6
  16. package/dist/bubbles/service-bubble/attio/attio.d.ts +2 -2
  17. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +2 -2
  18. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +78 -78
  19. package/dist/bubbles/service-bubble/firecrawl.d.ts +176 -176
  20. package/dist/bubbles/service-bubble/followupboss.d.ts +8 -8
  21. package/dist/bubbles/service-bubble/github.d.ts +60 -60
  22. package/dist/bubbles/service-bubble/gmail.d.ts +64 -64
  23. package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
  24. package/dist/bubbles/service-bubble/google-drive.d.ts +8 -8
  25. package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +2 -2
  26. package/dist/bubbles/service-bubble/jira/jira.d.ts +57 -38
  27. package/dist/bubbles/service-bubble/jira/jira.d.ts.map +1 -1
  28. package/dist/bubbles/service-bubble/jira/jira.js +77 -13
  29. package/dist/bubbles/service-bubble/jira/jira.js.map +1 -1
  30. package/dist/bubbles/service-bubble/notion/notion.d.ts +376 -376
  31. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  32. package/dist/bubbles/service-bubble/posthog/posthog.d.ts +2 -2
  33. package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts +4 -4
  34. package/dist/bubbles/service-bubble/slab/slab.d.ts +16 -16
  35. package/dist/bubbles/service-bubble/slack/slack.d.ts +102 -102
  36. package/dist/bubbles/service-bubble/snowflake/index.d.ts +4 -0
  37. package/dist/bubbles/service-bubble/snowflake/index.d.ts.map +1 -0
  38. package/dist/bubbles/service-bubble/snowflake/index.js +4 -0
  39. package/dist/bubbles/service-bubble/snowflake/index.js.map +1 -0
  40. package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts +354 -0
  41. package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts.map +1 -0
  42. package/dist/bubbles/service-bubble/snowflake/snowflake.js +285 -0
  43. package/dist/bubbles/service-bubble/snowflake/snowflake.js.map +1 -0
  44. package/dist/bubbles/service-bubble/snowflake/snowflake.schema.d.ts +321 -0
  45. package/dist/bubbles/service-bubble/snowflake/snowflake.schema.d.ts.map +1 -0
  46. package/dist/bubbles/service-bubble/snowflake/snowflake.schema.js +198 -0
  47. package/dist/bubbles/service-bubble/snowflake/snowflake.schema.js.map +1 -0
  48. package/dist/bubbles/service-bubble/snowflake/snowflake.utils.d.ts +44 -0
  49. package/dist/bubbles/service-bubble/snowflake/snowflake.utils.d.ts.map +1 -0
  50. package/dist/bubbles/service-bubble/snowflake/snowflake.utils.js +97 -0
  51. package/dist/bubbles/service-bubble/snowflake/snowflake.utils.js.map +1 -0
  52. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +14 -14
  53. package/dist/bubbles/service-bubble/xero/xero.d.ts +2 -2
  54. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +2 -2
  55. package/dist/bubbles/tool-bubble/app-rankings-tool.d.ts +8 -8
  56. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  57. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +10 -10
  58. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +12 -12
  59. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +34 -34
  60. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  61. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  62. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +4 -4
  63. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +16 -16
  64. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
  65. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +10 -10
  66. package/dist/bubbles.json +516 -2
  67. package/dist/index.d.ts +3 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/package.json +2 -2
@@ -0,0 +1,97 @@
1
+ import crypto from 'crypto';
2
+ import { decodeCredentialPayload } from '@bubblelab/shared-schemas';
3
+ /**
4
+ * Parse a multi-field credential value into typed Snowflake fields.
5
+ * Uses the shared decodeCredentialPayload() which handles both
6
+ * base64 (injection path) and raw JSON (validator path).
7
+ */
8
+ export function parseSnowflakeCredential(value) {
9
+ const parsed = decodeCredentialPayload(value);
10
+ if (!parsed.account || !parsed.username || !parsed.privateKey) {
11
+ throw new Error('Snowflake credential is missing required fields: account, username, privateKey');
12
+ }
13
+ return {
14
+ account: parsed.account,
15
+ username: parsed.username,
16
+ privateKey: parsed.privateKey,
17
+ privateKeyPassword: parsed.privateKeyPassword || undefined,
18
+ warehouse: parsed.warehouse || undefined,
19
+ database: parsed.database || undefined,
20
+ schema: parsed.schema || undefined,
21
+ role: parsed.role || undefined,
22
+ };
23
+ }
24
+ /**
25
+ * Generate a JWT token for Snowflake key-pair authentication.
26
+ *
27
+ * The JWT contains:
28
+ * - iss: <ACCOUNT>.<USER>.SHA256:<public_key_fingerprint>
29
+ * - sub: <ACCOUNT>.<USER>
30
+ * - iat: current timestamp
31
+ * - exp: current timestamp + 1 hour
32
+ */
33
+ export function generateSnowflakeJWT(creds) {
34
+ // Snowflake JWT requires the account identifier as-is (keep hyphens)
35
+ const accountUpper = creds.account.toUpperCase();
36
+ const userUpper = creds.username.toUpperCase();
37
+ // Create key object from PEM private key
38
+ const keyObject = crypto.createPrivateKey({
39
+ key: creds.privateKey,
40
+ ...(creds.privateKeyPassword && {
41
+ passphrase: creds.privateKeyPassword,
42
+ }),
43
+ });
44
+ // Extract public key and compute SHA-256 fingerprint
45
+ const publicKey = crypto.createPublicKey(keyObject);
46
+ const publicKeyDer = publicKey.export({ type: 'spki', format: 'der' });
47
+ const fingerprint = crypto
48
+ .createHash('sha256')
49
+ .update(publicKeyDer)
50
+ .digest('base64');
51
+ // Build JWT claims
52
+ const now = Math.floor(Date.now() / 1000);
53
+ const header = { alg: 'RS256', typ: 'JWT' };
54
+ const payload = {
55
+ iss: `${accountUpper}.${userUpper}.SHA256:${fingerprint}`,
56
+ sub: `${accountUpper}.${userUpper}`,
57
+ iat: now,
58
+ exp: now + 3600,
59
+ };
60
+ // Encode header and payload
61
+ const encodedHeader = Buffer.from(JSON.stringify(header)).toString('base64url');
62
+ const encodedPayload = Buffer.from(JSON.stringify(payload)).toString('base64url');
63
+ const signingInput = `${encodedHeader}.${encodedPayload}`;
64
+ // Sign with RSA-SHA256
65
+ const sign = crypto.createSign('RSA-SHA256');
66
+ sign.update(signingInput);
67
+ const signature = sign.sign({
68
+ key: creds.privateKey,
69
+ ...(creds.privateKeyPassword && {
70
+ passphrase: creds.privateKeyPassword,
71
+ }),
72
+ }, 'base64url');
73
+ return `${signingInput}.${signature}`;
74
+ }
75
+ /**
76
+ * Build the Snowflake SQL API base URL from the account identifier.
77
+ */
78
+ export function getSnowflakeBaseUrl(account) {
79
+ return `https://${account.toLowerCase()}.snowflakecomputing.com`;
80
+ }
81
+ /**
82
+ * Find a column index by name in a SHOW command result.
83
+ * SHOW commands return variable column layouts — this finds by name safely.
84
+ */
85
+ export function findColumnIndex(rowType, columnName) {
86
+ return rowType.findIndex((col) => col.name.toLowerCase() === columnName.toLowerCase());
87
+ }
88
+ /**
89
+ * Get a cell value from a row by column name, returning undefined if not found.
90
+ */
91
+ export function getCellByName(row, rowType, columnName) {
92
+ const idx = findColumnIndex(rowType, columnName);
93
+ if (idx === -1)
94
+ return undefined;
95
+ return row[idx] ?? undefined;
96
+ }
97
+ //# sourceMappingURL=snowflake.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowflake.utils.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/snowflake/snowflake.utils.ts"],"names":[],"mappings":"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"}
@@ -46,14 +46,14 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
46
46
  }, "strip", import("zod").ZodTypeAny, {
47
47
  name: string;
48
48
  operation: "create_customer";
49
- credentials?: Partial<Record<CredentialType, string>> | undefined;
50
49
  email?: string | undefined;
50
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
51
51
  metadata?: Record<string, string> | undefined;
52
52
  }, {
53
53
  name: string;
54
54
  operation: "create_customer";
55
- credentials?: Partial<Record<CredentialType, string>> | undefined;
56
55
  email?: string | undefined;
56
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
57
57
  metadata?: Record<string, string> | undefined;
58
58
  }>, import("zod").ZodObject<{
59
59
  operation: import("zod").ZodLiteral<"list_customers">;
@@ -64,13 +64,13 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
64
64
  }, "strip", import("zod").ZodTypeAny, {
65
65
  operation: "list_customers";
66
66
  limit: number;
67
- credentials?: Partial<Record<CredentialType, string>> | undefined;
68
67
  email?: string | undefined;
68
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
69
69
  cursor?: string | undefined;
70
70
  }, {
71
71
  operation: "list_customers";
72
- credentials?: Partial<Record<CredentialType, string>> | undefined;
73
72
  email?: string | undefined;
73
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
74
74
  limit?: number | undefined;
75
75
  cursor?: string | undefined;
76
76
  }>, import("zod").ZodObject<{
@@ -305,8 +305,8 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
305
305
  operation: "create_invoice_item";
306
306
  currency: string;
307
307
  unit_amount: number;
308
- quantity: number;
309
308
  customer: string;
309
+ quantity: number;
310
310
  description?: string | undefined;
311
311
  credentials?: Partial<Record<CredentialType, string>> | undefined;
312
312
  metadata?: Record<string, string> | undefined;
@@ -382,8 +382,8 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
382
382
  credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
383
383
  }, "strip", import("zod").ZodTypeAny, {
384
384
  operation: "cancel_subscription";
385
- subscription_id: string;
386
385
  cancel_at_period_end: boolean;
386
+ subscription_id: string;
387
387
  credentials?: Partial<Record<CredentialType, string>> | undefined;
388
388
  }, {
389
389
  operation: "cancel_subscription";
@@ -687,7 +687,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
687
687
  created: import("zod").ZodNumber;
688
688
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
689
689
  }, "strip", import("zod").ZodTypeAny, {
690
- type: "recurring" | "one_time";
690
+ type: "one_time" | "recurring";
691
691
  id: string;
692
692
  created: number;
693
693
  currency: string;
@@ -696,7 +696,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
696
696
  unit_amount: number | null;
697
697
  metadata?: Record<string, string> | undefined;
698
698
  }, {
699
- type: "recurring" | "one_time";
699
+ type: "one_time" | "recurring";
700
700
  id: string;
701
701
  created: number;
702
702
  currency: string;
@@ -711,7 +711,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
711
711
  success: boolean;
712
712
  operation: "create_price";
713
713
  price?: {
714
- type: "recurring" | "one_time";
714
+ type: "one_time" | "recurring";
715
715
  id: string;
716
716
  created: number;
717
717
  currency: string;
@@ -725,7 +725,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
725
725
  success: boolean;
726
726
  operation: "create_price";
727
727
  price?: {
728
- type: "recurring" | "one_time";
728
+ type: "one_time" | "recurring";
729
729
  id: string;
730
730
  created: number;
731
731
  currency: string;
@@ -747,7 +747,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
747
747
  created: import("zod").ZodNumber;
748
748
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
749
749
  }, "strip", import("zod").ZodTypeAny, {
750
- type: "recurring" | "one_time";
750
+ type: "one_time" | "recurring";
751
751
  id: string;
752
752
  created: number;
753
753
  currency: string;
@@ -756,7 +756,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
756
756
  unit_amount: number | null;
757
757
  metadata?: Record<string, string> | undefined;
758
758
  }, {
759
- type: "recurring" | "one_time";
759
+ type: "one_time" | "recurring";
760
760
  id: string;
761
761
  created: number;
762
762
  currency: string;
@@ -771,7 +771,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
771
771
  success: boolean;
772
772
  operation: "list_prices";
773
773
  prices?: {
774
- type: "recurring" | "one_time";
774
+ type: "one_time" | "recurring";
775
775
  id: string;
776
776
  created: number;
777
777
  currency: string;
@@ -785,7 +785,7 @@ export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInpu
785
785
  success: boolean;
786
786
  operation: "list_prices";
787
787
  prices?: {
788
- type: "recurring" | "one_time";
788
+ type: "one_time" | "recurring";
789
789
  id: string;
790
790
  created: number;
791
791
  currency: string;
@@ -140,8 +140,8 @@ export declare class XeroBubble<T extends XeroParamsInput = XeroParamsInput> ext
140
140
  }, "strip", import("zod").ZodTypeAny, {
141
141
  name: string;
142
142
  operation: "create_contact";
143
- credentials?: Partial<Record<CredentialType, string>> | undefined;
144
143
  email?: string | undefined;
144
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
145
145
  phone?: string | undefined;
146
146
  first_name?: string | undefined;
147
147
  last_name?: string | undefined;
@@ -150,8 +150,8 @@ export declare class XeroBubble<T extends XeroParamsInput = XeroParamsInput> ext
150
150
  }, {
151
151
  name: string;
152
152
  operation: "create_contact";
153
- credentials?: Partial<Record<CredentialType, string>> | undefined;
154
153
  email?: string | undefined;
154
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
155
155
  phone?: string | undefined;
156
156
  first_name?: string | undefined;
157
157
  last_name?: string | undefined;
@@ -98,12 +98,12 @@ export declare class AmazonShoppingTool<T extends AmazonShoppingToolParamsInput
98
98
  }, "strip", import("zod").ZodTypeAny, {
99
99
  operation: "screenshot";
100
100
  full_page: boolean;
101
- credentials?: Partial<Record<CredentialType, string>> | undefined;
102
101
  url?: string | undefined;
102
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
103
103
  }, {
104
104
  operation: "screenshot";
105
- credentials?: Partial<Record<CredentialType, string>> | undefined;
106
105
  url?: string | undefined;
106
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
107
107
  full_page?: boolean | undefined;
108
108
  }>]>;
109
109
  static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
@@ -52,9 +52,9 @@ declare const AppRankingsToolResultSchema: z.ZodObject<{
52
52
  }, "strip", z.ZodTypeAny, {
53
53
  store: "google" | "apple";
54
54
  developer: string | null;
55
+ country: string;
55
56
  rating: string | number | null;
56
57
  category: string;
57
- country: string;
58
58
  price: string | null;
59
59
  scrapedAt: string;
60
60
  rank: number;
@@ -69,9 +69,9 @@ declare const AppRankingsToolResultSchema: z.ZodObject<{
69
69
  }, {
70
70
  store: "google" | "apple";
71
71
  developer: string | null;
72
+ country: string;
72
73
  rating: string | number | null;
73
74
  category: string;
74
- country: string;
75
75
  price: string | null;
76
76
  scrapedAt: string;
77
77
  rank: number;
@@ -94,9 +94,9 @@ declare const AppRankingsToolResultSchema: z.ZodObject<{
94
94
  rankings: {
95
95
  store: "google" | "apple";
96
96
  developer: string | null;
97
+ country: string;
97
98
  rating: string | number | null;
98
99
  category: string;
99
- country: string;
100
100
  price: string | null;
101
101
  scrapedAt: string;
102
102
  rank: number;
@@ -117,9 +117,9 @@ declare const AppRankingsToolResultSchema: z.ZodObject<{
117
117
  rankings: {
118
118
  store: "google" | "apple";
119
119
  developer: string | null;
120
+ country: string;
120
121
  rating: string | number | null;
121
122
  category: string;
122
- country: string;
123
123
  price: string | null;
124
124
  scrapedAt: string;
125
125
  rank: number;
@@ -189,9 +189,9 @@ export declare class AppRankingsTool extends ToolBubble<AppRankingsToolParams, A
189
189
  }, "strip", z.ZodTypeAny, {
190
190
  store: "google" | "apple";
191
191
  developer: string | null;
192
+ country: string;
192
193
  rating: string | number | null;
193
194
  category: string;
194
- country: string;
195
195
  price: string | null;
196
196
  scrapedAt: string;
197
197
  rank: number;
@@ -206,9 +206,9 @@ export declare class AppRankingsTool extends ToolBubble<AppRankingsToolParams, A
206
206
  }, {
207
207
  store: "google" | "apple";
208
208
  developer: string | null;
209
+ country: string;
209
210
  rating: string | number | null;
210
211
  category: string;
211
- country: string;
212
212
  price: string | null;
213
213
  scrapedAt: string;
214
214
  rank: number;
@@ -231,9 +231,9 @@ export declare class AppRankingsTool extends ToolBubble<AppRankingsToolParams, A
231
231
  rankings: {
232
232
  store: "google" | "apple";
233
233
  developer: string | null;
234
+ country: string;
234
235
  rating: string | number | null;
235
236
  category: string;
236
- country: string;
237
237
  price: string | null;
238
238
  scrapedAt: string;
239
239
  rank: number;
@@ -254,9 +254,9 @@ export declare class AppRankingsTool extends ToolBubble<AppRankingsToolParams, A
254
254
  rankings: {
255
255
  store: "google" | "apple";
256
256
  developer: string | null;
257
+ country: string;
257
258
  rating: string | number | null;
258
259
  category: string;
259
- country: string;
260
260
  price: string | null;
261
261
  scrapedAt: string;
262
262
  rank: number;
@@ -135,13 +135,13 @@ declare const BubbleFlowValidationToolResultSchema: z.ZodObject<{
135
135
  hasActionCall: boolean;
136
136
  parameterCount: number;
137
137
  }[] | undefined;
138
+ bubbleCount?: number | undefined;
138
139
  variableTypes?: {
139
140
  type: string;
140
141
  name: string;
141
142
  column: number;
142
143
  line: number;
143
144
  }[] | undefined;
144
- bubbleCount?: number | undefined;
145
145
  }, {
146
146
  valid: boolean;
147
147
  error: string;
@@ -160,13 +160,13 @@ declare const BubbleFlowValidationToolResultSchema: z.ZodObject<{
160
160
  hasActionCall: boolean;
161
161
  parameterCount: number;
162
162
  }[] | undefined;
163
+ bubbleCount?: number | undefined;
163
164
  variableTypes?: {
164
165
  type: string;
165
166
  name: string;
166
167
  column: number;
167
168
  line: number;
168
169
  }[] | undefined;
169
- bubbleCount?: number | undefined;
170
170
  }>;
171
171
  /**
172
172
  * BubbleFlow Validation Tool
@@ -284,13 +284,13 @@ export declare class BubbleFlowValidationTool extends ToolBubble<BubbleFlowValid
284
284
  hasActionCall: boolean;
285
285
  parameterCount: number;
286
286
  }[] | undefined;
287
+ bubbleCount?: number | undefined;
287
288
  variableTypes?: {
288
289
  type: string;
289
290
  name: string;
290
291
  column: number;
291
292
  line: number;
292
293
  }[] | undefined;
293
- bubbleCount?: number | undefined;
294
294
  }, {
295
295
  valid: boolean;
296
296
  error: string;
@@ -309,13 +309,13 @@ export declare class BubbleFlowValidationTool extends ToolBubble<BubbleFlowValid
309
309
  hasActionCall: boolean;
310
310
  parameterCount: number;
311
311
  }[] | undefined;
312
+ bubbleCount?: number | undefined;
312
313
  variableTypes?: {
313
314
  type: string;
314
315
  name: string;
315
316
  column: number;
316
317
  line: number;
317
318
  }[] | undefined;
318
- bubbleCount?: number | undefined;
319
319
  }>;
320
320
  static readonly shortDescription = "Validates BubbleFlow TypeScript code for syntax and structure";
321
321
  static readonly longDescription = "\n A comprehensive validation tool for BubbleFlow TypeScript code.\n \n What it does:\n - Validates TypeScript syntax and compilation\n - Checks BubbleFlow class structure and requirements\n - Parses and analyzes bubble instantiations\n - Provides detailed error reporting with line numbers\n - Returns metadata about detected bubbles\n \n How it works:\n - Uses TypeScript compiler API for syntax validation\n - Validates that code extends BubbleFlow and has handle method\n - Parses bubble instantiations using AST analysis\n - Maps bubble class names to registered bubble types\n \n Use cases:\n - When an AI agent needs to validate user-provided BubbleFlow code\n - When checking code before execution or deployment\n - When providing feedback on BubbleFlow implementation\n - When analyzing bubble usage patterns in code\n ";
@@ -67,7 +67,7 @@ declare const ContactSchema: z.ZodObject<{
67
67
  title: string | null;
68
68
  name: string | null;
69
69
  summary: string | null;
70
- role: "founder" | "cxo" | "decision_maker";
70
+ role: "cxo" | "decision_maker" | "founder";
71
71
  location: string | null;
72
72
  headline: string | null;
73
73
  linkedinUrl: string | null;
@@ -98,7 +98,7 @@ declare const ContactSchema: z.ZodObject<{
98
98
  title: string | null;
99
99
  name: string | null;
100
100
  summary: string | null;
101
- role: "founder" | "cxo" | "decision_maker";
101
+ role: "cxo" | "decision_maker" | "founder";
102
102
  location: string | null;
103
103
  headline: string | null;
104
104
  linkedinUrl: string | null;
@@ -205,7 +205,7 @@ declare const CompanyEnrichmentToolResultSchema: z.ZodObject<{
205
205
  title: string | null;
206
206
  name: string | null;
207
207
  summary: string | null;
208
- role: "founder" | "cxo" | "decision_maker";
208
+ role: "cxo" | "decision_maker" | "founder";
209
209
  location: string | null;
210
210
  headline: string | null;
211
211
  linkedinUrl: string | null;
@@ -236,7 +236,7 @@ declare const CompanyEnrichmentToolResultSchema: z.ZodObject<{
236
236
  title: string | null;
237
237
  name: string | null;
238
238
  summary: string | null;
239
- role: "founder" | "cxo" | "decision_maker";
239
+ role: "cxo" | "decision_maker" | "founder";
240
240
  location: string | null;
241
241
  headline: string | null;
242
242
  linkedinUrl: string | null;
@@ -311,7 +311,7 @@ declare const CompanyEnrichmentToolResultSchema: z.ZodObject<{
311
311
  title: string | null;
312
312
  name: string | null;
313
313
  summary: string | null;
314
- role: "founder" | "cxo" | "decision_maker";
314
+ role: "cxo" | "decision_maker" | "founder";
315
315
  location: string | null;
316
316
  headline: string | null;
317
317
  linkedinUrl: string | null;
@@ -360,7 +360,7 @@ declare const CompanyEnrichmentToolResultSchema: z.ZodObject<{
360
360
  title: string | null;
361
361
  name: string | null;
362
362
  summary: string | null;
363
- role: "founder" | "cxo" | "decision_maker";
363
+ role: "cxo" | "decision_maker" | "founder";
364
364
  location: string | null;
365
365
  headline: string | null;
366
366
  linkedinUrl: string | null;
@@ -506,7 +506,7 @@ export declare class CompanyEnrichmentTool extends ToolBubble<CompanyEnrichmentT
506
506
  title: string | null;
507
507
  name: string | null;
508
508
  summary: string | null;
509
- role: "founder" | "cxo" | "decision_maker";
509
+ role: "cxo" | "decision_maker" | "founder";
510
510
  location: string | null;
511
511
  headline: string | null;
512
512
  linkedinUrl: string | null;
@@ -537,7 +537,7 @@ export declare class CompanyEnrichmentTool extends ToolBubble<CompanyEnrichmentT
537
537
  title: string | null;
538
538
  name: string | null;
539
539
  summary: string | null;
540
- role: "founder" | "cxo" | "decision_maker";
540
+ role: "cxo" | "decision_maker" | "founder";
541
541
  location: string | null;
542
542
  headline: string | null;
543
543
  linkedinUrl: string | null;
@@ -612,7 +612,7 @@ export declare class CompanyEnrichmentTool extends ToolBubble<CompanyEnrichmentT
612
612
  title: string | null;
613
613
  name: string | null;
614
614
  summary: string | null;
615
- role: "founder" | "cxo" | "decision_maker";
615
+ role: "cxo" | "decision_maker" | "founder";
616
616
  location: string | null;
617
617
  headline: string | null;
618
618
  linkedinUrl: string | null;
@@ -661,7 +661,7 @@ export declare class CompanyEnrichmentTool extends ToolBubble<CompanyEnrichmentT
661
661
  title: string | null;
662
662
  name: string | null;
663
663
  summary: string | null;
664
- role: "founder" | "cxo" | "decision_maker";
664
+ role: "cxo" | "decision_maker" | "founder";
665
665
  location: string | null;
666
666
  headline: string | null;
667
667
  linkedinUrl: string | null;
@@ -1043,11 +1043,11 @@ declare const LinkedInToolParamsSchema: z.ZodObject<{
1043
1043
  pageNumber?: number | undefined;
1044
1044
  location?: string | undefined;
1045
1045
  keyword?: string | undefined;
1046
- dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
1047
1046
  workplaceType?: ("on-site" | "remote" | "hybrid")[] | undefined;
1047
+ dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
1048
1048
  profileUrl?: string | undefined;
1049
1049
  jobType?: ("full-time" | "part-time" | "contract" | "temporary" | "internship")[] | undefined;
1050
- experienceLevel?: ("executive" | "associate" | "internship" | "entry-level" | "mid-senior" | "director")[] | undefined;
1050
+ experienceLevel?: ("internship" | "entry-level" | "associate" | "mid-senior" | "director" | "executive")[] | undefined;
1051
1051
  sortBy?: "relevance" | "date_posted" | undefined;
1052
1052
  }, {
1053
1053
  operation: "scrapeProfile" | "scrapePosts" | "searchPosts" | "scrapeJobs";
@@ -1057,11 +1057,11 @@ declare const LinkedInToolParamsSchema: z.ZodObject<{
1057
1057
  pageNumber?: number | undefined;
1058
1058
  location?: string | undefined;
1059
1059
  keyword?: string | undefined;
1060
- dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
1061
1060
  workplaceType?: ("on-site" | "remote" | "hybrid")[] | undefined;
1061
+ dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
1062
1062
  profileUrl?: string | undefined;
1063
1063
  jobType?: ("full-time" | "part-time" | "contract" | "temporary" | "internship")[] | undefined;
1064
- experienceLevel?: ("executive" | "associate" | "internship" | "entry-level" | "mid-senior" | "director")[] | undefined;
1064
+ experienceLevel?: ("internship" | "entry-level" | "associate" | "mid-senior" | "director" | "executive")[] | undefined;
1065
1065
  sortBy?: "relevance" | "date_posted" | undefined;
1066
1066
  }>;
1067
1067
  declare const LinkedInToolResultSchema: z.ZodObject<{
@@ -2241,9 +2241,9 @@ declare const LinkedInToolResultSchema: z.ZodObject<{
2241
2241
  logo: string | null;
2242
2242
  } | null;
2243
2243
  }[] | undefined;
2244
- hasNextPage?: boolean | null | undefined;
2245
2244
  totalResults?: number | null | undefined;
2246
2245
  paginationToken?: string | null | undefined;
2246
+ hasNextPage?: boolean | null | undefined;
2247
2247
  }, {
2248
2248
  error: string;
2249
2249
  success: boolean;
@@ -2445,9 +2445,9 @@ declare const LinkedInToolResultSchema: z.ZodObject<{
2445
2445
  logo: string | null;
2446
2446
  } | null;
2447
2447
  }[] | undefined;
2448
- hasNextPage?: boolean | null | undefined;
2449
2448
  totalResults?: number | null | undefined;
2450
2449
  paginationToken?: string | null | undefined;
2450
+ hasNextPage?: boolean | null | undefined;
2451
2451
  }>;
2452
2452
  type LinkedInToolParams = z.output<typeof LinkedInToolParamsSchema>;
2453
2453
  type LinkedInToolResult = z.output<typeof LinkedInToolResultSchema>;
@@ -2496,11 +2496,11 @@ export declare class LinkedInTool extends ToolBubble<LinkedInToolParams, LinkedI
2496
2496
  pageNumber?: number | undefined;
2497
2497
  location?: string | undefined;
2498
2498
  keyword?: string | undefined;
2499
- dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
2500
2499
  workplaceType?: ("on-site" | "remote" | "hybrid")[] | undefined;
2500
+ dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
2501
2501
  profileUrl?: string | undefined;
2502
2502
  jobType?: ("full-time" | "part-time" | "contract" | "temporary" | "internship")[] | undefined;
2503
- experienceLevel?: ("executive" | "associate" | "internship" | "entry-level" | "mid-senior" | "director")[] | undefined;
2503
+ experienceLevel?: ("internship" | "entry-level" | "associate" | "mid-senior" | "director" | "executive")[] | undefined;
2504
2504
  sortBy?: "relevance" | "date_posted" | undefined;
2505
2505
  }, {
2506
2506
  operation: "scrapeProfile" | "scrapePosts" | "searchPosts" | "scrapeJobs";
@@ -2510,11 +2510,11 @@ export declare class LinkedInTool extends ToolBubble<LinkedInToolParams, LinkedI
2510
2510
  pageNumber?: number | undefined;
2511
2511
  location?: string | undefined;
2512
2512
  keyword?: string | undefined;
2513
- dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
2514
2513
  workplaceType?: ("on-site" | "remote" | "hybrid")[] | undefined;
2514
+ dateFilter?: "past-24h" | "past-week" | "past-month" | undefined;
2515
2515
  profileUrl?: string | undefined;
2516
2516
  jobType?: ("full-time" | "part-time" | "contract" | "temporary" | "internship")[] | undefined;
2517
- experienceLevel?: ("executive" | "associate" | "internship" | "entry-level" | "mid-senior" | "director")[] | undefined;
2517
+ experienceLevel?: ("internship" | "entry-level" | "associate" | "mid-senior" | "director" | "executive")[] | undefined;
2518
2518
  sortBy?: "relevance" | "date_posted" | undefined;
2519
2519
  }>;
2520
2520
  static readonly resultSchema: z.ZodObject<{
@@ -3694,9 +3694,9 @@ export declare class LinkedInTool extends ToolBubble<LinkedInToolParams, LinkedI
3694
3694
  logo: string | null;
3695
3695
  } | null;
3696
3696
  }[] | undefined;
3697
- hasNextPage?: boolean | null | undefined;
3698
3697
  totalResults?: number | null | undefined;
3699
3698
  paginationToken?: string | null | undefined;
3699
+ hasNextPage?: boolean | null | undefined;
3700
3700
  }, {
3701
3701
  error: string;
3702
3702
  success: boolean;
@@ -3898,9 +3898,9 @@ export declare class LinkedInTool extends ToolBubble<LinkedInToolParams, LinkedI
3898
3898
  logo: string | null;
3899
3899
  } | null;
3900
3900
  }[] | undefined;
3901
- hasNextPage?: boolean | null | undefined;
3902
3901
  totalResults?: number | null | undefined;
3903
3902
  paginationToken?: string | null | undefined;
3903
+ hasNextPage?: boolean | null | undefined;
3904
3904
  }>;
3905
3905
  static readonly shortDescription = "Look up LinkedIn profiles by URL, scrape posts by profile, or search posts/jobs by keyword.";
3906
3906
  static readonly longDescription = "\n Universal LinkedIn tool for profile lookup, post scraping, and job search.\n\n **DO NOT USE research-agent-tool or web-scrape-tool for LinkedIn** - This tool is specifically optimized for LinkedIn.\n\n **OPERATIONS:**\n\n 1. **scrapeProfile**: Get full profile info from a LinkedIn URL\n - **USE THIS when you have a LinkedIn URL or username and need to know who someone is**\n - Returns: name, headline, about, current company, work experience, education, skills, location, certifications, languages, and more\n - Accepts full URLs (https://www.linkedin.com/in/williamhgates) or just usernames (\"williamhgates\")\n - This is the RIGHT tool for \"look up this LinkedIn profile\" or \"who is this person on LinkedIn?\"\n\n 2. **scrapePosts**: Scrape posts from a LinkedIn profile\n - Get posts from specific users by username\n - Extract post text, engagement stats, media, articles, documents\n - **DO NOT use scrapePosts to get profile info** - use scrapeProfile instead\n\n 3. **searchPosts**: Search LinkedIn posts by keyword\n - Find posts across all of LinkedIn by keyword\n - Filter by date (past 24h, week, month)\n - Sort by relevance or date\n\n 4. **scrapeJobs**: Search LinkedIn job postings\n - Search jobs by keyword and location\n - Filter by job type, workplace type, experience level\n\n **CHOOSING THE RIGHT OPERATION:**\n - \"Look up this LinkedIn profile\" \u2192 **scrapeProfile**\n - \"Who is this person?\" (with LinkedIn URL) \u2192 **scrapeProfile**\n - \"Get their name, company, experience\" \u2192 **scrapeProfile**\n - \"What has this person been posting?\" \u2192 **scrapePosts**\n - \"Find posts about AI on LinkedIn\" \u2192 **searchPosts**\n - \"Find software engineer jobs\" \u2192 **scrapeJobs**\n ";